Skip to content

cveron/6502Net

 
 

Repository files navigation

This is my implementation of a 6502 CPU simulator written in C#. It simulates a basic 6502 processor and memory.
It also has an application written in WPF that functions as a test harnesss and allows you to load a program into memory
and step through the program, set break points, and watch the various registers. 

This project is now feature complete. It successfully passes all of Klaus Dormann's tests including the IRQ tests.
Feel free to submit bug requests if you find an edge case!

Version History
.0.9.9 All OP Codes Implemented.
.1.0.0 All of Klaus Dormann's Tests pass successfully.

I used the following websites during implementation as a reference
https://visual6502.org/wiki
https://homepage.ntlworld.com/cyborgsystems/CS_Main/6502/6502.htm
https://www.atariarchives.org/alp/
https://en.wikipedia.org/wiki/MOS_Technology_6502
https://www.obelisk.demon.co.uk/6502/
https://www.6502.org/tutorials/

I used the following test programs to validate the simulator.
https://2m5.de/6502_Emu/ Klaus Dormann 6502 Test Suite (GPL License)

How to Compile Tests - Go grab the AS65 Compiler
https://www.kingswood-consulting.co.uk/assemblers/

Modify the 6502_functional_test.a65
load_data_direct = 0

Run the following command to generate the bin file and lst file
as65 -l -m -w -h0  6502_functional_test.a65

In the simulator Load the test
Set the Memory Offset to be 0x0400 and the PC to be 0x0400.

Program Listing starts at 400


About

6502 Emulator in C#

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.8%
  • Batchfile 0.2%