https://github.com/ahamez/cpp8080
A 8080 emulator written in C++17.
https://github.com/ahamez/cpp8080
8080 cpp17 emulator space-invaders
Last synced: about 1 month ago
JSON representation
A 8080 emulator written in C++17.
- Host: GitHub
- URL: https://github.com/ahamez/cpp8080
- Owner: ahamez
- License: mit
- Created: 2018-08-02T05:36:53.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-10-23T16:20:50.000Z (over 3 years ago)
- Last Synced: 2025-03-21T14:16:51.366Z (over 1 year ago)
- Topics: 8080, cpp17, emulator, space-invaders
- Language: C++
- Homepage:
- Size: 230 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cpp8080
A 8080 emulator written in C++17 started after reading http://www.emulator101.com.
The idea was to see what C++17 could bring to the writing of an emulator.
The answer is: not so much. C++11/14 was helpful to [generate the jump table](https://github.com/ahamez/cpp8080/blob/bf9a7a05708fe299685fba1b94e8f5bb06e05962/cpp8080/meta/instruction.hh#L29),
but otherwise, I didn't find a way to use effectively C++17 new features.
## Acknowledgements
I could not have written `cpp8080` without those ressources:
- http://www.emulator101.com
- https://github.com/superzazu/invaders
## Architecture
`cpp8080` is a C++17 library. The repository contains two examples built on this emulator:
- Space Invaders (without sounds)
- a test that exercices the emulated CPU
## Dependencies
- A C++17 compiler
- SDL2 (needed for Space Invaders)
## Build
Requires [conan](https://conan.io).
```
mkdir build && cd build
conan install .. --build=missing
cmake .. -G Ninja
ninja
ninja test
```