Coder Social home page Coder Social logo

erfan-khadem / rpi8080 Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 0.0 33 KB

An rp2040 based intel 8080 emulator with debugger, physical & virtual IN/OUT port and interrupt.

License: GNU General Public License v3.0

CMake 13.91% C 83.42% Python 2.67%
8080 emulation raspberrypipico rp2040 rpi-pico

rpi8080's Introduction

rpi8080

An rp2040 based intel 8080 emulator with debugger, physical & virtual IN/OUT port and interrupt.

Note: The project code is fairly complete and usable, but the documentation is not ready yet.

In this project, 8080's emulation core is based on superzazu 8080's work.

In order to use the project, first build it using pico-sdk and cmake and flash it onto your favorite rp2040 development board. You might want to disable the default input/output pins or change their configuration.

Next, write your code in asm80. After reset SP will be at 0xFFF0 and PC starts at 0x0100 so adjust your ORG accordingly. After verifying your assembly program, use "Download BIN" option and save the binary. After this run python3 programmer.py [rp2040 serial port] output.bin to program your virtual 8080. You have the full 64kB of 8080's address space to your code as R/W memory. Note that your binary will always be saved in rpi's SRAM, so you have to re-program every time you reset your board. By default, the CPU will run at 1us per T-state but you can make this slower.

After this, open a serial monitor (like screen or putty) and write anything to start the CPU. If you write help it will show the supported debug commands.

Pictures

image

image

image

rpi8080's People

Contributors

erfan-khadem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

rpi8080's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.