Newsgroup: it.comp.retrocomputing
Titolo: SIMH

Host Linux.
Scaricato il sorgente (3.8-1), installato flex, bison (yacc), libcap 
1.1.1.
La compilazione senza supporto ethernet ha successo (pur con una vagonata 
ti warnings).
Se aggiungo USE_NETWORK=1, cominciano i dolori.
make restituisce
/usr/local/lib/libpcap.a(grammar.o): In function `pcap_parse':
grammar.c:(.text+0x3e1): undefined reference to `pcap_lex'
allora provo con libpcap 0.8.1
/tmp/ccYEqH36.o: In function `eth_write':
/home/supervinx/simh/sim_ether.c:1070: undefined reference to 
`pcap_sendpacket'
collect2: ld returned 1 exit status
Guardo il sorgente sim_ether.c: vorrebbe almeno la 9.
La 9.1 l'ha digerita ;)
Si avvia regolarmente, sembra tutto a posto.
Non mi resta che trovare OpenVMS.

Mi sono iscritto a OpenVMS Hobbyist Portal.
L'unico modo di ottenere OpenVMS per SIMH/Vax è quello di richiedere il 
kit ?



Ti ho diffusamente risposto nell'altro thread (comunque la risposta è no):
http://groups.google.it/group/it.comp.retrocomputing/msg/8ca39467d46754bb
Ciao, :-)
G.



Scusa, non l'avevo controllato l'altro thread, mi dev'esser sfuggito :(
Sembra veramente più lungo a dirsi che a farsi ;)
Ho già avviato l'emulatore ed ho ottenuto la classica risposta da console 
(con l'errore del file immagine del CD, ovviamente non c'era ...)
Un paio di domandine (approfitto).
decuserve.org
 mi ha rilasciato una password temporanea (8 cifre) che ho 
utilizzato per il successivo login, ove mi ha chiesto di impostare la 
nuova password, ma non ho avuto il codice numerico di cui parlavi.
Adesso ho accesso alla macchina EISNER.
La pagina
http://www.openvmshobbyist.org/licenses.php
mi chiede il Partecipating chapter (e dovrebbe essere DECUserve) e 
Membership Number ??

 Membership Number ??
Il membership number te l'avrŕ visualizzato durante la registrazione, ma
forse t'č scappato. Comunque in ogni momento dalla command line di Eisner
con il comando HOBBYIST si ottiene il riepilogo di tutto. Le ultime tre
righe in basso ti riportano in alta intensitŕ (se hai un emulatore di
terminale appena decente) tutti i dati che si aspetta Montagar. :-)
| When requesting Hobbyist licenses please use the following:
| Participating Chapter: DECUServe
| Membership Number: nnnnnn
| Last Name: XXX
Ciao,
G.

 G.
Ho ricontrollato i log, ma i dati non c'erano, la connessione s'è chiusa 
prima ;)
Grazie, ad ogni modo, li ho recuperati con HOBBYIST.
Ho pure scritto due righe in C (EVE), compilate ed eseguite su EISNER.
Come prima volta assoluta su VMS, senza manuale, mi son divertito.
Puoi non sapere i comandi, ma con un po' di fantasia e l'help si rimedia.
Certo che SHOW è tuttofare, persino SHOW time :D
Ho avuto un attimo solo di perplessità con il formato dei files: 
prova.c;1 ;)

 prova.c;1 ;)
Ho cercato in giro perché mi sembrava di aver già scritto in proposito, ma
non ho trovato. Dunque, cercando di scrivere qualcosa di breve (per una
volta), devi sapere che il filesystem di VMS supporta file molto più
complessi di una semplice sequenza di byte (come si può notare anche con
DIR/FULL). Riassumendo molto, un file può essere sequenziale, relativo o
indicizzato. Tutte le volte che si scrive (o riscrive) un file sequenziale,
ne viene creata una nuova versione, con lo stesso nome ma con il numero dopo
il punto e virgola incrementato di uno. Se apri il tuo PROVA.C;1 fai qualche
modifica e salvi di nuovo, sul disco troverai anche PROVA.C;2 (salvo casi,
eccezioni e impostazioni particolari).
Per eliminare le versioni vecchie e tenere solo l'ultima c'è il comando
PURGE, se vuoi tenere le ultime N versioni basta specificare /KEEP=N. Per
cancellare una specifica versione c'è DELETE, per esempio DELETE PROVA.C;3.
Per eliminare tutte le versioni occorre specificare ;* come versione.
Ci si può riferire alle varie versioni esplicitamente specificando l'esatto
numero di versione dopo il nome del file, oppure usare i numeri di versione
relativi: FILE.EXT;0  rappresenta la versione più recente disponibile,
FILE.EXT;-1 quella subito prima e così via. FILE.EXT;-0 rappresenta la più
vecchia fra quelle nella directory in quel momento. Di default se non viene
specificato nulla si intende sempre la versione più recente o tutte, secondo
il comando (per COPY si intende la più recente, per DIR tutte).
Ciao,
G.



Il file system ho iniziato a capirlo: ho creato directories e mi sono 
"spostato" (fin dove avevo privilegi, ovviamente).
Una volta in sintonia con la filosofia, sembra tutto immediato (o 
quasi) :)
Offre un bel po' di servizi EISNER, sto dando un'occhiata un po' alla 
volta ...
Che tu sappia, mail spedisce solo agli utenti di EISNER ?
mail xxx user funziona
mail xxx us...@domain.yy no.



Mi son risposto da solo ;)
http://www2.units.it/studsci/fisica/mu-corso97/vms/vms_mail.html
:) :) :) :)

Anzi,
http://www.openvms.compaq.com/doc/732final/6525/6525pro_015.html

 mail xxx us...@domain.yy no.
Ho appena provato e ha funzionato. Forse sbagli sintassi? Non puoi scrivere
direttamente al prompt qualcosa tipo "$ MAIL FILE.TXT user@domain" perché in
DCL la chiocciola da sempre ha un altro significato. Però se scrivi MAIL e
basta ti ritrovi al prompt MAIL> dove puoi scrivere SEND e dare Invio così
ti chiederà indirizzo e subject. A quel punto, nell'indirizzo puoi mettere
anche la chiocciola e funzionerà.
Anzi, ti dirò di più, se scrivi direttamente al prompt DCL, ma racchiudendo
l'indirizzo con la chiocciola tra virgolette, funziona. Ho provato ora:
$ MAIL nomediunfile "user@domain"
La cosa scomoda è che sia MAIL al prompt sia SEND all'interno, come primo
parametro prendono il nome di un file di testo da inviare. Per evitarlo o
non scrivi niente e dai invio finché non ti chiede lui di digitare indirizzo
e testo, oppure (e in certi casi può essere utile, per esempio dentro una
procedura) come file specifichi SYS$INPUT cioè quello che in Unix è stdin.
Il qualificatore /EDIT a MAIL o SEND ti permette di richiamare l'editor di
tua scelta (di default TPU/EVE) invece dell'interfaccia rudimentale di mail.
La posta in arrivo va a finire nel tuo mail-file che si chiama MAIL.MAI e
sta nella tua home (SYS$LOGIN). Ma quando ricevi messaggi che occupano più
di tre blocchi (1536 byte), viene creato un file esterno per ogni messaggio,
per non intasare e frammentare troppo MAIL.MAI. Però così ti trovi dei file
tipo MAIL$1234567890ABCDEF.MAI in giro per la home, quindi ti consiglio il
comando SET MAIL_DIRECTORY da dentro MAIL per dirgli di spostare tutta la
posta in una subdirectory (tipicamente [.MAIL]). Se non esiste la crea lui
prima di spostarci dentro tutto, altrimenti fa solo lo spostamento.
I file poi se li gestisce lui automaticamente: quando cancelli un messaggio
lungo ci pensa lui a eliminare il relativo file esterno.
Ciao,
G.

 
http://www.openvms.compaq.com/doc/732final/6525/6525pro_015.html
Ah ecco, ti ho risposto e non ho visto che nel frattempo hai fatto da solo.
Comunque la documentazione ufficiale e aggiornata ora � qui:
 
http://h71000.www7.hp.com/doc/
Ciao,
G.



OpenVMS 7.3 è stato trovato :)
Mancano solo le licenze (la comunicazione di decuserve ...)

Il 05/07/2010 15:11, supervinx ha scritto:
[cut]
Affacinantissimo....
In pratica dove la security by obfuscating realmente funziona e' nel 
tenere alla larga lamers, skript kiddies e leechers...
Con questo sistema solo chi è davvero interessato, e in questo contesto 
"davvero interessato" equivale a "capire davvero di comp" e questa 
apparentemente farraginosa procedura in realtà e' semplice, forse 
semplicissima; Uno di questi giorni dovrei vedere in pratica, devo solo 
trovare una giustificazione a me stesso per giocherellare col VMS sotto 
SIMH e quindi effettuare questa procedura per una hobbyist licence......
Saluti,
dott. Piergiorgio.

Sono arrivate le license... anzi la licenza ...
La mail contiene solo una procedura DCL.
Basta questa o ne servono altre ?



Devi fare due richieste e ricevere due mail. Una con la sola chiave del
sistema operativo (Il tipo di licenza da richiedere è "OpenVMS VAX Base
License") e l'altra bella lunga con tutte le chiavi per tutti i prodotti
aggiuntivi (la richiesta è "OpenVMS Layered Products (104 PAK's!)").
Entrambe le mail saranno sotto forma di procedura DCL, solo che una sarà
molto più lunga dell'altra.
PAK sta per Product Authorization Key. In testa a ciascuna delle mail
contenenti una o più chiavi c'è il testo della licenza vera e propria.
Se conti di caricare solo quella del sistema operativo e quella del TCP/IP
per poi copiarti via rete il malloppo e applicare tutte le altre, o ti
ricordi di eliminare dal malloppo quella del TCP/IP oppure devi mettere in
testa alla procedura la riga $ SET NOON altrimenti quando arriva a caricare
quella del TCP/IP ti va in errore per chiave duplicata e si interrompe.
Assolutamente nulla di grave, nel caso basta eliminare dalla procedura le
licenze già caricate e ripartire, ma ci si perde diverso tempo.
SET NOON non è mezzogiorno, ma è la negazione di SET ON, e serve per
disattivare del tutto la gestione degli errori dentro le procedure DCL,
dunque eventuali specifiche esplicite ON WARNING, ON ERROR etc. vengono
ingnorate, mentre se non c'è nulla di specificato, viene disattivato
l'implcito ON ERROR THEN EXIT di default per ogni procedura.
Vedere help di SET ON e di ON. :-)
Ciao,
G.



Ah, ecco ... avevo richiesto solo VAX base ... :(

 Ah, ecco ... avevo richiesto solo VAX base ... :(
Alla fine di tutto, o gli dici LIC LOAD o riavvii. Dopodiché con SHO LIC
vedrai le licenze caricate e la loro scadenza. Invece con LIC LIST * vedi
tutte le licenze caricate nel database su disco.
Durante il boot, una procedura fa LIC START /NOLOG e carica tutte le licenze
utilizzabili dal database delle licenze alla RAM, dove poi i vari prodotti
andranno a verificarle quando lo ritengono necessario.
Dico questo perché chi non lo sa puň confondersi dato che LIC LIST e SHO LIC
potrebbero mostrare cose diverse, infatti il primo mostra il contenuto del
database mentre l'altro le licenze caricate in un'apposita "tabella" in RAM
(e una licenza registrata ma non caricata appare soltanto nel database).
Ciao,
G.

Ho installato le licenze in un attimo: selezionato tutto il testo, 
copiato nella finestra di terminale (Linux) ove gira l'emulatore, lic 
load e sh lic mostra tutto in ordine.
Ma il bello è venuto dopo, nel configurare un pochino di roba seguendo le 
istruzioni della pagina
http://www.wherry.com/gadgets/retrocomputing/vax-simh.html
Sarà anche obsoleta ma è utile ...
L'unico grande problema è l'editor ... non visualizza correttamente a 
video.
Durante lo scroll si ingarbuglia: va un po' meglio con set term /vt100, 
ma non è il massimo.
Se premo RETURN per generare una nuova riga non si capisce più nulla.
Dove posso trovare un manualetto con l'elenco dei comandi di editing ?
C'è poi ancora un punto oscuro, la configurazione TCP/IP di simh.
1) Che indirizzo dovrei assegnare al vax virtuale ?
2) al gateway ?
3) al bind resolver ?
La mia lan casalinga è la solita, 192.168.1/24.
Faccio una pausa ... troppi set def, @, $, [] :)

Configurato TCP/IP, abilitato ftp e telnet (client e server) ma ...
simh mi ha creato un'interfaccia virtuale wmaster0, 207.196.42.1, mentre 
il vax è 207.196.42.9.
Dall'interno di VMS posso accedere al vax (ftp, telnet sia col nome 
simbolico che con 207.196.42.9), ma non accedere all'esterno, neanche al 
gateway 207.196.42.1...
Dove sono i files di configurazione, che vorrei verificare di non aver 
combinato qualche guaio con il nome di dominio o altro ?
Ovviamente, dall'esterno posso accedere a 207.196.42.1 ma non a .9 (vax)
set pausa

 3) al bind resolver ?
Di nuovo ripeto non vorrei scrivere cose sbagliate, comunque direi che a VMS
devi assegnare un indirizzo IP libero della tua rete, come gateway quello
della tua rete e come server DNS quello che usi per tutte le altre macchine.
Ricordati perň che Simh (e quindi VMS) non puň parlare direttamente con la
macchina che lo ospita, quindi se il gateway e/o il DNS sono la macchina su
cui sta girando Simh, c'č qualche difficoltŕ in piů. Se la macchina ha piů
interfacce di rete, una soluzione puň essere quella di dedicarne una a Simh,
oppure mi pare che si possa fare qualcosa giocando con tun/tap (forse c'era
anche una patch per Simh, per migliorare la cosa), ma attendiamo pareri da
chi ne sa di piů...
Ciao,
G.

 set pausa
SET PROCESS/SUSPEND :)
G.

Azz ... ho letto anch'io dell'impossibilità di dialogare con la macchina 
ospite ...
Sono fuori casa con un portatile, dunque non posso provare con una 
seconda macchina a collegarmi a simh dall'esterno :(
Aspetterò ...

Chiarisco meglio la domanda (chissà mi chiarisca io ...)
L'interfaccia wmaster0 creata da simh, ha un'indirizzo al di fuori della 
mia rete domestica (192.168.1/24 mentre wmaster appartiene a 
207.196.42/24).
La pagina di wherry imposta: 
207.196.42.9 vax virtuale;
207.196.42.1 gateway
207.196.42.2 bind
Ma se (da linux box) effettuo un telnet a 207.196.42.1, mi risponde 
(ovviamente ?) la macchina host linux, che non è né gateway ne bind 
(attualmente connessa in rete tramite ppp ed un modem edge).ù
Da vms, telnet 207.196.42.1 muore lì ... nessuna risposta.
Ma qualsiasi tentativo di connessione all'esterno della rete fallisce 
ugualmente.
Il test proposto da 
$ @sys$manager:tcpip$config è superato senza errori.
Se i valori inseriti non sono corretti, nella mia configurazione di casa, 
dovrei inserire
192.168.1.1 gateway
192.168.1.1 bind
192.168.1.xxx vax
e riconfigurare wmaster0 con un altro indirizzo ?
Secondo problema: come far vedere (una volta sistemato il tutto) la 
macchina vax/simh al mondo esterno, cioè al di fuori della LAN ?
$ @sys$system:shutdown :(

Sembra che l'editor vada meglio.
Non più connessione a simh tramite xterm ma
set console telnet=la_porta_che_volete (23000)
e putty localhost alla porta 23000.
simh offre un telnet server interno.
Ho scelto VT100+: adesso sembra funzioni (quasi) a dovere.
Per oggi credo che non vi disturberò più ... pausa ciclistica !

On Sun, 11 Jul 2010 14:13:16 +0000, supervinx wrote:
gli ip usati da wherry nel esempio non dovresti nemmeno considerarli,
sono solo di esempio e tra l'altro sono ip pubblici, non sono di certo
applicabili al di fuori del ambiente di rete di wherry.
al simh dovrai assegnare un ip al interno della rete privata che
stai usando, probabilmente una 192.168.x.x, come gateway l'ip del
tuo gateway verso internet (ip del router adsl e/o facente funzione)
e come "bind" come lo identifica lui l'ip del dns che usi (che
sara' probabilmente quello del tuo provider e/o quello del router)
simh di suo non crea alcuna interfaccia lato host, almeno su 
linux e bsd, quel wmaster0 non e' sicuramente legata a simh, tra
l'altro mi risulta essere un interfaccia per uso interno dello
stack mac80211 usato per il wireless su linux.
tra l'altro per il funzionamento "standard" del emulazione
ethernet di simh il sistema emulato non puo' dialogare con
l'host che lo emula, per fare questo ci sono alcuni workaround
usando tun/tap o altre soluzioni, non ho un url sottomano ma
se ne era parlato diffusamente nella lista di simh (parmi)
dovresti riuscire a trovare facilmente la soluzione in rete.
scusami se non sono piu specifico ma sto' rimettendo insieme
un installazione semisana di sunos 4.1.1 per il netboot di
una sun 3/60.
-- 
member of the italian hobbyist DECnet network - 
decnet.ipv7.net
www.unsupported.info
 - 
img.unixantichrist.net

La cosa strana è che l'interfaccia virtuale wmaster0 aveva la stessa 
sottorete degli indirizzi di wherry (????), per questo mi deve aver 
tratto in inganno, insieme alla stanchezza per tre ore consecutive di 
smanettamenti.
M'ero chiesto anch'io, poi, il perché di quegli indirizzi pubblici.
Ho ricercato in tutti i files di simh e non trovato tracce di wmaster0.
Dunque non c'entra proprio niente ... fra l'altro ho letto meglio la 
documentazione di simh.
simh preleva i pacchetti che giungono sulla ethx (nel mio caso eth0), 
alla quale non è connesso un bel nulla (in questa fase vacanziera, 
modem :) )