Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codesqueak/z80processor
A Zilog Z80 Processor Emulator in Java
https://github.com/codesqueak/z80processor
emulator java z80 zilog
Last synced: about 1 month ago
JSON representation
A Zilog Z80 Processor Emulator in Java
- Host: GitHub
- URL: https://github.com/codesqueak/z80processor
- Owner: codesqueak
- License: apache-2.0
- Created: 2016-08-16T22:44:16.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-10-23T19:27:04.000Z (about 2 years ago)
- Last Synced: 2023-08-05T11:13:43.355Z (over 1 year ago)
- Topics: emulator, java, z80, zilog
- Language: Java
- Homepage:
- Size: 422 KB
- Stars: 9
- Watchers: 4
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![CodeQL](https://github.com/codesqueak/Z80Processor/workflows/CodeQL/badge.svg)
[![Java CI with Gradle](https://github.com/codesqueak/Z80Processor/actions/workflows/gradle.yml/badge.svg)](https://github.com/codesqueak/Z80Processor/actions/workflows/gradle.yml)
[![License: MIT](https://img.shields.io/badge/license-Apache_2.0-brightgreen.svg)](https://www.apache.org/licenses/LICENSE-2.0)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.codingrodent.microprocessor/Z80Processor/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.codingrodent.microprocessor/Z80Processor)# Z80 Processor in Java
Z80Processor is a an implementation of the Mostek / Zilog Z80 processor in Java
The code is not designed to be nice / clean / compact - however it is designed to be fast and easily checkable with every instruction
on its own switch / case statement.If you are looking for a compact implementation, have a look at the Go implementation [here](https://github.com/codesqueak/z80)
It code has been heavily profiled using [Yourkit](https://www.yourkit.com/) while running 'real' applications to identify hotspots.
If you find this project useful, you may want to [__Buy me a Coffee!__ :coffee:](https://www.buymeacoffee.com/codesqueak) Thanks :thumbsup:
## Build
Windows
gradlew clean build test
Linux
./gradlew clean build test
The build may take a few minutes as it includes a comprehensive test suite for the Z80 instruction set.
## Java Version
Version 4.0.0 onwards of the emulator require Java 17 or above
### Include Using Maven
```
com.codingrodent.microprocessor
Z80Processor
4.2.0```
### Include Using Gradle
```
// https://mvnrepository.com/artifact/com.codingrodent.microprocessor/Z80Processor
compile group: 'com.codingrodent.microprocessor', name: 'Z80Processor', version: '4.2.0'
```## Undocumented instruction
The code attempts to faithfully reproduce the numerous undocumented instructions in the Z80. I have tested against a real device but if you find any issues, let me know.
## How to make a machine
To make a machine you need three components, the CPU, Memory and I/O. To see a simple example, look at the test in Z80CoreTest.java.