mirror of
https://github.com/sethm/symon.git
synced 2025-02-06 14:30:06 +00:00
Bug Fixes: - Fixed several bugs in the CPU that caused processor status flags to be set incorrectly. Instructions affected were: STA, STX, STY, CMP, CPX, CPY, BIT. - Made some internal-use-only methods on the CPU class private. - Fixed incorrect disassembly of (Indirect,X) and (Indirect),Y instructions. Although this didn't affect behavior, it certainly caused me some confusion in debugging. - Added missing "BCS" instruction to instruction table. Enhancements: - Now includes a full version of Lee Davison's Enhanced 6502 BASIC bundled as source code and a ROM image. Get that REAL COMPUTER EXPERIENCE!(tm) - If a file named "rom.bin" exists in the same directory where the simulator is executed, it will be loaded at addresses $d000-$ffff. - Gave the CPU an idle loop to make simulated timing a little more realistic (but this is still an area needing major improvement) - Changed the CPU's toString() method to give better debugging output. - Added a small typeahead buffer to the Console. - Better exception messaging. Misc: - Bumped version to 0.5, updated README.
Sample Programs ---------------- 1. hello.prg When loaded at address $0300, this program will print "Hello, 6502 World!" in infinite loop. 2. echo.prg When loaded at address $0300, this program will echo back to the console anything typed. Both hello.prg and echo.prg were assembled with the Ophis assembler: https://hkn.eecs.berkeley.edu/~mcmartin/ophis/ 3. ehbasic.rom This is Lee Davison's Enhanced 6502 BASIC. To use this ROM image, just copy the file 'ehbasic.rom' into the directory where you run Symon. Rename the file to 'rom.bin'. When you start Symon, the ROM file will be automatically loaded at address $d000. Click the "Run" button and EhBASIC should automatically start running. Type 'C' to do a cold start. Then, type $C000 when prompted for the memory size. NOTE: EhBASIC only wants upper-case input. This confused me at first! More information can be found in the 'ehbasic' directory, and by visiting the EhBASIC web page: http://mycorner.no-ip.org/6502/ehbasic/index.html