GithubHelp home page GithubHelp logo

gotoc / i6502 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ariejan/i6502

0.0 1.0 0.0 2.31 MB

A 6502/65C02 virtual machine

Home Page: http://ariejan.github.io/i6502

License: MIT License

Ruby 0.22% Go 99.78%

i6502's Introduction

i6502 - A 6502 Emulator

Build Status Go Docs

This is an emulator of the i6502 hardward project I'm doing.

It's written in Golang and comes fully tested.

Website โ€ข Documentation

Background

The MOS 6502 Microprocessor has been around sinc 1975 and is used in many popular systems, like the Apple II, Atari 2600, Commodore 64 and the Nintendo Entertainment System (NES).

It features an 8-bit accumulator and ALU, two 8-bit index registers and a 16-bit memory bus, allowing the processor to access up to 64kB of memory.

I/O is mapped to memory, meaning that both RAM, ROM and I/O are addressed over the same 16-bit address bus.

Because of it's simple and elegant design and the plethora of information available about this microprocessor, the 6502 is very useful for learning and hobby projects.

The 65C02 is a updated version of the 6502. It includes some bug fixes and new instructions. The goal is for i6502 to fully support the 65C02 as well.

What's included in the emulator?

  • 6502 Microprocessor, fully tested
  • 16-bit address bus, with attachable memory
  • RAM Memory
  • 6551 Asynchronous Communications Interface Adapter (ACIA)

What's not (yet) included?

  • Proper Golang packaging and documentation
  • 65C02 support
  • Roms
  • I/O (VIA 6522)
  • Batteries

Getting started

Although this package contains everything you need, there is not single 'emulator' program yet. The CPU, address bus and RAM components are all available to you, but documentation is still lacking.

For now, you can checkout the project, and run the tests.

go get github.com/ariejan/i6502
cd $GOPATH/src/github.com/ariejan/i6502
go get -t
go test

License

This project is licensed under the MIT, see LICENSE for full details.

Contributors

Special thanks to the awesome folk at http://forum.6502.org for their support and shared knowledge.

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.