8080-Emulator/README.md

28 lines
1.5 KiB
Markdown
Raw Normal View History

2024-01-06 19:30:56 +00:00
# 8080-Emulator
2024-01-09 10:27:28 +00:00
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.
2024-01-09 14:14:56 +00:00
<img title="The 8080-Processor" alt="i8080" src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fhackaday.com%2Fwp-content%2Fuploads%2F2019%2F06%2F8080-sbc-featured.jpg&f=1&nofb=1&ipt=cf315f3913abb46203c8d458013d9b7358435e5b7176642dd186d4fa17bbf176&ipo=images">
2024-01-09 10:27:28 +00:00
## On the Philosophy of Processors
2024-01-09 13:44:33 +00:00
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.
2024-01-19 20:49:50 +00:00
## Graphics
2024-01-19 21:29:55 +00:00
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.
2024-01-19 20:49:50 +00:00
2024-01-09 13:44:33 +00:00
## Current state
2024-01-09 13:44:53 +00:00
- [x] Disassembler
- [x] Understanding the i8080 machine code
- [x] Emulating the i8080
2024-01-14 19:53:53 +00:00
- [x] I/O-functionality
2024-01-09 14:12:49 +00:00
2024-01-09 14:12:36 +00:00
-------diverging from the guide--------
2024-01-09 14:12:49 +00:00
2024-01-19 20:21:50 +00:00
- [x] Graphical display
2024-01-09 13:45:06 +00:00
- [ ] Done :D