ORIGINAL TETRIS EMULATION HOWTO
This howto in English language: OriginalTetrisHowto
by MusIF / MIAI, Italy
Museo dell'Informatica Funzionante, Palazzolo Acreide (SR) - http://museo.freaknet.org
Museo Interattivo dell'Archeologia Informatica, Cosenza (CS) - http://verdebinario.org
di Emiliano; traduzione di Stefania; editing, debugging e test di Stefania, Ono Sendai & Asbesto
Se avete la fortuna di possedere I FERRI (PDP-11/23, Elektronika-60, il terminale in cirillico, etc.) forse potra' interessarvi come far funzionare TETRIS direttamente sull'hardware! In questo caso, leggete OriginalTetrisHardwareHowto/IT ;)
Contents
Intro
Ingredienti originali:
- ELEKTRONIKA 60M COMPUTER (clone sovietico del DEC PDP-11/23)
- 15ИЭ-00-013 TERMINAL (clone sovietico del DEC VT52)
- FOBOS OPERATING SYSTEM (clone sovietico del DEC RT-11)
Noi useremo invece:
- Debian GNU/Linux 7 "wheezy" (oppure Ubuntu, o Mint)
- SIMH PDP-11 emulator
- MESS 15ИЭ-00-013 emulator
- RT-11 disk image
and obviously an original disk image with TETRIS
Disclaimer
- Le software house occidentali hanno ricavato miliardi da tetris senza offrire al suo autore Aleksej Pažitnov neanche un cicchetto di vodka.
- I compagni ingegneri dell'ex URSS hanno spudoratamente copiato l'hardware sul quale sara' sviluppato Tetris dai sistemi della ex Digital Equipment Corporation.
- Sembra dunque che in tutta questa storia tutti se ne siano allegramente stracatafottuti di diritti d'autore, segreti industriali e quant'altro.
In un'ottica di accurata ricostruzione filologica, faremo anche noi lo stesso, fornendo tutto cio' che occorre senza farci troppi problemi.
FASE 1: SIMH
serve installare simh-pdp11. si fa cosi':
wget http://simh.trailing-edge.com/sources/simhv39-0.zip unzip simhv39-0.zip -d simhv39-0 cd simhv39-0 make pdp11
la compilazione sputera' l'eseguibile del simulatore pdp-11 in "BIN/pdp11". Possiamo installarlo in /usr/local/bin/ da bravi installatori precisini.
sudo cp BIN/pdp11 /usr/local/bin/
ora possiamo installare il sistema adoperativo RT-11 per l'hardware emulato.
ecco la mia immagine disco con RT-11 gia' installato e pronto all'uso:
wget http://astio.ciotoni.net/tetris/rl0.dsk
ed ecco l'immagine del disco con i giochini sovietici per FOBOS, che girano senza problemi anche su RT-11.
wget http://astio.ciotoni.net/tetris/games.dsk
prepariamo una conf che fa il boot del nuovo sisthema RT-11 dal disco rl0 e aggancia al media rl1 l'immagine disco coi giochini sovieti:
cat > rt11.ini <<__EOF set cpu 11/23+ 256K set rl0 writeenabled set rl0 rl02 attach rl0 rl0.dsk set rl0 badblock ; GIOCHINI SOVIETI attach rl1 games.dsk ; ACCESSO TELNET DA TERMINALE SOVIETO set throttle 100k set console telnet=2323 set console pchar=37777777777 boot rl0 quit __EOF
a questo punto, sul versante SIMH abbiamo tutto pronto. teniamolo in caldo.
FASE 2: THE MESS MESS
In pratica anna certa dentro MAME e' confluito il codice del progetto MESS, che emula una serie di computer e ferraglia di vario genere, tra cui (nelle ultime release) alcuni vecchi sistemi dell'ex blocco Est.
E' qui che occorre fermarsi un attimo, uscire di casa e acquistare un bottiglione di vodka liscia, da sorseggiare per sopportare le tante piccole cagate che tenteranno di ostacolare la nostra strada verso il socialismo videoludico.
E dunque, ci serve una versione nuova di MESS, che supporta anche il terminale dell'Elektronika 60M: il ficherrimo "15ИЭ-00-013", clone del DEC VT52 con gli indispensabili caratteri cirillici integrati.
Inutile dire che la comoda versione di MESS presente negli archivi Debian NON VA BENE. Quindi, ci tocca scaricare e compilare i sorgenti di MAME/MESS.
wget http://emumovies.com/aarongiles/releases/mame0156s.zip
scompattiamo l'archivio zip
unzip mame0156s.zip
otteniamo... un altro archivio zip ( LOL???? o_O ), vabbe'...
unzip mame.zip -d mame0156
installiamo ordunque le seguenti cose
sudo aptitude install libsdl2-dev libsdl2-ttf-dev libsdl-ttf2.0-dev automoc
ora (beh, non proprio ora ... consultiamo prima la sezione di questo howto relativa alla propria distro) possiamo finalmente compilare MESS
cd mame0156 make TARGET=mess
e dopo i tempi biblici richiesti per compilare VENTUORDICIMILA sorgenti
sudo cp mess /usr/local/bin/
Pant.
Quando abbiamo quasi finito la vodka ci serve un'ultima cosa, i firmware del terminale sovietico. Stanno qui:
wget http://astio.ciotoni.net/tetris/ie15.zip wget http://astio.ciotoni.net/tetris/ie15_keyboard.zip
NOTA: Non serve unzippare questi files: MESS li andra' a cercare automaticamente da solo ;)
Differenze tra distribuzioni
Abbiamo testato queste cose su varie distro, cosi' qui descriveremo alcune piccole differenze nella procedura di installazione di MESS.
Debian 7
Puo' darsi che MESS non compilera', anche se siamo in possesso delle librerie di sviluppo richieste, che sembrano essere:
SDL, SDL_TTF, automoc (e forse altre cose che trovo gia' installate su questo sistema, impossibile saperlo dalla tanto prolissa quanto INUTILE documentazione di MAME/MESS)
installiamo ordunque invano le seguenti cose
sudo aptitude install libsdl2-dev libsdl-ttf2.0-dev automoc
la compilazione lamentera' comunque stupidi problemi con SDL_TTF, ragion per cui passeremo preventivamente a installare SDL_TTF e SDL (non si sa mai) A MANINA.
wget https://www.libsdl.org/release/SDL2-2.0.3.zip unzip SDL2-2.0.3.zip && cd SDL2-2.0.3 sudo ./configure && make && make install wget https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.12.zip unzip SDL2_ttf-2.0.12.zip && cd SDL2_ttf-2.0.12 sudo ./configure && make && make install
Ubuntu 14.4 LTS
Stefania fa notare che manca qualcosa. Lei ha dovuto fare inoltre:
sudo apt-get install libfontconfig1-dev sudo apt-get install g++
Linux Mint Mate edition
Ti serve installare con apt-get tutto cio' che e' relativo a debian 7, piu':
sudo apt-get install libsdl2-ttf-dev
Tutto qua!
FASE 3: TETRIS :)
ora possiamo finalmente lanciare l'emulatore del pdp11 con SIMH
pdp11 rt11.ini
e, subito dopo, l'emulatore del terminale 15ИЭ-00-013 con MESS
mess -bitbngr socket.localhost:2323 ie15 -rompath . -window
al prompt di RT-11 possiamo eseguire Tetris prestidigitando
RUN DL1:TETRIS
e giocare finalmente all'unico vero Tetris!
si gioca col tastierino numerico: tasti 7, 8, 9 e 5
alla fine di una partita, dopo aver inserito il nome per la classifica
- per giocare di nuovo: D ("DA")
- per uscire: N ("NIET")
PS:
la lista degli altri giochi presenti sul disco sovietico si ottiene digitando in RT-11
DIR DL1:
15ИЭ-00-013 TERMINAL SETUP
Il BEEP che l'emulatore di terminale fa premendo i tasti e' molto fastidioso. Qui l'autore dell'emulatore ci spiega come entrare nel setup del terminale:
(sorgente: http://forums.bannister.org//ubbthreads.php?ubb=showflat&Number=97827)
To enter setup mode, press PrtScr. Cursor should appear in status line at the top. There are 20 settings you can change, in 6 groups (I-VI). Group I controls serial port speed (leave at 9600), groups II-V control 16 setup bits, and group VI is realtime clock. There is no NVRAM. To change a setting, press keypad '*'. Left and right cursor keys move between fields. PrtScr exits setup mode. Setup bits are: Group II - 'cursor shift' [not sure what that does] - keyboard autorepeat; 0: off, 1: on - n/a - cursor type; 0: type 1, 1: type 2 [not sure what that's supposed to do either] Group III - margin beep (at position 72); 0: off, 1: on - key click; 0: on, 1: off - current command set; 0: set 1, 1: set 2 [set 1 is completely custom, set 2 is VT52 compatible] - xon/xoff [??] Group IV - n/a - autowrap (only in command set 2); 0: off, 1: on - auto CR/LF on keyboard input (only in command set 2); 0: off, 1: on - n/a Group V - parity; 0: even, 1: odd - parity check; 0: off, 1: on - auto CR/LF [?? on line input]; 0: off, 1: on - status line; 0: displayed, 1: not displayed
RIFERIMENTI
Nota: RT-11 e' licenziato dalla MENTEC, la licenza per uso hobbistico personale si trova qui: http://pdp-11.org.ru/files/license/mentec-license.txt
Appunti sparsi
Questi sono appunti di lavoro e saranno presto aggiunti e tradotti.
Those are working memos and they will be soon written and translated.
https://drunkode.wordpress.com/2012/05/25/history-lesson-demos/
http://yandex.ru/yandsearch?lr=10445&text=15%D0%98%D0%AD-00-013&csg=0%2C606%2C11%2C1%2C0%2C0%2C0
http://pdp-11.ru/mybk/hobot/ukdwk_archive/dwkwebcomplekt/rt11_symbol_games/