Previous Thread
Next Thread
Print Thread
Page 46 of 56 1 2 44 45 46 47 48 55 56
rfka01 #113159 04/18/18 09:29 PM
Joined: Jan 2016
Posts: 76
Likes: 5
B
Member
Offline
Member
B
Joined: Jan 2016
Posts: 76
Likes: 5
BTW, I've updated my Venix github thing with (a) a copy of all the VENIX manuals from bitkeeper's (thanks for the pointer). They cover both PRO and Rainbow version of VENIX! And they cover the missing system calls I'd worried about. and (b) I've started a write up for how to install on MAME.... It's still super incomplete. I need to rebuild MAME with the fixes to the boot roms, at the very least since it's not (yet) working...

Bavarese #113160 04/19/18 01:34 AM
Joined: Jan 2016
Posts: 76
Likes: 5
B
Member
Offline
Member
B
Joined: Jan 2016
Posts: 76
Likes: 5
The latest git repo mame just built for me. And Venix boots for me now. Woot! However, shortly after it hangs while running fcheck... sometimes with Interrupts off message, other times it just hangs....

I've uploaded the image https://people.freebsd.org/~imp/venix-rd32.chd.xz if anybody wants to look at it.

mame64 rainbow -flop1 ~/mame/rb/flp/vbwsx1.img -hard1 ./venix-rd32.chd -nothrottle -frameskip 10

(both with and without the last args). Looking at the programs, they look good, as far as I can tell....

It seems like it's missing an interrupt, since the program hangs, and I can't ^C out of it, which is typical for a process in 'disk wait' and we'll never exit disk wait if we don't get an interrupt. Plus there's interrupt enable/disable issues. I'll have to find some time to look into that if someone doesn't beat me to it.

Last edited by bsdimp; 04/19/18 05:17 AM.
rfka01 #113161 04/19/18 12:41 PM
Joined: Apr 2012
Posts: 193
B
Senior Member
Offline
Senior Member
B
Joined: Apr 2012
Posts: 193
I 'copied a new boot loader' onto the CHD you uploaded - and the system started when i pressed 'W' in the Rainbow boot menu.

After that, things get odd. Observations:

- WUTIL 3.2 doesn't recognize the partition structure / and or identifier. It just shows GAP (for 'empty space').
Can't tell if Wutil was ever tested with BSW.

- MS-DOS 3.1 recognizes 'non MS-DOS partitions on the hard disk' at startup.

Sure the hard disk image has been correctly initialized?


A general problem is that older (DEC) tools are hard coded for 4 heads and a limited set of OEM hard disks, while newer tools rely on badly documented hd.structures (HOM, BOM, DPD, whatever).

I observed earlier that Wutil did not fill in the number of heads value when it should. It put in 0x00 and a divide by zero resulted - when later code tried to determine the cylinder #.


[Analysis of the Fschk crash] - - LOG

A quick look into 'error.log' reveals the last read is from sector number #15.

Sector numbers 1 to 12, then 10, 15, 15 are read (last one twice -> retry...?)

Code tries to write, but doesn't complete all of the necessary steps (set head, drive, sector in WD2010 controller) before 'fschk' runs into the woods.
The write isn't actually done.

I tested my hard disk code routines (hdc_write_sector, do_write() ) mainly on MS-DOS 3.x, so there can be access patterns i haven't covered (or race conditions).

'Interrupts off' (flickering in emulator) usually occurs after IRET (return from interrupt), when the stack is messed up.

You may turn on logging when you set 'log' to 1 in 'mess.ini'.

The ini file can be rebuilt with
>mess -showconfig > mess.ini

---- [EDIT]
@Bsdimp: what is the purpose of 'fcheck'?

@R.Belmont: may i ask if there is any news on the rewrite of WD2010...? smile

Last edited by Bavarese; 04/19/18 04:57 PM.
rfka01 #113173 04/21/18 02:31 AM
Joined: Jan 2016
Posts: 76
Likes: 5
B
Member
Offline
Member
B
Joined: Jan 2016
Posts: 76
Likes: 5
fcheck checks the filesystem to make sure that it's still self-consistent... It should just be reading all the meta-data from the filesystem, but not the data blocks...

rfka01 #113720 07/29/18 09:15 AM
Joined: Apr 2012
Posts: 193
B
Senior Member
Offline
Senior Member
B
Joined: Apr 2012
Posts: 193
I received several requests on how to set up Windows 1 on the Rainbow-100 B, so let me share some info.

First, it seems that DEC Windows for the Rainbow was never offically endorsed / released and the main SETUP is missing from all archives. The whole thing looks like a hard-wired, runtime version of Windows.

We haven't figured out how to connect a serial mouse (neither with 1.03 nor with the older version floating around). This is consistent with the Rainbow FAQ. There could be a dongle involved.


I believe it was on port #1 (not the crippled serial printer port) and hardware handshake is necessary (-> FDXB mode in SET UP).

The keyboard [cursor keys + Enter] may be used to move the mouse, but that's not really pleasant... smirk


Windows 1.03 -for DEC Rainbow- had the serial Microsoft Mouse hard coded in the main executable (the 2-button version).

The older Windows release 1.02 (or was it 1.01...?) had an unemulated, proprietary 'DEC serial mouse' built-in [basically a reprogrammed Logitech C-7 mouse].

Mouse drivers from older archives are PC-specific and thus useless (dissamblies show Windows *.DRV files poke PC - I/O ranges not valid on the Rainbow).



Here are some hints to get Windows working - somehow

You'll need a hard disk loaded with MS-DOS 3.1x from Suitable Solutions (think so) and the 7220 Color Graphics Expansion (i don't have), as well as >= 128 K RAM (more is better).
The 7220 Graphics Card can be enabled via DIP switches in emulation. You'll have to choose one of the 'side-by-side' configurations in 'video options' (so you'll see 2 screens, one for text, one for graphics).

1) Bsdimp put up a repository of a 'cleaned' version (version 1.03 minus useless *.DRV driver files):
https://github.com/bsdimp/rainbow100/tree/master/decwin

Decompress the files on a DEC hard disk to folder C:\WINDOWS. Hard disk must be enabled before boot.


2) start the game 'pacman.zip' (and quit / F10) ... before you start Windows 1. This is an unresolved initialization bug in our graphics card emulation
Link:
http://oldcomputers.dyndns.org/public/pub/mirror/os2site/sw/dec/rainbow/msdos/games/pacman.zip

Otherwise a blank screen appears with unresponsive controls.

AJR fixed the serial interface (in MAME/MESS >= 0.196) after my Windows experiments - so things might have improved (from an emulation perspective).

I tried to debug the case without success, so i'd be really happy if someone figures out what inhibits the first Windows start (see 2) or how to exactly set up a mouse.

[Bavarese]

P.S.: an updated introductory PDF (-> covers non-obvious steps like the complicated MS-DOS 3.x setup):
Dropbox link: First steps with the DEC Rainbow 100-B (April 2018 edition)
[April 2018 edition]

Windows 1.x + 2.x Apps
http://toastytech.com/guis/win1x2x.html

PC-centric history about Windows 1 (Premiere Edition)
https://winworldpc.com/product/windows-10/final

Last edited by Bavarese; 07/29/18 11:26 AM.
rfka01 #114096 10/19/18 02:53 PM
Joined: Apr 2012
Posts: 193
B
Senior Member
Offline
Senior Member
B
Joined: Apr 2012
Posts: 193
Just a quick error report:
the WD2010 based (primary) hard disk has stopped working on the Rainbow between August and October 2018 (today).

To be more specific: git source from August 30th worked and bleeding edge from October 19th 2018 fails ... with a perfectly legit CHD file.

https://www.dropbox.com/s/z637wrycakt46ch/RD53_67MB.7z?dl=1

I assume the CHD format did not change.

An overhaul of WD2010.cpp / .h took place (by Ivan Vangelista)

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

EDIT: problem fixed (write fault signal was set to 1 permanently)..

Please let me know if there is progress on the rewrite of the WD2010 controller.

Last edited by Bavarese; 10/19/18 06:44 PM.
rfka01 #114110 10/26/18 12:18 PM
Joined: Apr 2012
Posts: 193
B
Senior Member
Offline
Senior Member
B
Joined: Apr 2012
Posts: 193
I am glad the mouse is now working in Windows 1.03 (from the Bsdimp repository). Thanks to all!

Unfortunately some of the recent changes (aroundb / on / after August 1st 2018) had a negative side effect on 720 K (PC style) floppies.

Now get 'Illegal seek error' (with impossible track numbers in range 80 - 120 decimal) when i try to access a PC formatted 720 K DD image...

Also, the Winchester test (test #16 on the diagnostic disk) does now crash violently after subtest 6 or 7 - while it worked well in 2015 - when i first made screenshots. smile

Test image (with PC/foreign diskette driver installed):
RD53_67MB.7z


I suspect the floppy / or hard disk handlers in the Rainbow-100 are no longer correctly wired -

Technically, pc_dsk, flopimg or harddriv could be the culprit.

Following changes stick out:

wd_fdc: Convert line handlers to READ/WRITE_LINE_MEMBER (AJR):
https://git.redump.net/mame/commit/?id=07a36d9d661d102da6c6418f1c817f4fd435ecde

wd_fdc: Simplify API. Plus some collateral damage [O. Galibert]:
https://git.redump.net/mame/commit/?id=f1b7a2f97e0a31ab928283732388bec2e6b8f043


Last edited by Bavarese; 10/26/18 01:13 PM.
Bavarese #114725 02/20/19 06:00 PM
Joined: Jan 2016
Posts: 76
Likes: 5
B
Member
Offline
Member
B
Joined: Jan 2016
Posts: 76
Likes: 5
Was going to get back going on Rainbow stuff since life's been too busy for that until lately. Have the issues been sorted out?

rfka01 #114727 02/21/19 09:54 AM
Joined: Apr 2012
Posts: 193
B
Senior Member
Offline
Senior Member
B
Joined: Apr 2012
Posts: 193
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.
rfka01 #115479 07/03/19 11:00 PM
Joined: Jan 2016
Posts: 76
Likes: 5
B
Member
Offline
Member
B
Joined: Jan 2016
Posts: 76
Likes: 5
I just won the following item on ebay. We'll see if this has additional drivers.
DEC Rainbow 100 Corvus Constellation II disks

Page 46 of 56 1 2 44 45 46 47 48 55 56

Link Copied to Clipboard
Who's Online Now
1 members (nerd4gw), 251 guests, and 5 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,320
Posts121,944
Members5,074
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com