Page 3 of 9 FirstFirst 12345 ... LastLast
Results 21 to 30 of 84

Thread: Space Invaders

  1. #21
    EmuTalk Member
    Join Date
    Dec 2005
    Posts
    8
    Mentioned
    0 Post(s)
    Anybody found some new articles or updates on this?

    I'm now trying to code a Space Invaders emulator by myself, looks very interesting to me and as a good start before I can approach on something else.

    Have some of you already finished an 8080 emulation and can provde source codes? Would be very interesting to me and others I think.

    Greets,
    Pix


  2. #22
    Moderator smcd's Avatar
    Join Date
    Jun 2004
    Posts
    2,533
    Mentioned
    0 Post(s)
    http://www.ascotti.org/programming/side/side.htm is nifty (as is PIE and Tickle, which I mentioned earlier in the thread, is on there as well)...
    Last edited by smcd; January 25th, 2007 at 21:05.

  3. #23
    EmuTalk Member hap's Avatar
    Join Date
    Jan 2005
    Posts
    188
    Mentioned
    0 Post(s)
    Any progress Pixman?

  4. #24
    EmuTalk Member
    Join Date
    Dec 2005
    Posts
    8
    Mentioned
    0 Post(s)
    Yeppa
    It's going forward.
    Your emulator was a big help, by the way. But I'm doign mine completly in C++ / OOP.

    The base-structure is finished, now I'm implementing the opcodes and this is why I write: I'm looking for a good opcode-table _with_ cycles.

    I don't want to lookup emulator source code all the time.
    I only find tables without cycles.

    Thanks for your help.

    I already see, that it was a very good idea to make an I8080 emulator in the first place instead of the gameboy emulator... way more simple.
    Greets,
    Pix

    P.s. I can _really_ recommend the SIDE / PIE source code for understanding the principles of emulation. Helped a lot in my case.

  5. #25
    EmuTalk Member hap's Avatar
    Join Date
    Jan 2005
    Posts
    188
    Mentioned
    0 Post(s)
    Quote Originally Posted by Pixman View Post
    I'm looking for a good opcode-table _with_ cycles.

    I don't want to lookup emulator source code all the time.
    I only find tables without cycles.
    lut_cycles + lut_mnemonic in my emulator... source code (sorry )

  6. #26
    EmuTalk Member
    Join Date
    Jul 2006
    Posts
    6
    Mentioned
    0 Post(s)
    I have a quick question: There's a couple of operations for the 8080 that aren't documented anywhere it seems. I don't think I missed them, and that pattern looks suspect. They're 0x08, 0x18, 0x28, 0x38. At the moment I'm putting these as NOP's but incase something uses it, how does it react really? Google isn't being the friend people make out to be.

    Thanks,

  7. #27
    EmuTalk Member hap's Avatar
    Join Date
    Jan 2005
    Posts
    188
    Mentioned
    0 Post(s)
    how does it react really?
    I don't know.

    If you're just going for a Space Invaders emulator, substituting undocumented opcodes for NOPs is ok, since it never executes them.

  8. #28
    EmuTalk Member
    Join Date
    Jul 2006
    Posts
    6
    Mentioned
    0 Post(s)
    Ok, thanks. One less thing to consider when problems arise. But now that they have...I want to make sure I got the right idea.

    By interrupts CF and D7 you mean RST 1 and RST 2? I have 17066 cycles passing before 1, then another 17066 until the next as another doc here seems to say. With ram mirror on 0x4000+ does it apply to ram *only* or does rom become part of the mirror? I remember seeing in other doc it applies to the whole lot but I'd like to know where the problems may be for sure.

    Also, does it actually rely on mirroring to function? I have 0x4000 bytes of memory set aside for rom and ram and I mask accesses with &0x3fff because the app kept crashing with accesses outside of the memory...If it doesn't, I know I have something to sort out.

    Thanks again.
    Last edited by smkdan; March 24th, 2007 at 14:52.

  9. #29
    EmuTalk Member hap's Avatar
    Join Date
    Jan 2005
    Posts
    188
    Mentioned
    0 Post(s)
    Interrupts work with the interrupting device putting an opcode on the databus, theoretically this could be any single-byte opcode, in this case indeed RST 1 and 2.

    Space Invaders is not very sensitive to timing, so a 50/50 (17066/17066) ratio will probably work. I assumed the interrupts to happen at the start and end of vblank, with timing of 127.35369 cycles per scanline (2mhz/(60/1.001)/262)*, 224 lines active display (28527 cycles) and 38 lines vblank (4839 cycles).
    *: assuming standard NTSC with 262 scanlines at ~59.94hz

    As for mirroring, I didn't test further than just RAM mirroring (got that info from MAME btw). My emulator writes outside the 'legal' area, which could be caused by a bug in my quickly written only-tested-with-SpaceInvaders 8080 core.

  10. #30
    EmuTalk Member
    Join Date
    Jul 2006
    Posts
    6
    Mentioned
    0 Post(s)
    Ok, I'm getting title screen (sort of) but it's not long before it crashes. It prints the introduction stuff like the score counts and high scores but when it tries to go into the attract gameplay it crashes. Also, everything that is printed is upside down, although they are placed on the right area of the screen...I figured I'd get all or nothing so this is really throwing me off...




    Any ideas much appreciated because this is casuing an awful lot of head scratching.

Page 3 of 9 FirstFirst 12345 ... LastLast

Similar Threads

  1. help with space channel 5
    By Tails Prower in forum Chankast
    Replies: 2
    Last Post: October 30th, 2004, 12:41
  2. how to manage for the memory space?
    By swings in forum Chankast
    Replies: 4
    Last Post: July 8th, 2004, 13:49
  3. Bug found in Space Station Silicon Valley [E]
    By -Shadow- in forum General Nintendo 64 Emulation Discussion
    Replies: 0
    Last Post: May 22nd, 2004, 14:14
  4. Backfacing culling in ****geneous space?
    By Orkin in forum Emulator Programming
    Replies: 6
    Last Post: January 12th, 2004, 10:36

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •