• Please review our updated Terms and Rules here

ULTRIX-32M V1.0 and microVAX II

jmdhuse

Experienced Member
Joined
Apr 30, 2022
Messages
186
Location
USA - Arizona
Hello All,

I came across a distribution of this OS on the unix archive site (https://www.tuhs.org/Archive/Distributions/DEC/Ultrix-32M/) which seems to be all RX50 disk images. My understanding is that this is the OS intended for my machine, which consists of a BA23 chassis with a KA630 CPU, two 4MB memory cards, and the RQDX3 controller attached to an RD53 hard drive and a GOTEK floppy emulator. I found the bootable disk image and used ALON's "rx50-log2phy" program to create the physical format image (.dsk).

My system boots the MDM diagnostics off of the GOTEK and all the applicable tests pass, so I'm pretty sure the hardware is working fine. When I boot the first disk of the OS, the system reads the first couple of tracks from the GOTEK, then stops doing anything, as far as I can tell. No start-up message, no errors, nada.

Does anyone have experience with doing what I am attempting who could share their knowledge?

(I have a working TK50 tape drive, so I could try an install from tape if anyone had a copy of the distribution they'd be willing to loan...)

Thanks, Jon.
 
My understanding of Ultrix is that later BSD has all Ultrix and additional development and additional drivers. Although, for historical purposes, running Ultrix on your microVAX would be very DEC. That's all I have.
 
Hmmm, I had a thought. The microVAXen came with the RX50 drive, which held two floppys (floppies?). It may be that the system needs simultaneous access to both of the boot disks. The MDM diagnostic asks for the second disk, and I just assumed that the ultrix installer would do the same thing. I'm going to get second GOTEK and see if that solves the problem (or at least lets me get to the next problem).
 
V1.0 may not support an RQDX3, but I'm not certain of the release dates. It sounds like the CPU is hanging waiting for a status that never occurs. It might be a worthwhile exercise to try installing on simh and see what happens there. I'll play around with it tomorrow and see what I see.

OTOH, Ultrix 1.1 might be an easier place to start.

My understanding of Ultrix is that later BSD has all Ultrix and additional development and additional drivers.
BSD 4.3 doesn't support the uVAX line, but there is a patch somewhere to make it work. NetBSD, FreeBSD and the other derivatives support the uVAX II, but they changed a lot to get out from under the AT&T licenses.

Edit: gunkies shows V1.0 was released in 1984 and the uVAX II was released in 1985, but then I don't know why it would be released on floppies. The installation manual for V1.0 only shows 11/730, 11/750, and 11/780 as installation targets.

CW
 
Last edited:
V1.0 may not support an RQDX3, but I'm not certain of the release dates. It sounds like the CPU is hanging waiting for a status that never occurs. It might be a worthwhile exercise to try installing on simh and see what happens there. I'll play around with it tomorrow and see what I see.

OTOH, Ultrix 1.1 might be an easier place to start.


BSD 4.3 doesn't support the uVAX line, but there is a patch somewhere to make it work. NetBSD, FreeBSD and the other derivatives support the uVAX II, but they changed a lot to get out from under the AT&T licenses.

Edit: gunkies shows V1.0 was released in 1984 and the uVAX II was released in 1985, but then I don't know why it would be released on floppies. The installation manual for V1.0 only shows 11/730, 11/750, and 11/780 as installation targets.

CW
The version I am installing is ultrix-32m... Doesn't the "m" indicate it is for the uVax?
 
The version I am installing is ultrix-32m... Doesn't the "m" indicate it is for the uVax?

Ah, you are correct. From a random post on comp.unix.wizards from April 1985:

We've had Ultrix up for just about 6 months now; some general comments
Ultrix-32 (and Ultrix-32m -- the subset of Ultrix-32 for microVAX) is
based on 4.2 BSD (although I understand that Ultrix-32 1.1 has
everything that 4.3 BSD has).

CW
 
Tried 32m v1.0 in simh, and it's spinning in a tight loop.

Code:
Step expired, PC: 00070F8D (MOVL 71B10,R0)
Step expired, PC: 00070F94 (BITW #800,2(R0))
Step expired, PC: 00070F9A (BEQL 70F8D)

But it isn't clear what sets 71B10, presumably an interrupt somewhere. Identical behavior with an RQDX1, so more research is required.

CW
 
Tried 32m v1.0 in simh, and it's spinning in a tight loop.

Code:
Step expired, PC: 00070F8D (MOVL 71B10,R0)
Step expired, PC: 00070F94 (BITW #800,2(R0))
Step expired, PC: 00070F9A (BEQL 70F8D)

But it isn't clear what sets 71B10, presumably an interrupt somewhere. Identical behavior with an RQDX1, so more research is required.

CW
Did you configure the simulation with both floppy drives and mount both of the boot disks (disks 01 and 02 in 32m-1.0-bin)?
 
Last edited:
Did you configure the simulation with both floppy drives and mount both of the boot disks (disks 01 and 02 in 32m-1.0-bin)?
I tried with and without, with the same results. I got more progress with the uVAX I simulation, but I'm getting a hard error from the second floppy (ra3a: hard error sn64). This is with disk 01 in RQ2 and disk 02 in RQ3.

MicroVAX I (KA610) simulator Open SIMH V4.1-0 Current git commit id: ffe537a6
/home/cwolff/SIMH/play/boot.ini-10> att dz 3100
%SIM-INFO: Listening on port 3100
/home/cwolff/SIMH/play/boot.ini-20> att RQ0 root.dsk
%SIM-INFO: RQ0: Creating new file: root.dsk
/home/cwolff/SIMH/play/boot.ini-23> att RQ2 floppies/32m-1.0-bin/01
%SIM-INFO: RQ2: Unit is read only
/home/cwolff/SIMH/play/boot.ini-25> att RQ3 floppies/32m-1.0-bin/02
%SIM-INFO: RQ3: Unit is read only
/home/cwolff/SIMH/play/boot.ini-29> att TQ temp.tap
%SIM-INFO: TQ0: Tape Image 'temp.tap' scanned as SIMH format
/home/cwolff/SIMH/play/boot.ini-42> boot
%SIM-INFO: Loading boot code from internal ka610.bin
.2..1..0.
Boot
: ra(2,0)vmunix
186016+46652+44656 start 0x10bc
Ultrix-32m V1.0 System #1: Fri Aug 17 11:57:07 EDT 1984
real mem = 4190208
avail mem = 3374080
using 110 buffers containing 418816 bytes of memory
MicroVAX 1, microcode level = 5
WARNING -- floating point mismatch. You have installed
the wrong version of ULTRIX-32m for this processor.
Q22 bus
rqd0 at bus0 csr 172150 vec 774, ipl 17
ra0 at rqd0 slave 0
ra2 at rqd0 slave 2
ra3 at rqd0 slave 3
dz0 at bus0 csr 160100 vec 300, ipl 17
WARNING: -- CHECK AND RESET THE DATE!
ra3a: hard error sn64
ra3a: hard error sn64

If you proceed with this installation, any contents of the Winchester
disk will be destroyed. If you are running this on a new system,
then that is ok. If you are running this on a system that has been
in use for some time, then you should back-up the contents of the
Winchester first.

Do you wish to proceed with this installation [yes] ?
ra3a: hard error sn64
ra3a: hard error sn64
ra3a: hard error sn64
ra3a: hard error sn64
ra3a: hard error sn64
Fri May 11 12:00:00 EDT 1984
ra3a: hard error sn64
ra3a: hard error sn64
ra3a: hard error sn64

Creating root file system on Winchester disk, this takes about 2 minutes.
ra3a: hard error sn64
ra3a: hard error sn64

File system created.
ra3a: hard error sn64
ra3a: hard error sn64
ra3a: hard error sn64
ra3a: hard error sn16
ra3a: hard error sn72
ra2a: hard error sn16
ra2a: hard error sn72
ra3a: hard error sn48
ra3a: hard error sn638
ra3a: hard error sn64
ra3a: hard error sn56
ra3a: hard error sn64
dev = 0x918, block = 638, fs = /
panic: free: freeing free frag
syncing disks... done

dumping to dev 901, offset 0
dump succeeded%SIM-INFO: Loading boot code from internal ka610.bin
Rebooting...
.2..1..0.

set cpu conhalt
set tti 7b
set tto 7b
set dz lines=4
att dz 3100
set LPT dis
set RL dis
set RQ ena
set RQ RQDX1
set RQ0 rd52
att RQ0 root.dsk
set RQ1 dis
set RQ2 rx50
att RQ2 floppies/32m-1.0-bin/01
set RQ3 rx50
att RQ3 floppies/32m-1.0-bin/02
set TS dis
att TQ temp.tap
set XQ dis
boot
CW
 
Tried 32m v1.0 in simh, and it's spinning in a tight loop.

Code:
Step expired, PC: 00070F8D (MOVL 71B10,R0)
Step expired, PC: 00070F94 (BITW #800,2(R0))
Step expired, PC: 00070F9A (BEQL 70F8D)

But it isn't clear what sets 71B10, presumably an interrupt somewhere. Identical behavior with an RQDX1, so more research is require
Resume execution at the instruction after the BEQL and see what happens...might provide a clue.
 
I finally got Ultrix-32M v1.0 installed on simh with a microvax 1 CPU. The key is both boot floppies are mounted at the same time, and writable. During startup one (or both) floppies get written to, but I can't really tell what the changes are (appears to be metadata of some sort). I'll play with the microvax 2, but I'm suspecting this version is uVAX I only.

Code:
# CPU
set cpu conhalt

# Console
set tti 7b
set tto 7b

# Serial ports
set dz lines=4
att dz 3100

# Printer
set LPT dis

# Storage
set RL dis
set RQ ena
set RQ0 rd52
att RQ0 root.dsk
set RQ1 rd52
att RQ1 user.dsk
set RQ2 rx50
att RQ2 floppies/32m-1.0-bin/01
set RQ3 rx50
att RQ3 floppies/32m-1.0-bin/02

# Tape
set TS dis
att TQ temp.tap

# Network
#attach XQ tap:tap0
set XQ dis
attach XQ vde:/tmp/switch1

# Start simulation
boot

CW
 
Very nice! I'm excited to see if I can get V1.2 to install on my uVAX II once I get the second GOTEK in place. Updates to follow in about a week...
 
I dumped the Ultrix 1.2 disks. Someone installed them in SimH: https://classiccmp.org/mailman3/hyp....org/thread/ZRKTSZCZF7TOCOON3J6BHX7TK3PN5W6W/

Apparently the raw images can not be used directly in SimH since RX50 has a bit odd physical to logical mapping. But using the IMD on real hardware should work I guess.

I think I also have the matching documentation, but it is quite some work to scan it all. Will try to do that in September.
 
I dumped the Ultrix 1.2 disks. Someone installed them in SimH: https://classiccmp.org/mailman3/hyp....org/thread/ZRKTSZCZF7TOCOON3J6BHX7TK3PN5W6W/

Apparently the raw images can not be used directly in SimH since RX50 has a bit odd physical to logical mapping. But using the IMD on real hardware should work I guess.

I think I also have the matching documentation, but it is quite some work to scan it all. Will try to do that in September.
The raw images work fine for the GOTEK, I think, as they reflect the physical sector layout of the floppy, which is what the FlashFloppy software expects. I think that simh expects the data to be in logical sector layout.
 
Will there be an issue with a license? I know the software is old, but it might expect something official that was purchased from DEC...
 
Dunno. My pdp11/73 system has 4mb of PMI memory, an RQDX3, a DHV11, TK70, and an RD54. Pretty bog-standard system, and the PMI memory can be used as normal Q-Bus memory if put below the CPU in slot 3 (a PMI slot). So it should work. I'll put it on the pile of stuff to try.
 
Very nice! I'm excited to see if I can get V1.2 to install on my uVAX II once I get the second GOTEK in place. Updates to follow in about a week...
OK, I'm back at it... trying to install ULTRIX-32M V1.2 on my uVAX II.

First I configured the two GOTEKs so one was S1 and the other was S0. Running the MDM diags I see that the system sees the RD53 hard drive and both of the floppies, which it identifies as RX33 drives. The device and system tests all pass.

Next, I studied the .jpg images that were present with the v1.2 disk files and discovered the following:

01: BIN RX50 1/3 BOOT
02: BIN RX50 1/3 BOOT (DUPLICATE)
03: BIN RX50 2/3 BOOT
04: BIN RX50 2/3 BOOT (DUPLICATE)
05: BIN RX50 3/3 BOOT

So, I renamed 01, 03, and 05 from .raw to .dsk, copied them to the USB drives that go into the GOTEKs, and selected the 01.dsk for GOTEK S0 and 03.dsk for GOTEK S1, I'm pretty confident that the uVAX II boot code identifies the RD53 as dua0, and the GOTEKs as DUA1 and DUA2. So then I proceed to ask the uVAX to boot from DAU1, and the following is the log:

>>> b dua1

2..1..0..


Boot
: ra(1,0)vmunix
211052+99036+52116 start 0x13d0
Ultrix V1.2 System #1: Wed Feb 19 22:16:59 EST 1986
real mem = 9428992
avail mem = 7953408
using 95 buffers containing 778240 bytes of memory
MicroVAX-II with an FPU
Q22 bus
rqd0 at csr 172150 vec 774, ipl 17
ra0 at rqd0 slave 0
ra1 at rqd0 slave 1
ra2 at rqd0 slave 2
NO LOOPBACK
panic: iinit
syncing disks... done

dumping to dev 901, offset 15016
dump succeeded
Loading system software.

2..1..0..


Boot
: ra(1,0)vmunix
211052

From there it just continues to repeat the boot attempt loop.. I'm guessing that "panic: iinit" is where it goes off the rails. Or is it the "NO LOOPBACK" that is the indicator of the problem?

I am pleased to see that it sees all three disks connected to the RQDX3 (device rqd0), and when it is doing the "dump" the RD53 is doing something. However, I never see it attempting to access the second GOTEK that holds the second boot disk, so my thought that both disks needed to be present was not correct. Or, perhaps it does not recognize the pair of GOTEKs as an RX50 drive.

Does anyone have experience with installing ULTRIX-32M? I've looked for installation manuals, but all I can find are ones for the non-M version to be installed on real VAXes using tape as the boot source.
 
The raw images work fine for the GOTEK, I think, as they reflect the physical sector layout of the floppy, which is what the FlashFloppy software expects. I think that simh expects the data to be in logical sector layout.
An image that works in simh almost certainly will not be correct when mounted on a Gotek.

Here's a pair of Python scripts for converting between layouts:
 

Attachments

  • rx50_convert.zip
    1.8 KB · Views: 2
Back
Top