Disclaimer: This information is provided as is. There may be errors in this information. You may use this information only if you agree that Minimalist / Coinop.org, its employees, and noted authors will never be held responsible for any damage, injury, death, mayhem, etc. caused by errors in the information. When working with high voltage, never work alone and always follow safety precautions.

Document Title: [SpaceInvadersMap.html (html file)]

Space Invaders Memory Map
note - The Sound port is uncomplete!
1996.7.20 Ryusendo/Root

Board Spec
----------
CPU		8080, i8080 is lower-compatible chip of Z80-CPU
RAM		8kbytes, i8kSRAM @8 piece
ROM		8kbytes, i16kEPROM @4 piece
SOUND		Sound Effect with analog circuit
Input Device	2way stick + 1 button *2
		coin switch, 1Player start, 2Player start
		TILT switch

Memory Map
----------
 0000h          +--------------------------+
                | Program ROM              |
                |                          |
                |                          |
                |                          |
                |                          |
                |                          |
                |                          |
 1FFFh          |                          |
                +--------------------------+
 2000h          | Work RAM                 |
 23ffh          |                          |
                +--------------------------+
 2400h          |                          |
                | Video RAM                |
                |                          |
                |                          |
                |                          |
 3FFFh          +--------------------------+
                |                          |
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 FFFFh          |  Not Used                |
                +--------------------------+

I/O map
-------

*** Port 1
[IN]Controller

bit 0=CREDIT (0 if deposit)
bit 1=2P start(1 if pressed)
bit 2=1P start(1 if pressed)
bit 3=0 if TILT
bit 4=shot(1 if pressed)
bit 5=left(1 if pressed)
bit 6=right(1 if pressed)
bit 7=Always 1

*** Port 2
[IN]Controller
bit 0=Always 0
bit 1=Always 0
bit 2=Always 0
bit 3=Always 1
bit 4=shot(0 if pressed)
bit 5=left(0 if pressed)
bit 6=Always 0
bit 7=Always 0
[OUT]Shift Value

*** Port 3
[IN]Shifted Bitmap
	Port3=Port4<<(8-(Port2 & 7))
	ex.	LD a,3
		OUT (2),a
		LD a,10110011b
		out (4),a
		in a,(3) ; reg a is 10011000b
[OUT]Sound
 bit 0=UFO
 bit 1=Shot
 bit 2=???
 bit 3=Hit
 bit 4=???
 bit 5=???
 bit 6=???
 bit 7=???

*** Port 4
[OUT]Bitmap

*** Port 5
[OUT]???

*** Port 6
[OUT]???

	Written by Nemoto Yohei