Differences between revisions 8 and 13 (spanning 5 versions)
Revision 8 as of 2015-01-09 12:03:18
Size: 6367
Editor: asbesto
Comment:
Revision 13 as of 2015-01-11 15:41:40
Size: 8647
Editor: asbesto
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
== ORIGINAL TETRIS EMULATION HOWTO == = ORIGINAL TETRIS EMULATION HOWTO =
Line 7: Line 7:
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
Line 8: Line 13:

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

<<TableOfContents(4)>>

== Intro ==
Line 17: Line 28:
 * Debian GNU/Linux 7 "wheezy"  * Debian GNU/Linux 7 "wheezy" (or Ubuntu, Linux Mint and some other distros)
Line 136: Line 147:

==== Ubuntu 14.04 Desktop ====

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++
}}}
=== Differences between distros ===

We tested all this stuff on various distros, so here we describe some small differences in the MESS installation procedure.
Line 160: Line 165:
Line 172: Line 176:
==== 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! :)
Line 209: Line 231:
}}}

== 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

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

Intro

Original flavours:

  • ELEKTRONIKA 60M COMPUTER (DEC PDP-11/23 sovietic clone)
  • 15ИЭ-00-013 TERMINAL (DEC VT52 sovietic clone)
  • FOBOS OPERATING SYSTEM (DEC RT-11 sovietic clone)

We will use instead:

  • Debian GNU/Linux 7 "wheezy" (or Ubuntu, Linux Mint and some other distros)
  • SIMH PDP-11 emulator
  • MESS 15ИЭ-00-013 emulator
  • RT-11 disk image
  • and obviously an original disk image with TETRIS

Disclaimer

  • Western software houses earned millions from Tetris without offering a single dollar, nor a vodka glass to Aleksej Pažitnov, the original Tetris author.
  • Ex USSR Soviet Engineers, have shamelessly copied the hardware in which Tetris will be developed from ex Digital Equipment Corportation systems.
  • It seems that in the whole story everybody did not care at ALL about copyrights, industrial secrets, rights in general.

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

We also have to know that 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:

  • To play again: D ("DA")
  • To leave: N ("NIET")

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

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