logo Teo
Thomson TO8 Emulator
version 1.8.1 (Linux/X11)
Copyright © 1997-2012 Gilles Fétis, Eric Botcazou, Alexandre Pukall, François Mouret, Samuel Devulder

1. Introduction
2. Installation
3. Launching
4. Graphics modes
5. Keyboard
6. Joysticks
7. Mouse
8. Light-pen
9. Sound generator
10. Removable read/write media
11. Control panel
12. Direct access to floppy drives
13. Miscellaneous commands
14. Deinstallation
15. Limitations and bugs
16. Thanks

1. Introduction

Teo is a TO8 emulator for Personal Computers. It tries to mimic as closely as possible the behavior of an other computer on the PC. Teo only emulates the hardware part of a TO8: The Motorola MC6809E micro-processor, the memory banks, the video system, and the following peripheral devices: mouse, light-pen, joysticks, tape player, floppy drives and dot-matrix printer. The operating system that drives everything is not included. Therefore you'll have to use a copy of the ROMs coming out of a real TO8 machine to run Teo.

2. Installation

The required configuration to run the emulator is the standard configuration of recent Linux distributions. Version 1.2 of the GTK+ toolkit is required and might require a system update (RedHat 5.x, SuSE 5.x). It is available here.

You can install the emulator in two ways:

  • Launch teo-1.8.1-i586.deb and then teo-rom.deb. The launch of Teo will be done through the Applications/Games/Teo emulator shortcut menu.
  • Unzip teo-1.8.1-i586.tar.gz and teo-rom.tar.gz into the same folder. The executable is named teo.

3. Launching

When the program is started, headers and initialization messages are printed, then the application starts.

TEO accepts the following parameters on the command line:

[-help]Prints on-line help
[-m file.m7]use file.m7 as ROM cartridge
[-fast]run the emulator at full-speed
[-nosound]disable the emulation of sound
[-geometry +x+y]specify the window position
[-noshm]disable the use of the MIT-SHM extension
[-display displayname]indicates the name of the X server to use
[-interlaced]use an interlaced display mode
[xxxxx]loads SAP, K7, M7 file(s)

The installation with the packages .deb launches Teo with the option -loadstate by default. To deactivate this option or add some more, choose System/Preferences/Main menu, then select Games/Teo emulator, click on Properties and change the options by default of the executable.

4. Graphic modes

Teo is able to run in the four most common X11 graphic modes available in a PC (8, 16, 24 and 32 bits). However, in 8 bit mode, dynamical palette changes are not emulated.

Teo uses a 640x400 window (plus screen border) in order to correctly display all TO8 graphic modes.

5. Keyboard

The TO8 keyboard is fully emulated, including CNT and ACC combinations.

The emulation precisely maps the AZERTY layout onto the TO8 layout. Therefore a key pressed on a French keyboard should display the same character in the emulator, provided the same key exists on the TO8 keyboard. Both SHIFT and ALTGR keys act natively. If the ALTGR key doesn't do anything, have a look at you keyboard layout with respect to the third level chooser: System/Preferences/Keyboard/Layouts/Options/Key to chose 3rd level options.

The STOP key maps to TAB in the PC, CNT maps to the left CTRL key, CAPSLOCK maps to CAPSLOCK (the CAPSLOCK led is emulated), ACC maps to ALT, HOME maps to HOME, the four arrow keys map to the arrow keys, INS maps to INSERT, EFF maps to DEL. Note that DEL (=SHIFT+EFF) maps to BACKSPACE.

The ten function keys are mapped to F1-F10 but it is possible to get F6 by pressing SHIFT+F1.

The NUMLOCK key activates the joystick emulation using the keyboard (NUMLOCK led is off). This is detailed in the next section.

6. Joystick

When the joystick mode is active (NUMLOCK led is off), the PC keypad is no more mapped onto the TO8 keypad, but emulates the eight directions of joystick #0. The fire button is mapped to the right CTRL.

In the same time, the left part of the French keyboard (AZE, QSD, WXC) emulates joystick #1 while still sending characters to the TO8. (This makes use of the full TO8 keyboard and joystick #0 possible). The Fire button of joystick #1 is mapped onto left CTRL.

Just like in a real joystick, only one direction is supported at a time. This is the one provided by the last pressed key.

7. Mouse

On a real TO8, the mouse is connected to joystick port #0. Hence both devices cannot be used at the same time.

On the emulated TO8, both devices can work together and the mouse is the default pointing device at boot time.

Both buttons of the mouse are mapped onto the left and right button a the PC mouse.<

8. Lightpen

Why would the light-pen be specifically emulated when the mouse acts the same even for Basic 1.0? The reason is twofold:

  • The light-pen is, for a thomson-fanatic, an untouchable feature that directly comes from the sacred era where TO7 and others were the glory of French computers.
  • More usefully, many programs written for the TO7 or TO7-70 that use the light-pen do not display a cursor indicating the position of the pen on the screen. Therefore they are unusable with a mouse.

The light-pen can be selected in the "Settings" menu of the TO8. It is emulated using the PC mouse, the left mouse button being the light-pen button. The right mouse button toggles the display of the light-pen cursor on and off.

9. Sound generator

The TO8 sound is emulated using the sound-card of the PC. Both the 1-bit (TO7) and the 6-bits (Music and games interface) generators are emulated.

Teo uses the default sound device (via Open Sound System).

10. Removable read/write media

Teo can handle three types of removable read/write media: ROM cartridges, analogical tapes, and 3"5 thomson floppies. Each media is "virtualized" through files, respectively: Memo7 files with extension .m7, K7 files with extension .k7 and SAP files with extension .sap.

See the control panel to get the use of these files within the emulator.

11. Control panel

Pressing the [ESC] key on the PC halts the emulation and opens the control panel.

Control panel

This menu allows communicating with the emulator and gives access to peripheral devices of the TO8 (cartridge slot, tape recorder, and floppy drives).

Use the first two buttons with care:

  • TO8 warm reset: acts as pressing the Reset button of the TO8 (located on the right side of the machine). As on a real TO8, this might not be enough to get out of a crash.
  • TO8 cold reset: more aggressive, this is just like switching the TO8 off and on. Normally nothing should resist, but all data in RAM will be lost.

Settings

Settings

The speed option allow tuning the speed of the emulation:

  • Accurate speed: Fixes the speed of the MC6809E to 1Mhz exactly. This is the normal value which is the mode to use when playing games or sounds.
  • Fast speed: Emulates the MC6809E at the maximum speed that the PC allows (for instance, a Pentium 200 gives a MC6809E running at 10Mhz). This can be used for utility tools, or to have access to a boosted TO8 which is valuable. However the sound is then deactivated.

The interlaced mode emulate CRTs by displaying only half the lines for each frame (even lines, then odd lines). This reduces the flickering effect that happens when rapid screen changes occur (see for instance the TruC demos by PULS).

Disks

Lecteurs de disquettes

This menu allows choosing a SAP file (extension .sap) and uses it as a read/write floppy disk by the emulator (chooser button). These files are images of physical Thomson disks which are created by a specific utility tool called SAP. They must reside on the hard drive of the PC, preferably in the disks sub-folder in the emulator directory.

Drives 0: and 1: map to the two faces of the first physical floppy drive of a real TO8. Drives 2: and 3: will be mapped to both faces of the second drive.

It is possible to write-protect any of these drives independently (field "prot.").

The button with the "file" icon switches onto "disk" icon when you want to directly access to a physical 3"5 floppy disk (720kb, TO8 format) inserted in the A: floppy drive of the PC. Just click on "disk" button to go back to "file" mode.

Please note that a green led will appear in the right upper side of the screen when a disk access occurs.

Tape recorder

Lecteur de cassettes

Here you can, not only select a K7 file (extension .k7) which will act as a tape, but also choose to protect it against write access ("prot." field). You can also change the position on the tape (numerical field "Counter" and "+" or "-" buttons), and even rewind it completely (button "Rewind tape"). Be careful: any write-access change will automatically rewind the tape.

Here again, you are advised to put all your K7 files under the k7 sub-folder in the emulator directory to ease file selection.

Cartridge slot

Lecteur de cartouches

This menu allows choosing a Memo7 file (extension .m7) and loads it as a cartridge (button "browse..."). The label of the cartridge appears in the left zone. Please note that Teo will then do a cold-reset of the TO8 in order for the cartridge to appear in the boot screen of the TO8.

To ease the selection of files, you are advised to put all Memo7 files under the memo7 sub-folder.

12. Direct access to floppy drives

The normal way to deal with disks with Teo is, just like with other devices, "virtualization": floppy disks are represented by SAP files (extension .sap) and all access to the floppy (reading or writing) is just done on these files. This leads to a great flexibility and protection of the original TO8 floppy disks.

However, since the 3"5 floppy-drive standard remained the same since the very first TO8, it is possible for any PC to physically read and write TO8 3"5 floppy disks. The floppy menu form the control panel allows TEO to directly access side #0 of any available 3"5 floppy drives present on the PC.

Without explicit choice from the user, in order to protect the original Thomson floppies, only direct reading is enabled: the write-protection field of a direct-access floppy drive remains active. It is still possible to authorize direct writes (and therefore direct formatting of 3"5 - 720Kb thomson floppy disks) by starting Teo with the option --enable-direct-write (this option is intentionally not shown in the on-line help). It is strongly recommended not to use direct writes on original Thomson floppies: the TO format is not a native PC format, and remaining incompatibilities could lead to serious damages on data integrity. Use direct writes only on copies, possibly made using Teo itself.

Please note that the floppy format used by Thomson is 3"5 Double Sided Double Density (720 KB - 2DD), but it is possible to use a 3"5 Double Sided High Density disk (1.44 MB - 2HD) by concealing a simple piece of tape on the right notch of the disk.<

Activating disk direct access on new Linux systems

On new Linux systems, floppy drives are not activated at installation. It's necessary to make some adjustments from a Terminal:

Creating the entry for the first drive (if you have one) :

  • Execute sudo mkdir /media/floppy0
  • Execute sudo gedit /etc/fstab
  • Add the line /dev/fd0 /media/floppy0 auto rw,user,noauto,exec 0 0 if no line begins with /dev/fd0
  • Save the file and quit GEdit

Creating the entry for the second drive (if you have one) :

  • Execute sudo mkdir /media/floppy1
  • Execute sudo gedit /etc/fstab
  • Add the line /dev/fd1 /media/floppy1 auto rw,user,noauto,exec 0 0 if no line begins with /dev/fd1
  • Save the file and quit GEdit

Declaring the disks access :

  • Execute sudo gedit /etc/modules
  • Add the line floppy if it doesn't exist
  • Save the file and quit GEdit
  • Execute sudo adduser $USER floppy

And finally, activating everything :

  • Restart computer

If the direct access has still difficulties to work (like I/O errors, for example), right click on the Floppy Drive in your file browser and select Detect Media.

13. Miscellaneous commands

  • [F10] displays Teo's debugger.

14. Deinstallation

If installation has been made with tar.gz packages, just remove the root folder teo.

If installation has been made with .deb packages, execute sudo apt-get remove --purge teo-rom teo in a Terminal. The menu shortcut Applications/Games/Teo emulator might not disappear. Then execute rm ~/.local/share/applications/teo.desktop. And to clean everything, execute rm -r ~/.teo, which is the folder that contains teo.cfg and autosave.img files.

15. Limitations and bugs

Technical reasons imply that 16 colors modes can imperfectly emulate dynamical palette changes.

Please use this mail address to send any remarks, suggestions and bug reports (if any).<

16. Thanks

  • Sylvain Huet who wrote the core of the emulator,
  • The GTK+ Team for their efficient and flexible toolkit,
  • as well as to all others that reported bugs or suggested improvements to Teo.

Copyright © 1999-2012 Eric Botcazou (ebotcazou at libertysurf dot fr)
Discuss of Teo on LogicielsMoto's forum
Translated by Samuel Devulder
Last change: Sunday, August 14th, 2011
Teo Home Page Teo Home Page