All Projects → superzazu → 8080

superzazu / 8080

Licence: MIT license
A complete emulation of the Intel 8080 processor written in C99.

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects
Makefile
30231 projects

Projects that are alternatives of or similar to 8080

z80
Single header Z80 emulator for C++ (C++11 or later)
Stars: ✭ 17 (-84.4%)
Mutual labels:  cpu, 8080
em400
MERA 400 emulator
Stars: ✭ 36 (-66.97%)
Mutual labels:  cpu, emulation
nand nor
C++ Compile time NAND/NOR obfuscation
Stars: ✭ 32 (-70.64%)
Mutual labels:  emulation
ARM9-compatible-soft-CPU-core
This ARMv4-compatible CPU core is written in synthesiable verilog.It could launch uCLinux and Linux in MODELSIM. It has high Dhrystone benchmark value: 1.2 DMIPS/MHz. It could be utilized in your FPGA design as one submodule, if you master the interface of this .v file. This IP core is very compact. It is one .v file and has only less 1800 lines.
Stars: ✭ 42 (-61.47%)
Mutual labels:  cpu
pinmame
PinMAME - Pinball Multiple Arcade Machine Emulator
Stars: ✭ 77 (-29.36%)
Mutual labels:  emulation
FirmWire
FirmWire is a full-system baseband firmware emulation platform for fuzzing, debugging, and root-cause analysis of smartphone baseband firmwares
Stars: ✭ 555 (+409.17%)
Mutual labels:  emulation
Pi1541-HAT
A HAT for the Raspberry Pi, that allows to emulate the Commodore C64 floppy disk drive 1541. Switches and IEC-Bus detachable.
Stars: ✭ 26 (-76.15%)
Mutual labels:  emulation
cpm8266
Z80-CP/M2.2 emulation on ESP8266 NONOS SDK + the NoSDK from cnlohr
Stars: ✭ 110 (+0.92%)
Mutual labels:  emulation
AtomicWatch
Intel Atom C2000 series discovery tool that parses log files and returns results if a positive match is found. #nsacyber
Stars: ✭ 25 (-77.06%)
Mutual labels:  cpu
libu2f-emu
Universal 2nd Factor (U2F) Emulation C Library
Stars: ✭ 35 (-67.89%)
Mutual labels:  emulation
community
ROS 2 Hardware Acceleration Working Group community governance model & list of projects
Stars: ✭ 34 (-68.81%)
Mutual labels:  cpu
cpu emulator
LMC emulator written in Rust
Stars: ✭ 32 (-70.64%)
Mutual labels:  cpu
coretemp
Outputs current CPU core and package temperatures on macOS.
Stars: ✭ 36 (-66.97%)
Mutual labels:  cpu
pdp6
PDP-6 Emulator
Stars: ✭ 47 (-56.88%)
Mutual labels:  emulation
RoIAlign-RoIPool-pytorch
C++ extension implementation of RoIAlign & RolPool (both GPU and CPU) for PyTorch
Stars: ✭ 69 (-36.7%)
Mutual labels:  cpu
LemonLime
A Nintendo 3DS LLE emulator written in C#
Stars: ✭ 57 (-47.71%)
Mutual labels:  emulation
kotary
Managing Kubernetes Quota with confidence
Stars: ✭ 85 (-22.02%)
Mutual labels:  cpu
TinyMIPS
The Project TinyMIPS is dedicated to enabling undergraduates to build a complete computer system from scratch.
Stars: ✭ 29 (-73.39%)
Mutual labels:  cpu
EmuELEC
EmuELEC, retro emulation for Amlogic devices. Based on CoreELEC. https://emuelec.org or join us on Discord: https://discord.gg/cbgtJTu
Stars: ✭ 1,575 (+1344.95%)
Mutual labels:  emulation
retropie-overlays
Console overlays set for Retropie & Recalbox
Stars: ✭ 54 (-50.46%)
Mutual labels:  emulation

8080

A complete emulation of the Intel 8080 processor written in C99. Goals:

  • accuracy: it passes all test roms at my disposal
  • readability
  • portability: tested on debian 8 with gcc 5, macOS 10.12+ with clang and emscripten 1.39

You can see it in action in my Space Invaders emulator.

Running tests

You can run the tests by running make && ./i8080_tests. The emulator passes the following tests:

  • TST8080.COM
  • CPUTEST.COM
  • 8080PRE.COM
  • 8080EXM.COM

The test roms (cpu_tests folder) are taken from here and take approximately 30 seconds on my computer (MacBook Pro mid-2014) to run.

The standard output is as follows:

*** TEST: cpu_tests/TST8080.COM
MICROCOSM ASSOCIATES 8080/8085 CPU DIAGNOSTIC
 VERSION 1.0  (C) 1980

 CPU IS OPERATIONAL
*** 651 instructions executed on 4924 cycles (expected=4924, diff=0)

*** TEST: 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

*** 33971311 instructions executed on 255653383 cycles (expected=255653383, diff=0)

*** TEST: cpu_tests/8080PRE.COM
8080 Preliminary tests complete
*** 1061 instructions executed on 7817 cycles (expected=7817, diff=0)

*** TEST: cpu_tests/8080EXM.COM
8080 instruction exerciser
dad <b,d,h,sp>................  PASS! crc is:14474ba6
aluop nn......................  PASS! crc is:9e922f9e
aluop <b,c,d,e,h,l,m,a>.......  PASS! crc is:cf762c86
<daa,cma,stc,cmc>.............  PASS! crc is:bb3f030c
<inr,dcr> a...................  PASS! crc is:adb6460e
<inr,dcr> b...................  PASS! crc is:83ed1345
<inx,dcx> b...................  PASS! crc is:f79287cd
<inr,dcr> c...................  PASS! crc is:e5f6721b
<inr,dcr> d...................  PASS! crc is:15b5579a
<inx,dcx> d...................  PASS! crc is:7f4e2501
<inr,dcr> e...................  PASS! crc is:cf2ab396
<inr,dcr> h...................  PASS! crc is:12b2952c
<inx,dcx> h...................  PASS! crc is:9f2b23c0
<inr,dcr> l...................  PASS! crc is:ff57d356
<inr,dcr> m...................  PASS! crc is:92e963bd
<inx,dcx> sp..................  PASS! crc is:d5702fab
lhld nnnn.....................  PASS! crc is:a9c3d5cb
shld nnnn.....................  PASS! crc is:e8864f26
lxi <b,d,h,sp>,nnnn...........  PASS! crc is:fcf46e12
ldax <b,d>....................  PASS! crc is:2b821d5f
mvi <b,c,d,e,h,l,m,a>,nn......  PASS! crc is:eaa72044
mov <bcdehla>,<bcdehla>.......  PASS! crc is:10b58cee
sta nnnn / lda nnnn...........  PASS! crc is:ed57af72
<rlc,rrc,ral,rar>.............  PASS! crc is:e0d89235
stax <b,d>....................  PASS! crc is:2b0471e9
Tests complete
*** 2919050698 instructions executed on 23803381171 cycles (expected=23803381171, diff=0)

Resources used

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].