A Intel 8080-Emulator written in C and GTK
Go to file
2024-05-20 17:52:07 +00:00
ROM disassembler + first emulated commands 2024-01-06 20:33:56 +01:00
.gitignore Initial commit 2024-01-06 19:30:56 +00:00
disassembler.c disassembler + first emulated commands 2024-01-06 20:33:56 +01:00
emulator_shell.c final touches 2024-01-20 19:43:16 +01:00
LICENSE Initial commit 2024-01-06 19:30:56 +00:00
README.md Update README.md 2024-05-20 17:52:07 +00:00
space.png Done :D 2024-01-20 19:06:47 +01:00
space.png~ Added colour (Final version 2024-01-20 19:37:17 +01:00

8080-Emulator

This is a 8080-Emulator written in C, built with the help of the website: http://www.emulator101.com/ in order to emulate the space invaders game.

As someone who uses emulators like Dolphin, Citra, RPCS3, Cemu and Yuzu all the time and loves to read the development notes, I decided to build an emulator myself. I like to take things slow, so I opted to emulate one of the earliest processors - the 1974's Intel 8080.

i8080

On the Philosophy of Processors

I finally understand how CISC processors work, I've played Turing Complete and built 2 RISC processors in the game and also one in my computer architecture class, but I've never really imagined how CISC-commands look like. It's a different philosophy, though to be honest I still prefer the RISC-architecture even if the machine code turns out to be longer, because beauty is in simplicity and elegance.

Graphics

This was the most painful thing to implement, as the framebuffer is saved as a bitmap that also needs to be rotated, it took me many tries to get the game display working.

i8080 i8080

It initially looked like this: i8080

Current state

  • Disassembler
  • Understanding the i8080 machine code
  • Emulating the i8080
  • I/O-functionality

-------diverging from the guide--------

  • Graphical display
  • Done :D