initial (and untested) implementation of a Motorola 6850 ACIA
turn Acia into an abstract class so that the 6551 and 6850 ACIAs can reuse code and an unified interface.
tests for the 6850 ACIA and fixes in ACIA behavior
implement overrun flag for 6850 ACIA
define an interface for supported machines and have the SymonMachine as first implementation. Remove machine-specific definitions out of the Simulator class.
initial definition of the MULTICOMP machine. Will not yet run, as the bus will currently not allow overlapping memory ranges for devices.
have the Bus support devices with overlapping memory regions
make use of overlapping memory regions in MulticompMachine
make use of the MulticompMachine in the simulator. This should be an option, not hardcoded.
move overrun detection and reset into the abstract superclass for ACIAs
implement overrun status flag for the 6551 ACIA
Silence a compiler warning regarding generics
have full 56K of RAM for the Multicomp machine
replace busy waiting to emulate "proper" CPU speed with some time book keeping and thread sleeping
revert back to busy waiting for CPU speed emulation to have a less bursty CPU behavior
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".
simple dialog for choosing machine model when no command-line option was given
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.
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.
slight JavaDoc fix regarding what Exception can be thrown