Thomson 8-bit computer emulation with MESS
This page documents my MESS drivers to emulate the family of 8-bit French
micro-computers built by Thomson in the 80's.
These drivers are included in the
MESS multi-emulator, starting form
version 0.108.
[ Version française ]
Contents
An emulator is never finished!
It always has bugs, features that are not yet implemented, software that will
not work as expected, etc.
See the list of known issues and, please,
be patient.
The drivers are in constant evolution, and this documentation may lag a
little bit behind the implementation.
You can also help me improve the emulation.
The whole 8-bit Thomson computer family is emulated,
starting from the T9000 prototype to the latest MO6.
This includes a few rare versions (such as the MO5E or an Arabic TO7/70).
Additionally, the Olivetti Prodest PC 128 (Italian clone of the MO6 built by
Thomson and distributed by Olivetti) is emulated.
Click on a driver to access its documentation:
Driver list
Driver | Computer | Comment |
t9000 |
T9000 |
Early TO7 prototype |
to7 |
TO7 |
First commercialized Thomson computer |
to770 |
TO7/70 |
Enhanced TO7 |
to770a |
TO7/70 Arabic |
TO7/70 with Arabic support |
mo5 |
MO5 |
Entry-game, TO7-incompatible |
mo5e |
MO5E |
MO5 export version |
to9 |
TO9 |
Professional-looking computer, TO7-compatible |
to8 |
TO8 |
Next-generation of TO7/70, Amiga-looking |
to8d |
TO8D |
TO8 with integrated floppy |
to9p |
TO9+ |
TO9 successor, based on TO8 technology |
mo6 |
MO6 |
MO5 successor, based on TO8 technology |
mo5nr |
MO5NR |
Network-aware MO5-MO6 hybrid |
pro128 |
Olivetti Prodest PC 128 |
Italian MO6 built by Thomson |
The few 16-bit computers built by Thomson (TO16, Micromega 16, Micromega 32)
are not emulated.
Input Devices
The following input devices are available for all machines:
- a keyboard,
- a lightpen,
- two 8-way, 1-button or 2-button paddles,
- a 2-button mouse.
A few notes:
- In the default keyboard emulation mode, each emulated key is associated
with a (configurable) host key.
Starting from version 0.104, the drivers also support so-called
natural keyboard emulation, where each character entered on the host
is translated into a key sequence producing the same character on the
emulated machine.
Both methods have advantages and disadvantages.
- The keyboard layout (that serves as a reference in the default keyboard
mode) varies greatly from one computer to another.
It is generally AZERTY with French accents.
See the appropriate driver documentation.
- All machines can have a mouse connected through the (second generation)
game extension, but only the TO8(D), TO9(+), MO6, MO5NR and Olivetti
Prodest seem to have the software to use them.
- The first generation game extension (no mouse and 1-button paddles) is
no longer emulated for old machines. All use the second generation now.
- The mouse and paddles cannot be used at the same time
(except on the TO9): they are connected to the same physical port!
You must choose (dynamically) in MESS's in-game menu whether to emulate a mouse
or paddles.
- The TO9 have an alternate mouse port built in the keyboard.
It uses a different protocol and is not thoroughly tested.
- To use the host mouse to control the emulated lightpen or mouse,
you may need to press Scroll-Lock (MESS and xmess) or Insert
(SDLMESS).
Storage Devices
Here is a list of devices than can be connected to an image file, as
well as the image formats they support:
Device list
Type | MESS option | File format |
Read / write |
cartridge | -cart filename |
.m5, .m7, .rom |
read-only |
cassette | -cass filename |
.k5, .k7, .wav | read and write |
floppy |
-flop0 filename -flop1 filename
-flop2 filename -flop3 filename
|
.fd, .qd, .sap | read and write |
printer | -prin filename |
ASCII file | write-only |
A few tips and tricks:
- Important: before loading a software on cartridge, cassette or
floppy, make sure that it is intended to work on the emulated computer.
There are major incompatibilities between Thomson computers, and most software
intended for one computer may not work on another one.
- On TO computers (TO7(/70), TO8(D), TO9(+)),
prefer .k7 cassette images.
The .wav format should be OK to read back images output by the
emulator, though.
- On MO computers (MO5(NR), MO6, Olivetti), prefer .wav
cassette images.
Many .k5 images found on the Internet rely on
emulator-specific hacks not implemented in MESS (in order to remove
copy-protection, most often).
- The format of MO and TO cassettes are very different.
You cannot read even a plain data or BASIC file on a cassette designed
for the wrong family.
-
It is customary to use the .k5 extension for MO cassettes and
.k7 for TO cassettes. However, there are also many MO cassettes with
the .k7 extension.
MESS will warn you if he thinks you use the wrong cassette format.
- To use floppies on MO family computers (MO5(NR), MO6, Olivetti)
and early TO
computers (TO7, TO7/70), you will need a
boot disk compatible will the external floppy
controller selected in MESS's in-games menu.
- Software loading (especially from cassettes) is very very very
slow. This is simply because the driver tries to emulate to speed of the
original computer as much as possible.
Here are a few workarounds:
- put throttling off (makes the emulator run as fast as it can, instead
of the speed of the emulated computer),
- set frame-skip to a high value when throttling disabled,
- use save-states.
- The imgtool tool and its wimgtool GUI can be used to
create blank formatted floppies in different formats, and put and extract
files (version 0.109 or better).
They also feature filters to decode BASIC files
(including protected ones).
Communication Devices
The RS232, MODEM, and network extensions are not yet supported.
Sound Devices
The internal 1-bit buzzer is emulated (except on the TO8(D) where there
is none).
The 6-bit DAC is also emulated (it is integrated on the TO8(D), and present
as an extension on other computers).
The speech synthesis extension (based on the MEA 8000 chip by Signaletics /
Phillips) is now correctly emulated.
You will need the latest SVN version.
You will also need a special software
to run on the emulated computer
(e.g.,
Parole for TO7, TO7/70, TO9, and TO8).
Finally, you need to make sure that the E7FE-F port is set to
Speech in the configuration menu (as the port is shared with
the MODEM extension).
Video
All video modes are emulated, as well as the 4096 color palette and
hardware page switching.
The emulation is scan-line based, with accurate sync signals and timing.
It should correctly render most demo effects
(see the TO8
Chinese Stack demo
by PULS).
However, the video system still has some issues.
The TV overlay extension is not emulated.
Nor is the TV digitization extension.
MESS now automatically switches
resolution when it detects that a high resolution
(640x200 not counting borders) mode is used.
You no longer need to do this manually.
MESS will switch back to low resolution (320x200) when high resolution is no
longer as the later is somewhat costly.
The first thing to do is get and install
MESS,
SDLMESS, or
MacSDLMESS
(version 0.108 or better) and get the
Thomson ROMs.
We now provide a few example command-lines
(they should be adapted to your favorite MESS port or GUI):
- play Choplifter
(Copyright Dan Gorlin & Broderbund)
on a TO7/70
|
- start the emulator with mess to770 -cart choplift.m7
- press 1 (CHOPLIFTER) in the start-up menu
- control using the P1 paddle, keypresses pause the game
|
- play Le 5ème axe
(Copyright Didier, Olivier Guillon &
Loriciels)
on a TO7/70 (also requires the BASIC 1.0 cartridge)
|
- start the emulator with mess to770 -cart basic.m7 -cass 5axe.k7
- press 1 (BASIC MICROSOFT 1.0) in the start-up menu
- type LOADM"",,R
|
- play L'aigle d'or
(Copyright Louis-Marie Rocques &
Loriciels)
on a TO7/70
(also requires the BASIC 1.0 cartridge)
|
- start the emulator with mess to770 -cart basic.m7 -cass aigle.k7
- press 1 (BASIC MICROSOFT 1.0) in the start-up menu
- type RUN""
|
- play Arkanoid
(Copyright James Higgins & FIL)
on a MO5
|
- start the emulator with mess mo5 -cass arkanoid.k5
- type RUN""
|
- start Jane
(Copyright Thomson and Arktronics Corp.) on a MO5
|
- get and decompress Jane
- start the emulator with mess mo5 -cart jane-mo5.m5 -flop0 jane-systeme-mo5.qd
- make sure the floppy controller is either "CD 90-351" or "CQ 90-028" in
MESS's in-game configuration menu;
if not, you must change the configuration and reset the system
- switch disks when required by Jane using MESS's in-game file manager
|
- play Captain Blood
(Copyright Ere Informatique) on a TO8
|
- start the emulator with mess to8 -flop0 blood.zip
- press B in the start-up menu
- press SHIFT+1 (CAPITAINE BLOOD)
|
- play the Chinese Stack
demo by the PULS group
on a TO8
|
- get the zip-file and decompress it
- start the emulator with mess to8 -flop0 chinese-face0.sap -flop1 chinese-face1.sap
- press B in the start-up menu
|
- start Paragraphe
(text editor) on a TO8
|
- start the emulator with mess to8 -flop0 paragraphe.zip
- press SHIFT+4 in the start-up menu
- select PARAGRAP on the left
- select PARAGRAP on the right
|
- play MGT
(Copyright Loriciels)
on a MO6
|
- start the emulator with mess mo6 -cass mgt-mo6.zip
- press 2 in the start-up menu
- type RUN""
|
- hear speech synthesis with Parole
(Copyright M. Weissgerber, H. Benoit & CEDIC/NATHAN) on a
TO8
|
- start the emulator with mess to8 -flop0 parole.zip
- set the E7FE-F port to Speech in MESS's in-game configuration menu
- press B in the start-up menu
|
Acknowledgments
Software image files were found on
Daniel Coulom's site
or on the Logiciel MOTO
site.
First, a few non-issues:
- The emulator is slow.
Well not really, in fact.
It strives for accuracy, which means respecting the timing of the original
computers. And they were somewhat slow.
- The emulator consumes a lot of resources.
Indeed.
The level of accuracy I look for requires very low-level emulation.
One of my criteria is the ability to use original ROM and software.
This requires an accurate (and costly) modeling of the hardware
(including video, keyboard, and floppy controllers).
This is unlike most emulators that patch ROMs to bypass low-level hardware
routines and run emulator-specific stubs instead.
- Using the host mouse to control the emulated lightpen or mouse does
not seem to work.
This is expected: it must be enabled with the Scroll-lock key.
Now for real issues that should be corrected at some point:
- Cassette images in .wav format do not work well on TO
machines (although they work well on MO machines while .k7 images
work acceptably on TO machines).
Note that floppies are faster and more reliable (this was the case on
the original computers).
- Many MO5 and most MO6, MO5NR .k5 cassettes will not work.
- Graphical glitches have been reported on TO8 games using
hardware video page switching (e.g., Bob Morane SF).
- External controllers for the TO8(D) and TO9(+) are not emulated.
This is annoying on the TO9 as it prevents 5"1/4 and 2"8
floppies to be used.
- State-save support is incomplete (though, it works in many cases).
- Cassette images are not supported by imgtool.
But floppy images are.
- Two-sided floppy images are not supported.
You must split them into two image files: one for each side.
- Speech synthesis extension is not supported.
Speech synthesis is supported as of version 0.110.
-
Historical information on this site and sysinfo.dat are
surely wrong. In particular: dates of first appearance, and whether the MO5NR
predates the MO6 and TO8.
Finally, here is a list of corrected issues.
You may need to get the latest SVN version to get the fix, though:
-
The speech synthesis using the MEA 8000 chip by
Signaletics / Phillips sounds has very poor quality.
Speech synthesis now works quite well in the SVN version.
Many thanks to Papp László for interesting feedback on this problem.
-
Cartridge bank switching by reading from $bffc-$bfff (MO machines) or $0000-$0003 (TO machines) is not supported.
Both are now supported.
- The mouse movement is jittery on the TO8(D) and
TO9+. Corrected in version 0.112.
- The mouse is not supported on other computers.
Starting from version 0.112 the second generation game extension is
now emulated on all computers.
However, the mouse is not supported by most older software.
- The keyboard caps-lock LED is not shown.
Corrected in version 0.109.
(Note that the MO5, MO5E, MO5NR do not have a LED).
- Inaccurate video emulation results in glitches in the
HCL mega-demo.
Corrected in version 0.109.
- Wrong colors on some TO9 video modes
(e.g., 80-columns). Corrected in version 0.109.
- Floppy images are not supported
supported by imgtool starting from version 0.109.
It is now possible to create a formatted .fd, .qd,
or .sap image, list its directory, get and add files,
protect and unprotect files, and decode binary BASIC files.
You can help by testing the driver:
-
Test as many software as possible, as often as possible, on as many
compatible emulated machines as possible.
-
If you have a real computer at home, please report any difference you may
notice with the emulator.
-
Report any inaccuracy in the documentation.
You can report the problem or submit patches to me
by mail or
(preferred) using MESS's Bugzilla
(specify Thomson as component).
Please report only problems that are not already
known issues.
I am also looking for some missing information to complete the emulation:
-
I am looking for the netlists used to program the various gate-arrays used
in almost all Thomson computers.
The goal is to emulate the custom chips as faithfully as possible and
improve video timing and memory mapping (among other things).
-
I am looking for the ROMs used to drive the 6804 or 6805 keyboard chips on the
TO8, TO8D, TO9, TO9+.
The goal is to emulate the keyboard faithfully by running the actual
keyboard pooling and communication program on the dedicated keyboard CPU.
Note that this ROM contents does not seem accessible from the main CPU.
Files
Help
For general question about MAME or MESS, please consult the relevant FAQ first:
If you have a question that is specific to the emulation of a Thomson computer
using one of the mentioned MESS driver, feel free to
contact the author.
WARNING
Many websites dedicated to the Thomson computers are in French only.
You may also find some Thomson software on these pages.
- DCMOTO emulates all Thomson computers.
Windows binaries.
- FunzyTo7 emulates
the T9000, TO7 and TO7/70.
Open-source. MS-DOS, Windows, Unix, and PocketPC ports.
- Thom
emulates the TO7/70. Open-Source. MS-DOS, Windows, and Linux ports.
- Emul5 emulates the MO5.
Open-Source. MS-DOS, Windows, and Linux ports.
- TEO
emulate the TO8. Open-Source. MS-DOS, Windows, and Linux ports.
- EmuTO8 emulates
the TO8. Open-Source. Linux-only.
- An archive of these emulator can be found on the
Lair.
- Another emulator list on
LogicielsMOTO.
The MESS drivers for 8-bit Thomson computers were written by
Antoine Miné.