Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mohanson/i8080

Intel 8080 cpu emulator by Rust
https://github.com/mohanson/i8080

Last synced: about 1 month ago
JSON representation

Intel 8080 cpu emulator by Rust

Awesome Lists containing this project

README

        

# i8080

i8080 is a emulator for Intel 8080 cpu.

- [8080 Programmers Manual](http://altairclone.com/downloads/manuals/8080%20Programmers%20Manual.pdf)
- [8080 opcodes](http://pastraiser.com/cpu/i8080/i8080_opcodes.html)

```toml
[dependencies]
i8080 = { git = "https://github.com/mohanson/i8080" }
```

# Tests

The test roms (cpu_tests folder) are taken from [http://altairclone.com/downloads/cpu_tests/](http://altairclone.com/downloads/cpu_tests/).

```sh
$ python ./scripts/get_cpu_tests.py
$ cargo run --release --example test_roms
```

```text
*******************
Test loaded: "./res/cpu_tests/8080PRE.COM"
8080 Preliminary tests complete

*******************
Test loaded: "./res/cpu_tests/TST8080.COM"
MICROCOSM ASSOCIATES 8080/8085 CPU DIAGNOSTIC
VERSION 1.0 (C) 1980

CPU IS OPERATIONAL

*******************
Test loaded: "./res/cpu_tests/CPUTEST.COM"

DIAGNOSTICS II V1.2 - CPU TEST
COPYRIGHT (C) 1981 - SUPERSOFT ASSOCIATES

ABCDEFGHIJKLMNOPQRSTUVWXYZ
CPU IS 8080/8085
BEGIN TIMING TEST
END TIMING TEST
CPU TESTS OK

*******************
Test loaded: "./res/cpu_tests/8080EXM.COM"
8080 instruction exerciser
dad ................ PASS! crc is:14474ba6
aluop nn...................... PASS! crc is:9e922f9e
aluop ....... PASS! crc is:cf762c86
............. PASS! crc is:bb3f030c
a................... PASS! crc is:adb6460e
b................... PASS! crc is:83ed1345
b................... PASS! crc is:f79287cd
c................... PASS! crc is:e5f6721b
d................... PASS! crc is:15b5579a
d................... PASS! crc is:7f4e2501
e................... PASS! crc is:cf2ab396
h................... PASS! crc is:12b2952c
h................... PASS! crc is:9f2b23c0
l................... PASS! crc is:ff57d356
m................... PASS! crc is:92e963bd
sp.................. PASS! crc is:d5702fab
lhld nnnn..................... PASS! crc is:a9c3d5cb
shld nnnn..................... PASS! crc is:e8864f26
lxi ,nnnn........... PASS! crc is:fcf46e12
ldax .................... PASS! crc is:2b821d5f
mvi ,nn...... PASS! crc is:eaa72044
mov ,....... PASS! crc is:10b58cee
sta nnnn / lda nnnn........... PASS! crc is:ed57af72
............. PASS! crc is:e0d89235
stax .................... PASS! crc is:2b0471e9
Tests complete
```

# Space-Invaders

Space Invaders (Japanese: スペースインベーダー Hepburn: Supēsu Inbēdā) is a 1978 arcade game created by Tomohiro Nishikado. It was manufactured and sold by Taito in Japan, and licensed in the United States by the Midway division of Bally. Within the shooter genre, Space Invaders was the first fixed shooter and set the template for the shoot 'em up genre. The goal is to defeat wave after wave of descending aliens with a horizontally moving laser to earn as many points as possible.

The game uses an **Intel 8080 central processing unit (CPU)**, displays raster graphics on a CRT monitor, and uses monaural sound hosted by a combination of analog circuitry and a Texas Instruments SN76477 sound chip.

![img](./res/space-invaders.gif)

I use a separate repo to implement this game, please goto [https://github.com/mohanson/space-invaders](https://github.com/mohanson/space-invaders)

# Licences

MIT