ORIGINAL TETRIS EMULATION HOWTO

Versione Italiana di questo howto: OriginalTetrisHowto/IT

by MusIF / MIAI, Italy

Original version by Emiliano; translation by Stefania; editing, debugging and testing by Stefania, Ono Sendai & Asbesto

If you have the BIG IRON (PDP-11/23, Elektronika-60, the cyrillic terminal etc.) maybe you are interested in running TETRIS directly on the hardware! So, please check OriginalTetrisHardwareHowto ;)

If you want to setup an emulator on a pc, with a cyrillic terminal connected to serial port, check OriginalTetrisHowto/Hybrid ;)

Intro

Original flavours:

We will use instead:

Disclaimer

Looking forward to give you a perfect historical reconstruction, we will act the same, giving you everything needed without asking any problems or what else.

PHASE 1: SIMH

We must install simh-pdp11. Here it is how to do it:

wget http://simh.trailing-edge.com/sources/simhv39-0.zip
unzip simhv39-0.zip -d simhv39-0
cd simhv39-0
make pdp11

The compiling will save the pdp-11 emulator executable in "BIN/pdp11". We can now install it into /usr/local/bin/ acting like perfect unix installers.

sudo cp BIN/pdp11 /usr/local/bin/

Now we can install the RT-11 operative system for the emulated hardware. Here it is our RT-11 disk image already installed and ready to use:

wget http://astio.ciotoni.net/tetris/rl0.dsk

And here it is the soviet games disk image for FOBOS. They perfectly run on RT-11 too :)

wget http://astio.ciotoni.net/tetris/games.dsk

So, let’s prepare a config for booting the new RT-11 system from rl0 disk and attaching to the media a rl1 disk image with the soviet games:

cat > rt11.ini <<__EOF
set cpu 11/23+ 256K
set rl0 writeenabled
set rl0 rl02
attach rl0 rl0.dsk
set rl0 badblock
; SOVIETO GAMES
attach rl1 games.dsk
; TELNET ACCESS FROM DA SOVIETO TERMINAL
set throttle 100k
set console telnet=2323
set console pchar=37777777777
boot rl0
quit
__EOF

And now everything is ready on the SIMH side. Let’s keep this hot for later!

PHASE 2: THE MESS MESS

Well, what to say…. Suddenly MESS project code has been marged inside MAME. It emulates a lot of old stuff hardware, like (in the last release) some of the Eastern side old computers. This points need a stop. We have to go outside, buy a vodka bottle, and drink it, while the rest of the damn installation will try to bring us to the socialist video fun. So, we need a new MESS version, that supports the Elektronika 60M terminal: the astonishing Elektronika 60M, DEC VT52 clone, with the indispensable cyrillic encoding inside. It’s quite obvious saying that the easy and comfortable MESS version present in Debian archives DOES NOT WORK for us. So, we need to download and compile the MAME/MESS sources.

wget http://emumovies.com/aarongiles/releases/mame0156s.zip

We unzip the ZIP archive and…..

unzip mame0156s.zip

we get ANOTHER ZIP archive…… LOL ;)

unzip mame.zip -d mame0156

Let’s finally install the following stuff:

sudo aptitude install libsdl2-dev libsdl2-ttf-dev libsdl-ttf2.0-dev automoc

Now we defintely compile MESS

cd mame0156
make TARGET=mess

and… after biblical time needed to compile our fantastillions sources…..

sudo cp mess /usr/local/bin/

Pant.

And when the vodka seems to be over….. a last thing is needed, soviet terminal firmwares. They are here:

wget http://astio.ciotoni.net/tetris/ie15.zip
wget http://astio.ciotoni.net/tetris/ie15_keyboard.zip

NOTE: there's no need to unzip those files: MESS will look inside them automagically ;)

Differences between distros

We tested all this stuff on various distros, so here we describe some small differences in the MESS installation procedure.

Debian 7

Maybe MESS won’t compile, also if we have all the requested develop libraries, that seems to be:

SDL, SDL_TTF, automoc (and maybe also other stuff that are already built on this system. But it’s impossible for me to know from the huge and such USELESS MAME/MESS documentation….)

So, let’s install these stuff:

sudo aptitude install libsdl2-dev libsdl-ttf2.0-dev automoc

In any case compiling these will show a lot of stupid warnings and problems with SDL_TTF,that’s why we will install SDL_TTF and SDL (never say never, it may help) HANDY.

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.04 Desktop

You need to install everything on the Debian list. On Ubuntu 14.04 if you did not install the server stuff, you’d need also to install the following libs (at least Stefania had to):

sudo apt-get install libfontconfig1-dev
sudo apt-get install g++

Linux Mint Mate edition

You need to install everything from the debian list, plus this one:

sudo apt-get install libsdl2-ttf-dev

That's it! :)

PHASE 3: TETRIS

Finally we can launch the PDP11 emulator with SIMH

pdp11 rt11.ini

and suddenly the 15ИЭ-00-013 emulator trough MESS

mess -bitbngr socket.localhost:2323 ie15 -rompath . -window

At the RT-11 prompt we can now execute Tetris magicallydigiting:

RUN DL1:TETRIS

And finally play at the original, one and only Tetris!

You can play with the numeric keypad, key 7, 8, 9 and 5.

At the end of a match, after writing your name in the top ranking:

Another little tip:

To show the list of other games present in the soviet disc, just digit in RT-11:

DIR DL1:

15ИЭ-00-013 TERMINAL SETUP

The BEEP that the terminal emulation make is somehow annoying. Here are some hint for the emulation author, about how to configure it:

(source: 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

REFERRALS

Note: RT-11 is licensed by MENTEC for personal hobbystic use: http://pdp-11.org.ru/files/license/mentec-license.txt

Work in progress

We're trying to use VT220 / VT510 terminals connected to our REAL PDP-11/23+ and PDP-11/34 to recreate a hardware original tetris. What follow is just a scratchpad for this work.


CategoryMuseo

OriginalTetrisHowto (last edited 2017-01-04 13:52:32 by asbesto)