sethm
a3e57274a2
- Major overhaul of the Simulator control class (where 'main' lives).
...
- Removed the CommandParser class entirely, as the weird dependency between
Simulator and CommandParser never made me comfortable.
- Added a Command inner class to Simulator that handles some of the
command line tokenizing.
2010-01-16 19:22:22 -08:00
Seth Morabito
5c7a98df86
Playing around with the command parser and the Simulator class. Safe to ignore.
2010-01-16 08:56:34 +00:00
Seth Morabito
f174f0312f
* Correct implementation of Indirect Indexed and Indexed Indirect addressing modes.
...
* Unit tests for Indirect Indexed and Indexed Indirect.
* Updated copyright dates.
* Started moving to JUnit 4.
2010-01-15 08:20:03 +00:00
Seth Morabito
d858a50f1b
- Updated Cobertura Maven plugin to version 2.3 (threadsafe)
...
- Finished refactor of instruction argument address decoding.
Much DRYer now (but could still be DRYer yet).
2010-01-10 02:28:55 -08:00
Seth J. Morabito
ac88786df7
- Continued refactoring of address decoding.
...
- Device read and write may now throw MemoryAccessException, and appropriate
throws clauses have been added throughout the code.
2010-01-09 16:53:04 -08:00
Seth Morabito
a01090a16e
Part-way through the Great Refactoring of Instruction Decoding(tm)
2010-01-09 19:51:56 +00:00
Seth Morabito
ed943687bf
Implemented Relative mode (branch) instructions and unit tests. Fixed
...
a bug in the instruction size table.
2009-01-07 18:26:11 -08:00
Seth Morabito
f21a0d76e9
Implemented Absolute,Y addressing mode and unit tests.
2009-01-07 16:50:36 -08:00
Seth Morabito
dccf73a6b7
Implemented instructions using the Absolute,X addressing mode. There's
...
light at the end of the tunnel now!
2008-12-29 21:47:19 -08:00
Seth Morabito
107aca7777
Implemented Zero Page,X, Zero Page,Y, and Indirect addressing mode instructions, along with unit tests.
2008-12-29 20:46:48 -08:00
Seth Morabito
4b28ab4808
Implemented Absolute addressing mode instructions. All unit tests pass.
2008-12-28 23:11:16 -08:00
Seth J. Morabito
24458da79e
Implemented Accumulator mode instructions. Grouped all unimplemented (65C02 and 65816 only) instructions together in a single fall-through area of the instruction decoding switch statement. Added an unimpelmented instruction trap member variable.
2008-12-28 17:55:02 -08:00
Seth J. Morabito
c93a03d4f4
Improved README. Fixed typo in InstructionTable.java
2008-12-27 21:46:13 -08:00
Seth J. Morabito
8bcd8a4a75
Whitespace and indentation canonicalization. That's what I get for using two editors.
2008-12-27 21:09:47 -08:00
Seth J. Morabito
d54ad18b17
All zero page instructions implemented. Tests passing.
2008-12-27 20:59:10 -08:00
Seth J. Morabito
ecde55c6b8
Started on Zero Page opcodes and tests.
2008-12-27 13:01:07 -08:00
Seth J. Morabito
7766e76362
BCD is finally working. I thought that would never happen.
...
All Immediate Mode and Implied Mode opcodes have been implemented. Next up, zero page!
2008-12-27 01:43:07 -08:00
Seth J. Morabito
06ed74e89c
Fixed the BRK instruction. Added SBC and ADC in Binary Coded Decimal
...
mode. More unit tests.
2008-12-26 02:13:11 -08:00
Seth J. Morabito
b46c4e1bec
Finished implementing all implied mode instructions, with tests.
2008-12-23 16:36:09 -08:00
Seth J. Morabito
f012ba7775
More implied mode instructions implemented, with tests.
2008-12-23 16:06:09 -08:00
Seth J. Morabito
473b47e832
At long last, implemented BRK. Lots more unit tests for stack processing, as well.
2008-12-23 02:21:27 -08:00
Seth J. Morabito
46a5943736
Implemented set/clear flag instructions. More tests, but SBC is still BROKEN.
2008-12-20 02:00:45 -08:00
Seth J. Morabito
088b0823e1
More unit tests. SBC partially working, but I need to figure out what's going wrong.
2008-12-15 02:26:13 -08:00
Seth J. Morabito
1bd59b048b
Some API changes, lots of test changes.
2008-12-14 23:43:04 -08:00
Seth J. Morabito
6443cacdb9
Implemented ADC
2008-12-14 01:54:53 -08:00
sethm
1c6c5fdaeb
Implemented boolean immediate mode instructions.
2008-12-14 01:09:23 -08:00
Seth Morabito
3f74489757
Renamed project to "Symon".
2008-12-13 14:59:22 -08:00
Seth Morabito
9a6a256073
1. CPU now correctly sets Zero and Negative flags for LDA, LDX, and LDY
...
immediate mode instructions.
2. Added unit tests for LDA, LDX, LDY immediate mode instructions.
2008-12-13 01:53:15 -08:00
sethm
59e5572039
Process Status Register bits have been added.
2008-12-13 00:50:14 -08:00
Seth Morabito
7e36444193
Added stack functions.
2008-12-12 01:02:31 -08:00
Seth Morabito
6915331cca
Added LDX, LDY immediate.
2008-12-12 00:45:55 -08:00
sethm
fb3db6b65f
Our first test program is running!
2008-12-12 00:37:54 -08:00
sethm
7ccde7dc1b
Reformatting
2008-12-11 21:47:41 -08:00
Seth Morabito
d18c1c7f82
Instruction Table interface.
2008-12-11 19:33:44 -08:00
Seth Morabito
8df561d292
Changed the CPU and Device interface a bit.
2008-12-11 17:22:39 -08:00
Seth J. Morabito
a54dbc323d
Profiling. Made a new directory for exceptions.
2008-12-11 16:38:39 -08:00
Seth Morabito
6f678af3df
Renamed AddressDecoder to Bus
2008-12-11 11:41:05 -08:00
Seth J. Morabito
0e212e71e5
Tests for AddressDecoder. Fixed a bug in isComplete().
2008-12-10 19:57:38 -08:00
Seth Morabito
af7743b385
Much saner implementation of 'overlaps' method.
2008-12-08 22:12:28 -08:00
Seth J. Morabito
5bbd72d44e
Unit testing. MemoryRange work.
2008-12-08 20:40:27 -08:00
Seth J. Morabito
061eeba85c
There is already an existing project (albeit defunct) named j6502. Name changed to lm6502.
2008-12-08 14:28:44 -08:00
Seth J. Morabito
316d0feac6
Standardized tabs, indent, and whitespace. Finally!
2008-12-08 14:03:23 -08:00
Seth Morabito
e3300d3166
Lots of whitespace changes after importing the project into Eclipse
2008-12-06 14:39:54 -08:00
Seth Morabito
a6abc2cd23
Fleshing out some of the interface for the CPU, Simulator, and Devices.
2008-12-05 20:00:48 -08:00
Seth J. Morabito
0163ae47b4
Nicer prompt
2008-12-05 18:09:32 -08:00
Seth J. Morabito
a74322459a
Command Parser.
2008-12-05 18:03:00 -08:00
Seth J. Morabito
7f31c4c950
Initial project creation
2008-12-05 16:44:33 -08:00