Rainbow-100 B low rom disassembly updatedHere ist the
June 2013 edition of my low ROM disassembly (
documented IDA 5 Freeware
source and HTML).
https://dl.dropboxusercontent.com/u/37819653/June-2013_DISASSEMBLY.zipManaged to find out more on how
DC011 and DC012 display controllers are initialized (search for
DC011, DC012 and INIT_VIDEO_HW). NVM handling is better documented (-> keyword
NVM in HTML).
Also, it is now clear how option boards (the RAM board for 128 - 896K, as well as the communication board, which has a DMA and a non-DMA mode) are detected: via interrupts (-> keywords:
OPTION or ENABLE_RAM_BOARD_DETECTION)
It's a pity that high intensity and underline, blink, reverse, as well as 80 / 132 column mode (with different dot pitches) aren't emulated yet. VT100 emulation seems a clever decision, but i can't imagine how the more exotic modes of the real hardware could be emulated (BIOS unsupported 48 line modes like
http://rainbow-100.com/archives/154/ OR : SQUINT from Latrobe
http://www.classiccmp.org/rainbow/files/goodnight/LATROBE/s/squint.arc - will provide a photo later)
BTW, the
pc98gdc.c / PC98 MESS driver seems to implement the NEC 7220 display controller used in the color graphics extension (required for the early Windows 1 DEC released).
-----------------------------------------------------------
I was asked to document the 4 test jumpers present on the 100-B motherboard.W13, W14 and W15 manufacturing test jumpers are represented by bits 1,2,3 of Diagnostic Read Register $0a
Jumper W18 pulls DSR line LOW when set (bit 7 of Status Read Register $11). It is possibly the 'unknown' jumper near the Z80 (requires verification).
Example from the low ROM disassembly:
seg000:0DEF test al, 80h ; W18 jumper / DSR (bit 7)
seg000:0DF1 jnz short loc_DE1
Location on the 100-B motherboard :
[W13]
[W 14 ]
[ 74 LS 245 ]
[W 15 ]
[UNKNOWN JUMPER]
--------------------
Z 80
--------------------
I wish someone could add jumpers and accurate NEC V20 (80186+) emulation - the latter was one of the more affordable upgrades on the 100-B. Note that the original V20 patch published on Jeff's 'DRIVE W' introduces serious timing issues.
My real hardware quickly got a worn out EPROM socket when i tried these - and other - hacks