DEC - PDP11



 ____  _           _   _
/ ___|(_)_ __ ___ | | | |
\___ \| | '_ ` _ \| |_| |
 ___) | | | | | | |  _  |
|____/|_|_| |_| |_|_| |_|
                        


Per poter emulare correttamente un PDP11 nei suoi differenti modelli per prima cosa bisogna installare il simulatore multi piattaforma SIMH.

Nel caso di sistemi *NIX i binari dell'emulatore sono disponibili nei repository delle varie distrinuzioni e possono essere installati attraverso i package tools della distribuzione (apt, rpm, pkg ecc. ecc.)

Per chi volesse compilare l'ultima versione disponibile o installare gli eseguibili per windows i sorgenti ed i binari windows sono disponibili presso la piattaforma GITHUB https://github.com/simh

L'eseguibile da utilizzare per implementare un PDP11 è pdp11 o PDP11.EXE, l'emulatore ha ovviamente bisogno di sapere quali periferiche sono presenti nel sistema che vogliamo simulare, tipo di CPU, memoria a disposizione, unità di memoria di massa ecc. ecc.

Tutto questo viene definito nel file di configurazione che daremo in pasto al nostro emulatore, di seguito il file di configurazione utilizzato per emulare GNAPPY e RSTSE (due PDP11/93)su questa macchina, per ogni sezione vi è una spiegazione di cosa ho implementato:

Le righe che iniziano con ";" sono considerate commenti

File di configurazione per SIMH - emulazione PDP11/93 pdp11.config (Scaricabile qui o nella sezione files)

; ###CPU### <-- Sezione CPU
set cpu 11/93 <-- Set della CPU per emulare un PDP 11/93
set cpu 4m <-- Set della memoria a 4096K (il massimo)
set cpu idle <-- Impostazione dell'idle della CPU per alleggerire la CPU dell'host dove gira l'emulatore
set console pchar=1000023600 <-- Set caratteri d'escape per la console
;
; ###CLOCK AND FREQUENCY### <-- Sezione Orologio e frequenze
set clk 50Hz <-- Set frequenza del clock interno (serve per adeguare l'orologio)
set pclk 50Hz <-- Set frequenza clock programmabile
set system jclk_dflt=50Hz <-- Set frequenza di default per il clock
;
; ###TAPE### <-- Sezione unità a nastro
set ts enable <-- Configurazione periferica a nastro di tipo TSV05 UNIBUS
set ts0 locked <-- Configurazione unità in sola lettura
set ts0 format=simh <-- nastro virtuale in formato SIMH
att ts0 /home/DEC/RSX11M/tapes/BB-J0830-01.M01_RSX11M+_V4.6_1999.tap <-- Montaggio nastro virtuale
;
; ###Disks### <-- Sezione unità a disco
; ###Fixed### <-- Sotto sezione dischi fissi
set rp enable <-- Configurazione periferica disco di tipo RP04/05/06/07, RM02/03/05/80 Massbus disks with eight drives

set rp0 rp06 <-- Definisco il disco 0 come RP06
att rp0 /home/DEC/RSX11M/disks/disk_rp06_000.dsk <-- Associo al disco 0 l'immagine del disco
set rp1 rp06 <-- Definisco il disco 1 come RP06
att rp1 /home/DEC/RSX11M/disks/disk_rp06_001.dsk <-- Associo al disco 1 l'immagine del disco
set rp2 rp06 <-- Definisco il disco 2 come RP06
att rp2 /home/DEC/RSX11M/disks/disk_rp06_002.dsk <-- Associo al disco 2 l'immagine del disco
set rp3 rp06 <-- Definisco il disco 3 come RP06
att rp3 /home/DEC/RSX11M/disks/disk_rp06_003.dsk <-- Associo al disco 6 l'immagine del disco
; ###Removable### <-- Sotto sezione dischi rimuovibili
set rl enable <-- Configurazione periferica disco di tipo RL11(RLV12)/RL01,RL02 cartridge disk controller with four drives
set rl0 write enable <-- Abilito il disco 0 in scrittura
set rl0 rl02 <-- Definisco il disco 0 come RL02
att rl0 /home/DEC/RSX11M/disks/disk_rl02_000.dsk <-- Associo al disco 0 l'immagine del disco
set rl1 write enable <-- Abilito il disco 1 in scrittura
set rl1 rl02 <-- Definisco il disco 1 come RL02
att rl1 /home/DEC/RSX11M/disks/disk_rl02_001.dsk <-- Associo al disco 1 l'immagine del disco
set rl2 write enable <-- Abilito il disco 2 in scrittura
set rl2 rl02 <-- Definisco il disco 2 come RL02
att rl2 /home/DEC/RSX11M/disks/disk_rl02_002.dsk <-- Associo al disco 2 l'immagine del disco
set rl3 write enable <-- Abilito il disco 3 in scrittura
set rl3 rl02 <-- Definisco il disco 3 come RL02
; ###Ethernet### <-- Sezione Scheda di rete ethernet
set xq enable <-- Configurazione scheda ethernet di tipo DELQA/DEQNA Qbus Ethernet controller
set xq type=DEQNA <-- specifico il tipo DEQNA
att xq tap:tap2 <-- Associo la scheda ethernet del pdp11 ad una scheda reale o virtuale come in questo caso (dispositivo TAP)
; ###SimH Console### <-- Sezione Scheda terminali
set dz enable <-- Configurazione DZ11 8-line terminal multiplexer (up to 4)
set dz lines=8 <-- Abilito 8 terminali
attach dz 11000 <-- Collego gli 8 terminali alla porta telnet 11000
; ###Printer### <-- Sezione Stampante
set lpt enable <-- Abilito la stampante
attach lpt /home/DEC/RSX11M/PRINTER.TXT <-- Collego l'output della stampante ad un file
; ###Emulator Console### <-- Sezione console emulatore
set remote telnet=2050 <-- Collego la console dell'emulatore (non la console del pdp11) alla porta telnet 2050
;
; ###Boot### <-- Sezione BOOT del sistema.
b rp0 <-- Boot del sistema dal disco rp0

Per lanciare l'emulatore così configurato usare il comando # pdp11 pdp11.config
La prima volta che viene avviato l'emulatore creerà tutte le immagini dei dischi configurati.
Per il primo avvio vi consiglio di commentare l'ultima riga con il comando b rp0 in modo che possiate avviare da nastro il sistema per l'installazione.


Vai a Installazione RSX-11M-PLUS
Torna su PDP 11
Torna su DEC
Torna su Mimac