Sorry for not responding. It seems there are only about three Rainbow users left
Bsdimp wrote
- the venix image I'd saved away from last time fails to boot with blocked interrupts.... Do you have details how this happened? I suspect the hard disk image was not cleanly unmounted. Did the framework crash and leave you with an unsync'ed file system?
Best advice i can give is to "unmount" the hard disk via internal GUI or via the debugger interface (requires '-debug' option) before exit.
A telltale sign is the BIOS starting with defaults (128 K), because of invalid NVRAM content (-> indicates a partially overwritten NVRAM file).
That said, hard disk corruption often goes undetected with the FAT formatted disks i use. Maybe i should give VENIX a try.
- - - - - - - -
On another note, i need to find out if the WD1010 controller can do look-ahead (non-consuming) reads of single bytes.
Question: does the patched WUTIL work on a real machine?
- If yes, my disassembly of the BIOS is correct, and the loader must be 513 bytes long
(because 1 NOP is eaten away by the BIOS check) - if no, the controller can do single (byte wide) reads without incrementing the internal buffer counter (-> unemulated, because docs are a bit fuzzy here)
Currently, the buffer counter is reset after an overflow (>1024 bytes read or written) or after a hard disk controller reset (separate from the WD1010 chip, via an external memory mapped register located within the 808x mem.range).
The 1024 byte wrap around was determined by trial and error. Which is odd - as there is a 2 K chip on the WD1010 boards..
EDIT: there is a sector editor built into WUTIL. A comparison of the HOM, BOM and other relevant areas could clarify things. You can't modify sectors, and it is slow on real machines.
Apart from short comments in the Wutil sources, i haven't found a concise description of these special sectors.