DEC LSI 11/73A
Eine Mirco PDP 11/73A. Leider gab es keinen Schlüssel für den Schalter, und kein kleiner Schlüssel der Kramkiste wollte passen. Also musste der Schlüsselschalter ausgebaut und zerlegt werden. Ohne den Bartmechanismus passte von der Breite und Tiefe ein alter Schlüssel und der Schalter konnte wieder betätigt werden. Nachdem alle Karten und Laufwerke abgezogen waren, wurde das Netzteil mit einem Stelltrafo langsam auf Netzspannung gebraucht. Die erwarteten Betriebsspannungen stellten sich ein und die Lüfter lärmten.
Das Verbindungskabel von der Backplane zur Frontplatte (Einschalterplatine) hat einen sehr lockeren Stecker an der Seite der Backplane. Da noch eine Platine darüber ist, konnte mit einem Stück Schaumstoff der Sitz des Steckers befestigt werden. Nachdem die Platinen gereinigt waren und keine offensichtlichen Mängel zeigten, wurde wieder alles zusammengebaut. Nach dem Einschalten waren alle Spannungen OK, aber leider keine Reaktion am Terminal. Die Kabel zur seriellen Platine, und auch die kleine Verteilerbox wurden genauer untersucht, aber das schien soweit in Ordnung zu sein. Versuche mit verschiedenen Baudzahlen brachten Erfolg bei 4800 8N1 als serielle Einstellung im Minicom. Um das nicht immer für verschiedene Rechner umstellen zu müssen, wollte ich gerne auf 9600 umstellen. Also wurde die Platine genauer untersucht und die Baudzahl für die Ports auf 9600 Baud gejumpert.
An der Bootkonsole zeigten sich leider Fehlermeldungen.
? Boot-U-I/O error
Auf der Suche nach der Bedeutung der Fehlermeldung verging einige Zeit, währenddessen sich anscheinend die Festplatte durch Erwärmung kooperativ zeigte. Bei einem Wechsel von HALT nach RUN wurde ich plötzlich nach dem Datum gefragt!
Auf der MFM Platte ist ein RT-11FB V05.04 installiert.
im Fenster nebenan ein „SHOW ALL“ um das System zu zeigen.
22.01.2019
Austausch der beiden Lüfter gegen etwas leisere Kandidaten. Sinon 120qm/h 230V Typen. Hier weht es noch sehr ähnlich um die Beine, denke das ist OK so. Aber in der Wohnung ist das doch angenehmer…
26.01.2019
Heute startete die PDP sofort, brauchte keine Warmlaufzeit.
Im Web hatte ich beim Stöbern zum Thema 1173 in einem Board ein nettes kleines Listing eines Fortran Programms zum malen eins ASCII Apfelmännchens gesehen und gleich mal eingetippt. Die Schwierigkeit der Bedienung des Editors habe ich etwas unterschätzt, und so hat es gedauert, bis ich den Text auch speichern konnte. Die Bedienung des Editors wurde mit einer speziell beschrifteten Tastatur erwartet. Um den EXIT Befehl eingeben zu können muss man vorher GOLD drücken. Aha, aber die 7 bei aktiviertem NUMLOCK tut es auch. Dann kann man einen Befehl eingeben und diesen mit (!) der Enter Taste am Zehnerblock abschicken.
Nachdem ich eine normale Tastatur an meinem Laptop angeschlossen hatte, ging das auch, hat etwas gedauert…
Leider ging bei all den Versuchen zwischendurch gar nichts mehr am Terminal. Auch nach Reboot der PDP nicht. Weder PDP11GUI noch Putty bekamen ein Bild. Also wurde die PDP wieder auf den Tisch gebracht und aufgeschraubt. Aber das half auch nichts. Irgendwann viel mir auf, wenn ich ENTER drücke ruckelt die Festplatte in der PDP kurz. Das wäre ja zu erwarten, wenn ohne Eingabe von einem Datum ENTER gedrückt wird. Aus Verzweiflung mal das Laptop (Win 10) neu gestartet, und da ging dann wieder das Terminal….
Gelernt: Nicht immer gleich denken die alte Hardware hat Probleme. Zumindest nicht wenn man mit M$…..
.type mandel.for
PROGRAM MANDEL
COMPLEX C, Z
REAL X0, DX, Y0, DY
INTEGER I, J, K
C
DATA X0/-2./, Y0/-1.1/, DX/.04/, DY/.1/
C
DO 10 I = 1, 21
DO 20 J = 1, 79
C = CMPLX(X0 + J * DX, Y0 + I * DY)
Z = (0., 0.)
DO 30 K = 1, 99
Z = Z ** 2 + C
IF (REAL(ABS(Z)) .GT. 2.) GOTO 40
30 CONTINUE
40 TYPE 50, MOD(K, 10)
50 FORMAT ('$', I1)
20 CONTINUE
TYPE 60
60 FORMAT (' ')
10 CONTINUE
C
END
.run mandel
3333333333333333333334444444444444455555566670502065555543333333333333333333333
3333333333333333333334444444444444455555577997270965555644433333333333333333333
3333333333333333333335544444444444666777891000003008666654444433333333333333333
3333333333333333333355555564445557982988901600000309988777665555544444444444442
3333333333333333333555555566666778260067000000000000072476777664444444444444422
4444333333333333446665555576666707290000000000000000000002397554444444444443322
4444444555555666700877878777888030000000000000000000000000311766444444443333222
4444444555555577881878165371900400000000000000000000000000069855555553333332222
4444444665555587722800000000076000000000000000000000000000011765555433333332222
5564447666777924950000000000001000000000000000000000000000007765444333333332222
0000000000000000000000000000000000000000000000000000000060876554444333333332222
5564447666777924950000000000001000000000000000000000000000007765444333333332222
4444444665555587722800000000076000000000000000000000000000011765555433333332222
4444444555555577881828165371900400000000000000000000000000069855555553333332222
4444444555555666700877878777888030000000000000000000000000311766444444443333222
4444333333333333446665555576666707290000000000000000000002397554444444444443322
3333333333333333333555555566666778260067000000000000072476777664444444444444422
3333333333333333333355555564445557982988901600000309988777665555544444444444442
3333333333333333333335544444444444666777891000003008666654444433333333333333333
3333333333333333333334444444444444455555577997270965555644433333333333333333333
3333333333333333333334444444444444455555566670502065555543333333333333333333333
STOP --
Nun wollte ich aber mal sehen ob die Diskettenlaufwerke auch funktionieren. Daher habe ich mein DOS Arbeitstier gestartet und das Programm PUTR. PUTR hat eine eigene Befehlszeile:
format B: /RX50 /RT11
formatiert eine 400KB Diskette für RT11. Es wurde eine 5,25er DD Diskette verwendet.
Die Diskette ist in der PDP als DU0: lesbar und beschreibbar. Das IMAGE BASIC.DSK enthält einen BASIC Interpreter und wurde aus dem Internet Archiv geladen. Images können in PUTR gemountet werden:
mount dd: C:\PDP\BASIC:DSK
und dann angezeigt werden mit:
dir dd:
Nach dem Mounten der formatierten Diskette (mount b: /RX50 /RT11) können die Files kopiert werden:
set copy binary
copy dd:*.* b:
In der PDP kann nun der Inhalt mit dir DU0: angezeigt werden. Zum Beispiel kann das BASIC auch auf der Diskette gestartet werden:
run DU0:BASIC.SAV
01.02.2019
Bei dem Diskettencontroller in der PDP1173 handelt es sich um einen EMULEX DM01. Der hat eine ST-506 Schnittstelle für zwei MFM Festplatten und eine SA450 Schnittstelle für zwei Diskettenlaufwerke. Angeschlossen ist ein 5.25 NEC FD1155C Laufwerk. Der Controller verfügt über ein Bios was man im Online-Debugger-Tool (ODT) starten kann. Damit werden Floppys formatiert oder Laufwerke eingerichtet:
Emulex Corporation
Copyright All rights reserved
DM01 controller, firmware revision level G
IP address = 172150
Option menu
1 - Format
2 - Format and verify
3 - Verify
4 - Read only test
5 - Data reliability test
6 - List known units
7 - Replace block
8 - Display Novram
9 - Edit / Load Novram
Enter option number:
Derzeit ist das Laufwerk als RX50 (80 Spuren, einseitig, 400KByte) eingestellt.
Ein Test ließ auch ein Mitsumi PC 5.25 Laufwerk lesen und schreiben (Jumper ID=0 + RDY=on).
Möglich wäre ein Konfiguration mit beidseitiger Nutzung, aber da zur Installation Standart RX50 Images verwendet werden sollen macht das keinen Sinn. Der Anschluß einer NEC D3142 (44MB) Festplatte klappt nch Bau eines Adapters wie erwartet. Im Controllerbios kann die Platte formatiert und verifiziert werden. Nach Start von RT11 ist die als DU1: ansprechbar und nach einer Initialisierung:
INIT/BADBLOCK DU1:
als DU1: normal benutzbar. Der Kontroller indiziert die Laufwerke in der Reihenfolge der Einrichtung, DU=: ist momentan das Dispettenlaufwerk. Eine SEAGATE ST-225 Platte konnte ebenfalls erfolgreich angeschlossen werden. Leider klappt es mit einer IMPRIMIS WREN II (80MB) Festplatte nicht, diese faährt immer nach kurzer Zeit herunter und blimkt, vermutlich defekt.
Der Controller für das 8 Zoll Laufwerk, ein MTI MXV22, ist leider defekt. Das Laufwerk funktioniert an einem anderen Gerät einwandfrei und ein anderes Laufwerk am MTI Controller zeigt den gleichen Fehler.
Der Controller soll wenn möglich repariert werden.
Ein weiterer Controller MTI MLV11M steuert die Festplatte Rodime RO204 an und bootet ein RT-11FB V05.04.
08.02.2019
Installieren vom MICRO RSX11(V1) auf der PDP 11/73a
Als Vorbereitung zu der Installation habe ich den MTI Festplattencontroller entfernt, um das laufende RT11 nicht zu gefährden.
Am EMULEX DM01 Controller wurden folgende Vorbereitungen getroffen:
- Einrichten der NEC D3142 Festplatte als DRIVE 0 mit 1 Partition
- Einrichten von zwei Diskettenlaufwerken als Drive 1 und 2 (NEC1155C und aus einem PC ein Mitsumi D509V2). (Ein Cinon FZ-506 wurde nicht vom Kontroller akzeptiert.) Wichtig ist RDY =ON zu jumpern. Verkabelung geht bei mir mit "geradem" Diskettenkabel und die Laufwerke sind auf ID0 und ID1 gejumpert. (Vermutlich geht das aber auch an pcKabel mit Drehung.) Wegen der 80 Spuren muss es ein 1,2KB Laufwerk sein, und es wegen des Schreibverfahrens werden DD Disketten benutzt. (hatte mit HD KEINEN Erfolg)
- EMULEX Jumper SW-2-2 auf ON um den Controller booten zu lassen
- EMULEX Jumper SW1 2-4 auf die jeweilige DRIVE ID für das Bootdevice (0 Festplatte ,1 erste Diskette)
- Die CPU hat einige Jumper, die für die Boot Adressen wichtig sind, hier sind für den EMULEX der Jumper W3 und W7 zu setzten. (Jumper zählen von innen nach aussen hoch)
Jetzt können die Disketten hergestellt werden. Alle Images für das MICRO RSX11 (13 Stück von http://web.archive.org/web/201….co.uk/blog/tag/software/) werden am DOS Rechner mit putr (putr.txt) geschrieben:
- die Disketten formatieren mit „format a: /RX50“
- einmal die Diskette mounten mit "mount/foreign a: /RX50"
- dann die Images schreiben mit "copy/dev/file image.dsk a:"
Die Devices am Emulexcontroller heissen im späteren System DU0: bis DU4: (maximal). DU0: ist die Festplatte, dann folgen die Diskettenlaufwerke. In der Reihenfolge ist auch das Bios vom Emulex einzurichten. Mit anderer Reihenfolge installiert sonst nichts. Die Disketten sind vom TYP RX50.
Also EMULEX BIOS starten, Rechner anschalten und im Online Debugger Tool folgendes eingeben. :
@17772150/000000 1
17772152/005400 30003
@/000400 42000
@200g (vor dem letzten g von HALT in den NORMAL Zustand wechseln)
Dann erscheint folgendes Auswahlmenü:
Emulex Corporation
Copyright All rights reserved
DM01 controller, firmware revision level G
IP address = 172150
Option menu
1 - Format
2 - Format and verify
3 - Verify
4 - Read only test
5 - Data reliability test
6 - List known units
7 - Replace block
8 - Display Novram
9 - Edit / Load Novram
Einrichten einer MFM Seagate ST-4026 Festplatte und 2 Diskettenlaufwerke. In der Reihenfolge:
Enter option number: 9
Type 1
NOVRAM will contain ST506 drive parameters
Type 2
Single-sided, double-density floppy, RX50-compatible,
pack transition not supported
Type 3
Double-sided, double-density floppy, not compatible
with the RX50, pack transition not supported
Type 4
Single-sided, double-density floppy, RX50-compatible
pack transition supported
Type 5
Double-sided, double-density floppy, not compatible
with the RX50, pack transition supported
Type code [1-5,def=1]:
Number of units of this type [1-2,def=1]:
Total number of physical sectors per track [1-63,def=17]:
Total number of physical heads [1-31,def=8]: 4
Total number of physical cylinders [1-4095,def=642]: 615
Number of spare sectors per track [0-1,def=0]:
0 = No split
1 = 50/50 split
2 = 87.5/12.5 split
3 = Head offset split
Split code [0-3,def=0]:
0 = Fixed media
1 = Removable media
Removable media flag [0-1,def=0]:
Reduced write current cylinder [0-4095,def=0]:
Write precompensation cylinder [0-4095,def=128]: 300
0 = Unbuffered, 3 msec
1 = Buffered, 13.2 usec
2 = Buffered, 30 usec
Step code [0-2,def=2]: 2
Sector zero offset [0-15,def=0]:
Do you want to configure another unit (Y or N, def=N)? Y
Type 1
NOVRAM will contain ST506 drive parameters
Type 2
Single-sided, double-density floppy, RX50-compatible,
pack transition not supported
Type 3
Double-sided, double-density floppy, not compatible
with the RX50, pack transition not supported
Type 4
Single-sided, double-density floppy, RX50-compatible
pack transition supported
Type 5
Double-sided, double-density floppy, not compatible
with the RX50, pack transition supported
Type code [1-5,def=2]:
Number of units of this type [1-2,def=2]:
0 = 3 msec step rate
1 = 6 msec step rate
2 = 10 msec step rate
3 = 15 msec step rate
Step Rate Code [0-3,def=2]:
Do you want to configure another unit (Y or N, def=N)? n
Do you want to change any parameters (Y or N, def=N)? n
** ALL DATA ON DRIVE CAN BE LOST **
DO YOU WANT TO LOAD THE NOVRAM (Y or N)? y
Komme ich noch kurz zur eigentlichen Installation:
Am EMULEX den Schalter SW2-2 auf 1 stellen, damit die Diskette bootet. Die Diskette mit INST im Namen ist die erste Diskette.
Mit der ersten Diskette wird gebootet und (drinlassen) dem Dialog gefolgt. In dessen Verlauf werden im zweiten Laufwerk sieben Disketten kopiert, dann hat man ein lauffähiges System. Einloggen nach Eingabe von „login“, wobei der User MICRO heisst mit dem Passwort RSX. Die weiteren Disketten werden installiert, indem man „@option“ eingibt, und man wieder den Anweisungen am Bildschirm folgt.
Zum Herunterfahren „run $shutup“ eingeben, dann fährt der Rechner herunter. Noch ein paar Dialoge beantworten, dann sollte alles sauber dismountet werden. Besser nicht einfach ausschalten.
Am EMULEX den Schalter SW2-2 auf 0 stellen, damit die Platte bootet.
23.02.2019
Sichern des alten RT11 auf anderer Festplatte.
Als Vorbereitung:
- Einbau des MTI MLV11M und anschliessen der Rodime RD204 Festplatte
- CPU Jumper W3 = off , W7 = on (gezählt wird vom Platinenanschlussseite nach aussen)
- Einbau einer SEAGATE ST-225 am EMULEX DM01 und Lowlevelformat
- Booten des Systems wie gewohnt
- einloggen
Dann die neue Platte initialisieren:
init/badblock du0:
Alle Daten dahin kopieren:
copy *.* du0:
copy/system *.* du0:
Die Systemdatei an die Bootposition bringen:
dir RT11*.sys
copy/boot rt11fb.sys du0:
Fertig! Das war es schon.
Wieder den kleinen Umbau:
- MTI MLV11M entfernen, Rodime RD204 vom Strom nehmen
- CPU Jumper W3 = on, W7 = on
Nun bootet RT11 auf der Seagate und die Rodime hat erstmal Urlaub.
22.03.2019
Die PDP 11/73 entwickelt einen Defekt und bleibt immer wieder stehen. Das geht soweit, dass sie von keiner Festplatte mehr durchbootet. Weder vom alten Originalsystem, noch von der Kopie auf der ST-225. Auch der Start von Diskette klappt nicht mehr zuverlässig.
Dabei stelle ich fest, auf der RAM Platine gibt es eine rot leuchtende LED mit der Bezeichnung PARITY LED.
Es stellt sich die Frage was da los ist. Um das besser einzugrenzen, reduziere ich die Konfiguration auf CPU, serielle Karte und RAM plus Plattencontroller. Das heisst, die Parallel Karte, Clock und die Messkarte fliegen erstmal raus.
Fehler bleibt.
Beim Messen der Betriebsspannung messe ich an der CPU an einem Pufferkondensator im Betrieb nur 4,7 Volt. Insgesamt scheint die 5 Volt Schiene mit hohem Spannungsabfall zu sein, am Netzteil sind es immerhin noch 5,12 V. Um die Kabel besser prüfen zu können zerlege und reinige ich das Gehäuse und Netzteil. Prüfe Kondensatoren und schaue auf die Kontakte der Backplane. Dabei fällt mir auf, die Backplane ist durch eine Einpresstechnik der Kontaktstifte in die Platine gefertigt. Mir sahen die Lötstellen so seltsam aus.
Zuerst dachte ich an kalte Lötstellen, aber man sieht deutlich in den Stiften links, dass es da einen hohlen Bereich im Kontakt gibt, der als Feder dient, die den Kontaktdruck herstellt. Obwohl dieses Verfahren sehr robust sein soll, habe ich die 5V Spannungs Stifte einmal nachgelötet.
Nach dem Zusammenbau ohne weitere Auffälligkeiten war die Spannungslage an der Platine bei nunmehr 5V!
Insofern hatte sich die Aktion wohl gelohnt. Ob das nun durch das Nachlöten allein oder durch andere Kontaktübergänge zustande kommt, die sich beim Zerlegen und Zusammenbau erfrischt haben, ist nicht eindeutig zu klären, egal!
Fehler bleibt trotzdem.
Es bleibt dabei, nach einigen Minuten bleibt die Kiste stehen. Da das mit beiden Controllern der Fall ist, schliesse ich die als Ursache aus. Weiteres Reinigen der Kontakte bringt keine Veränderung. Daher die Probe an der CPU Platine, ob die Pufferkondensatoren noch ihre Kapazität haben. Ein Bein ausgelötet und gemessen, alle drei OK. Einige Lötstellen an der CPU sehen nicht so schön aus, daher habe ich einfach mal den Sockel nachgelötet.
Seitem läuft die 11/73 bisher ohne stehenzubleiben! Auch die Parity LED leuchtet nicht mehr.
Glück gehabt!
27.03.2019
Ich lade und installiere TU58fs von Herrn Hoppe (https://github.com/j-hoppe/tu58fs) auf mein Windows Laptop und verbinde es mit der PDP mit zwei seriellen Verbindungen. Nach kurzem Suchen sind die richtigen seriellen Anschlüsse gefunden, und anhand der Demos findet man sich schnell zurecht. Die PDP bootet von der Seriellen Schnittstelle. Die Freude ist aber recht kurz, denn das ganze ist nicht stabil. Mir fällt nach einiger Zeit auf, es bleibt nicht der Rechner stehen, sondern mit ^C kommt man weiter und es hagelt Fehlermeldungen im Fenster vom TU58fs.exe. Die serielle Verbindung ist nicht stabil. Ich versuche die Geschwindigkeit zu reduzieren, aber das ändert nicht. Einer Empfehlung folgend bestelle ich ein anderes USB-Serielles Kabel (USB zu 2 seriellen Anschlüssen).
28.03.2019
Das Kabel ist schon da und damit geht alles prima, kein Stocken mehr. Volle Geschwindigkeit von 36400 Baud!Booten funktioniert. Daher mache ich ein Backup des installierten Systems auf der Festplatte:
create backup.dsk/allocate:7000
mount ld0: backup.dsk
init ld0:
copy/sys/exclude backup.dsk ld0:
dismount ld0:
Das erzeugt ein 7000 Blöcke großes File (512Byte pro Block), welches als logisches Device gemountet, initialisiert und beschrieben wird. Dann wird es wieder ausgehängt.
Diese Datei konnte ich nun mit TU58fs auf mein Laptop übertragen (gefühlte Ewigkeit) und in einer simh Session mit RT11 als du1: Laufwerk einbinden und dann bootfähig machen, und zwar mit den Treibern für das Bandlaufwerk:
copy/boot:DD du1:rt11fb.sys du1:
Nach Beenden konnte ich die Datei mit TU58fs als bootfähiges System der 11/73 zur Verfügung stellen.
Und die bootet davon! Mit einer kleinen Einschränkung. Ist der Controller eingebaut, wird die Platte beim booten angesprochen (seek, warten, seek..). Ist kein Controller eingebaut kommt eine Fehlermeldung bezüglich des DU devices.
Weil das so gut klappt, richte ich eine inzwischen erhaltene Seagate ST-251 (40MB) ein. Ich teile sie in zwei Teile auf und formatiere beide Lowlevel. Es sind je etwa 4 Badblocks zu verschmerzen. Dann boote ich die 11/73 mit TU56fs und dem extendet RT11 5.07 und mache folgendes:
init/badblock du1:
copy/sys DD0:*.* du1:
copy/boot du1:rt11fb.sys du1:
Dann ein Halt und ein RUN. Vorsicht, am Controller den Dipschalter nicht vergessen, es soll ja nun von 1 und nicht von 0 gebootet werden! Nochmal Halt, Run und ein erfolgreiches Booten des neuen Systems!
Auf den ersten Teil der Platte soll später ein RX11 folgen….
.show all
RT-11FB V05.04
Booted from DL0:RT11FB
USR is set SWAP
EXIT is set SWAP
KMON is set NOIND
TT is set QUIET
ERROR is set ERROR
SL is set ON
EDIT is set KED
KMON nesting depth is 3
PDP 11/73A Processor
1024KB of memory
Floating Point Microcode
Extended Instruction Set (EIS)
Memory Management Unit
Parity Memory
Cache Memory
60 Cycle System Clock
FPU support
Device Status CSR Vector(s)
------ ------ --- ---------
MS Not installed 172522 224 300
NL Installed 000000 000
DY Not installed 177170 264
SL 123310 000000 000
MU Not installed 174500 260 254
DD Installed 176500 300 304
DX Not installed 177170 264
MT Not installed 172520 224
LP Installed 176504 304
DL Resident 174400 160
LS Installed 176500 470 474 300 304
LD Installed 000000 000
DU Not installed 172150 154
VM Installed 177572 250
DM Not installed 177440 210
TT (Resident)
DL (Resident)
DL0 = DK , SY
MQ (Resident)
SL (Loaded)
LD
VM
DD
LP
LS
NL
22 free slots
Job Name Console Level State Low High Impure
--- ---- ------- ----- ----- --- ---- ------
0 RESORC 0 0 Run 000000 123236 135400
No multi-terminal support
Address Module Words
------- ------ -----
160000 IOPAGE 4096.
156016 DL 505.
133316 RMON 4768.
123302 SL 2054.
001000 ..BG.. 21089.
No LD units mounted