Update README

[ci skip]
This commit is contained in:
Ariejan de Vroom 2014-08-16 11:43:53 +02:00
parent 955e7db2dc
commit 6207a06423
1 changed files with 33 additions and 18 deletions

View File

@ -1,34 +1,48 @@
# i6502 - A 6502/65C02 Emulator
# i6502 - A 6502 Emulator
[![Build Status](https://travis-ci.org/ariejan/i6502.svg?branch=master)](https://travis-ci.org/ariejan/i6502)
The i6502 is a emulator/soft-prototype of a hardward device I'm building.
This is an emulator of the i6502 hardward project I'm doing.
The goal of this project is to learn more about the following:
It's written in Golang and comes fully tested.
* Go
* CPU/Microprocessor Design
* Computer Architecture
* Assembler / Low-Level C
* Operating Systems
* Electronics (the hardware building part)
## Background
A test ROM file is included, but it does little more than loading a value into
the accumulator and storing it in memory.
The MOS 6502 Microprocessor has been around sinc 1975 and is used in many popular systems, like
the Apple II, Amiga 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 (not fully 65C02 yet) CPU
* 16-bit address bus
* 32kB RAM and 16kB ROM modules, addressable via the address bus
* ROM loadable from file
* 6502 Microprocessor, fully tested
* 16-bit address bus, with attachable memory
* RAM Memory
## What's not (yet) included?
* Proper Golang packaging and documentation
* 65C02 support
* I/O (6522, 6551)
* Roms
* I/O (VIA 6522, ACIA 6551)
* Batteries
* Tests ;-)
## 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
@ -37,4 +51,5 @@ This project is licensed under the MIT, see [LICENSE](https://github.com/ariejan
## Contributors
* Ariejan de Vroom (ariejan@ariejan.net)
Special thanks to the awesome folk at [http://forum.6502.org](http://forum.6502.org) for their support and shared knowledge.