Thanks for your work on VENIX and the updated install guide.

I fixed a few regressions and successfully installed VENIX (BSW) in the meantime.

Wasn't able to correct 'seek errors' with foreign (= PC type) floppies (formerly drives C and D) with source code after August 2018 (?) in DOS 3.10.
Access to 720 K PC floppies used to work before mid 2018 mass changes (macro removal, output handlers). See posts above.

As the cause for the last regression goes over my head, C and D were switched back to standard RX-50 floppies. In theory, one should be able to change the type in 'slot options', reset the machine and be able to use the newly configured hardware...


Other test results:
- no success with the unpatched VENIX disks posted some time ago (WD1010 registers untouched => hard coded for another controller?)
- successfully installed Boston Softworks to WD1010 type hard disk with 0.205 source + following fixes (with newer set of floppies posted on Github)

[Rainbow-100]: write fault must not be set to 1
write fault must not be set to 1 permanently
- remove: m_hdc->in_wf_callback().set_constant(1);

https://git.redump.net/mame/commit/?id=d7538a918e2e750a05e476541996538df69f9923


[Rainbow-100]: document driver state (and remove bloat) (#4410)
...which corrects inverse polarity of the screen blank flag in port 0A
https://git.redump.net/mame/commit/?id=03b79c8dc53cca708f578d810176cb479900443b

@@ -2695,21 +2688,21 @@ WRITE8_MEMBER(rainbow_state::diagnostic_w) // 8088 (port 0A WRITTEN). Fig.4-28 +
m_fdc->reset(); // See formatter description p.197 or 5-13
}

- m_screen_blank = BIT(data, 1);
+ m_screen_blank = BIT(data, 1)? false : true; // inverse logic


[Rainbow-100]: correct palette problems and silence log output (#4373)
...introduces automatic color monitor selection; only really helpful if you plan to use NEC 7220 graphics
https://git.redump.net/mame/commit/?id=2d9895e7bdfe68df8ba9f0f37d254f6a550f3fb3

You'll probably also want to add the unofficial workaround for BIOS auto boot (1) + the 'jump far' workaround to prevent a CPU crash upon boot from winchester (2):
Code
#ifdef WORKAROUND_RAINBOW_B
	uint8_t *rom = memregion("maincpu")->base();
	if (rom[0xf4000 + 0x3ffc] == 0x31) // 100-B (5.01)    0x35 would test for V5.05
	{
		rom[0xf4000 + 0x0303] = 0x00; // disable CRC check
		rom[0xf4000 + 0x135e] = 0x00; // Floppy / RX-50 workaround: in case of Z80 RESPONSE FAILURE ($80 bit set in AL), do not block floppy access.

		rom[0xf4000 + 0x198F] = 0xeb; // cond.JMP to uncond.JMP (disables error message 60...)

		rom[0xf4000 + 0x315D] = 0x00; // AND DL,0 (make sure DL is zero before ROM_Initialize7201)
		rom[0xf4000 + 0x315E] = 0xe2;
		rom[0xf4000 + 0x315F] = 0x02;

rom[0xf4000 + 0x03d8] = 0x00; // unblock BIOS auto boot (1)
rom[0xf4000 + 0x8aa] = 0x01; // JMP FAR 0000:1000 (could be a  BIOS bug or a CPU oddity) (2)
	}
#endif

Also updated my 'first steps' PDF for the Rainbow -
https://www.dropbox.com/s/y5p2yidghdmbpym/First_steps_Rainbow%20100-B_January_2019_edition.pdf?dl=1

Is someone willing to help with the elusive jmp far bug (2) or the PC floppy regressions (720 / 360 K)?

Last edited by Bavarese; 02/21/19 12:13 PM.