GithubHelp home page GithubHelp logo

happy-ferret / 8080 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from insood/8080

0.0 1.0 0.0 2.4 MB

Intel 8080 Emulator for the Taito Space Invaders game

License: The Unlicense

Go 86.00% Ruby 2.56% Assembly 11.43%

8080's Introduction

i8080 Emulator

Intel 8080 Emulator for the Taito Space Invaders game implemented in golang

A version of this emulator transpiled to Javascript using GopherJS is available here. It runs pretty slow due to the many layers of abstraction, but is still playable. (Works best in Google Chrome - runs very slow in Firefox)

There is source code for two executables here:

  1. test - A barebones implementation of the KR580VM80A processor that can run all of the "i8080-core" ROMs (https://github.com/begoon/i8080-core/). This emulator can connect to a local server (server.rb) that can compare the output of this emulator against other emulators to detect differences in the register values. The code for the i8080-core will need to be updated to provide this output over port 5679.

  2. space_invaders - A superset of 'test,' but with additional functionality to emulate the Taito Space Invaders game as faithfully as possible.

Controls for space invaders:

  • Enter - Insert Credit
  • Key 1 - Start a 1 player game (1 credit required)
  • Key 2 - Start a 2 player game (2 credits required)
  • Left Arrow - Move ship left (P1)
  • Right Arrow - Move ship right (P1)
  • Space - Fire (P1)
  • Key A - Move ship left (P2)
  • Key D - Move ship right (P2)
  • Key W - Fire (P2)
  • Key T - Tilt
  • Key 3 - Toggle DIP Switch 3 (set number of lives; 00=3, 10 = 5)
  • Key 4 - Toggle DIP Switch 4 (some sort of power on self test)
  • Key 5 - Toggle DIP Switch 5 (set number of lives; 01 = 4, 11 = 6)
  • Key 6 - Toggle DIP Switch 6 (0 = extra ship at 1500, 1 = extra ship at 1000)
  • Key 7 - Toggle DIP Switch 7 (0 = display coin info on demo screen, 1=don't?)

Dependencies:

  1. Ebiten 2D library (https://github.com/hajimehoshi/ebiten)

Built in GO with lots of help from the following resources:

  1. http://www.computerarcheology.com/Arcade/SpaceInvaders/Code.html
  2. http://www.emulator101.com/reference/8080-by-opcode.html
  3. http://www.pastraiser.com/cpu/i8080/i8080_opcodes.html
  4. https://github.com/begoon/i8080-core/
  5. http://typedarray.org/wp-content/projects/Intel8080/index.html (Javascript version)
  6. #ebiten on gopher.slack.com

Known Issues:

  1. UFO sound does not play correctly (wontfix)
  2. Some of the sounds are not implemented - extra ship, cocktail mode (wontfix)
  3. GopherJS version runs very slow (wontfix)
  4. Source code is not very pretty (wontfix)

8080's People

Contributors

insood avatar

Watchers

 avatar

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.