- Qt 6.8.0
- Qt Creator v14.02 https://www.qt.io/download-qt-installer-oss
- Space Invaders ROM - Taito 1978
-
Clone the repo to your local system.
-
Install QT Creator
-
Obtain copy of Space Invaders ROM (four separate files), combine into a single file...
cat invaders.h invaders.g invaders.f invaders.e > invaders.rom...and place combined ROM into root directory of cloned project.
-
Open QT Creator, click
Open Project, selectCMakeLists.txtin root of directory. -
Hit Play button in bottom left corner of UI.
-
Once launched, hit
Play Gameto launch game. Otherwise, hitSettingsto configure game controls or Instructions to see brief overview of game. -
Enjoy!
Note - Disassembler file is primarily for debugging. Lines involving disassembler within Emulator files are commented out to optimize performance. Only uncomment them to see which instructions are implemented at what timing in the emulator.
- Reads current instructions from opcode buffer.
- Inputs current memory address for reference.
- Decodes instruction based on opcode.
- Fetches the current instruction from memory.
- Disassembles instructions for debugging.
- Increments program counter and execute instructions. Return error if instruction unimplemented.
- Place all invaders source files into the invaders folder.. cd into the invaders folder and run the following...
cat invaders.h invaders.g invaders.f invaders.e > invaders.rom
-
cd ..into SPACE_INV_8080_EMULATOR and runmake -
run
./emulator -
Memory MAP with contents dumped via txt file
RAM_DUMP.txt
Memory map: ROM $0000-$07ff: invaders.h $0800-$0fff: invaders.g $1000-$17ff: invaders.f $1800-$1fff: invaders.e
RAM
$2000-$23ff: work RAM
$2400-$3fff: video RAM
$4000-: RAM mirror