A 6502/65C02 virtual machine
Go to file
Ariejan de Vroom afa7d0d3f6 Wip 2014-08-12 20:46:41 +02:00
bus Wip 2014-08-12 20:46:41 +02:00
cpu Wip 2014-08-12 20:46:41 +02:00
devices Wip 2014-08-12 20:46:41 +02:00
memory Initial commit of the i6502 emulator. 2014-08-07 09:15:41 +02:00
rom Wip 2014-08-12 20:46:41 +02:00
.gitignore Initial commit of the i6502 emulator. 2014-08-07 09:15:41 +02:00
LICENSE Add README and LICENSE 2014-08-07 09:26:03 +02:00
README.md Add README and LICENSE 2014-08-07 09:26:03 +02:00
connection.go Working websockets 2014-08-11 12:04:55 +02:00
home.html Working websockets 2014-08-11 12:04:55 +02:00
i6502.go.old Working websockets 2014-08-11 12:04:55 +02:00
intcore Wip 2014-08-12 20:46:41 +02:00
machine.go Wip 2014-08-12 20:46:41 +02:00
main Working websockets 2014-08-11 12:04:55 +02:00
main.go Working websockets 2014-08-11 12:04:55 +02:00
server.go.old Working websockets 2014-08-11 12:04:55 +02:00

README.md

i6502 - A 6502/65C02 Emulator

The i6502 is a emulator/soft-prototype of a hardward device I'm building.

The goal of this project is to learn more about the following:

  • Go
  • CPU/Microprocessor Design
  • Computer Architecture
  • Assembler / Low-Level C
  • Operating Systems
  • Electronics (the hardware building part)

A test ROM file is included, but it does little more than loading a value into the accumulator and storing it in memory.

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

What's not (yet) included?

  • 65C02 support
  • I/O (6522, 6551)
  • Batteries
  • Tests ;-)

License

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

Contributors