Thanks for jumping in. Just activate the keyboard workaround
, as follows:
Necessary header files (important):https://dl.dropboxusercontent.com/u/3781..._2016_05_30.zip
#define KBD_DELAY 8 // (debounce delay, increase if necessary)
Without it, emulation stops with fatal ERROR 13 (keyboard stuck). R.Belmont already has spent considerable time on this one, and might know more.
Note that the workaround patches the BIOS heavily. It is the only way to get the machine going (for now). -
because the workaround disables standard BIOS procedures, you will also need a proper NVRAM file
for 832 K:https://dl.dropboxusercontent.com/u/37819653/BANNISTER/nvram_832.zip
Please set max. RAM accordingly in DIP settings (RAM = 832K
The RX50DIAG image
is very valueable when testing. Especially READ and WRITE tests (available under INDIVIDUAL TESTS
, with key 3, then 4 for FLOPPY TESTS) and also SYSTEM INTERACTION - because it hangs emulation.https://dl.dropboxusercontent.com/u/37819653/BANNISTER/rx50diag.td0-
Force interrupt ($D0 or $D4) kicks in sooner or later, and SEEK_WITH_VERIFY or SCAN_ID fails (see RX50DIAG, again).
the Z80 runs too fast now (as I-O and MEMORY WAIT states aren't properly implemented; compare diagrams above).
There is an option to STALL_ON_WAIT for the Z80 and i experimented with it, without success...-
Work in progress (no guarantees) -https://dl.dropboxusercontent.com/u/37819653/BANNISTER/rainbow.cpp
Of course, it could also be a silly bug i overlooked for years (e.g. interrupt handling and arbitration
in update_8088_irqs @ rainbow.cpp changed at some point, and it is unclear if it is presently correct).-
To help with emulation, i have disassembled most parts of the Rainbow BIOS
and put it on Github, available underhttps://github.com/shattered/retro-bios/tree/master/dec-rainbow100b
Ask me anytime if you need more details
P.S.: help with untangling the monolithic driver would be very welcome