Appunti VAX VMS
Contents
-
Appunti VAX VMS
- Elenco licenze UTILI by Gerry
- QUALE simh
- DECNET BRIDGE
- Password reset di un sistema
- problemi di SNORRY
- edit dei files
- recall dei comandi / history
- Dove stanno i files
- vax.ini dell'emulatore simh glorry
- ethernet holocaust
- problemino con mmm.exe
- Creare utenti by Gerry
- Licenze vax/vms
- Configurazione tcpip
- Problemi al disco
- decnet settings
- vmsterm
- Immagine X fatta al CUD
- Links
Elenco licenze UTILI by Gerry
Licenza Prodotto ---------- ---------------------------------- VAX-VMS Sistema operativo VAXCLUSTER Clustering VMSCLUSTER Idem per Alpha (?) VOLSHAD Volume shadowing (mirror software) DVNETRTG DECnet con routing UCX TCP/IP FTSV File Transfer Spooler (freeware) BASIC Compilatore e interprete Basic BLISS32 Compilatore BLISS (freeware) C Compilatore C (anche C++?) COBOL Compilatore COBOL DIBOL Compilatore DIBOL FORTRAN Compilatore FORTRAN (anche F90?) PASCAL Compilatore Pascal SCAN Compilatore Scan (freeware?)
QUALE simh
last version from git!
apt install git gcc make libpcap-dev libsdl2-dev git clone https://github.com/simh/simh.git cd simh make vax
make quel che ti serve ovviamente
DECNET BRIDGE
deve stare su una macchina DIVERSA da dove gira il simh. gli serve una eth tutta sua non condivisa col vax emulato.
Sta su corazzini, bella li'
Password reset di un sistema
by Zappolo
avviare simh ./vax sim> boot al prompt >>> dare i seguenti comandi B /R5:1 DUA0 SET/STARTUP OPA0: SET WINDOW_SYSTEM 0 SET WRITESYSPARAMS 0 CONTINUE SPAWN @SYS$SYSTEM:STARTUP SET DEFAULT SYS$SYSTEM: RUN SYS$SYSTEM:AUTHORIZE MODIFY SYSTEM /PASSWORD=newpassword
problemi di SNORRY
L'immagine DD ha delle inconsistenze.
Confrontata con l'immagine storica del disco fisico, ho trovato dove questa FINISCE all'interno del dump della scheda da 2GB del disco emulato. Dopo di esso ci sono solo ZERI e poi merda linux rimasta dentro la scheda...
Quindi ho fatto
dd if=snorry.img of=fisico.img bs=512 count=2070235
e l'ho fatto partire in emulazione su wopr. da li' ho dato ana/disk
Asbesto Molesto, [30.01.20 12:00] SNORRY::SYSTEM$ ana / disk dua0: Analyze/Disk_Structure for _SNORRY$DUA0: started on 30-JAN-2020 12:00:08.09 %ANALDISK-W-CHKSCB, invalid storage control block, RVN 1 SNORRY::SYSTEM$ Asbesto Molesto, [30.01.20 12:02] Disk SNORRY$DUA0:, device type RA92, is online, mounted, file-oriented device, shareable, available to cluster, error logging is enabled. Error count 0 Operations completed 5430 Owner process "" Owner UIC [SYSTEM] Owner process ID 00000000 Dev Prot S:RWPL,O:RWPL,G:R,W Reference count 91 Default buffer size 512 Total blocks 2070235 Sectors per track 73 Total cylinders 2182 Tracks per cylinder 13 Volume label "SNORRYSYS" Relative volume number 0 Cluster size 9 Transaction count 189 Free blocks 1233315 Maximum files allowed 103511 Extend quantity 5 Mount count 1 Mount status System Cache name "_SNORRY$DUA0:XQPCACHE" Extent cache size 64 Maximum blocks in extent cache 123331 File ID cache size 64 Blocks currently in extent cache 0 Quota cache size 240 Maximum buffers in FCP cache 548 Volume owner UIC [1,1] Vol Prot S:RWCD,O:RWCD,G:RWCD,W:RWCD Volume Status: ODS-2, subject to mount verification, protected subsystems enabled, file high-water marking, write-through caching enabled. Asbesto Molesto, [30.01.20 12:05] immagine da 2GB: Asbesto Molesto, [30.01.20 12:05] SNORRY::SYSTEM$ ana /disk dua0: Analyze/Disk_Structure for _SNORRY$DUA0: started on 30-JAN-2020 12:05:27.66 %ANALDISK-I-SHORTBITMAP, storage bitmap on RVN 1 does not cover the entire devic e SNORRY::SYSTEM$ Asbesto Molesto, [30.01.20 12:05] Disk SNORRY$DUA0:, device type RA92, is online, mounted, file-oriented device, shareable, available to cluster, error logging is enabled. Error count 0 Operations completed 5418 Owner process "" Owner UIC [SYSTEM] Owner process ID 00000000 Dev Prot S:RWPL,O:RWPL,G:R,W Reference count 91 Default buffer size 512 Total blocks 3887112 Sectors per track 73 Total cylinders 4097 Tracks per cylinder 13 Volume label "SNORRYSYS" Relative volume number 0 Cluster size 9 Transaction count 189 Free blocks 1233315 Maximum files allowed 103511 Extend quantity 5 Mount count 1 Mount status System Cache name "_SNORRY$DUA0:XQPCACHE" Extent cache size 64 Maximum blocks in extent cache 123331 File ID cache size 64 Blocks currently in extent cache 0 Quota cache size 240 Maximum buffers in FCP cache 548 Volume owner UIC [1,1] Vol Prot S:RWCD,O:RWCD,G:RWCD,W:RWCD Volume Status: ODS-2, subject to mount verification, protected subsystems enabled, file high-water marking, write-through caching enabled. SNORRY::SYSTEM$ Asbesto Molesto, [30.01.20 12:06] immagine di snorry trimmata alla dimensione fisica: Asbesto Molesto, [30.01.20 12:06] Default buffer size 512 Total blocks 2070235 Sectors per track 73 Total cylinders 2182 Tracks per cylinder 13 Asbesto Molesto, [30.01.20 12:06] immagine di snorry 2GB: Asbesto Molesto, [30.01.20 12:06] Default buffer size 512 Total blocks 3887112 Sectors per track 73 Total cylinders 4097 Tracks per cylinder 13 Asbesto Molesto, [30.01.20 12:07] non e' che il FS e' stato espanso Asbesto Molesto, [30.01.20 12:07] e' che vede il device per quanto e' grosso Asbesto Molesto, [30.01.20 12:07] @gerriunderscore @Mancausoft Asbesto Molesto, [30.01.20 12:07] e l'errore di ana/disk e' DIVERSO tra i due Asbesto Molesto, [30.01.20 12:07] l'immagine precisa del disco trimmata giusta dice Asbesto Molesto, [30.01.20 12:07] %ANALDISK-W-CHKSCB, invalid storage control block, RVN 1 SNORRY::SYSTEM$ Asbesto Molesto, [30.01.20 12:08] mentre l'immagine disco da 2GB dice Asbesto Molesto, [30.01.20 12:08] %ANALDISK-I-SHORTBITMAP, storage bitmap on RVN 1 does not cover the entire devic e SNORRY::SYSTEM$ Asbesto Molesto, [30.01.20 12:08] che e' ben diverso
un ana/disk/repair ripara il fs trimmato correttamente...
Un successivo BACKUP /IMAGE ha copiato ogni file senza problemi
ho creato altri 2 devices
dua0 boot, dua1 copia di boot trimmata e ana/disk/repair-ata, dua2 idem
ho formattato dua2, initialize
l'ho montata FOREIGN
e ho dato backup /image da dua2 a dua3
SNORRY::SYSTEM$ mount /foreign dua2: %MOUNT-I-MOUNTED, SNORRYNEW mounted on _SNORRY$DUA2: SNORRY::SYSTEM$ backup /image dua1: dua2: %BACKUP-I-NOBACKUP, DUA1:[SYS0.SYSEXE]ERRORLOG.DMP;1 data not copied, file marke d NOBACKUP %BACKUP-I-NOBACKUP, DUA1:[SYS0.SYSEXE]PAGEFILE.SYS;1 data not copied, file marke d NOBACKUP %BACKUP-I-NOBACKUP, DUA1:[SYS0.SYSEXE]SWAPFILE.SYS;1 data not copied, file marke d NOBACKUP %BACKUP-I-NOBACKUP, DUA1:[SYS0.SYSEXE]SYSDUMP.DMP;1 data not copied, file marked NOBACKUP
ha copiato tutto
pero' dua3 da:
Asbesto Molesto, [30.01.20 13:59] il disco backuppato da' cio': Asbesto Molesto, [30.01.20 13:59] SNORRY::SYSTEM$ ana /disk _Device: dua0: Analyze/Disk_Structure for _SNORRY$DUA0: started on 30-JAN-2020 13:58:44.96 %ANALDISK-W-CHKSCB, invalid storage control block, RVN 1 %ANALDISK-I-BADHIGHWATER, file (1423,2,1) ERRORLOG.DMP;1 inconsistent highwater mark and EFBLK %ANALDISK-W-ALLOCCLR, blocks incorrectly marked allocated LBN 1126638 to 1126646, RVN 1 %ANALDISK-W-INCQUOTA, QUOTA.SYS indicates 627067 blocks used, actual use is 627057 blocks for [SYSTEM] %ANALDISK-W-FREESPADRIFT, free block count of 1232973 is incorrect (RVN 1); the correct value is 1232982 SNORRY::SYSTEM$
Alla fine, secondo me:
Asbesto Molesto, [30.01.20 12:37] allora. 2GB. Asbesto Molesto, [30.01.20 12:37] la mia ipotesi e': Asbesto Molesto, [30.01.20 12:37] il sistema ha girato con l'immagine da 2GB, e tempo fa fu pure fatto un ana/disk/repair, me lo ricordo Asbesto Molesto, [30.01.20 12:37] quindi ha CAPITO che il disco e' da 2GB Mancausoft, [30.01.20 12:37] si esatto Asbesto Molesto, [30.01.20 12:37] MA il fs e' rimasto da 1.05 gb (rvn invalid storage block) Katolaz, [30.01.20 12:37] 710 messaggi Mancausoft, [30.01.20 12:37] [In reply to Asbesto Molesto] non e' detto Asbesto Molesto, [30.01.20 12:37] ora se lo resizi Asbesto Molesto, [30.01.20 12:37] si vede il disco ristretto e da' errore Katolaz, [30.01.20 12:37] che minchia siete PAZZI? Mancausoft, [30.01.20 12:37] [In reply to Asbesto Molesto] io non ho sto errore Asbesto Molesto, [30.01.20 12:37] quindi ti dice quella cosa Katolaz, [30.01.20 12:37] che cazzo e' successo? Katolaz, [30.01.20 12:38] MORTO MEDIALAB? Mancausoft, [30.01.20 12:38] perche' io uso i parametri giusti a simh Asbesto Molesto, [30.01.20 12:38] MA se metti il fs alla dimensione fisica del disco Mancausoft, [30.01.20 12:38] se metti parametri a cazzo in simh hai quell'errore Katolaz, [30.01.20 12:38] CROLLATO IL VATICANO? Asbesto Molesto, [30.01.20 12:38] improvvisamente gli coincide tutto tranne RVS 1 Asbesto Molesto, [30.01.20 12:38] allora, un colpo di ana/disk/rep Asbesto Molesto, [30.01.20 12:38] e si sistema Mancausoft, [30.01.20 12:38] se metti il parametro giusto a simh non hai quell'errore Mancausoft, [30.01.20 12:38] [In reply to Asbesto Molesto] no Asbesto Molesto, [30.01.20 12:38] IMHO si Asbesto Molesto, [30.01.20 12:38] zero errori su ana/disk per me e' RISOLUTIVO
edit dei files
intanto usa vmsterm (in fondo a questo doc) per connetterti. usa xterm!
poi,
edit /edt nomefile all'asterisco, scrivi CHANGE editi visualmente! quando hai finito, ctrl-z torna all'asterisco, scrivi exit, e lui salva. Se premi "Home" ti apre search! Scrivi il testo da cercare, premi nuovamente home e va sul testo trovato! NOTA: SU VMSTERM/XTERM, IL CUT'N PASTE DA MOUSE FUNZIONA COL TASTO CENTRALE SUL MIO THINKPAD.
recall dei comandi / history
recall /all
Dove stanno i files
alias cagate e definizioni stanno dentro
SYS$SYSCOMMON:[SYSMGR]SYLOGIN.COM
cercare:
SNORRY::SYSTEM$ set def [000000] SNORRY::SYSTEM$ dir [...]games*;* $ DIR [.mydirectory...]my*file.spec*;* would find any file beginning with MY followed by any sequence, ending its name with FILE, and with its type specification beginning with SPEC in MYDIRECTORY and all the tree down inside. $ DIR $Disk:[user...]myfile.typ;4 would search for 4th version of MYFILE.TYP in all the USER's directory tree. $ DIR $Disk:[user.*...]myfile.typ would look inside all subdirectories AND their subtrees in USER. Furthermore, since this feature is one of DIRECTORY SPECIFICATION and no of DIR, you can use it for any program that allows ambiguous file specification (e.g.): $ SEARCH [...]*.*;* MY_SEARCH_SEQUENCE would search in all the files contained in the directory tree that hangs from the current directory for "my_search_sequence" and report all the files that contain it.
Login banner e welcome:
dentro SYS$SYSROOT:[SYSMGR] ci sono ANNOUNCE.TXT e WELCOME.TXT
Snorry: stanno in dua0:[games] dua0:[GAMES.STARTREK]STARTREK.EXE startrek.com deve avere i path giusti all'interno (dua0: nell'emulatore) Glorry: dua0:[games] molti eseguibili .com puntano a dka200: che era di glorry, va settato a dua0:
vax.ini dell'emulatore simh glorry
set log ./glorry.log load -r ./ka655.bin attach nvr ./nvram.bin set cpu 64m set cpu idle set rq0 ra92 attach rq0 ./glorry.img ; disable unused stuff ; rl01/02 set rl disable ; magtape set ts disable ; floppy lo abilito set ry disable ; deqna is faster! SET XQ TYPE=DEQNA set xq mac=08-00-2B-0C-AC-CA attach xq eth2 ; create a tape device, you never know set tq enable set tq tk70 att tq0 mua0.tape ; se attivi questo, perdi lo schermo qua sotto screen ; set console telnet=17100 set cpu conhalt dep bdr 0 boot cpu exit
you need the correct ka655.bin or ka655xbin or whatever the hell your fucking simh version need, to avoid a lot of diag / boot errors!
call it "vax.ini" in the same dir of the disk image,
launch vax from root user
With the above setup, vax will boot automagically. If you need to tweak and boot manually, simply write
boot dua0:
at the simh prompt.
ET VOILA', AVEC LA MERDE
ethernet holocaust
vax.ini ha settato "eth0". su corazzini parte da eth3 PERCHE' UDEV MERDA PORCODIO.
ma eth0 viene visto su eth3, che ha l'ip di corazzini.
ora se tiri su anche eth4 ed eth5, puoi avere altri vax.ini su eth1 ed eth2.
HAI CAPITO PORCODIO?
problemino con mmm.exe
Sto gioco ha bisogno di una patch:
> suspend ENTER FILENAME TO STORE IT UNDER (0 TO ABORT REQUEST) ?a.sav YOUR CURRENT SITUATION IS SAVED AND WILL BE GOOD FOR ANY REVISION 16 YOU CAN NOW QUIT OR CONTINUE. ENTER RESTORE, AT ANY TIME, TO LOAD THE SITUATION YOU SUSPENDED WHEN YOU ARE FINISHED, PURGE THE FILE. > restore ENTER FILENAME IT WAS SUSPENDED UNDER (0 TO ABORT REQUEST) ?a.sav %FOR-F-INPSTAREQ, input statement requires too much data unit 55 file SYS_USERS:[LUTHER]A.SAV;1 user PC 0002278B SNORRY::LUTHER$ Non e' grave, visto che il gioco al massimo dura 450 mosse, ma e' una cosa abbastanza antipatica. Si aggiusta facilmente cambiando un byte con patch: $ patch mmm.exe PATCH>depo/long LOC>0002278B NEW>5901043D NEW>exit old: 0002278B: 5901283D new: 0002278B: 5901043D PATCH>update %PATCH-I-WRTFIL, updantig image file DUA1:[GIASSI]MMM.EXE;2 Non mi ricordo di aver avuto questo problema quando ci ho giocato 30 e passa anni fa, ma e' possibile che non sapessi nemmeno che il comando per salvare fosse 'suspend'.
da una mail di Sandro Giassi
Creare utenti by Gerry
N.B. Tutto questo funziona a patto che l'utente DEFAULT non abbia subito modifiche "strane" e che SYS_USERS sia un nome logico valido
In AUTHORIZE
Cercare il primo UIC (ottale!) libero con
SHOW [200,*]/BRIEF
poi
ADD <utente>/PASSWORD=<qualcosa>/OWNER="Nome Utente"/ACCOUNT=USERS/UIC=[200,<qualcosa>]/DEVICE=SYS_USERS/DIRECTORY=[<utente>]/NOPWDLIFETIME/FLAG=NODISUSER ADD/PROXY *::<utente> <utente>/DEFAULT
In DISKQUOTA (se le quote sono attive, cfr. QUOTA.SYS)
Uno solo dei seguenti in base alle esigenze:
ADD [<utente>] (così aggiunge con i default presi da [0,0])
ADD [<utente>]/PERMQUOTA=<qualcosa>/OVERDRAFT=<qualcosa> (se si omette uno dei due qualificatori, per quel valore prende i default da [0,0])
Al prompt (dopo aver creato l'utente)
CREATE/DIRECTORY SYS_USERS:[<utente>]/OWNER=[<utente>]
Licenze vax/vms
ATTENZIONE Il file delle licenze che ti mandano oggi e' pieno di CR / LF ad minchiam. VA CONVERTITO CON dos2unix prima di caricarlo sul vax altrimenti da' un mare di errori.
IMPORTANTE NON FARLE SCADERE ALTRIMENTI I CAZZI IN CULO SI MOLTIPLICANO A DISMISURA
sucati le licenze da decus usa, anzi no, da montagar.com, anzi no, da encompass, anzi no! da https://www.hpe.com/h41268/live/index_e.aspx?qid=24548
usa i numeri decus:
<suco> guarda e' qui <asbesto> asbesto@gemini:~/licenzevms$ ls <asbesto> cazzo glorry glorry~ howto snorry snorry~ <asbesto> asbesto@gemini:~/licenzevms$ <suco> /AUTHORIZATION=DECUS-USA-904422-1257142 - <asbesto> perfetto, allora ce l'ho <suco> 904422 <suco> e' il mio id <asbesto> snorry:/AUTHORIZATION=DECUS-USA-908286-1224202 - <asbesto> bene <suco> quello al momento e' l'unica cosa che ti serve per generare le licenze
se le licenze sono gia' scadute devi caricare come prima cosa UCX, che e' il tcpip.
Gerardo Cacciari, [23.03.19 12:47] dicevo: il db delle licenze è l'unico file *.ldb in sys$system e dicevo anche che però in caso di cluster bisogna stare piu attenti a quel che si fa ma visto che questo non è un cluster basta cancellare fisicamente quel file GLORRY::SYSTEM$ dir sys$system:*.ldb.* Directory SYS$COMMON:[SYSEXE] LMF$LICENSE.LDB;1 Total of 1 file. GLORRY::SYSTEM$ GLORRY::SYSTEM$ del/conf sys$system:LMF$LICENSE.LDB;1 DELETE SYS$COMMON:[SYSEXE]LMF$LICENSE.LDB;1 ? [N]: y GLORRY::SYSTEM$ ora creare database nuovo: dare semplicemente LIC CRE Gerardo Cacciari, [23.03.19 13:00] ora carichi le licenze che ti servono, quelle fondamentali vms tcp e decnet rispettivamente vax-vms ucx dvnetend creo un fiile con dentro ste 3 licenze, copy/paste in un .com: Gerardo Cacciari, [23.03.19 13:07] non importava il resto, i vari enable e disable l'importante sono i license register il resto non serve a niente e fa solo casino tanto non hai licenze caricate e non hai licenze nel db (dato che è nuovo) quindi solo le tre parti LICENSE REGISTER crea peto.com (copy/paste) CTRL-Z dopodiche' lancio @peto poi LIC LOAD e le carica tutte con SH LIC vedi le licenze caricate. eventualmente (glorry) vedi anche licenze infinite che sono rimaste in memoria ma non stanno piu' nel DB che e' stato cancellato prima. se ora riavvio, vien su con quelle licenze caricate :) ma carichiamo le 4 licenze infinite di glorry: GLORRY::SYSTEM$ set def dua0:[data.lic] GLORRY::SYSTEM$ dir Directory DUA0:[DATA.LIC] BLISS_PAK.COM;1 DIBOL_PAK.COM;1 FTSV_PAK.COM;1 SCAN_PAK.COM;1 VMS_PAKS_END_20110719.BCK;1 VMS_PAKS_END_20140124.COM;1 VMS_PAKS_END_20160513.COM;1 VMS_PAKS_END_20170714.COM;1 Total of 8 files. GLORRY::SYSTEM$ quindi eseguo @bliss_pak etc. etc. e poi RIAVVIARE!!! al riavvio puoi settare il TCPIP. POI carichi il file delle licenze, infine, con ftp, su una tua utenza, ci vai e lo lanci Gerardo Cacciari, [23.03.19 15:00] SNORRY::RPT$ sho log users "USERS" = "SYS_DISK:[USERS]" (LNM$SYSTEM_TABLE) SNORRY::RPT$ sho log sys_users "SYS_USERS" = "SNORRY$DKA0:[USERS.]" (LNM$SYSTEM_TABLE) SNORRY::RPT$ Gerardo Cacciari, [23.03.19 15:00] Uno è rooted e l'altro no ergo set def sys_users set def [asbesto] @filedelcazzo e attendi
SE hai rete / ti sei ricordato prima della scadenza:
crea un file con le licenze base e layered insieme, ascii
entra nel vax da system
sucati con ftp IN ASCII il file delle licenze
rinominalo .com
poi:
lic dis * lic del * @nomedelfile.com lic load lic ena *
fine!
Configurazione tcpip
lancia @sys$manager:tcpip$config
va solo cambiata l'interfaccia, per glorry, poiche' ha gia' i settings. ora e' su emu ed e' differente
poi va eliminata la vecchia interfaccia di glorry, che pare essere ze0
vedi tutto da "tcpip", "sh int" "sh con int"
ergo
set conf nointerf ze0
exit o ctrl-z e tcpip e' a posto!
riavviare tcpip per vedere se ci sono errori strani lo fai dal menu di @sys$manager:tcpip$config
POI va fatto questo:
$! RPT 23-MAR-2019 $ $ ON ERROR THEN GOTO END_LOOP $ ON CONTROL_Y THEN GOTO END_LOOP $ $ IF F$SEARCH("POST_DECNET_SETUP.TMP;*") .NES. "" THEN - DELETE/NOLOG POST_DECNET_SETUP.TMP;* $ $ MCR NCP SHOW KNOWN LINES TO POST_DECNET_SETUP.TMP $ OPEN/READ LINE_LIST POST_DECNET_SETUP.TMP $ $LOOP: $ READ/END=END_LOOP LINE_LIST LINE_ENTRY $ $ LINE_ITEM = F$EDIT(LINE_ENTRY,"TRIM,COMPRESS") $ LINE_ITEM = F$ELEMENT(0," ",LINE_ITEM) $ $ IF (LINE_ITEM .EQS. "") .OR. - (LINE_ITEM .EQS. "Known") .OR. - (LINE_ITEM .EQS. "Line") THEN GOTO LOOP $ $ WRITE SYS$OUTPUT "Line/Circuit ",LINE_ITEM $ $ MCR NCP SET CIRCUIT 'LINE_ITEM' STATE OFF $ MCR NCP SET LINE 'LINE_ITEM' STATE OFF $ $ MCR NCP SET LINE 'LINE_ITEM' BUFFER SIZE 1456 $ MCR NCP DEFINE LINE 'LINE_ITEM' BUFFER SIZE 1456 $ MCR NCP SET CIRCUIT 'LINE_ITEM' HELLO TIMER 90 $ MCR NCP DEFINE CIRCUIT 'LINE_ITEM' HELLO TIMER 90 $ $ MCR NCP SET LINE 'LINE_ITEM' STATE ON $ MCR NCP SET CIRCUIT 'LINE_ITEM' STATE ON $ $ GOTO LOOP $ $END_LOOP: $ CLOSE LINE_LIST $ IF F$SEARCH("POST_DECNET_SETUP.TMP;*") .NES. "" THEN - DELETE/NOLOG POST_DECNET_SETUP.TMP;* $ $ EXIT
ora, DECNET E BRIDGE SEMENTALE
Problemi al disco
anal /disk
ana/disk/repair
porcoddio
decnet settings
$! RPT 23-MAR-2019 $ $ ON ERROR THEN GOTO END_LOOP $ ON CONTROL_Y THEN GOTO END_LOOP $ $ DEFINE/USER SYS$OUTPUT NL: $ DEFINE/USER SYS$ERROR NL: $ DELETE/NOLOG POST_DECNET_SETUP.TMP;* $ $ MCR NCP SHOW KNOWN LINES TO POST_DECNET_SETUP.TMP $ OPEN/READ LINE_LIST POST_DECNET_SETUP.TMP $ $LOOP: $ READ/END=END_LOOP LINE_LIST LINE_ENTRY $ $ LINE_ITEM = F$EDIT(LINE_ENTRY,"TRIM,COMPRESS") $ LINE_ITEM = F$ELEMENT(0," ",LINE_ITEM) $ $ IF (LINE_ITEM .EQS. "") .OR. - (LINE_ITEM .EQS. "Known") .OR. - (LINE_ITEM .EQS. "Line") THEN GOTO LOOP $ $ MCR NCP SET CIRCUIT 'LINE_ITEM' STATE OFF $ MCR NCP SET LINE 'LINE_ITEM' STATE OFF $ $ MCR NCP SET LINE 'LINE_ITEM' BUFFER SIZE 1456 $ MCR NCP DEFINE LINE 'LINE_ITEM' BUFFER SIZE 1456 $ MCR NCP SET CIRCUIT 'LINE_ITEM' HELLO TIMER 90 $ MCR NCP DEFINE CIRCUIT 'LINE_ITEM' HELLO TIMER 90 $ $ MCR NCP SET LINE 'LINE_ITEM' STATE ON $ MCR NCP SET CIRCUIT 'LINE_ITEM' STATE ON $ $ GOTO LOOP $ $END_LOOP: $ CLOSE LINE_LIST $ DELETE/NOLOG POST_DECNET_SETUP.TMP;* $ $ EXIT
vmsterm
funge bene, usa xterm, permette EDIT da rt11!!!
# vmsterm # from an original script by Bob Ess # key translations by Erik Ahlefeldt # # Script file using Xterm and telnet to connect to a VMS host # and give a decent vt220 emulation. # # Some adjustment made by asbesto@freaknet.org # 25-DEC-2014 # # Usage statement Usage(){ echo echo " Usage : vmsterm -options" echo echo " Options: -80 for 80 column terminal" echo " -132 for 132 column terminal" echo " -bg colorname" echo " -fg colorname" echo " -fn fontname" echo " -fb bold fontname" echo " -host [crusher.saltmine.com] [earth] [192.168.7.7]" echo " -port portnum" echo "" echo " Example: \"vmsterm -80 -fg white -bg black -fn 9x15 -fb 9x15b -host earth\"" echo " Starts a VMS session with an 80 column terminal" echo " with a black background, white foreground, a normal" echo " font of 9x15 and a bold font of 9x15b, and connects" echo " to the node 'earth'" echo "" echo " Example: \"vmsterm -host earth -port portnum\"" echo " Starts a VMS session with default terminal settings " echo "" echo " Example: \"vmsterm -help\"" echo " Displays vmsterm options " echo exit 1 } # Default to a black foreground with a white background. # Use the 9x15 and 9x15bold fonts. Connect to 192.168.3.3 by default. # FG=black BG=white HOST="museo.freaknet.org" PORT="1134" FONT=10x20 BFONT=9x15bold COLS=80 # Parse the command line arguments # while [ $# != 0 ]; do case $1 in -80) COLS=80 FONT=spc12x24c BFONT=spc12x24b shift ;; -132) COLS=132 FONT=9x15 BFONT=9x15b shift ;; -fg) shift FG=$1 shift;; -bg) shift BG=$1 shift;; -fn) shift FONT=$1 shift;; -fb) shift BFONT=$1 shift;; -host) shift HOST=$1 shift;; -port) shift PORT=$1 shift;; -help) Usage;; *) Usage;; esac done xterm -title "VMSTERM" -sb -sl 1000 -geo ${COLS}x24 -fg ${FG} -bg ${BG} \ -cr blue -fn ${FONT} -fb ${BFONT} -xrm \ 'XTerm*VT100.translations: #override \n \ ~Shift <Key>F1: string(0x1b) string("OP") \n \ ~Shift <Key>F2: string(0x1b) string("OQ") \n \ ~Shift <Key>F3: string(0x1b) string("OR") \n \ ~Shift <Key>F4: string(0x1b) string("OS") \n \ ~Shift <Key>F5: string("Break") \n \ ~Shift <Key>F6: string(0x1b) string("[17~") \n \ ~Shift <Key>F7: string(0x1b) string("[18~") \n \ ~Shift <Key>F8: string(0x1b) string("[19~") \n \ ~Shift <Key>F9: string(0x1b) string("[20~") \n \ ~Shift <Key>F10: string(0x1b) string("[21~") \n \ ~Shift <Key>F11: string(0x1b) string("[23~") \n \ ~Shift <Key>F12: string(0x1b) string("[24~") \n \ Shift <Key>F1: string(0x1b) string("[23~") \n \ Shift <Key>F2: string(0x1b) string("[24~") \n \ Shift <Key>F3: string(0x1b) string("[25~") \n \ Shift <Key>F4: string(0x1b) string("[26~") \n \ Shift <Key>F5: string(0x1b) string("[28~") \n \ Shift <Key>F6: string(0x1b) string("[29~") \n \ Shift <Key>F7: string(0x1b) string("[31~") \n \ Shift <Key>F8: string(0x1b) string("[32~") \n \ Shift <Key>F9: string(0x1b) string("[33~") \n \ Shift <Key>F10: string(0x1b) string("[34~") \n \ Shift <Key>F11: string(0x1b) string("[28~") \n \ Shift <Key>F12: string(0x1b) string("[29~") \n \ <Key>Print: string(0x1b) string("[28~") \n \ <Key>Cancel: string(0x1b) string("[29~") \n \ <Key>Pause: string(0x1b) string("Om") \n \ <Key>Insert: string(0x1b) string("[2~") \n \ <Key>Delete: string(0x1b) string("[3~") \n \ <Key>Home: string(0x1b) string("[1~") \n \ <Key>End: string(0x1b) string("[4~") \n \ <Key>Prior: string(0x1b) string("[5~") \n \ <Key>Next: string(0x1b) string("[6~") \n \ <Key>BackSpace: string(0x7f) \n \ <Key>Num_Lock: string(0x1b) string("OP") \n \ <Key>KP_Divide: string(0x1b) string("OQ") \n \ <Key>KP_Multiply: string(0x1b) string("OR") \n \ <Key>KP_Subtract: string(0x1b) string("OS") \n \ <Key>KP_Add: string(0x1b) string("Ol") \n \ <Key>KP_Enter: string(0x1b) string("OM") \n \ <Key>KP_Decimal: string(0x1b) string("On") \n \ <Key>KP_0: string(0x1b) string("Op") \n \ <Key>KP_1: string(0x1b) string("Oq") \n \ <Key>KP_2: string(0x1b) string("Or") \n \ <Key>KP_3: string(0x1b) string("Os") \n \ <Key>KP_4: string(0x1b) string("Ot") \n \ <Key>KP_5: string(0x1b) string("Ou") \n \ <Key>KP_6: string(0x1b) string("Ov") \n \ <Key>KP_7: string(0x1b) string("Ow") \n \ <Key>KP_8: string(0x1b) string("Ox") \n \ <Key>KP_9: string(0x1b) string("Oy") \n \ ~Shift <Key>Up: string(0x1b) string("[A") \n \ Shift <Key>Up: scroll-back(1,lines) \n \ ~Shift <Key>Down: string(0x1b) string("[B") \n \ Shift <Key>Down: scroll-forw(1,lines) \n \ <Key>Right: string(0x1b) string("[C") \n \ <Key>Left: string(0x1b) string("[D")' \ -e telnet $HOST $PORT
Immagine X fatta al CUD
emiliano, [18.07.20 12:34]
Config:
attach nvr nvram.bin set cpu 128m set cpu idle=vms set rq0 ra92 attach rq0 discoX.img boot cpu
emiliano, [18.07.20 12:34] questo il config, poi però sono in grado di farlo partire solo così:
>>>B/R5:1
e poi
SYSBOOT> USE DEFAULT SYSBOOT> SET STARTUP_P1 "MIN" SYSBOOT> CONTINUE
Asbesto Molesto, [18.07.20 12:35] MIN sta ovviamente per MINCHIA.
emiliano, [18.07.20 12:36] naturalmente se vuoi resettare la pw di SYSTEM devi aggiungere a questi comandi la solita procedura
prima di
CONTINUE
SYSBOOT> SET WINDOW_SYSTEM 0 SYSBOOT> SET WRITESYSPARAMS 0 SYSBOOT> SET STARTUP_P1 "MIN" SYSBOOT> CONTINUE