Maik Merten
7a215736fe
rework SD controller emulation to work with Input- and OutputStreams (no longer load the image into a byte array)
2014-08-09 17:55:18 +02:00
Maik Merten
c61a63d5bb
more accurate emulation of the SD controller
2014-08-09 16:47:49 +02:00
Maik Merten
7cb4e1c945
NPE fix and reset position on every command
2014-08-09 15:13:59 +02:00
Maik Merten
3a40d35fdf
use SD interface in MulticompMachine and lift the speed limit on the ACIA device to better match the experience on the real machine
2014-08-09 14:58:29 +02:00
Maik Merten
d658cd0ae5
completely untested and incomplete implementation of the SD card interface of the MULTICOMP
2014-08-09 14:57:18 +02:00
Maik Merten
004087a742
invoke setBus() on devices added to the bus
2014-07-28 18:19:52 +02:00
Seth Morabito
4bfc196b49
Clear memory on Control+Reset
2014-07-27 13:41:44 -07:00
Seth Morabito
b1e1e75555
Reset WIP
2014-07-27 11:33:08 -07:00
Maik Merten
f90516e53c
fix a possible NPE
2014-07-26 18:55:51 +02:00
Maik Merten
fdaeb661d3
add menu entry to allow to switch the emulated machine type
2014-07-26 18:52:57 +02:00
Maik Merten
827e9991d5
move main method into Main class in anticipation of changes that allow restarting the complete UI from within the Simulator menu system
2014-07-26 18:07:29 +02:00
Maik Merten
dc7dfc4b4d
code simplification
2014-07-25 21:44:43 +02:00
Maik Merten
2217f3831d
slight JavaDoc fix regarding what Exception can be thrown
2014-07-25 21:27:40 +02:00
Maik Merten
52f4e9a00f
enforce that the address range of devices falls within the address range of the bus. Turned out that the CPU tests instantiate memory with the last parameter as memory size, not end address (fixed now). Also make sure that the address lookup array takes the offset caused by non-zero starting addresses into account.
2014-07-25 21:24:16 +02:00
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
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
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
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
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
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
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