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