CPU bug fixes and Simulator enhancements.
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.
This commit is contained in:
1 parent
c1caf8c6b4
commit
795ccfde5d
25 files changed
+13622
-4508
No files matched your search
@@ -1,12 +1,11 @@
|
||||
SYMON - A 6502 System Simulator
|
||||
===============================
|
||||
|
||||
**NOTE: THIS IS ALPHA QUALITY SOFTWARE UNDER ACTIVE DEVELOPMENT. IT IS
|
||||
NOT YET FULLY FUNCTIONAL. IT MAY BE USEFUL, BUT IT IS NOT YET INTENDED
|
||||
TO BE USED BY ANYONE BUT DEVELOPERS. Feedback is welcome!**
|
||||
**NOTE: THIS IS BETA QUALITY SOFTWARE UNDER ACTIVE DEVELOPMENT. Feedback is
|
||||
welcome!**
|
||||
|
||||
**Version:** 0.3
|
||||
**Last Updated:** 14 October, 2012
|
||||
**Version:** 0.5
|
||||
**Last Updated:** 21 October, 2012
|
||||
|
||||
Copyright (c) 2008-2012 Seth J. Morabito <web@loomcom.com>
|
||||
|
||||
@@ -70,23 +69,36 @@ for testing.
|
||||
|
||||
- 'hello.prg' will continuously print "Hello, 6502 World!" to the console.
|
||||
|
||||
### 3.3 Running
|
||||
The sample directory also contains a ROM image of Lee Davison's
|
||||
Ehanced 6502 BASIC. For instructions on loading the rom, please see
|
||||
the README file in that directory.
|
||||
|
||||
After loading a program, clicking "Run" will start the simulator
|
||||
### 3.3 ROM files
|
||||
|
||||
Any 12KB file named 'rom.bin' that exists in the same directory where
|
||||
Symon is launched will be loaded at address $d000. If the file is
|
||||
larger than 12KB, loading will fail. This functionality will be
|
||||
improved in a future release!
|
||||
|
||||
### 3.4 Running
|
||||
|
||||
After loading a program or ROM image, clicking "Run" will start the simulator
|
||||
running at address $0300.
|
||||
|
||||
|
||||
## 4.0 To Do
|
||||
|
||||
- Accurate timing (all simulated instructions currently take
|
||||
only one step to execute)
|
||||
- Better debugging tools from the UI, including memory inspection,
|
||||
disassembly, breakpoints, and execution tracing.
|
||||
|
||||
- Better ROM loading (and re-loading)
|
||||
|
||||
- More accurate timing.
|
||||
|
||||
- Interrupt handling!
|
||||
|
||||
- UI needs a ton more polish.
|
||||
|
||||
- Add a simple menu interface for common tasks.
|
||||
|
||||
- More extensive testing.
|
||||
|
||||
- Clean up JavaDoc.
|
||||
|
||||
Reference in new issue
Block a user