Michal Kowalski created the 6502 Simulator many years ago. It simulated the MOS 6502, CMOS 65C02, and the 6501. He released the source code for those interested. A few years ago, I was writing some code that needed super accurate cycle counting and was using the Kowalski Simulator to test the code. I discovered some of the counting was not accurate. So, having found the necessary Visual C++ tools, I set out to get the cycle counting fixed. Along the way, a few folks pointed out some other issues and I tried to correct those. After publishing my updates on the 6502.org forum, I had requests for a few enhancements along with more bugs to be fixed. I took those on and provided a few updates.
Then I thought, it would be nice if this platform could also support the 65816. Many folks are timid about using the 65816 and this might help those who are considering the jump. The first step was to expand the assembler to correctly assemble the new opcodes and addressing modes on the 65816. Since some now support 24 bit addresses, this required a significant upgrade. But, eventually, I had it ready and posted the updated program. There were a few minor issues, but I was able to resolve them. I also added a few more features requested from users.
The next step was to add support for a memory map all the way up to 16MB. That too was a major upgrade but eventually I got that done.
I disabled the Debugger for the 65816 as that will be another major upgrade. Along with the debugger comes the disassembler. One issue I have in the disassembler is it does not really know if immediate values are 8-bit or 16-bit. The author has to know when he writes the code what the register sizes are, but the disassembler itself does not have a clue. I need to add a flag that is controlled by the debugger so the disassembler can be triggered to show the right format in real-time during execution. That comes to the debugger. It also has to track status register flags to know what size the A,X,Y registers are and also needs to account for emulation mode vs. native mode. I will eventually get that done, but I do not expect a quick turn around on that.
For those interested, here are the versions I have released and source code for the major changes.
|6502 v18.104.22.168.zip||6502 source v22.214.171.124.zip||Latest 6502/65C02/65816 Assembler with 6502/65C02 simulator.|
|6502 v1.2.15.zip||6502 source v1.2.15.zip||Converted Help system to htmlhelp (.chm) and English. Fixed a few other things also.|
|6502 v1.2.14.zip||6502 source v1.2.14.zip||Updates still using old winhelp (.hlp). All future updates will have htmlhelp (.chm)|
|6502 v1.2.12.zip||6502 source v1.2.12.zip||Michal Kowalski's last release.|