ORIGINAL TETRIS EMULATION HOWTO

This howto in English language: OriginalTetrisHowto

by MusIF / MIAI, Italy

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 ;)

Intro

Ingredienti originali:

Noi useremo invece:

Disclaimer

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

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.


CategoryMuseo

OriginalTetrisHowto/IT (last edited 2017-01-04 13:53:07 by asbesto)