Opcode table: Opcode Cheatsheet
Opcodes 0x00-0xff: Better Cheatsheet
Data sheet: Data sheet
8080 Programming: Programming Manual
Rust Web-Assembly: Official Tutorial
Entwicklung eines Intel 8080 Emulators in Rust, kompiliert nach Web-Assembly. Dazu ein Web-Frontend durch das der Emulator verwendet werden kann. Das UI soll leicht verständlich sein, sodass die Anwendung als Grundlage fuer Assembly-Kurse verwendet werden kann. Der Emulator läuft als WASM binary im Browser des Benutzers und wird durch die WASM-Endpunkte gesteuert.
Planned ToC of the report
- Analysis
- Problemstellung
- Verwandte Arbeiten
- Ziele
- Beitrag
- Design
- Emulator
- Disassembler
- Assembler
- Interpreter
- CPU Emulation
- WASM API
- Frontend
- Framework
- SPA vs non-SPA
- Architektur
- Views
- Components
- Emulator
- Implementierung
- Rust
- Interessante Code Beispiele
- Auswertung
- Performance
- Benutzbarkeit
- Vollstaendigkeit
- Future Work
- Fazit
This section will set you up with the application as quick as possible to run it on your machine.
These are the things you will need to install beforehand (and most likely already have if you are interested in running this project):
To get all dependencies used in the frontend you will need to have Yarn installed, which is done easiest with npm:
npm install --global yarn
-
You can run the unittests included in the backends src-directory with
cargo test
-
Navigate to the emulator and build the wasm dependencies:
wasm-pack build -t web
- Head over to the frontend-directory and install all required dependencies:
yarn install
- From there, deploy the project with:
npm run start
or
yarn run start
This will start the emulator as an Angular application on your machine. If left unchanged it will be available on 'localhost:4200'.