Scientific Micro Systems SMS 1000

  • Hallo Leute!


    Vielleicht hat ja jemand von euch auch eine PDP-11, die nicht von DEC stammt, so wie meine SMS 1000 und vielleicht möchte jemand auf dieser PDP-11 auch einmal Unix laufen lassen. Ich habe jedenfalls für meine SMS-1000 Modell 40, ein 2.9BSD System zusammengestellt, das sowohl mit dem SMS MSCP Controller funktioniert, als auch den SMS QIC02 Bandcontroller unterstützt.


    Warum? - Weil ich so ein System erstanden habe und im Internet behauptet wird, dass der MSCP Controller von SMS nur mit RT-11 kompatibel ist - und das wollte ich ganz einfach herausfinden.


    Fazit: Simmt nicht!



    SMS 1000 BOOTSTRAP

    512 KW MEMORY 11/23 CPU


    BOOTABLE DEVICES:

    DEVICE DEVICE UNIT

    NAME TYPE NUMBERS


    DU DSA 0-3

    MS TS 0


    ENTER DEVICE NAME AND UNIT NUMBER: DU


    40Boot

    :

    : ra(0,0)unix


    Berkeley UNIX (Rev. 2.9.1) Fri Nov 5 19:46:04 GMT+1:00 1993

    mem = 950912


    CONFIGURE SYSTEM:

    ra 0 csr 172150 vector 154 attached

    ts 0 csr 172520 vector 224 attached

    dz 0 csr 160100 vector 400 attached

    kl 1 csr 176500 vector 300 attached

    kl 2 csr 176510 vector 310 attached

    kl 3 csr 176520 vector 320 attached

    kl 4 csr 176530 vector 330 attached

    kl 5 csr 176540 vector 340 attached

    # date 9311061011

    Sat Nov 6 10:11:00 GMT+1:00 1993

    # Sat Nov 6 10:11:07 GMT+1:00 1993

    Mounted /usr on /dev/ra0c


    Berkeley Unix 2.9BSD


    ;login:


    Das 2.9BSD System ist nicht Y2K tauglich, weshalb ich das System im Jahr 1993 betreibe, damit stimmen zumindest die Wochentage ;)


    Warum 2.9BSD? Weil es das modernste Unix System ist, das noch auf einer PDP-11/23 läuft. Außerdem Stammt die SMS1000 aus dem Jahr 1986 und das passt das System auch in die Zeit.


    Falls jemand Lust hat, auch ein 2.9BSD System auf einer PDP-11 mit einem MSCP Controller laufen zu lassen, der nicht von DEC stammt - bitte gerne ... wenn es hier einen Downloadbereich gibt stelle ich das Material auch gerne hier zur Verfügung. Es ist auch ein Kernel für die PDP-11/73 dabei.


    Liebe Grüße aus Österreich,


    Peter

  • Fortsetzung ...


    Der Grund, warum offenbar viele daran gescheitert sind, auf ihren Scientific Micro Rechnern etwas zum Laufen zu bringen ist, weil scheinbar keine originalen Installationsmedien mehr dafür verfügbar sind, und man mit den verfügbaren Tools, wie PDP11-GUI und vtserver zunächst nicht wirklich weiterkommt. Mit RT-11 ist das etwas anderes, da kann man sich relativ einfach eine Boot-Diskette erstellen und dann damit den Rechner starten.


    Der Grund warum die bekannten Tools nicht wie erwartet funktionieren liegt daran, dass diese primär für DEC Hardware gemacht sind und Scientific Micro Systems hier eigen Hardware entwickelt hat. Kernstück des vermeintlichen Problems ist der MSCP Controller von Scientific Micro, der wohl MSCP spricht, nicht aber DEC Hardware emuliert. Während zum Beispiel der RQDX3 Controller von DEC in der MicroPDP11 die Festplatten mit 17 Sektoren formatiert, arbeitet der MSCP Controller von SMS mit 18 Sektoren. Damit haben die gleichen Festplatten an dem SMS Controller etwas mehr Kapazität als an einem RQDX3, sind aber dafür auch nicht kompatibel. Deshalb kann man auch kein Festplattenimage von einem PDP11 Emulator für den SMS Rechner verwenden, weil zum Beispiel SIMH einen RQDX3 Controller emuliert.


    Fazit:


    Um so ein System zum Laufen zu bringen müssen Installatiionsmedian her, damit man das System sauber aufsetzen kann.


    Liebe Grüße aus Österreich,


    Peter

  • Fortsetzung ...


    Nachdem das System zerlegt und gereinigt wurde, hat sich herausgestellt, dass alles vorhanden ist:


    Und es kam ein durchaus interessantes QBUS System zum Vorschein, das nicht von DEC stammt:


    Ein 8" Floppy Laufwerk an einem MSCP Controller und ein QIC02 Interface, das ein TSV05 Laufwerk emuliert?


    Interessante Fragen, wenn es darum geht, wie da jetzt ein Betriebssystem auf die Platte soll. Besonders vor dem Hintergrund, dass die Platte mit 18 Sektoren nicht RQDX3 kompatbel ist und der Weg mit einem SIMH Festplatten-Image deshalb auch nicht funktioniert.


    Liebe Grüße aus Österreich,


    Peter

  • Fortsetzung ...


    Ein Studium des Handbuches hat ergeben, dass der SMS MSCP Controller wahlweise ein 8" Floppy Laufwerk oder bis zu zwei 5,25" Floppy Laufwerke unterstützt, nämlich RX50 im DEC-PC Format.


    http://www.bitsavers.org/pdf/s…076A_SMS1000oem_Feb87.pdf


    Jetzt war der nächste Schritt, ein DEC RX50-AA Laufwerk von einem DEC Professional PC auszuleihen und temporär an den SMS Rechner anzuschließen:



    Damit gibt es zumindest ein kompatibles Format in dem man Diskettenimages mit Hilfe von SIMH erzeugen kann. Und damit gibt es auch einen Weg um zunächst mit RT-11 den SMS Rechner zu testen und mehr datrüber herauszufinden:


    pk@dell-e7250-pk:~/simh-rt11$ pdp11 cpu1123.ini


    PDP-11 simulator V4.0-0 Current git commit id: 9331d14e

    Disabling RK

    Disabling HK

    Disabling TM

    /home/pk/simh-rt11/cpu1123.ini-27> attach rl0 innonet/rt11rl0.rl

    RL0: 'innonet/rt11rl0.rl' Contains RT11 partitions

    1 valid partition, Type: V05, Sectors On Disk: 20450

    /home/pk/simh-rt11/cpu1123.ini-37> attach rq0 innonet/rt11rd53.rd

    RQ0: 'innonet/rt11rd53.rd' Contains RT11 partitions

    1 valid partition, Type: V05, Sectors On Disk: 65535

    /home/pk/simh-rt11/cpu1123.ini-39> attach rq1 innonet/rt11rx51.lbn

    RQ1: 'innonet/rt11rx51.lbn' Contains RT11 partitions

    1 valid partition, Type: V05, Sectors On Disk: 801

    /home/pk/simh-rt11/cpu1123.ini-41> attach rq2 innonet/rt11rx52.lbn

    RQ2: 'innonet/rt11rx52.lbn' Contains RT11 partitions

    1 valid partition, Type: V05, Sectors On Disk: 801

    /home/pk/simh-rt11/cpu1123.ini-53> attach dz 4000

    Listening on port 4000

    /home/pk/simh-rt11/cpu1123.ini-59> attach dli 4023

    Listening on port 4023

    /home/pk/simh-rt11/cpu1123.ini-66> set remote telnet=4040

    Listening on port 4040

    CPU 11/23, FPP, NOCIS, BEVENT enabled, autoconfiguration enabled, idle disabled

    1MB


    Type this command to boot MSCP hard disk:


    boot rq0


    to boot from TS tape deive:


    boot ts0


    to boot from RL cartridge disk deive:


    boot rl0


    sim> boot rq


    RT-11FB V05.07


    .TYPE V5USER.TXT


    RT-11 V5.7


    Installation of RT-11 Version 5.7 is complete and you are now running

    RT-11 from your system volume.


    Your system volume is your working volume if you have used the Automatic

    Installation (AI) procedure. If you have installed RT-11 using that

    procedure, Mentec recommends you verify the correct operation of your

    system's software using the VERIFY verification procedure. You can only

    perform VERIFY on the valid target (output) media you used for the AI

    procedure. Run VERIFY before you run CONFIG. To run VERIFY, enter the

    command:

    IND VERIFY


    You should read the file V5NOTE.TXT, which you can TYPE or PRINT. Also,

    read the Introduction to RT-11, and the Installation Guide which

    contain much of the information you need to use RT-11 Version 5.7.



    .R MSCPCK

    ?MSCPCK-I-MU0-TK50 FW Rev Level is 005/HW Rev Level is 001

    ?MSCPCK-W-TQK50 controller below FW Rev 4/HW Rev 6


    .


    Damit sind 11 Stück RX50 Floppy Images entstanden:


    pk@dell-e7250-pk:~/simh-rt11/dsk$ ls -l

    insgesamt 4400

    -rw-r--r-- 1 pk pk 409600 Sep 27 19:58 rv57boot.dsk

    -rw-r--r-- 1 pk pk 409600 Okt 2 10:11 rv57in01.dsk

    -rw-r--r-- 1 pk pk 409600 Okt 2 10:11 rv57in02.dsk

    -rw-r--r-- 1 pk pk 409600 Okt 2 10:11 rv57in03.dsk

    -rw-r--r-- 1 pk pk 409600 Okt 2 10:11 rv57in04.dsk

    -rw-r--r-- 1 pk pk 409600 Okt 2 10:11 rv57in05.dsk

    -rw-r--r-- 1 pk pk 409600 Okt 2 10:11 rv57in06.dsk

    -rw-r--r-- 1 pk pk 409600 Okt 2 10:11 rv57in07.dsk

    -rw-r--r-- 1 pk pk 409600 Okt 2 10:11 rv57in08.dsk

    -rw-r--r-- 1 pk pk 409600 Okt 2 10:11 rv57in09.dsk

    -rw-r--r-- 1 pk pk 409600 Okt 2 10:11 rv57in10.dsk

    pk@dell-e7250-pk:~/simh-rt11/dsk$


    Diese Images können zum, Beispiel mit IMD auf 5,25" Disketten geschrieben werden. Mit deren Hilfe kann RT-11 dann auf der Festplatte von dem SMS Rechner installiert werden. Von dort aus kann man dann sowohl eine 8" RT-11 Boot-Diskette als auch ein boot-fähiges RT-11 Installations-Band erstellen.



    Somit gibt es jetzt ein erstes, richtig von Datenträgern installierbares Betriebssystem für den SMS 1000 Rechner.


    Jetzt ist auch bestätigt, das 8" Floppy Laufwerk ist an dem SMS Controller, das MSCP Gerät DU1 und nicht etwa ein emuliertes RX02 Gerät DY0. Das QIC02 Bandlaufwerk wird, wie im Handbuch beschrieben unter RT-11 als MS Gerät, wie ein TSV05 Laufwerk angesprochen.


    Jetzt läuft RT-11 und alles funktioniert, wie es soll:



    Also gibt es keinen Grund, warum nicht auch Unix auf dem SMS 1000 Rechner laufen soll. Der Hersteller selbst hat ursprünglich Ultrix-11 als verfügbares Betriebssystem für dieses Gerät angeführt und es gibt gibt auch keine Geräte, für die keine Unix Device-Treiber vorhanden sind.


    Liebe Grüße aus Österreich,


    Peter

  • Fortsetzung ...


    Jetzt wo klar ist, dass der SMS 1000 Rechner unter RT-11 läuft und alle Komponenten in Ordnung zu ein scheinen, geht es darum, zu evaluieren, welches Unix am besten zu der Hardware passt. In dem SMS 1000 Rechner sind folgende Komponenten verbaut:


    1 x SMS Foundation Modul (quasi das Motherboard mit MSCP Controller, Console, etc.)

    1 x DEC KDF11-A PDP11/23 CPU Modul (original / das war in dem Rechner eingebaut)

    *1 x DEC KDJ11-A PDP11/73 CPU Modul (optional / stammt ursprünglich nicht von diesem Rechner)

    1 x Camintonn CMV-254 1 MB Memory Modul

    1 x GTSC 304 DLV11-J kompatibles 4-Fach Serielles I/O Modul

    1 x DEC DZQ11 4-Fach Serielles I/O Modul

    1 x DEC M9047 Dual Height QBUS Grant Continuity Modul

    1 x SMS 1000 File Tape Option (QIC02 Tape Controller)


    Als Bandlaufwerk dient ein externes Archive 5945L mit QIC02 controller in einem Trimm Industries Gehäuse (das, auf dem das Telefon steht):



    Original referenziert das SMS 1000 Handbuch auf ein Tandberg TDC-3309 Laufwerk mit TDC-3350 QIC02 controller. Das ist technisch das gleiche wie die Kombination von Archive, nur eben von Tandberg.


    Primär ist natürlich die Originalkonfiguration interessant, also Unix auf einem PDP11/23 System mit MSCP Controller. Dazu muss eine SIMH Testumgebung her um zu sehen, was da überhaupt in Frage kommt.


    Der SIMH wird so parametriert, dass es dem SMS1000 System am nächsten kommt:


    ; simh config to get close to the SMS1000

    ; set model to PDP-11/23 with 1M memory

    set cpu 11/23 1M


    ; set CPU time for the pdp11 emulator

    SET THROTTLE 25%


    ; disable unneeded devices

    set lpt disabled

    set rl disabled

    set rx disabled

    set rp disabled


    ; set system clock to 50Hz for europe

    set clk 50hz


    ; use 7b ascii terminal

    set tto 7b


    ; enable MSCP devices

    set rq enabled

    set rq0 rd53

    attach rq0 innonet/29bsd-sms-rd53.rd

    set rq1 rx33

    attach rq1 innonet/29bsd-sms-rx33.lbn

    set rq2 disabled

    set rq3 disabled


    ; enable a TS tape drive

    ;set ts disabled

    set ts enabled

    attach ts0 innonet/29bsd-mscp.tap


    ; set one DZQ11 4 line async mux

    set dz enabled

    attach dz 4100

    set dz0 7b


    ; set one DLV11-J card with 4 async lines

    set dli enabled

    attach dli 4123

    set dlo0 7b

    set dlo1 7b

    set dlo2 7b

    set dlo3 7b


    ; enable remote console via telnet

    set remote telnet=4140


    set pclk enabled

    set pclk 50hz


    show cpu


    ; boot it

    echo

    echo Type this command to boot from hard disk:

    echo

    echo boot rq0

    echo

    echo to boot from tape deive:

    echo

    echo boot ts0

    echo


    Durch die PDP11/23 CPU fällt 2.11BSD von vorne herein aus, das braucht nämlich einen Prozessor mit seperatem I & D (Instruction and Data) Bereich und des liefert die PDP11/23 CPU einfach nicht.


    Damit belibt nur Ultrix-11, das laut Datenblatt auf einer PDP11/23 CPU laufen soll:


    https://www.tuhs.org/Archive/D…rix3/ult11-3.1-kit.tar.gz


    und eine Variante von 2.9BSD mit MSCP Unterstützung:


    https://www.tuhs.org/Archive/D…MSCP/2.9BSD-MSCP-full.zip


    Nachdem von beiden Systemen virtuelle Band-Installationsmedien (TAP) erzeugt wurden hat sich beim Test mit SIMH herausgestellt, dass Ultrix-11 zumindest eine PDP11/23+ CPU benötigt, während 2.9BSD tatsächlich mit der PDP11/23 CPU auskommt. Natürlich kann man den SMS 1000 auch mit einer PDP11/73 CPU betreiben, hier soll aber zunächst die originale Hardware-Konfiguration unter Unix laufen.


    Fazit: Dieses SMS 1000 System soll ein 2.9BSD System werden, denn das läuft jedenfalls auch mit einer PDP11/23 CPU ;)


    Liebe Grüße aus Österreich,


    Peter

  • Fortsetzung ...


    Nachdem in 2.9BSD selbst, nie wirklich ein MSCP Treiber enthalten war, musste ich zunächst auf die Version 2.9BSD-MSCP von Jonathan Enhthal aus dem Jahr 2001 zurückgreifen.


    Ich habe das System zunächst, nach Anleitung unter SIMH installiert und da läuft es.


    Als nächstes wurde versucht das System laut Anleitung mit Hilfe von "vtserver" auf die Platte des SMS Rechners zu installieren ... und das lief dann schief!


    Jetzt habe ich damit begonnen, mich näher mit dem MSCP Treiber zu beschäftigen. Nachdem ich keine technischen Unterlagen zu der Hardware selbst im Netz gefunden habe, mit deren Hilfe man den Treiber debuggen kann, habe ich begonnen, mir andere MSCP Treiber anzusehen und zu vergleichen. Zunächst den, von 2.11BSD und den, von Ultrix-11. 2.11BSD unterscheidet sich bereits erheblich, weil es dort bereits eine Partitionstabelle (bsdlabel) gibt. Ultrix-11 ist in Sachen Festplattenpartitionen noch näher an 2.9BSD dran, allerdings brauchte ich zunächst den "standalone" Treiber für die Installation, und der Installationsmechanismus funktioniert bei Ultrix-11, vollkommen anderns (wesentlich ausgeklügelter).


    Dann hatte ich 2.10BSD entdeckt:

    https://www.tuhs.org/Archive/Distributions/UCB/2.10.1bsd.tar

    https://www.tuhs.org/Archive/D…utions/UCB/2.10bsd.tar.gz


    Diese Version ist offenbar weitgehend in Vergessenheit geraten, ist aber genau das Bindeglied zwischen 2.9BSD und dem, bis heute gepflegten 2.11BSD und BINGO! Dort gibt es einen, sehr komplett wirkenden MSCP Treiber und das Dateisystem von 2.10BSD passt auch noch zu 2.9BSD.


    Also habe ich zunächst den "standalone" Treiber "ra.c" aus 2.10BSD genommen und 2.9BSD angepasst, sodass ich die 2.9BSD "standalone" Programme, zusammen mit dem "vtserver" Treiber "vt.c" umwandeln konnte und sofort ließ sich auch ein System mit Hilfe von "vtserver" installieren.


    Dann stellte sich auch heraus, dass der ursprüngliche MSCP Kernel-Treiber nicht stabil lief, also musste auch der Kernel Treiber aus 2.10BSD her. Am Ende kam dann noch der Kernel-Treiber "ts.c" für das Bandlaufwerk dazu und der primäre Bootloader "rauboot.s" von Ultrix-11.


    Es war dann doch ein gutes Stück Arbeit, aber es hat sich gelohnt und am Ende kamen dabei funktionierenden 2.9BSD Installationsmedien für den SMS 1000 Rechner heraus.



    Ich bin mir sicher, dass diese Version von 2.9BSD auch auf andere MSCP Controllern läuft und dass damit ein recht modernes Betriebssystem für den PDP11/23 entstanden ist. Es wurde auch die Speicherverwaltung vom 2.9BSD auf 22Bit erweitert, sodass das Sytem jetzt im Falle eines PDP11/23 oder PDP11/73, bis zu 4MB RAM erkennt, analog zu dem Port für DEC Professional Rechner. Außerdem wurden die Kernelkonfiguration so angepasst, dass man mit: ./config <KERNEL> einen funktionierendes Build-Verzeichnis erzeugen kann und damit die Kernels von den Installationsmedien reproduzieren kann. Als Goodie ist eine funktionierende Kermit Version dabei, die zumindest auf den DZQ11 Interfaces Daten übertragen kann. Zuerst müssen binäre Dateien mit "uuencode" behandelt werden, damit man sie unter 2.9BSD über die 7Bit Leitung bekommt.


    Nachdem ich hier keinen Download Bereich gefunden habe, wo ich euch die Version zur Verfügung stellen kann, bei Interesse, gerne Nachricht an mich. Ansonsten, danke für diese wunderbare Plattform und euer Interesse. :)


    Liebe Grüße aus Österreich,


    Peter

  • Hallo,


    das hab ich natürlich nicht versucht - manchmal übersieht man die einfachtsen Dinge ;) Damit gibt es natürlich jetzt auch die Software!


    Es gibt KEIN root passwort in dieser Distribution. Für die Installation auf echer Hardware empfiehlt sich zumindest eine Maxtor XT-1085 (RD53) oder größer.
    Mein SMS1000 System hat derzeit eine Maxtor XT-1140 installiert. Original war eine XT-1085 im System.


    Das Disk Layout für diese beiden Platten bei der Installation ist wie folgt:


    Maxtor XT-1085 / DEC RD53

    =========================

    1024/8/18

    interleave 1,4

    --- layout ---

    root = ra(0,0), size 3200

    swap = ra(0,6400), size 1920

    usr = ra(0,10240), size 64180



    Maxtor XT-1140

    ==============

    918/15/18

    interleave 1,4

    --- layout ----

    root = ra(0,0), size 3200

    swap = ra(0,6400), size 1920

    usr = ra(0,10240), size 114880


    Ich habe die Daten auf 4 Teile aufgeteilt, damit es nicht zu viel wird beim herunter laden:


    1.) 29bsd-simh.tgz: Ein SIMH Image samt Konfigurationsdatei zu laden mit: "pdp11 sms1123.ini" oder mit: "screen pdp11 sms1123.ini"


    2.) 29bsd-smstape.tgz: Ein Dump des Installationsbandes, direkt erzeugt mit meinem SMS1000 System. Auf ein richtiges Band schreiben kann man das unter Linux auf ein 60MB QIC Laufwerk mit: "dd if=29bsd-sms-tape.dd of=/dev/st0" Das Format ist nicht kompatibel mit z.B. Linux, das erzeugte Band kann aber von dem SMS1000 System gelesen werden.


    3.) 29bsd-tapefiles.tgz: Die Dateien vom Installationsband, sodass man damit ein SIMH Tape Image erzeugen kann, oder auch ein echtes Band für ein anderes System.


    4.) 29bsd-vtserver.tgz: Die Version vom vtserver samt entsprechender Konfigurationsdatei, mit der ich die erfolgreiche Erstinstallation durchgeführt habe. Ich habe dazu mit 19200 Bps gearbeitet, das ist das maximum, was mein SMS1000 auf der Console kann, Unter 29.BSD funktioniert dann ohnehin nur 9600Bps.


    Viel Freude damit, wenn Ihr Bugs findet können die natürlich auch von mir stammen. ;) Ich freue mich natürlich auch über Verbesserungen. :)


    Damit ich die Dateien wirklich hochladen kann, brauche ich etwas mehr Luft bitte ...



    -rw-r--r-- 1 pk pk 26994140 Dez 11 15:07 29bsd-simh.tgz

    -rw-r--r-- 1 pk pk 13255387 Dez 11 15:06 29bsd-smstape.tgz

    -rw-r--r-- 1 pk pk 25121792 Dez 11 15:03 29bsd-tapefiles.tgz

    -rw-r--r-- 1 pk pk 27700338 Dez 11 15:05 29bsd-vtserver.tgz


    Danke und liebe Grüße aus Österreich,


    Peter

    Edited once, last by klapperp ().

  • Fortsetzung ...


    Ich habe die Files nun unter Linux mit "split" aufgeteilt, damit ich sie hier hochladen kann. Zusammensetzen tut man sie dann einfach mit:

    "cat Teildatei1 Teildatei2 Teildatei3 ... >Zieldatei". Achtung! die Endung 7z ist Fake, damit ich die Dateien hier hochladen kann.

    -rw-r--r-- 1 pk pk 26994140 Dez 11 15:07 29bsd-simh.tgz

    29bsd-simh-tgz#1.7z

    29bsd-simh-tgz#2.7z

    29bsd-simh-tgz#3.7z


    Liebe Grüße aus Österreich,


    Peter

    Edited 3 times, last by klapperp ().