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 1write 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 0Ahttps://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 graphicshttps://git.redump.net/mame/commit/?id=2d9895e7bdfe68df8ba9f0f37d254f6a550f3fb3You'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):
#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=1Is someone willing to help with the elusive jmp far bug (2) or the PC floppy regressions (720 / 360 K)?