Page 9 of 9 FirstFirst ... 789
Results 81 to 84 of 84

Thread: Space Invaders

  1. #81
    EmuTalk Member
    Join Date
    May 2013
    Posts
    99
    Mentioned
    5 Post(s)
    According the the manual in the first page, the ANA instructions ignore the AC flag (i.e., it will have the same value before and after the instruction).

  2. #82
    EmuTalk Member
    Join Date
    Aug 2013
    Posts
    3
    Mentioned
    0 Post(s)
    thanks. I must have an old document (98-153B_Intel_8080_Microcomputer_System_Use r_Manual_197509.pdf) where at page 52 it says that AC flag is updated by the instruction.

  3. #83
    EmuTalk Member
    Join Date
    May 2015
    Posts
    1
    Mentioned
    0 Post(s)
    I'm working on an 8080/SI emulator as my first emulator project. I've been using the 8080 instruction manual as a reference, implementing opcodes as I get to them in the ROM.

    I just hit the 0xd3 opcode, OUT, and it's time for me to start figuring out how I/O works in this thing. Can I restate my understanding of how some of this stuff works, and somebody tells me if I'm heading down the wrong track?

    OUT takes a port as an argument, and writes the contents of reg A to that port. The OP states that I can get away without implementing OUT 3, OUT 5, and OUT 6. OUT 2 means that I'm shifting the bitshift register by some offset, and OUT 4 means that I'm writing the contents of A to the bitshift (specifically, to the left half of the bitshift). So I need to have some sort of uint16_t, like a double register, and use that as the bitshift.

    IN takes an argument, and depending on what argument that is (1, 2, or 3), it reads the contents of a uint_8 and treats that as a mask where each bit indicates that input is coming from a particular source (directional buttons, dipswitches, etc). So I need to make keyboard listeners, map keys to certain inputs, and maintain input masks; when I detect keyboard input, set the appropriate bit in the mask and wait for the IN instruction to read it.

    As far as video goes, there's a section of the ram devoted to video; I should be able to just read the ram from $2400 to $3fff, call it a bmp, and blit it on to the screen with something like SDL. I don't need to worry about the bmp file header, because that's only important before the bmp is stored in ram; since the rom is generating the bmps on the fly, they're already in memory and I can just say it's a bmp.

    Is that basically correct?

  4. #84
    EmuTalk Member
    Join Date
    Apr 2017
    Posts
    1
    Mentioned
    0 Post(s)
    To perhaps revive this thread, i can attest that writing a space invaders emulator is pretty straightforward, if you've already coded a Chip-8 emulator.

    My code is available here:
    https://github.com/MoleskiCoder/invaders

    It's written in C++11, using SDL2 for the graphics, sound etc.

    Things of interest:



    * I've got a pseudo-interlace mode, that flickers alarmingly and gives nice vertical scanlines.
    * ****tail mode screen flip is available
    * Xbox 360 style controllers are supported, including a haptic shudder if a life is lost

    Anyway, thanks Hap for starting this thread.

    Adrian
    Last edited by MoleskiCoder; April 9th, 2017 at 17:27. Reason: strange profanity filter, I think

Page 9 of 9 FirstFirst ... 789

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
  •