#acl FreaknetGroup:read,write,admin,delete,revert All:read = 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]] ;)''''' <> == 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 == * http://www.ucis.pitt.edu/nceeer/1989-801-5-2-Judy.pdf * http://gunkies.org/wiki/Installing_RT-11_5.3_on_SIMH * http://pdp-11.org.ru/~form/rtgames/ * http://tetrisconcept.net/forum/showthread.html?t=2366 * https://ru.wikipedia.org/wiki/15%D0%98%D0%AD-00-013 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://bbs.archlinux.org/viewtopic.php?id=67564 * 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/ * http://zx-pk.ru/showthread.php?t=10718&page=34 * http://home.earthlink.net/~n1be/pdp11/PDP11.html ---- CategoryMuseo