1
0
mirror of https://github.com/sethm/symon.git synced 2024-06-27 01:29:32 +00:00
Commit Graph

56 Commits

Author SHA1 Message Date
Seth Morabito
365809459c Finally handling key presses in the console! (Took long enough, huh?) Added a dead simple console echo example program in 6502 assembly, as well. 2012-10-11 16:08:04 -07:00
Seth Morabito
ed36690e9e Checkpoint of my Swing UI refactoring. Usable for output-only programs, but only barely. 2012-05-28 22:18:35 -07:00
Seth Morabito
a1d07bf223 First work toward moving to a Swing UI for the simulator. 2012-04-22 20:49:18 -07:00
Seth J. Morabito
00ab8cd9ff Simulator is just about ready for real-world testing now. Added a simulated
MOS6551 ACIA at address $C000 which does buffered input and output via the
console. Updated the README with a bit more documentation, and bumped the
version number to 0.1 because I'm impatient.
2010-01-20 18:19:39 -08:00
Seth Morabito
596d05e398 Clearer help output (I hope). Fixed an off-by-one bug in doLoad. 2010-01-17 21:12:24 -08:00
Seth J. Morabito
3d4500cbff Removed Profiler. It may return in a future release. 2010-01-16 22:22:24 -08:00
Seth Morabito
e157f4a972 More cleanup of the monitor. Added binary file load command. 2010-01-16 21:17:37 -08:00
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
sethm
4104d6212e Added Indirect X Mode Tests 2010-01-10 01:18:45 -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
de0742f59f Started skeleton of Zero Page tests. 2008-12-27 09:59:49 -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