Introduction
This is a project I've started a few months ago. I know there are already tons of 8080 emulators out there but I wanted to try my hand at one as well.
I'm writing this emulator in C with the intent on running it on one of my micro-controller units. I'm also using a smaller test library called munit instead of my original plan of using google test.
What is the 8080 processor?
The Intel 8080 is an 8-bit microprocessor released in 1984. It's the spiritual successor to the Intel 8008 and has a clock speed of 2 - 4 Mhz with the ability to address up to 64 KB of RAM. I am using this CPU to emulate space invaders due to it's simplicity and thorough documentation.
Setting up the Appveyor and Travis-CI build scripts
I used the following scripts: (Travis-CI):
language: ccompiler: gcc
before_script:
- mkdir build
- cd build
- cmake ..
script: make && ./emu8080_tests
And for appveyor (AppVeyor):
version: 1.0.{build}
image: Ubuntu
build_script:- sh: >-
mkdir build
cd build
cmake ..
make
test_script:
- sh: ./emu8080_tests
This will build the solution and immediately run my unit test program which will return -1 if bad or 0 if it succeeds like normal.
Screenshots
Files
8080 Programmer's manual: https://drakeor.com/uploads/8080-Programmers-Manual.pdf
Mirror for the Space Invaders ROM: https://drakeor.com/uploads/invaders.zip
Munit testing framework: https://github.com/nemequ/munit