Newsgroup: it.comp.retrocomputing
Titolo: PDP-10 / Simh

Apriamo un altro thread leggero :)
Mi servirebbe qualche aiutino.
Non ho trovato un tutorial su PDP-10 come per simh: una volta compilato 
l'emulatore, immagino serva un file di configurazione, del tipo 
pdp10.ini, init ...
Ho trovato diverse pagine, ad esempio
http://www.aracnet.com/~healyzh/pdp10emu.html
http://www.aracnet.com/~healyzh/TOPS-10_tips.html
http://pdp-10.trailing-edge.com/
http://www.steubentech.com/~talon/pdp10/
ma nulla che mi aiuti nel primo avvio di simh.
Ricevo un sim> e boot cpu non funziona :( 
Probablimente mi serve un boot <device con sistema>, qualche immagine di 
nastro, sicuramente.
L'unica pagina che ho trovato sulla configurazione iniziale è
http://www.cosmic.com/u/mirian/its/itsbuild.html
ma sembra specifica per ITS.

 pdp10.ini, init ...
Salve,
può trovare un tutorial sulla configurazione delle varie macchine 
emulate da simh qui: 
http://simh.trailing-edge.com/pdf/simh_swre.pdf
mentre copie dei sistemi operativi qui: 
http://simh.trailing-edge.com/software.html
Qualche mese fa ero riuscito a fare tutto quello indicato nella guida 
(con Windows), però non ero andato oltre in quanto non conosco i vari os 
(eccetto qualcosa di Unix e derivati, e VMS).
Spero di esserle stato di aiuto,
Saluti
EngiNerd

 nastro, sicuramente.
Allora, diciamo che di emulatori di PDP-10 ce ne sono due: uno è Simh e
l'altro è KLH10. Diciamo anche che al tempo, tralasciando le cose veramente
antiche, di CPU ne esistevano due tipi: quelle "piccole", denominate KS10, e
quelle grandi, denominate KL10. È anche facile da ricordare, perché la esse
di KS10 dovrebbe significare small e la elle di KL10 large.
Detto questo, Simh emula solo KS10, invece KLH10 può emulare entrambe: tutto
dipende da quale target si specifica durante la compilazione.
Dico tutto questo perché le due CPU (intese come calcolatori completi) erano
abbastanza diverse come architettura interna e come sistema di boot. Il KS10
aveva un microprocessore Intel 8080 mentre il KL10 si affidava a un PDP-11
con una versione modificata di RSX11S (credo) che si chiamava RSX20F.
Lo scopo di entrambi i processori di servizio (8080 e PDP-11) era quello di
caricare un boot loader nella memoria del PDP-10 e poi avviarlo. KLH10
simula questa situazione con il comando load che carica dal disco dell'host
Unix/Linux un file ksboot.exe o klboot.exe che contiene codice originale
Digital che permette poi di caricare il monitor (cioè il kernel) e il resto.
Simh non so esattamente come si comporti, ma suppongo usi un metodo analogo
visto che neppure lui emulerà l'8080 e tutti i suoi annessi. Ci sarà un modo
per caricare ksboot.exe (o .sav) in RAM e passargli il controllo.
Dopodiché si carica da nastro (c.d. bootable tape) il monitor precompilato
da DEC, il quale appena si accorge che non esiste nessun disco inizializzato
si offre di farlo, quindi si crea il file system (c.d. structure) e si copia
dallo stesso nastro il programma BACKUP.EXE con cui fare il restore di tutti
gli altri nastri necessari. Fra la roba recuperata da nastro c'è anche il
programma CREDIR.EXE con il quale si creano le directory di sistema, poi con
un altro programma (NFT.EXE) si copia tutto nelle directory definitive. In
pratica l'installazione si fa "a mano": molto seventies. :-)
Nel repository di Trailing Edge, fra le varie cose c'è l'immagine di un
nastro di update della documentazione, il quale contiene le ultime versioni
di alcuni manuali, non disponibili in nessun altro modo. Fra questi c'è
anche la Software Installation Guide (sig.mem). Vedere al seguente URL:
http://pdp-10.trailing-edge.com/tops10v704_docc/index.html
Vantaggi e svantaggi delle due emulazioni: Simh emula un KS10, quindi senza
supporto di rete, però con una multiseriale a cui è possibile accedere via
telnet. In pratica TOPS-10 vede una serie di terminali hard-wired che in
realtà sono connessioni telnet. KLH10, potendo emulare anche un KL10, ha il
supporto di rete (ma solo DECnet, perché il TCP/IP per TOPS-10 non è mai
esistito). Di contro, l'unica seriale emulata da KLH10 è quella per la
console, quindi l'unico modo per accedere a TOPS-10 escludendo DECnet è
l'uso diretto dell'emulatore. Inoltre, il bootable tape per TOPS-10 7.04
(l'ultimo) per KS10 è disponibile, per KL10 no, quindi bisogna fare un po'
di acrobazie. Simh credo che abbia di default un meccanismo di idleing della
CPU emulata, in modo da non far stare sempre al 99% di utilizzo la CPU del
sistema ospitante. È un accrocchio, ma dovrebbe funzionare. KLH10 invece usa
un metodo molto più elegante che però richiede una modifica al codice del
monitor di TOPS-10. Insomma, per un uso "basic" di TOPS-10 credo che sia
meglio Simh, invece per un uso più spinto e soprattutto se si vuole provare
DECnet è obbligatorio KLH10, possibilmente la versione 2.0h.
Trailing Edge ha tutti i nastri possibili e immaginabili, gli stessi che si
trovano anche su Bitsavers, con in più la possibilità di navigarci dentro.
Per la manualistica invece Bitsavers è fondamentale (se si escludono i
manuali dell'update detto sopra). Veri e propri tutorial non ne esistono, ma
per l'installazione i manuali originali e un po' di chiacchiere con chi l'ha
già fatto o su alt.sys.pdp10 direi che sono sufficienti. Comunque NON è una
passeggiata, specie quando si inizia a parlare di ricompilazione del monitor
e di nastri di patch con tutti i loro malefici batch di controllo.
Giusto per riferimento, questi sono i nastri che ho usato io con KLH10:
BB-FI81B-DD   KLAD10 7.04 1/3 (al posto del bootable tape che non c'è)
BB-X140C-SB   7.04 Monitor and ANF-10 sources
BB-X128C-SB   Commonly Used System Programs (CUSP) 1/2
BB-FP63B-SB   Commonly Used System Programs (CUSP) 2/2
BB-X130C-SB   Customer Supported Tools
BB-FP64B-SB   Unsupported Tools
BB-X116D-BB   DECnet-10 7.04
BB-D480G-SB   Fortran-10 V11
BB-H580E-SB   Cobol V12C e Sort V4D
BB-D478D-BB   DBMS-10 V5A
BB-PANKA-BB   Sort TSU key (per decifrare le patch)
BB-BT99V-BB   TSU04 1/3 (TOPS-10 Software Update n. 4, cioè varie patch)
BB-JR93N-BB   TSU04 2/3
BB-PBDED-BB   TSU04 3/3
Almeno i primi cinque sono necessari. In questo caso particolare il monitor
va ricompilato praticamente per forza, visto che quello utilizzato per il
boot è un rimedio ed è completamente sballato, tanto che non tiene l'ora.
| # ./kn10-kl tops-10.ini
| KLH10 V2.0H (KL) built Jun 23 2010 11:21:15
|     Copyright © 2002 Kenneth L. Harrenstien -- All Rights Reserved.
| This program comes "AS IS" with ABSOLUTELY NO WARRANTY.
| 
| Compiled for LINUX on I386 with word model USEHWD
| Emulated config:
|          CPU: KL10-extend   SYS: T20   Pager: KL  APRID: 3600
|          Memory: 8192 pages of 512 words  (SHARED)
|          Time interval: INTRP   Base: OSGET
|          Interval default: 60Hz
|          Internal clock: OSINT
|          Other: MCA25 JPC DEBUG PCCACHE CTYINT EVHINT
|          Devices: DTE RH20 RPXX(DP) TM03(DP) NI20(DP)
| [MEM: Allocating 8192 pages shared memory, clearing...done]
| 
| KLH10# ; KLH10 configuration for TOPS-10
| KLH10# ;
| KLH10# set serialno=2034
|    serialno: 3600.  =>  2034.
| KLH10# set fe_runenable=1
|    fe_runenable: Off  =>  On
| KLH10#
| KLH10# ; DTE requires ackdly to avoid T10 race condition
| KLH10# ;
| KLH10# devdef dte0   200    dte   master ackdly=5
| KLH10# devdef rh0    540    rh20
| KLH10# devdef rh1    544    rh20
| KLH10# devdef rpa0   rh0.0  rp    type=rp06 sn=1024 format=dbd9 path=../T10-RPA0-DSKB0.dbd9
| KLH10# devdef rpa1   rh0.1  rp    type=rp06 sn=1025 format=dbd9 path=../T10-RPA1-DSKB1.dbd9
| KLH10# devdef mta0   rh1.0  tm03  type=TU77 sn=1124
| KLH10# devdef idler  740    host
| KLH10#
| KLH10# ; NI: param "c3dly" to avoid T10 race.
| KLH10# ; NI: param "rdtmo" to avoid system hangups with OSF/1 V3.0
| KLH10# ;
| KLH10# ; Decnet node DIECI, 1.1010
| KLH10# ;
| KLH10# devdef ni0    564    ni20  dedic=0 decnet=1 doarp=0 enaddr=AA:00:04:00:F2:07 dpdelay=12 c3dly=2 rdtmo=3
| KLH10#
| KLH10# load ../klboot.exe
| Using word format "c36"...
| Loaded "../klboot.exe":
| Format: DEC-PEXE
| Data: 0, Symwds: 0, Low: 01000000, High: 0, Startaddress: 0703667
| Entvec: 0 wds at 0
| KLH10# [EOF on tops-10.ini]
| KLH10# go
| Starting KN10 at loc 0703667...
| BOOT V4(100)
| 
| BOOT>
| [Loading from DSKB:SYSTEM.EXE[1,4]]
| 
| T10 DECnet node DIECI 06-Jul-10
| Why reload: sa
| Date:
| Time:
| [dpni20: Using default interface "eth0"]
| [KLNI microcode %1(172) loaded on NIA20 564]
| Startup option: go
| [Rebuilding the system search list from the HOM blocks]
| 
| [Rebuilding the active swapping list from the HOM blocks]
| 
| [Rebuilding the system dump list from the HOM blocks]
| 
| 
| T10 DECnet node DIECI 02:39:11 CTY system 2034
| Connected to Node DIECI(0) Line CTY
| [Checking terminal type . . . found VT102]
| .LOGIN 1,2
| .R OPR
| %%TTY STOMPER - Starting
| OPR>
|  2:39:28          -- Message from NODNAM --
|                 job 12 [1,2]        detached
|                 Local area: 1 Extracting all nodes
|                 Processing DSKB:NODNAM.INI[5,34]
|                 Processed 3 blocks
|                 Done:  54 of 54 nodes defined
| OPR>
|  2:39:32        -- Begin auto take file --
|                 File: SYS:SYSTEM.CMD[1,4]
| 
|  2:39:33        -- End auto take file --
|                 15 lines processed
| OPR>
|  2:39:36        FAL-Stream 0  -- Started --
| 
|  2:39:36        FAL-Stream 1  -- Started --
| 
|  2:39:36        FAL-Stream 2  -- Started --
| OPR>exit
| 
| .systat
| 
| Status of T10 DECnet node DIECI at  2:39:50 on 18-Aug-110
| 
| Uptime 1:16, 31% Null time = 31% Idle + 0% Lost, 56% Overhead
| 18 Jobs in use out of 120.  14 logged in, 13 detached.
| 
| Job    Who     Line#    What   Size(P)  State   Run Time
| 
|  1    [OPR]     DET751  STOMPR  11+12   SL             0 01
|  2    [OPR]     CTY     SYSTAT  23+SPY  RN             0
|  3     2,5       0      INITIA  6+12    SL             0
|  4     2,5       1      INITIA  6+12    SL             0
|  5     2,5       2      INITIA  6+12    SL             0
|  6     2,5       3      INITIA  6+12    SL             0
|  7    [OPR]     DET751  FILDAE  17      HB             0
|  8    [OPR]     DET751  ACTDAE  178+40  SL             0
|  9    [OPR]     DET751  DAEMON  11+SPY  HB             0
| 10    [OPR]     DET751  QUASAR  120+40  SL             0
| 11    [OPR]     DET751  MIC     5+15    SL             0
| 12    [OPR]     DET751  CATLOG  147+40  HB             0
| 13    [OPR]     DET751  MX      124+47  HB SW          0
| 14    [OPR]     DET751  PULSAR  66+40   HB SW          0
| 15    [OPR]     DET751  ORION   50+40   SL             0
| 16    [OPR]     DET751  NEBULA  27+40   HB             0
| 17    [OPR]     DET751  NML     38+135  HB             0
| 18    [OPR]     DET751  FAL-10  115+40  SL             0
| n means job runs in HPQ n
| 
| High Segments:
| Program Device  Owner   High(P) Users
| 
| INITIA  DSKB    [SYS]   12      5
| GLXLIB  DSKB    [SYS]   40      7
| MIC     DSKB    [SYS]   15      1
| (PRIV)          Job 13  47      1
| (PRIV)          Job 17  135     1
| 
| Swapping space used = 1150/16384 = 7%
| Virt. Core used = 1205/16384 = 7%
| 6144P Core left
| Active swapping ratio = 23/7349 = .00
| Virt. Core saved by sharing = 288/(288+1205) = 19%
| Average job size =956/18 = 53.1P+537/18 = 29.8P  Total=1493/18 = 82.9P
| 
| No busy devices
| 
| System File Structures:
| Name    Free    Mount
| DSKB    214000  2
| Total Free 214000
| 
| 
| .
Ciao,
G.

 G.
-- 
Elia Bellussi
Museo Piemontese dell'Informatica
http://www.mupin.altervista.org

Ho scaricato, compilato ed installato KLH10.
Decompresso l'archivio aux.
Non mi resta che leggere la documentazione, vedere un pochino i files ini 
già pronti e preparare qualcosa in $KLH10_HOME.
Ma per l'installazione di TOPS o altro devo attendere la ... banda ;)
(Quella larga, intendo ...)

 (Quella larga, intendo ...)
Ho provato a valutare quanto sia il minimo indispensabile, dal punto di
vista dei dati da scaricare, per avere un sistema con TOPS-10 funzionante.
Ho fatto i conteggi ipotizzando una installazione basata su Simh (quindi
processore KS10), perché richiede meno "contorno" e quindi meno dati da
scaricare. I motivi principali sono due: primo, esiste un bootable tape
funzionante che quindi non costringe a scaricare un grosso nastro di
diagnostica solo per avere un monitor di partenza; secondo, il monitor del
bootable tape in questione è ben funzionante (dovrebbe) e dunque non rende
urgente la compilazione di un proprio monitor custom, per la qual cosa è
necessario scaricarsi anche il nastro con i sorgenti del monitor.
Ho verificato che le dimensioni dei nastri conservati su Trailing Edge sono
decimali, cioè un nastro da 0,56 MB è da intendersi da 560.000 Byte (con un
po' di arrotondamento) e non 587.202 (cioè 0,56 * 1024 * 1024), quindi mi
sono adeguato anch'io (cfr. 
http://en.wikipedia.org/wiki/Mebibyte
).
Dunque, l'ultima release di Simh "pesa" 2,95 MB, il bootable tape solo 0,56
e i due CUSP tape rispettivamente 9,51 e 6,76 MB, per un totale di 19,78 MB.
Il bootable tape, come dice il nome, contiene il microcode, il software 8080
e un monitor predefinito da Digital (buono anche per il timesharing). Serve
per avviare la macchina quando non c'è nulla sui suoi dischi (cold start).
I due nastri CUSP (Commonly Used System Programs) contengono tutti gli
strumenti necessari per installare e usare il sistema. Si va dalle cose
indispensabili come BACKUP, CREDIR e DIRECT fino a tutto il complesso di
gestione delle risorse batch e condivise (GALAXY), passando per altre cose
altrettanto necessarie come INITIA, LOGIN, SETSRC, SYSTAT, MACRO, LINK...
Con altri 3,65 MB si può scaricare il nastro dei Customer Supported CUSPs,
che contiene varie cose non proprio immediatamente necessarie, se si esclude
l'editor SOS che è invece piuttosto utile per modificare un qualunque file
di configurazione senza dover usare TECO. Entrambi comunque editor di righe.
Riassumendo:
Simh V3.8-1   2,95   L'emulatore
BB-X138C-BB   0,56   Il bootable tape di TOPS-10 7.04 per KS10
BB-X128C-SB   9,51   Nastro CUSP 1/2
BB-FP63B-SB   6,76   Nastro CUSP 2/2
------------------
             19,78
BB-X130C-SB   3,65   Customer Supported CUSPs
------------------
             23,43
==================
Ciao,
G.
P.S. I sorgenti del monitor (BB-X140C-SB) sarebbero altri 6,02 MB.

Purtroppo le vacanze sono quasi finite, e con il rientro tornerà la banda 
larga casalinga ... ho una coda di scaricamento chilometrica :)
Grazie !


magari non centra nulla ma casualmente mi sono imbattuto in questo link, 
e mi chiedevo se fosse utile a qualcuno di quelli che seguono questo post..
http://www.pdp8.net/
Ciao
--