1
0
mirror of https://github.com/sethm/symon.git synced 2024-11-16 10:08:43 +00:00
Commit Graph

234 Commits

Author SHA1 Message Date
Maik Merten
d7f8045b61 rework bus. Don't throw an Exception any more with overlapping device addresses - this is normal for some machines. Introduce the concept of priorities to ensure that device overlap in the correct order. 2014-07-25 19:32:00 +02:00
Maik Merten
222772648d simple dialog for choosing machine model when no command-line option was given 2014-07-22 17:50:06 +02:00
Maik Merten
bd2337ae65 allow for selecting the emulated machien type with the "-machine" parameter. The default is the Symon machine model, the Multicomp machine can be selected with "-machine multicomp". 2014-07-21 17:39:20 +02:00
Maik Merten
a49c0d40d8 revert back to busy waiting for CPU speed emulation to have a less bursty CPU behavior 2014-07-20 21:55:01 +02:00
Maik Merten
44bfbc17ab replace busy waiting to emulate "proper" CPU speed with some time book keeping and thread sleeping 2014-07-19 20:19:26 +02:00
Maik Merten
b266a02372 have full 56K of RAM for the Multicomp machine 2014-07-19 17:51:51 +02:00
Maik Merten
72074b9715 Silence a compiler warning regarding generics 2014-07-19 17:40:19 +02:00
Maik Merten
252ebe0569 implement overrun status flag for the 6551 ACIA 2014-07-19 17:30:23 +02:00
Maik Merten
4a37dd7463 move overrun detection and reset into the abstract superclass for ACIAs 2014-07-19 17:10:57 +02:00
Maik Merten
cf36f731da make use of the MulticompMachine in the simulator. This should be an option, not hardcoded. 2014-07-17 21:59:03 +02:00
Maik Merten
e01f68a19a make use of overlapping memory regions in MulticompMachine 2014-07-17 21:45:37 +02:00
Maik Merten
44151f3a9c have the Bus support devices with overlapping memory regions 2014-07-17 21:43:46 +02:00
Maik Merten
f5a25b7303 initial definition of the MULTICOMP machine. Will not yet run, as the bus will currently not allow overlapping memory ranges for devices. 2014-07-17 20:41:26 +02:00
Maik Merten
14e8ea596c define an interface for supported machines and have the SymonMachine as first implementation. Remove machine-specific definitions out of the Simulator class. 2014-07-17 19:42:51 +02:00
Maik Merten
8f52e1da1e implement overrun flag for 6850 ACIA 2014-07-16 22:26:06 +02:00
Maik Merten
0d0fddc365 tests for the 6850 ACIA and fixes in ACIA behavior 2014-07-16 21:51:34 +02:00
Maik Merten
31fdd87b41 turn Acia into an abstract class so that the 6551 and 6850 ACIAs can reuse code and an unified interface. 2014-07-15 21:35:19 +02:00
Maik Merten
9726907317 initial (and untested) implementation of a Motorola 6850 ACIA 2014-07-15 18:45:13 +02:00
Seth Morabito
40c5397ed8 Faster refresh of memory window 2014-07-06 12:17:39 -07:00
Seth Morabito
a7ea60d250 Bump version to 0.9.1.0 2014-01-26 01:29:09 -08:00
Seth Morabito
1bc8eda38d ACIA interrupt handling 2014-01-26 01:25:12 -08:00
Seth Morabito
76dcbd712a IRQ and NMI handling at CPU level. 2014-01-25 20:45:39 -08:00
Seth Morabito
b6cc480919 Add NMI flag to CPU 2014-01-25 20:02:17 -08:00
Seth Morabito
0c5035fc56 Add interrupt flag to CPU 2014-01-25 19:53:53 -08:00
Seth Morabito
3d36cd5460 Improved screenshots 2013-12-29 18:43:29 -08:00
Seth Morabito
4a510b635e README updates, CRTC tests.
- Added more CRTC information to the README file.
- Added unit tests for the CRTC.
- Implemented register read for cursor position in the CRTC.
- Bundling a new version of jterminal that has correct backspace
  behavior.
2013-12-29 18:18:48 -08:00
Seth Morabito
070e7380fc Additional README updates 2013-12-28 23:55:55 -08:00
Seth Morabito
1493567410 README clarification 2013-12-28 23:54:33 -08:00
Seth Morabito
ea4e05c905 Video screenshot and README update 2013-12-28 23:50:26 -08:00
Seth Morabito
070e9db813 Merge branch 'master' into crtc
Conflicts:
	src/main/java/com/loomcom/symon/Simulator.java
	src/main/java/com/loomcom/symon/devices/Device.java
	src/main/java/com/loomcom/symon/devices/Memory.java
2013-12-28 23:35:22 -08:00
Seth Morabito
e9a9786135 Merge pull request #4 from Max840/master
New way of defining devices and a bit of optimization
2013-12-28 23:20:23 -08:00
Seth Morabito
3c68c63995 Additional refactoring 2013-12-28 23:14:21 -08:00
Seth Morabito
6dde766f5a Refactor of CRTC 2013-12-28 19:55:26 -08:00
Seth Morabito
e7e3c77e3f First pass at Video window 2013-12-27 21:40:28 -08:00
Max840
bc6b93e3fe Optimization of Bus.isComplete() 2013-12-26 17:25:52 -05:00
Max840
d8deca227f Create Device.size() 2013-12-24 15:35:56 -05:00
Max840
1c9c742477 Unit test updated with devices' start/end address 2013-12-23 23:38:38 -05:00
Max840
d1a05aeb2b Devices use start/end address 2013-12-23 23:31:51 -05:00
Seth Morabito
a5af522c5c Force no grid on memory window 2013-03-30 22:27:33 -07:00
Seth Morabito
6a50476bfe Step Count and Memory Window enhancements
Introduces several changes requested by Mario Keller. The simulator now has a variable step count that can be selected by a drop-down box on the main window. This change also displays ASCII characters in the Memory window.
2013-03-30 21:28:52 -07:00
Seth Morabito
2835deb00f Updating to version 0.8.4 2013-03-04 20:38:50 -08:00
Jay Sissom
429fec97b2 Fix disassembled opcode display on trace log for zero page,X and zero page,Y addressing modes. 2013-03-04 22:10:25 -05:00
Seth Morabito
4ccb7bec97 Tooltip Text and Minor Enhancements
- Added tooltip text to status panel.
- Memory is no longer cleared on reset.
- Console can now receive key-strokes even while the simulator is
  stopped (for single-stepping programs that require interaction)
- Updated screenshots with bug-fixed version.
2013-01-12 11:41:32 -08:00
Seth Morabito
34fb8940ae Fix swapped labels on status pane
The labels for the X and Y registers were swapped on the status pane.
How embarrassing!
2013-01-05 14:26:16 -08:00
Seth Morabito
4b240d9dfd Copyright update, acknowledgements 2013-01-03 17:36:27 -08:00
Seth Morabito
da8250778e Bug Fixes and Copyright Date Change
The simulator now passes Klaus Dormann's 6502 Functional Test suite for
the first time.

Bug Fixes:

- PHP was not correctly setting the Break bit on the stack copy of the
  processor status, so subsequent PLA's would not set the Break status
  flag.

- The CPU had swapped NMI and IRQ reset vectors, so RTI was failing.

- BRK was pushing PC + 2 onto the stack, instead of PC + 1

- (Zero Page,X) addressing mode did not correctly wrap on zero page
  boundaries.

- The instruction table used for disassembly had addressing modes
  of LDA $B9 and $BD reversed. This did not affect behavior, only
  disassembly of these instructions.

Other:

- Updated copyright date for 2013.

- Started migrating old JUnit 3 style tests to JUnit 4 annotations.
2013-01-01 17:03:16 -08:00
Seth Morabito
92b61e4839 Memory Map in Readme 2012-12-31 12:46:38 -08:00
Seth Morabito
e63fe9572e Screenshot updates 2012-12-30 23:28:56 -08:00
Seth Morabito
61b342ff01 Readme Update and Memory Window Look-and-Feel 2012-12-30 23:01:33 -08:00
Seth Morabito
9a00e21338 Adding Screenshots 2012-12-30 22:26:10 -08:00