# MESS System Information File

# All corrections and submissions are welcome. Please zip either a patch file or the entire 
# modified file and send it to:
#	Hobie Troxell [ht1848@yahoo.com]

# This file contains the basic documentation for most of the drivers presented in the MESS
# distribution. Please read the readme.txt, mess.txt and messnew.txt prior to reading this
# supplementary documentation. This file should be placed in the same directory as the MESS
# executable when using the DOS version of MESS.

# Driver entries are usually divided into sections such as: Usage, Features, Links, Known Issues,
# History and Trivia, and MESS Emulation State.

# History and Trivia - This section contains various background pieces for a system. Much of the 
# information in these sections was kindly provided by Thierry Schembri and Olivier Boisseau of the 
# "Old-computers.com Museum". Visit the excellent site at:  www.old-computers.com.

# Features - Usually a quick list of important or unique features of that system.

# Usage - This section lists any helpful commands for the computer or console in question, 
# such as disk operating system and file loading BASIC commands. This information is not 
# intended to replace a proper owner's manual for the system in question, and only contains 
# the most simple commands that can also be found on any of dozens of websites devoted to 
# the system.

# Known Issues - This section lists any known issues or bugs for the driver. These will be
# fixed as time and knowledge permit. Please be patient. If you have information that may
# help the MESS team resolve these issues go to www.mess.org.

# MESS Emulation State: This section highlights the overall status of the MESS driver. Some system
# drivers are TESTDRIVERS.

#---------------------------------------------------------------------------------------------#

$info=a2600
$bio
Atari 2600 Video Computer System


History and Trivia:

The Atari Video Computer System (VCS) was released in 1977 at a suggested retail price of 
$299, which dropped quickly as sales soared; about 340,000 systems were sold the first year 
alone.  Joe Decuir, Steve Mayer and Ron Milner designed the VCS.  The Atari VCS was 
developed under the project codename "Stella".  The VCS later became known, both commonly
and officially as the Atari 2600 (from the model number CX2600).  It is rumored that the number 
2600 was chosen because 2600 cycles was a prominent long distance access tone, and that
one of the developers had created devices that would trick pay phones into granting long
distance access as a hobby.


Features:

Resolution: 160 x 260 (horz.) at 60.00 Hz

CPU: MOS 6507 1.19 MHz

Graphics Clock: 1.19 MHz

Bits: 8

ROM: 4k max

RAM: 128 bytes, in VLSI

Video Display Processor: Stella

Sprites: 32

Colors: 256 (static)

Sound Processor: Two Channel Square or Noise (TIA)

Cartridge ROM: 2k up to 64k


Links:

Atari Age - www.atariage.com

Atari Historical Society - www.atari-history.com/a2600.html


MESS Emulation State:


1) Restricted to 2KB and 4KB carts

2) Supports NTSC games only

3) Limited compatibility

4) No support for keypad controls

5) Dip switch used to select joystick or paddles

$end

#---------------------------------------------------------------------------------------------#

$info=a400
$bio
Atari 400 Home Computer


Usage/Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by 
default. Whilst in full keyboard emulation mode, some key associated functionality may be 
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the 
scroll_lock key.


Most disk and cartridge images should work, though some graphic issues may exist. Note that
the Atari 400 has less memory than the Atari 800, and some disk images may not work as a
consequence; this is not a bug in the emulation.


History and Trivia:

The Atari 400 and 800 were the first home computers to use custom coprocessors and the first 
to use "sprites" and special video interruptions like display lists, features that will be 
implemented several years after on the Commodore Amiga. It offered high graphic resolution, 
lots of colors and great sound capabilities, more than other computers could do then! The 
two models had same characteristics, the 400 is the low-cost version, it has only 16 KB 
(instead of 48 KB), one cartridge port (two for the 800) and a membrane keyboard (a 
typewriter style keyboard one for the 800). 


$end

#---------------------------------------------------------------------------------------------#

$info=a5200
$bio
Atari 5200 SuperSystem


Usage/Known Issues:

Keyboard input is a little difficult, using a joystick or mouse is recommended.

Most games are playable. See a5200.hsi for a fairly exhaustive compatibility list.


History and Trivia:

The Atari 5200 was introduced in 1982, and was actually designed to be a competitor to the 
Intellivision, before ColecoVision entered the market. Developed under the name of "Pam" 
(Atari, at the time, typically named projects after well-endowed female employees), Atari 
considered releasing it with that moniker; PAM in this case an acronym for "Personal Arcade 
Machine".


The 5200 shared much of the architecture of the Atari 400/800 computers, but featured a 
different cartridge connector and completely different controllers. Non-centering analogue 
joysticks which offered a full 360 degrees of mobility, were both innovative and unreliable. 
Other controller features included a keypad, and a ahead-of-it's-time pause button.


The Atari 5200 suffered from it's initial incompatibility with the VCS/2600 (an adapter was 
later released) and fierce competition from Coleco. When Warner Communications sold Atari 
Corp. to the Tramiels in 1984, they quickly removed it from the market.


$end

#---------------------------------------------------------------------------------------------#

$info=a7800
$bio
Atari 7800 ProSystem


Known Issues:

The Pause key "P" is hard-coded and not able to be re-mapped.

Most games work fine, but a few have graphic and playability issues. See a7800.hsi for a 
full compatibility list.


History and Trivia:

Originally developed in 1984 as the Atari 3600, the Atari 7800 Prosystem was released to the 
US market in 1986, in an attempt to compete in a revitalized home videogame market. The 7800 
was actually designed by Gencomp as part of a lawsuit settlement (Gencomp had been sued for 
releasing a speedup chipset for Atari coinop Missile Command).


The 7800 was compatible with pre-existing Atari 2600 game program cartridges, without the need 
for expansion modules or turning switches, but was also designed to use enhanced 7800-only 
cartridges such as the pack-in "Pole Position 2". (n.b., only the 7800-specific cartridges are 
currently supported in MESS.) Many peripherals, including a computer/keyboard and high score 
saving cartridge were planned but never released.


Unfortunately for Atari, the system did poorly in the late 1980's market dominated by Nintendo.


www.atari-history.com has this interesting anecdote: "In the summer of 1984 the first 5,000 
Atari 7800's had just been built in the new El Paso assembly plant. The production line 
manager, Brad Saville was eager to meet with Jack Tramiel to show him the new flagship Atari 
video game console. The meeting ended abruptly as Jack Tramiel was quoted "Get your pollution 
out of here! We make computers now and we don't want your garbage." The line manager was fired 
2 days later. About 8-9 months later the line manager received a phone call from Atari asking 
him as to the whereabouts of the die molds for the Atari 7800. The ex-line manager responded 
that he did in fact know where they were and for $50/hour for about 200 to 300 hours of his 
time he would remember where they were and find them. The Atari Corp. representative who 
called was infuriated and informed the former production line manager that Atari's lawyers 
would be in contact with him. He never heard from Atari again."


$end

#---------------------------------------------------------------------------------------------#

$info=a800
$bio
Atari 800 Home Computer


Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by 
default. Whilst in full keyboard emulation mode, some key associated functionality may be 
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the 
scroll_lock key.

The Atari800 driver now has two ROM slots. It really had two slots, so the code was modified 
to optionally read the second part of a 16K ROM from the second cartridge filename provided 
(right slot). The previous version had a800_cartridge_32k flag which was wrong. Cartridges 
are either 8K or 16K, so that was renamed to ..._16k too ;)

Most disk and cartridge images should work, though some graphic issues may exist.

The Atari 800XL driver (a800xl) is not currently working.


History and Trivia:

The Atari 400 and 800 were the first home computers to use custom coprocessors and the first 
to use "sprites" and special video interruptions like display lists, features that will be 
implemented several years after on the Commodore Amiga. It offered high graphic resolution, 
lots of colors and great sound capabilities, more than other computers could do then! The 
two models had same characteristics, the 400 is the low-cost version, it has only 16 KB 
(instead of 48 KB), one cartridge port (two for the 800) and a membrane keyboard (a 
typewriter style keyboard one for the 800). 


$end

#---------------------------------------------------------------------------------------------#

$info=adam
$bio
ColecoAdam (1982)


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=advision
$bio
Entex Adventurevision


Known Issues:

Sound is not currently supported.

All four games are playable. 


History and Trivia:

The Adventure Vision was a cartridge based, electronic handheld video game that was 
manufactured by Entex Industries in 1982. It measured about 13 1/4" X 10" X 9" and used 
one vertical strip of 40 red LEDs and a spinning mirror to produce a screen with a 150X40 
resolution drawn at 15 frames/sec. There were only four cartridges produced for it: Defender, 
Turtles, Super Cobra, and an Asteroids clone, Space Force.


Visit http://www.adventurevision.com for more information.


$end

#---------------------------------------------------------------------------------------------#

$info=aim65
$bio
Rockwell AIM-65


Very early computer 


Features:

Integrated 20 digit (16segment) display
 
Full size keyboard

Integrated printer

Connector for tty input/output

Tape interface


Known Issues:

Display and keyboard working

Usable picture of the display with its white frame as artwork would be nice.

Would suffer from support for intelligent terminals as tty equipment.

Stopped. For me it is much to cryptic to operate, and therefore not interesting for me anymore.


MESS Emulation State:

This system is a TESTDRIVER.


Contributors:

Richard A. Cini: provided help and pictures

$end

#---------------------------------------------------------------------------------------------#

$info=amiga
$bio
Commodore Amiga


Known Issues:

Sound is not currently supported.

The driver is now working fairly well, though some games may need more memory than currently
emulated.


History and Trivia:

The conceptor of the Amiga 1000 was Jay Miner, who created the Atari 800 many years before. 
He wanted to make the most powerful computer ever, then he joined a little California 
company called Amiga. He used the principle of the three coprocessors (again) to help the 
main processor. At the beginning, the Amiga had only 64 kilobytes of RAM!, Atari wanted to 
buy the Amiga but finally, Commodore succeeded to buy it (then there was a lawsuit, which 
Commodore won). It was meant to be a competitor to the Atari 520 ST. The operating system 
was done by Metacomco, a British company who specialized in the 68000 processor (they also 
made languages for the Sinclair QL). It is a fully multitasking system which looks like 
UNIX with a graphical user interface. It was the very first personal computer with great 
graphics and sound capabilities with a GUI environment. Amiga BASIC was written by 
Microsoft (like most other versions of BASIC). The Amiga 1000 began to lose popularity one 
year later with the creation of its two main successors: the Amiga 500 and the Amiga 2000.
There were two versions of the Amiga 1000. The first one, just called "Amiga", was sold 
only in USA, had a NTSC display, and didn't have the video modes EHB and HAM, later 
versions would have this built in. The second one, called "Amiga 1000" (to avoid confusion 
with its successor, the Amiga 2000) had a PAL display, enhanced video modes 
(HAM & EHB) and was built in Germany.


MESS Emulation State:



$end

#---------------------------------------------------------------------------------------------#

$info=apexc
$bio
APEXC (All Purpose Electronic X-Ray Computer)


Usage Notes:

You should specify a cylinder image with code to run in it. Arguably, APEXC does not require such
an image, since you may enter code in the control panel, but this would be a pain in the ass.


If the program you run use punched tape I/O, you may specify tape image files. The first unit is
read-only, the second unit is write-only.


On a CLI MESS port, the resulting MESS command line may look like this:
	mess apexc -cyln ram_image.apc -ptap input.tap output.tap


Note that, when you quit MESS or the APEXC driver, the contents of the cylinder are saved
to the image you specified. This simulates the behavior of the APEXC, where the cylinder image
IS the working memory. If you don't like this behavior, you may either write-protect
the cylinder image file, or keep a backup copy elsewhere on your hard disk (highly recommended).


Note that the APEXC CPU is stopped on start-up, so that you may check the machine state and enter
the start-up program address.


On start-up, the instruction at address 0 is loaded into the Control Register, then the machine
is stopped. To run the program starting at address 0, just press the Run/stop switch
(the Run/stop switch is mapped to the Return key on the main keyboard).


To start a program at another address, you need to load the first instruction into the Control
register with the control panel. To do so, use keys 1 through 0 on the main keyboard to enter
the 10-bit address into the 10 most significant bits of the Control Panel display, and set
other bits to 0 with the three rows of keys under 1 through 0 (each key toggles a bit in the
control panel display; don't be intimidated if it sounds complicated, it should eventually
appear straight-forward when you try, provided you know what binary scale is). You have thus
generated a Stop instruction pointing to the first instruction of the program. Write this
instruction into the Control Register, by holding Left Shift pressed and pressing 1 on
the numeric keypad. You should now press the Run/stop switch twice (mapped to the Return key
on the main keyboard). First press executes the stop order, but fetches the first
instruction of the program into the control register. Second press starts running the program,
starting with the first instruction.


Control panel usage:


This is relatively simple. The Control Panel may hold and display a 32-bit value. Display is made
of 32 lamps, which show the current value in binary scale (each lamp represents one bit). Hence,
the normal usage is loading the value you want to edit into the control panel, editing it,
then saving it to the proper location.


Default key map:

 Run/stop switch: Return key on main keypad

The next 6 keys may be used alone to read the register into the control panel display, or
in combination with the Left Shift key to write the value in the control panel display into the
register.

 Read/write Control Register: 1 key on numeric keypad

 Read/write Accumulator: 2 key on numeric keypad

 Read/write Register: 3 key on numeric keypad

 Read/write current Head Block (never used on APEXC - used for bank switching): 4 key on numeric keypad

 Read/write Memory Location: 5 key on numeric keypad

 Read/write memory location pointed to by ML register: 6 key on numeric keypad

 write instead of reading: Left Shift key (when you press one of the 6 keys above, the
designated register is read into the control panel display, unless this key is being pressed,
in which case the value in the control panel display is written into the register)

 Toggle bits 1 through 10 in display: keys 1 through 0 on the main keyboard

 Toggle bits 11 through 20 in display: key row directly below the former on the main keyboard
(Q through P if your keyboard is QWERTY)

 Toggle bits 21 through 30 in display: key row directly below the former on the main keyboard
(A through ; if your keyboard is QWERTY)

 Toggle bits 31 and 32 in display: key row directly below the former on the main keyboard
(W and X if your keyboard is QWERTY)


Known Issues:


The driver should work correctly as of MESS .37b15. Still, it needs development tools, sample
code and usage instructions desperately. I have tons of sample code (which was the reason for
starting to write this driver), but still need to retype it.  I have started work on an assembler,
too.


Since I have no description of the control panel of an actual APEXC, I implemented a common-place
control panel, so this part of the emulation is not accurate. I don't even know how an actual
APEXC was operated, and the procedures I describe above are not accurate, either.


History and Trivia:


The APEXC was designed by Andrew D. Booth at Birkbeck College, London, in the early 50's.
From 1943 on, he started working on the determination of crystal structures using X-ray diffraction
data.  The computations involved were extremely tedious and there was ample incentive for automating
the process. In 1947, along with his collaborator and future spouse Kathleen Britten, he spent
a few months with von Neumann's team, which was the leading edge in computer research at the time.
Booth designed an electromechanical computer, the ARC, in the late 40's. Later on, they built
an experimental electronic computer named 'SEC' (Simple Electronic Computer), and finally the APEC
(All-Purpose Electronic Computer) series.


According to a 1956 document, the APEC series included the following machines:

 * APE(X)C: Birkbeck College, London (before 1955)

 * APE(N)C: Board of Mathematical Machines, Oslo ('N' must stand for 'Norway')

 * APE(H)C: British Tabulating Machine Company (No idea what 'H' can stand for)

 * APE(R)C: British Rayon Research Association ('R' must stand for 'Rayon')

 * UCC: University College, London (circa January 1956)

 * MAC (Magnetic Automatic Calculator): "built by Wharf Engineering Laboratories" (February 1955)

 * The HEC (Hollerith Electronic Computer - silly name invented by BTM
directors), built by the British Tabulating Machine Company (later to become
International Computers and Tabulators (ICT), then International Computers
Limited (ICL)), a commercial machine sold in several models (I have heard of
HEC 1, HEC 2, HEC 2M (no idea what the difference with HEC 2 is) and HEC 4)
(before 1955)


Only one of each of these machines was built, with the exception of HEC (and possibly MAC)
which were commercial machines produced in small series. They were similar in design,
with various small differences, mostly in I/O equipment (either punched-card machines - APEXC,
APEHC - or teletypers (keyboard and printer, and paper tape reader and puncher) - APERC, APENC).
Also, the UCC had 8k words of storage, instead of 1k word for other machines, and the MAC
used germanium diodes in replacement of many tubes.  The HEC used standard
Hollerith punch cards; the HEC 4 had a printer, too, and it featured several
instructions (divide) and registers not found on the APEXC.


I am sorry I know little more about Booth, his team, and the history of these machines.


Technical Description:


The APEXC is an incredibly simple machine.


Instruction and Data words are always 32-bit-long. The processor uses integer arithmetic with 2's
complement representation. Addresses are 10-bit-long. The APEXC has no RAM, except a 32-bit
accumulator and a 32-bit data register (used along with the 32-bit accumulator to implement 64-bit
shift instructions and hold the 64-bit result of a multiplication). Instructions and data are
stored in two magnetic drums, for a total of 32 circular magnetic tracks of 32 words. Since
the rotation rate is 3750rpm (62.5 rotations per second), the program execution speed can go
from as high as the theoretical maximum of 1 kIPS to lower than 100IPS if program instructions
and data are not contiguous. Nowadays, many a pocket calculator is faster.


One oddity is that there is no program counter: each machine instruction includes the address
of the next instruction. This design may sound weird, but it is the only way to achieve optimal
performance with this cylinder-based memory.


The machine code is made of 15 instructions only, namely addition, subtraction, multiplication,
load (3 variants), store (2 variants), conditional branch, right arithmetic bit shift,
right bit rotation, punched-card input, punched-card output, machine stop, and bank-switching
(which is never used on the APEXC, since it only has 1024 words of storage, and addresses are
10-bit-long). A so-called vector mode enables to repeat the same operation 32 times with 32
successive memory locations. Note the lack of bitwise and/or/xor and division. Also, note
the lack of indirect addressing modes: dynamic modification of opcodes is the only way one may
simulate it.


Another oddity is that the memory bus and the ALU are 1-bit-wide. There is a 64kHz bit-clock and
a 2kHz word-clock, and each word memory and arithmetic operation is decomposed into 32 1-bit
memory and arithmetic operations: this takes 32 bit cycles, for a total of 1 word cycle.


The processor is fairly efficient: most instructions take only 2 word cycles (1 for fetch,
1 for read operand and execute), with the exception of stores, shifts and multiplications.
Yes, the APEXC CPU is a RISC: there is no other adequate word.


Note there is no ROM, and therefore no 'bootstrap loader' or default start-up program whatever.
As far as I know, no executive or operating system was ever written for the APEXC, although
there were subroutine libraries of sorts for common arithmetic, I/O and debug tasks.


Operation of the machine is normally done through a control panel which allows the user to start,
stop and resume the CPU, and to alter registers and memory when the CPU is stopped. When starting
the machine, the address of the first instruction of the program to be executed must be entered
in the control panel, then the run switch must be pressed. Most programs end with a stop
instruction, which enables to check the state of the machine, possibly run some post-mortem
debugging procedures (a core dump routine is described in an APEXC programming book), then enter
the address of another program and run it.


Two I/O devices were supported: a paper tape reader, and a paper tape puncher. The puncher output
could be fed to a printer ('teletyper') unit when desirable. Printer output is emulated and is
displayed on screen. Tape input was either computer-generated by the APEXC, or hand-typed with
a special 32-key keyboard (each tape row had 5 data holes (<-> bits), which makes 32 different
values).

$end

#---------------------------------------------------------------------------------------------#

$info=apfimag
$bio
APF Imagination Machine


The APF Imagination has the same hardware as the APF-M1000, but it is a computer.
It has a keyboard and built in cassette player.

An additional disc interface was available.

In basic, pressing "FUNCTION" (currently mapped to CTRL) and a letter/number will display
a basic keyword making it easier to enter programs.


FUNCTION+Q = IF

FUNCTION+W = STEP

FUNCTION+E = STOP

FUNCTION+R = READ

FUNCTION+T = NEXT

FUNCTION+Y = PRINT

FUNCTION+U = END

FUNCTION+I = LIST

FUNCTION+O = REM

FUNCTION+P = USING

FUNCTION+1 = GOSUB

FUNCTION+2 = LET

FUNCTION+3 = DATA

FUNCTION+4 = INPUT

FUNCTION+5 = DIM

FUNCTION+6 = FOR

FUNCTION+7 = RETURN

FUNCTION+8 = THEN

FUNCTION+9 = ON

FUNCTION+0 = GOTO

FUNCTION+- = RESTORE

FUNCTION+ENTER = CLOAD


For cassette:

Use CSAVE"<filename>" to save a file, and CLOAD"" to load the file back.


For disc:

Use SAVE"<filename>" to save a file, and LOAD"<filename>" to load the file back.
You can use "DIR <drive number>" e.g. "DIR 0" and "DIR 1" to give a directory of the
disc.

Basic disk images with the ".APD" extension are supported.


Known issues:

* Cassette loading and saving is working

* Interrupts are not exact. I don't know enough about them, any info would be appreciated.

* Disc interface is working, but there may be some bugs.

* Keyboard is mostly working but some keys may be missing

* Keypad is not emulated

* The M6847 emulation is very advanced *BUT* I don't think I have set it up correctly for the APF Imagination, therefore the graphics are wrong.

* Memory emulation is not complete

$end

#---------------------------------------------------------------------------------------------#

$info=apfm1000
$bio
APF M-1000


The APF M-1000 is a console. It has a built-in game. The emulation is not exact and the
built in game does not work.


Known issues:

* internal game does not work

* keypad is not emulated

$end

#---------------------------------------------------------------------------------------------#

$info=apple1
$bio
Apple 1


Usage:

Upon boot or reset, the system displays a "\" and a blinking "@" cursor on the next
line.  The blinking "@" is the Apple 1's video cursor.  The "\" is the prompt for the
Monitor program.  From the Monitor, you can examine or change memory or execute another
program.

You can always interrupt a program and return to the Monitor by pressing the Apple 1's
RESET switch (F12).  This will not clear the screen or disturb memory contents.

To cold-boot the system, clearing the screen and memory, press the MESS Reset key
(F3, in partial emulation mode only).

The Apple 1's CLEAR SCREEN switch (F2) will clear the screen and place the cursor at
the upper left corner.  This only clears the video hardware, not the computer's memory,
so you can use it whenever you like.


To start the cassette interface's mini-monitor from the Monitor, type the Monitor command:

    C100R

This mini-monitor will let you write memory regions to a cassette image or read a cassette
image into memory.  It will only execute a single line of commands, and will then return you
to the main Monitor, but this line can contain several write or read commands.

Cassette write command, writing data from memory at $xxxx-$yyyy:

    xxxx.yyyyW

Cassette read command, reading data into memory at $xxxx-$yyyy:

    xxxx.yyyyR

The starting and ending addresses xxxx and yyyy should be 4-digit hexadecimal addresses.
The starting address can actually be shorter than 4 digits, but to be safe, the ending address
should be exactly 4 digits.  (A bug in the cassette mini-monitor will cause digits missing
from the ending address to be replaced by the trailing digits of the starting address, and
if the starting address does not end with zeroes, much more data will be written or read than
expected.)

If a command line contains multiple write or read commands, the corresponding memory regions
will be written or read in sequence.  These commands may be separated by spaces, which are
ignored.

When a region is written, its data is preceded by a 10-second leader.  When a region is read,
the leader can vary in length but should be at least 4-5 seconds.

If the cassette image doesn't contain enough data to fill a region, the mini-monitor will hang
waiting for the remaining data, and the system must be reset.

When all the cassette commands have been executed, the mini-monitor will return to the Monitor,
which will display a "\" prompt.


Some cassette command examples:

To read Apple 1 BASIC from cassette:

    E000.EFFFR

To write a BASIC program to cassette, with BASIC's default LOMEM= setting of 2048:

    4A.00FFW800.FFFW

To read a BASIC program from cassette, with LOMEM=768:

    4A.00FFR300.FFFR


Once Apple 1 BASIC is loaded into memory, it can be started with the Monitor command:

    E000R

This will start BASIC from scratch, removing any existing BASIC program and data.
To return to BASIC from the monitor while preserving the current program and data,
use the command:

    E2B3R

The BASIC prompt is a ">".  Apple 1 BASIC is generally similar to Apple II Integer BASIC,
but without the latter's graphics commands.


MESS Emulation State:

Optional cassette interface is included and emulated.

4 KB of DRAM is mapped to $E000-$EFFF.  This is required for Apple 1 BASIC.


Known Issues:

The cassette interface and $E000-$EFFF DRAM are always included; they cannot be switched off.

The DRAM at $E000-$EFFF is not included in the RAM configured by MESS's -ram option, due
to limitations in how MESS presently manages configurable RAM.


History and Trivia:

The Apple 1 was a kit computer that was introduced and sold in small quantities in 1976.

Steve Wozniak ("Woz"), who worked for Hewlett-Packard at the time, wanted to build his own
computer.  He could afford neither the Intel 8080 (the most popular microprocessor at the
time) nor the Motorola 6800 (his own preference).  Therefore, he decided to build his computer
around MOS Technology's new 6502 chip, which was quite compatible with the Motorola 6800 but
far less expensive.  He proceeded to write a BASIC interpreter for the chip, and then turned
to designing the computer that would run it, using an earlier paper design for the Motorola
6800.

The resulting computer was easier to use and more affordable than many other kit computers
of the time, sporting a keyboard interface and TV-compatible video terminal circuitry, all
on a single circuit board.  To keep costs down, the video memory was implemented using shift
registers rather than RAM, with the downside being a slow display rate (60 characters per
second).  However, this was still much faster than the 10-character-per-second electromechanical
Teletypes used with many early home computers.  Wozniak's computer also used new, more compact
4-kilobit dynamic RAM chips instead of the 1-kilobit static RAMs used by most other designs.
Wozniak promoted his computer and enhancements for it at the Homebrew Computer Club in Palo
Alto, California.

Steve Jobs, who had worked with Woz on the game "Breakout" for Atari, convinced Woz to try
to market and sell the computer.  Together they formed the Apple Computer Company.  Paul
Terrell, the owner of The Byte Shop, a new local computer store, was interested in this
computer, but only if it was fully assembled and came with a cassette interface, so
Wozniak designed one.

Normally, the Apple 1 was sold "naked", simply as a circuit board, without a monitor, power
supply, keyboard, tape drive, etc.  These would be added by the owner.  Wozniak and Jobs
assembled about 200 systems and sold about 170 of them.  Most of these were later traded in
to Apple for Apple IIs and were destroyed.  About 30 to 50 are still in existence.


Features:

CPU: MOS Technology 6502, 1 MHz

Memory: 4 kB DRAM, expandable to 8 kB on board, or up to 52 kB with third-party expansion
hardware

Screen: 40x24 characters

Storage: Optional cassette interface


Links:

Apple I Owners Club -- http://www.applefritter.com/apple1

Apple History -- http://www.apple-history.com/

Apple ][ History -- http://apple2history.org/history/ah02.html

Apple 1 Manual -- http://emulation.net/apple1/manual/apple1manx.html

$end

#---------------------------------------------------------------------------------------------#

$info=apple2
$bio
Apple ][


Known issues:

Optional cassette drive not yet supported; in fact, no peripherals are supported
(bug #477)

Colors are incorrect (bug #475).

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by 
default. Whilst in full keyboard emulation mode, some key associated functionality may be 
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the 
scroll_lock key.


Usage:

Upon booting, you'll get the ROM monitor prompt ('*'), from which you can
examine/modify/run at different memory locations.  (Note: you would normally need to press
RESET to get to the prompt, but this doesn't seem to be necessary in MESS.)

From the Monitor, press control-B then ENTER to get to Integer BASIC, which uses the
greater than prompt ('>').

You can invoke the mini-assembler by entering 'F666G' at the Monitor.

To backspace, use the left arrow key.  The "Backspace" key is mapped to the Apple ][
"DEL".


History and Trivia:

The Apple ][ is an improved version of the Apple 1 kit computer first released in 1977.
Along with the TRS-80 and the PET, it constituted one of the "second-generation" of
computers, aimed at the general user rather than the specialized hobbyist.

The Apple ][ featured a beige plastic case, color graphics, and seven (eight?) expansion
slots.  It included a version of BASIC called "Integer BASIC" on the ROM which came with
the machine.

It was an excellent home gaming platform.  It shipped with two game paddles (various
models were used) and supports up to four.  It also included a built-in speaker.

The cassette interface required a cassette recording deck and was quite finicky.  The
treble and bass on the cassette deck had to be fiddled with in just the right way.


Features:

CPU: MOS 6502 1MHz

Memory: RAM 4kB expandable to 48kB, 12kB ROM

Screen: 6 colors at 280x192, 4-bit color at 40x48

Data path: 8-bit


Links:

Apple History -- http://www.apple-history.com/

Apple ][ History -- http://apple2history.org/history/ah03.html

$end

#---------------------------------------------------------------------------------------------#

$info=apple2c
$bio
Apple //c Series


Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by
default. Whilst in full keyboard emulation mode, some key associated functionality may be
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the
scroll_lock key.


History and Trivia:

The Apple //c is the compact (the "c" means compact) version of the Apple IIe. It has the
same characteristics but lot of features which are optional on the IIe are provided on the
//c (floppy disk drive, 80 columns display, color display, 128 KB RAM), but unlike the
Apple IIe, it has no expansion slots, so it is hard to add features to this computer. It
runs either with DOS 3.3 either with ProDos and has the first version of QuickDraw in ROM.
The Apple //c was originally designed to be a portable version of the Apple II, but it
wasn't a stand alone system, it has no batteries and no LCD screen (Apple would soon
release the items), it could also be used with a small 9" monochrome green screen which
plugged into the unit. The Apple //c was mainly used as a desktop computer and
was replaced with the Apple IIc+ in 1988.

The Apple IIc+ unit was a direct response to the Laser 128EX/2.  Apple retrofitted the
//c design to try to compete with Video Technology's high speed Apple II clone. The
retrofitting is evident in the design of the motherboard.  The motherboard runs at 1Mhz,
unlike the Laser 128EX/2.  In order to run its programs faster, Apple used a 4Mhz 65C02
with 8k of high speed SRAM cache and licensed the accelerator design from Zip
Technologies (makers of the ZipChip accelerator for the IIe and //c).  They built an
accelerator into a 1Mhz motherboard rather than design a faster motherboard from scratch.

The designers of the Apple IIc+ originally wanted to make a portable ||GS. Apple's
management, bent on promoting the Mac, balked at the idea. At the same time, the
Laser 128EX/2 made a quick design cycle mandatory. The result is an updated //c.

Apple //c went under several revisions: you can discover which machine you are using issuing
the command PRINT PEEK(64447).

If 255 is displayed, you have the first, original model. This model is known to have problems
producing accurate baud rates for serial communications.

If 0 is displayed, you can use 3.5" drives, but you don't have the memory expansion connector.

If 3 is displayed, you have the memory expansion connector and you can plug in extra memory.

If 4 is displayed, you have the latest model with memory expansion connector and extra upgrades.

If 5 is displayed, you have an Apple IIc+.

The Apple IIc+ was the finest Apple 8-bit computer ever built, but lack of marketing,
the apparent de-evolution in technology compared to the 16-bit Apple ||GS, and the
aggressive sale of the Laser 128EX/2 made the IIc+ the most short lived of the
Apple II models.

Apple "][", Apple "II", Apple "//" -- which is correct?

"][", "II", and "//" tend to be used pretty much interchangeably for any model of Apple II
computer, although, practically speaking, there are a few usages which may provoke a
correction.

"][" is the original Apple II symbol. It appears on all early II's and II+'s as well as on the
Disk ][ drive. It is, easily, the most attractive and distinctive II symbol; but, it is also
associated with old Apple II's. The "//" usage is generally associated with the "c" and
newer "e" models.

The generally preferred machine designations are:

Apple ][   or  Apple II for pre-][+ models
Apple ][+  or  Apple II+
Apple IIe  for non-enhanced IIe computers
Apple //e  for 128k-enhanced IIe computers
Apple //c
Apple IIc+
Apple IIgs or  GS  or best (if you have the fonts)  ||GS

Features:

CPU: MOS 65C02 1.4MHz (4MHz on the IIc+)

Memory: 128kB RAM expandable to 1mB, 32kB ROM

Screen: 16 colors at 560x192 (double-hi-res); 4-bit color text mode at 40x48

Data path: 8-bit


$end

#---------------------------------------------------------------------------------------------#

$info=apple2e
$bio
Apple IIe series


Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by
default. Whilst in full keyboard emulation mode, some key associated functionality may be
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the
scroll_lock key.


History and Trivia:

The Apple IIe is the successor of the Apple ][+.  It was developed after the Apple III failed
to catch on with the public, and released in 1983. It was a very great success and was widely
used in schools.  The Apple IIe features an optional 80-column text display, new keys on the
keyboard, upper- and lower-case text, and bank-switching to increase the amount of addressable
RAM.  The Apple IIe also supported the new ProDOS operating system released in 1984.

Note the Apple IIe emulation includes the 80-column card and motherboard revision B, meaning
that double-hi-resolution modes are available.

The Enhanced Apple IIe, a.k.a. the Apple //e (MESS system name, "apple2ee") was released in
1985.  It included ROM bugfixes, replace the 6502 processor with the 65C02, and added a
character genrator ROM with new graphic characters called "Mouse Text".  This model was
actually more compatable with the Apple ][ and ][+.

The Platinum Apple //e adopted the ||GS keyboard and minor motherboard modifications.

Apple "][", Apple "II", Apple "//" -- which is correct?

"][", "II", and "//" tend to be used pretty much interchangeably for any model of Apple II
computer, although, practically speaking, there are a few usages which may provoke a
correction.

"][" is the original Apple II symbol. It appears on all early II's and II+'s as well as on the
Disk ][ drive. It is, easily, the most attractive and distinctive II symbol; but, it is also
associated with old Apple II's. The "//" usage is generally associated with the "c" and
newer "e" models.

The generally preferred machine designations are:

Apple ][   or  Apple II for pre-][+ models
Apple ][+  or  Apple II+
Apple IIe  for non-enhanced IIe computers
Apple //e  for 128k-enhanced IIe computers
Apple //c
Apple IIc+
Apple IIgs or  GS  or best (if you have the fonts)  ||GS


Features:

CPU: MOS 6502 1MHz (Apple IIe); MOS 65C02 1MHz

Memory: 64kB RAM standard, 128kB RAM with extended 80-column card, 16kB ROM

Screen: 16 colors at 560x192 (double-hi-res); 4-bit color text mode at 40x48

Data path: 8-bit

$end

#---------------------------------------------------------------------------------------------#

$info=apple2p
$bio
Apple ][+


Known issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by
default. Whilst in full keyboard emulation mode, some key associated functionality may be
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the
scroll_lock key.

Colors are incorrect (bug #475).


Usage:

Invoking the emulator with a floppy disk will boot from that disk.  If booting without a
floppy, use the RESET key ("F3" in partial keyboard emulation) to get to APPLESOFT.

You can identify the APPLESOFT prompt as "]".  Lines can be edited from APPLESOFT using the
arrow keys or using Escape, then "I" for up, "J" for left, "K" for right, and "M" for down.


History and Trivia:

The Apple ][+ is an incrementally improved Apple ][ that was released in 1979.

Most improvements centered around the ROM chip. It featured a floating point BASIC in ROM
called APPLESOFT instead of Integer BASIC.  It also had an "autostart" capability which
caused the machine to boot automatically from attached Disk ][ devices or other
peripherals.  Bug fixes increased the number of hi-res color to 8 and eliminated the
violet and green fringe around characters in text mode.

The emulator for the Apple ][+ includes a disk drive controller in slot two with two Disk
][ drives.  This revolutionary controller was probably the first commercial soft-sector
5.25" floppy drive, and was the cheapest ever at the when it shipped at $595.

Minor as these improvements may seem, it greatly increased the desirability of the Apple ][
line and gave a huge boost in sales to the Apple line.


Features:

CPU: MOS 6502 1MHz

Memory: RAM 48kB, 12kB ROM

Screen: 8 colors at 280x192, 4-bit color at 40x48

Data path: 8-bit


Links:

Apple ][ History -- http://apple2history.org/history/ah06.html

DOS/ProDOS FAQ -- http://www.apple2.org/faq/FAQ.dos.prodos.html

APPLESOFT FAQ -- http://www.apple2.org/faq/FAQ.applesoft02.html

$end

#---------------------------------------------------------------------------------------------#

$info=aquarius
$bio
Mattel Aquarius


Usage Notes:

From within the emulation, there are several BASIC command keyboard shortcuts available by
pressing control and another key.


CHR$      Ctrl[SPACE]

CLOAD     Ctrl[Z]

COPY      Ctrl[9]

CSAVE     Ctrl[A]

DATA      Ctrl[F]

DIM       Ctrl[E]

FOR       Ctrl[-]

GOSUB     Ctrl[7]

GOTO      Ctrl[5]

IF        Ctrl[3]

INPUT     Ctrl[T]

LEFT$     Ctrl[V]

LIST      Ctrl[2]

MID$      Ctrl[B]

NEXT      Ctrl[=]

ON        Ctrl[6]

PEEK      Ctrl[;]

POINT     Ctrl[L]

POKE      Ctrl[']

PRESET    Ctrl[K]

PSET      Ctrl[J]

READ      Ctrl[D]

REM       Ctrl[W]

RIGHT$    Ctrl[N]

RETURN    Ctrl[8]

RUN       Ctrl[1]

STR$      Ctrl[,]

THEN      Ctrl[4]

VAL       Ctrl[.]


To break/stop a program, press Ctrl[C]

To interrupt the LISTing of a program, press Ctrl[S]

To repeat the entire last line you typed, press Ctrl[R]

To get the machine to beep, press Ctrl[G]


Known Issues:

Image loading is not currently supported.


History and Trivia:

The Aquarius was Mattel Electronics' (a division of a huge US toy manufacturer) attempt at
entering the home computer market. It was a commercial failure, and was frequently found 
in bargain bins in toy stores for many years following. 


$end


#---------------------------------------------------------------------------------------------#

$info=arcadia
$bio
Emerson Arcadia 2001 (1982)


8-bit Console system


Sold from several firms with different names:

Hanimex mpt-03 (first variant?) with large cartridge slot

Palladium Video - Computer - Game with different cartridge slot, Controllers

Emerson Arcadia 2001

Schmid TVG2000 / Tele Fever (Germany)

Hanimex hmg 2650

LeisureVision (Canada)

Leonardo (Italy)

Advision Home Arcade (France)


Features:

128x208 in 8 colors

4 8x8 single color sprites

single channel sound

2 controller with analog joystick and keypad


Controller Layout:

  1   2   3

  4   5   6

  7   8   9

 Del  0 Enter


Links:

r2001 for DOS by Paul Robson at http://users.aol.com/mk14emu/arcadia.htm


MESS Emulation State:

Based on info by Paul Robson, Ward Shrake

Look in hash/arcadia.hsi for some issues

Bad analog joystick emulation


$end

#---------------------------------------------------------------------------------------------#

$info=astrocde
$bio
Bally Professional Arcade/Astrocade


Usage:

Loading the Astrocade driver without a cartridge image will allow you to use the four
built-in programs.


Known Issues:

To the best of our knowledge, full compatibility, aside from Bally Basic tape support.


History and Trivia:

The game console commonly known as the "Bally Astrocade" was never officially sold by that 
name, having originally been released by Bally Manufacturing in 1978 as the Bally Professional 
Arcade. It was withdrawn rather quickly though, due to the success of the competing Atari VCS. 
A group of Pro Arcade enthusiasts under the name Astrovision Inc., bought the rights to the 
Pro Arcade and reintroduced it as the Bally Computer System, including the Basic cartridge as 
a pack-in. In 1982, the system and company was renamed Astrocade, once again trying to market 
it as a video game system. The system didn't last much longer, though; it was a product with a 
limited interest base even before the video game slump of the next few years.


$end

#---------------------------------------------------------------------------------------------#

$info=at
$bio
AT (1987)


Features:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=atvga
$bio
PC/AT (VGA, MF2 Keyboard)


Features:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=atom
$bio
Acorn Atom (1979)


Features:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=avigo
$bio
TI Avigo


MESS Emulation State:


This system does not work properly.
There is no documentation on the hardware available and more is required.

$end

#---------------------------------------------------------------------------------------------#

$info=bbca
$bio
Acorn BBC Micro Model A (1981)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=bondwell
$bio
BONDWELL PRO28 Series - BW230


IBM PC compatible computer

Features:

CPU on pc-type adapter
 8088 with 3.75/8 mhz (turboswitch)
 socket for 8087
 512 kb RAM built in 
 sockets for additional 128kb RAM on board
 integrated floppy disk controller
 setup RAM/realtime clock?
 MF2 Keyboard (US layout)
 socket for additional bios?
game port on motherboard or slot?
serial port on motherboard or slot?
parallel port on motherboard or slot?
cga adapter in slot or motherboard?
5 1/4 inch 360 kb disk drive
harddisk controller in slot or motherboard?
32mb harddisk

MESS Emulation State:

basically the same as mess ibmpc emulation

rtc/setup RAM not emulated

Character ROM dump missing

needs i8086 "dirval reset fix" to work

bios stops without emulation of disketts controller (->you have to start with disk image!)


$end

#---------------------------------------------------------------------------------------------#

$info=c128
$bio
Commodore c128


Sequel of to the c64.


Description:

hardware emulation mode for c64
 displayed over din/tv connector only
 c64 cartridges
 c64 userport
 only the c64 standard keys available
country support (keyboard, character ROM, kernel (keyboard polling))
 character ROM german
 character ROM french, belgium, italian
 editor, kernel for german
 editor, kernel for swedish
 editor, kernel for finish
 editor, kernel for norwegian
 editor, kernel for french
 editor, kernel for italian
enhanced keyboard
m8502 processor (additional port pin)
additional vdc videochip for 80 column modes with own connector (rgbi)
 16k byte RAM for this chip
128 kbyte RAM, 64 kbyte ROM, 8k byte charrom, 2k byte static colorram
 (1 mbyte RAM possible)
sid6581 soundchip
c64 expansion port with some additional pins
z80 CPU for CPM mode

c128d:

 c1571 floppy drive built in
 64kb vdc RAM
 sid8580 sound chip

c128cr/c128dcr:

 cost reduced
 only modified for cheaper production (newer RAM, ...)


MESS emulation state:

uses c64 emulation for c64 mode
so only notes for the additional subsystems here

rasterline based video system
 no CPU holding
 imperfect scrolling support (when 40 columns or 25 lines)
 lightpen support not finished
 rasterline not finished
vdc emulation
 dirtybuffered video system
 text mode
  only standard 8x8 characters supported
 graphic mode not tested
 lightpen not supported
 scrolling not supported
z80 emulation
 floppy simulation not enough for booting CPM
 so simplified z80 memory management not tested
no CPU clock doubling
no internal function ROM
c64 mode
 differences to real c64???
no sound
cia6526's look in machine/cia6526.c
keyboard
gameport a
 paddles 1,2
 joystick 1
 2 button joystick/mouse joystick emulation
 no mouse
 lightpen (not finished)
gameport b
 paddles 3,4
 joystick 2
 2 button joystick/mouse joystick emulation
 no mouse
simple tape support
 (not working, cia timing, CPU timing?)
serial bus
 simple disk drives
 no printer or other devices
expansion modules
 no c128 modules
expansion modules c64
 ROM cartridges (exrom)
 ultimax ROM cartridges (game)
 c64 cartridges (only standard ROM cartridges)
 no other ROM cartridges (bankswitching logic in it, switching exrom, game)
 no ieee488 support
 no cpm cartridge
 no speech cartridge (no circuit diagram found)
 no fm sound cartridge
 no other expansion modules
no userport
 no rs232/v.24 interface


Video notes:

If the game runs too fast with the NTSC version, try the PAL version!
flickering affects in one video version, try the other video version


Keys:

Some PC-Keyboards does not behave well when special two or more keys are
pressed at the same time
(with my keyboard printscreen clears the pressed pause key!)

shift-cbm switches between upper-only and normal character set
(when wrong characters on screen this can help)
run (shift-stop) loads program from type and starts it
esc-x switch between two videosystems

additional keys (to c64) are in c64mode not useable


Lightpen:

Paddle 5 x-axe

Paddle 6 y-axe


Tape:

(DAC 1 volume in noise volume)
loading of wav, prg and prg files in zip archive
command line -cassette image
wav:
 8 or 16(not tested) bit, mono, 125000 Hz minimum
 has the same problems like an original tape drive (tone head must
 be adjusted to get working(no load error,...) wav-files)
zip:
 must be placed in current directory
 prg's are played in the order of the files in zip file

use LOAD or LOAD"" or LOAD"",1 for loading of normal programs
use LOAD"",1,1 for loading programs to their special address

several programs relies on more features
(loading other file types, writing, ...)


Discs:

only file load from drive 8 and 9 implemented
 loads file from ROM directory (*.prg,*.p00) (must NOT be specified on command line)
 or file from d64 image (here also directory LOAD"$",8 supported)
use LOAD"filename",8
or LOAD"filename",8,1 (for loading machine language programs at their address)
for loading
type RUN or the appropriate sys call to start them

several programs rely on more features
(loading other file types, writing, ...)

most games rely on starting own programs in the floppy drive
(and therefore CPU level emulation is needed)


Roms:

.prg
.crt
.80 .90 .a0 .b0 .e0 .f0
files with boot-sign in it
  recognized as ROMs

.prg files loaded at address in its first two bytes
.?0 files to address specified in extension
.crt ROMs to addresses in crt file


Quickloader:

.prg and .p00 files supported
loads program into memory and sets program end pointer
(works with most programs)
program ready to get started with RUN
loads first ROM when you press quickload key (numeric slash)


c64 mode:

hold down commodore key while resetting or turning on
type go64 at the c128 command mode


cpm mode:

cpm disk must be inserted in device 8
turn on computer
or
type boot at the c128 command mode

when problems start with -log and look into error.log file


rom dumping:

Dumping of the ROMs from the running machine:
in the monitor program
s "drive:name",device,start,end

s "0:basic",8,f4000,fc000
s "0:editor",8,fc000,fd000
s "0:kernel",8,ee000,f0000
s "0:char128",8,ed000,ee000

*z80bios missing (funet says only 1 version!?)
I don't know, maybe there is a cpm utility allowing saving
the memory area 0-0xfff of bank 0.
(I don't want to develop (and can't test) this short complicated
program)

*c64basic and kernel (only 1 version!?)
in c64 mode
poke43,0:poke44,160:poke45,0:poke46,192:save"0:basic64",8

in c64 mode
for i=0 to 8191:poke 32*256+i, peek(224*256+i): next
poke43,0:poke44,32:poke45,0:poke46,64:save"0:kernel64",8

*c64 charset (swedish version or original c64 version)
in c128 mode
monitor
a 2000 sei
lda #33
sta 1
ldy #0
sty fa
sty fc
lda #c0
sta fd
lda #d0
sta fb
ldx #10
lda (fa),y
sta (fc),y
iny
bne 2015
inc fb
inc fd
dex
bne 2015
lda #37
sta 1
cli
rts
(additional enter to end assembler input)
x (to leave monitor)
go64 (answer with y)
sys 32*256
poke 43,0:poke44,192:poke45,0:poke46,208:save"0:char64",8

or in c64 mode
load the program in the attachment
load"savechar64",8,1
sys 32*256
poke 43,0:poke44,192:poke45,0:poke46,208:save"0:char64",8

c128d floppy disk bios:
I think you have to download a program
copying the bios to puffers.
Then you could read this buffer into the computer, or write
these buffers to disk.

Transportation to your pc:
1571 writing to mfm encoded diskettes (in cpm mode only, or use program)
 maybe the IBM CPM-86 formats are like the standard DOS formats.
 but using dd may create images known by some other emulators.
1581 writes mfm encoded:
 can one of these drives to a format know by linux?
Some years ago I build a simple adapter pc/parport to vc1541
 floppy disk drive.

Dumping ROM with epromer:

c128
U18       (read compatible 2764?) 8kB c64 character ROM, c128 character ROM
U32 23128 (read compatible 27128?) 16kB c64 Basic, c64 Kernel
U33 23128 (read compatible 27128?) 16kB c128 Basic at 0x4000
U34 23128 (read compatible 27128?) 16kB c128 Basic at 0x8000
U35 23128 (read compatible 27128?) 16kB c128 Editor, Z80Bios, C128 Kernel
c128 cost reduced
U18       (read compatible 2764?) 8kB c64 character ROM, c128 character ROM
U32 23256 (read compatible 27256?) 32kB c64 Basic, c64 Kernel, c128 Editor, Z80Bios, C128 Kernel
U34 23256 (read compatible 27256?) 32kB C128 Basic
c128dcr
as c128 cr
U102 23256 (read compatible 27256?) 32kB 1571 system ROM

$end

#---------------------------------------------------------------------------------------------#

$info=c16
$bio
Commodore C16, Plus 4, and C364


Cassette Usage:

Cassette images can have the .wav or .prg extensions, and multiple .prg files 
can be contained within a zip file. Zip files must be placed in the current directory, and 
the contained prg files are played in sequential order.


The format for WAVs are: 
8 bit (16 bit may work, but this hasn't been tested), mono, 12500 Hz minimum. This has the 
same problems as an original Datasette tape drive (the tone head must be adjusted to get 
working (no load error...) wav-files)


Note that tape volume is DAC1 volume within the MESS UI On Screen Display Options (accessed
with the tilde (~) key in the DOS version.


Within the emulation, use LOAD or LOAD"" or LOAD"",1 for loading normal programs. Use 
LOAD"",1,1 for loading programs to a special address.


Diskette Usage:

Disk drives are simulated at the moment, and only file loads from drive 8 and 9 
are implemented. You can load a program file from the ROM directory (*.prg,*.p00)
(This must NOT be specified on command line, start the c16 emulation with no images specified)


The directory command LOAD"$",8 is supported when using d64 images.



Within the emulation, basic programs can be loaded with: 


DLOAD"filename" or LOAD"filename",8 



Machine language programs can be loaded to their address with: 


DLOAD"filename" or LOAD"filename",8,1


When a program is loaded, type RUN or the appropriate SYS call to start it. 


Note that several programs rely on more features not currently emulated (such as 
loading other file types, writing...) Some games also rely on starting programs in the 
floppy drive's processor (and therefore CPU level emulation of the 1541 is needed).


Cartridge Usage:

Cartridges may have any of the following extensions: .bin .rom .lo .hi .prg
Files with boot-sign in it are recognized as ROMs. Some cartridges require more than one 
image to load (e.g., tutor.lo tutor.hi).


 
.prg files loaded at address in its first two bytes


 
.bin, .rom, .lo , .hi ROMs are loaded to cs1 low, cs1 high, cs2 low, cs2 high addresses 
accordingly to their order in the command line.


 
Note that .prg and .p00 files are assigned to the quickloader (so you have to use 
the -cart switch when loading ROM images).


Quickloader Usage:

A quickloader is available via the f8 key. It supports program image files 
with the .prg extension. This loads the program into memory and sets the program end 
pointer. It works with most programs. The program can be started by entering "RUN" in 
the emulation.


Miscellaneous Usage Notes:

See "Keys (This Machine)" for key assignments.

Shift-cbm switches between upper-only and normal character set (if wrong characters are on 
screen this may help).

Run (shift-stop) loads the first program from device 8 (dload"*) and starts it.

If you run into difficulty, be sure to start the emulation with the -log switch, and look into
the error.log file that is created in your mess directory.


Known Issues:

Memory check by c16 kernel will not recognize more memory without restarting MESS.

CPU clock switching/changing.

Imperfect colors; should be enough for 95% of the games and programs.

Imperfect scrolling support (when 40 columns or 25 lines)

Lightpen support missing.

Some PC-Keyboards do not behave well when special two or more keys are pressed at the same 
time (with my keyboard printscreen clears the pressed pause key!)

Expansion modules other than the 1551 floppy drive are not supported.

The rs232/v.24 interface is not supported, nor are printers and other parallel devices.

The Plus 4's userport is not supported.

Note if a game runs too fast with the NTSC version, try the PAL version!


The following features are emulated:

rasterline based video system

keyboard, joystick 1 and 2

simple tape support

serial bus

simple disk drives

expansion modules

rom cartridges

simple ieee488 floppy support (c1551 floppy disk drive)

quickloader


History and Trivia:

When the first Commodore 264 prototype unofficially debuted at the Winter Consumer 
Electronics Show (CES) in January (?) 1984, the developers had obviously not yet agreed 
about the keyboard layout; some keys are unlabeled, the right shift key was missing, 
instead having a key which seems to be meant as a line feed key.

 
It was planned that when buying a C264, you could have chosen between these programs: 

3 plus 1 (word processor, data base, spread sheet, windowing) 

Superscript (professional word processor) 

Magic Desk (word processor, data base, spread sheet, calculator) 

Logo 

Pilot 

Easycalc 264 (spread sheet) 

COM 264 

Financial Advisor 


 
The C264 should then be delivered with the selected program built in. The remaining programs 
could only be used with cartridges for the expansion port.


 
The official presentation of the C264 series took place on the Hannover fair in 1984. 
Luckily, the developers didn't eliminate the right shift key in the final keyboard layout. 
The formerly unlabeled keys bear a label now: the key that used to be the left arrow 
key on the C64 and the VC20 says 'Esc', the key between '@' and '*' bears the English pound 
sign, and the key that was labelled 'SHIFT LOCK' on all 8-bit computers Commodore ever 
produced now says - guess what - 'SHIFT LOCK' :-) (must have been a hard decision between 
SHIFT and CAPS lock).


 
A word about the C364 : This prototype was a C264 with a bigger keyboard (86 keys incl. a 
numeric keypad) and with a builtin speech synthesizer with a vocabulary of 250 words (which 
could be expanded by either diskettes or modules). Commodore dropped this model and decided 
to sell a separate speech module (Magic Voice) for the C64.


 
Among the Commodore news from the Summer CES 1984 was the renaming of the C264 to Plus/4. 
This renaming came along with a slight change in the builtin software: you could not choose 
between many different programs anymore, but each Plus/4 was delivered with the 3-plus-1 
software.


 
The built-in software was really limited: a word processing (only with 40 columns and can 
manage documents with only 99 lines of 77 columns), a very small spreadsheet (only 17 
columns and 50 lines), a poor graphic software (which can display graphically data from 
the sheets but only in text mode) and a small database (999 record with 17 fields each 
and only 38 characters by field). Most of these programs can only be used with a floppy 
disk unit. The Plus 4 can use peripherals of the C64 or the Vic 20, the printer MPS801 
and the Disk Unit 1541 run well with it but it can't use C64 software. This machine 
wasn't built to be a competitor of the C64 nor to replace it. It has an improved basic 
in relation to the C64 one with graphic and sound instructions and a built-in assembler, 
but has lost lots of interesting C64 features like great soundchip or hardware sprites. 


 
The Commodore 16/116 belongs to the Commodore 264 series (with the Commodore Plus/4). It was 
designed to replace the Commodore VIC-20, but was not compatible with it, nor with 
the C64. It had the same characteristics as the Commodore Plus/4 : same graphic resolution, 
same sound system, same CPU and speed, just less memory. It has a powerful basic language 
(contrary to the VIC-20 or the C64) which makes graphics and sounds easy to program. 
The C16, like the Commodore Plus/4 was a commercial failure.


 
The C116 was an earlier version of the C16 and had a rubber keyboard. It was sold in Austria, 
at least, and perhaps in other countries as well.


 
It seems that the first C16s had the two control ports labelled JOY 0 and JOY 1 instead of 
JOY 1 and JOY 2, just as a hint for collectors :-)


 
Note that like the C116, the C16 lacks a user port.


$end

#---------------------------------------------------------------------------------------------#

$info=c64
$bio
Commodore 64


Diskette Usage:

Disk drives are simulated at the moment, and only file loads from drive 8 and 9 
are implemented. You can load a program file from the ROM directory (*.prg,*.p00)
You can also load a file from a d64 image (The directory command LOAD"$",8 is supported when 
using d64 images).


 
Within the emulation, basic programs can be loaded with:  LOAD"filename",8 


 
Machine language programs can be loaded to their address with:  LOAD"filename",8,1


 
When a program is loaded, type RUN or the appropriate SYS call to start it. 


 
Note that several programs rely on more features not currently emulated (such as 
loading other file types, writing...) Some games also rely on starting programs in the 
floppy drive's processor (and therefore CPU level emulation of the 1541 is needed).


Cartridge Usage:

Cartridges may have any of the following extensions: .prg .crt .80 .90 .a0 .b0 
.e0 .f0   Files with boot-sign in it are recognized as ROMs. Some cartridges may require more 
than one image.

 
.prg files loaded at address in its first two bytes

 
.?0 files are loaded to the address specified in the extension.

 
.crt ROMs are loaded to the addresses specified in crt file.


 
Note that .prg files are assigned to the quickloader (so you have to use 
the -cart switch when loading ROM images).


Cassette Usage:

Cassette images with the .wav or .prg extensions as well as multiple .prg files 
contained within a zip file can be loaded. Zip files must be placed in the current directory, 
and the contained prg files are played in sequential order.


 
The format for WAVs are: 
8 bit (16 bit may work, but hasn't been tested), mono, 12500 Hz minimum. This has the same 
problems as an original Datasette tape drive (the tone head must be adjusted to get working 
(no load error...) wav-files)


 
Note that tape volume is DAC1 volume within the MESS UI On Screen Display Options (accessed
with the tilde (~) key in the DOS version.


 
Within the emulation, use LOAD or LOAD"" or LOAD"",1 for loading normal programs. Use 
LOAD"",1,1 for loading programs to a special address.


Quickloader Usage:

A quickloader is available via the f8 key. It supports program image files with 
the .prg and .p00 extensions. This loads the program into memory and sets the program end 
pointer. It works with most programs. The program can be started by entering "RUN" in the 
emulation.


Miscellaneous Usage Notes:

Gameport A supports paddles 1 & 2,  joystick 1, lightpen (implementation not finished).

Gameport B supports paddles 3 & 4, joystick 2

If you run into difficulty, be sure to start the emulation with the -log switch, and look into
the error.log file that is created in your mess directory.

If the game runs too fast with the NTSC version, try the PAL version! (c64pal)


Known Issues:

The rasterline based video system currently has the following issues: no CPU holding, imperfect 
scrolling support (when 40 columns or 25 lines), lightpen support not finished, rasterline not 
finished.

Sound is not currently supported

The restore key is not currently working.

NTSC/PAL select not correct.

The Gameports do not support the mouse (Serial Protocol?).

No printer or other devices support in the serial bus (apart from simple disk drives).

Simple tape support not working (cia timing?)

As far as expansion modules go, non-bankswitching ROM cartridges (exrom) should work, but no 
other ROM cartridges (those with bankswitching logic in it, switching exrom, game). There is 
no ieee488 support nor support for other expansion modules.

No userport support and no rs232/v.24 interface.

 
Some issues with the cia6526: 

port a,b

handshake support, flag input, not pc output

no serial in/out, cnt

timer a,b

not counting of external clocks

not switching port b pins


History and Trivia:
 
Designed similar to the Vic-20, the Commodore 64 featured a better video chip supporting 
sprites, as well as the famous sid6581 sound chip, two "Atari-compatible" joystick ports,
and 64 kilobytes of RAM.


 
The Commodore 64 is, along with the Apple II and the Atari 8-Bit computers, one of the 
most famous home computers of it's era. During its production from 1982 to 1993 (!) 17 
to 22 million (!) of these computer would sell, to put in perspective, that's more than 
all the Macintoshes in the world. It was one of the first to offer a high quality sound 
chip and graphic resolution with many colors and sprites. A great range of peripherals 
was developed for this computer and can use several of the Vic 20 peripherals. 


 
Several versions of the Commodore 64 were launched : The first one (C64-1) uses the VIC 20 
case, it will be quickly replaced with the C64-2 which uses the famous brown case and by 
the C64-3 with small cosmetic changes in the keyboard. A special version called Educator 64 
or PET64 or CBM 4064 was proposed for schools and uses the PET case.


 
Commodore produced the first generation of C64s until May 1986, then it was discontinued 
and they introduced the C64C. According to the 64'er magazine, this version has been 
planned since the Hannover mass in 1985, but as the old version sold so well during 
Christmas '85, its release date was pushed back.


 
The new model does not differ much from its predecessor, the only innovation is the 
flatter case, which makes the keyboard (which has off-white keys now) more ergonomic 
(it looks like the C128 case), as it is less higher than the old one. But the new case 
did not only have advantages: due to its low profile and additional metal screening, 
some of the numerous hardware expansions did not fit anymore. This was changed with 
the C64G. The 64'er staff noticed that VIC-II as well as the two CIAs have new version 
numbers; they didn't write which, though (these are probably just bugfixed chips). 


 
The official name for this model was "C=64 C", but nevertheless the German 64'er magazine 
decided to call it "C64-II" (because the first units didn't have the new name on the label 
at the bottom), the badges on all the 64 C's just says "Commodore 64". They pointed out 
that this name was only valid for the 64'er magazine, but since the 64'er was the 
magazine for the C64 for a long time, the name was widely accepted and so this model 
is mostly known as "C64-II" in Germany.


 
The C64C appeared again after (or concurrently with?) the C64G, this time with the new, 
short board. So, although the case might look the same and the label says "Commodore 64", 
the boards may be completely different.


 
Commodore also released a "laptop version" (though hardly portable) of the C64, called SX64. 
This computer has a built-in 5" color screen, one detachable keyboard, one 5.25" floppy 
disk drive (the famous 1541) and a second one can be installed as well. A version called 
DX-64 was launched (in very limited quantities) at the same time, it has same 
characteristics as the SX64 except its two 5.25" floppy disk drives. The SX64 and DX64 
computers never had success, but it is known as the world's first color portable.


 
The C64GS was released in 1990. Basically it was a re-boxed C64, without a keyboard or any 
other interfaces, except for the cartridge slot on top. It didn't have much success as you 
could buy a C64 for not much extra, and the C64GS games would still work on the C64.
It came with one game cartridge containing International Soccer, Klax, Flimbo's Quest
and Fiendish Freddy's Big Top O'Fun. The carts had a memory of 4 megabits (512k).



$end

#---------------------------------------------------------------------------------------------#

$info=c65
$bio
Commodore c65 (1991)


Homecomputer under the keyboard to redo the commodore c64
success (with good c64 compatibility)

Never released, because the compatibility was not good enough!
(Some prototypes! were sold)

Project name was C64DX


Features:

hardware emulation mode for c64
 adapter needed for c64 cartridges (many should work)
 only standard c64 keys plus cursor-up and cursor-left
 CPU not full compatible (no illegal instructions)
enhanced keyboard
m65ce02 processor core (1 or 3.5 Mhz frequency)
vic3 (4567) with additional capabilities
 vic2 compatibility mode
 graphic modes
 80 column modes
second sid audio chip (both 8580)
uart 6511 rs232 chip
special dma controller
128 kb RAM
128 kb ROM (kernel, editor, basic, monitor, characters, c64 ROMs)
build in mfm floppy disk 3 1/2 inch double sided double density
connector for second mem floppy disk
special RAM expansion slot
rs232 connector (round din)
no tape connector
new expansion slot


MESS emulation state:

rasterline based video system
 quick modified vic6567/c64 video chip
 no support for enhanced features, only 80 column mode
 no CPU holding
 imperfect scrolling support (when 40 columns or 25 lines)
 lightpen support not finished
 rasterline not finished

no sound

cia6526's look in machine/cia6526.c

keyboard

gameport a
 paddles 1,2
 joystick 1
 2 button joystick/mouse joystick emulation
 no mouse
 lightpen (not finished)

gameport b
 paddles 3,4
 joystick 2
 2 button joystick/mouse joystick emulation
 no mouse

serial bus
 simple disk drives (device 10 and 11, hang in c64 mode!)
 no printer or other devices

expansion modules
 none (did there any exist)

expansion modules c64 (adapter needed)
 ultimax ROM cartridges not working
 ROM cartridges (exrom) not working
 no other ROM cartridges (bankswitching logic in it, switching exrom, game)
 no ieee488 support
 no cpm cartridge
 no speech cartridge (no circuit diagram found)
 no fm sound cartridge
 no other expansion modules

no userport
 no rs232/v.24 interface


Keys:

Some PC-Keyboards does not behave well when special two or more keys are
pressed at the same time
(with my keyboard printscreen clears the pressed pause key!)

shift-cbm switches between upper-only and normal character set
(when wrong characters on screen this can help)
run (shift-stop) loads program from type and starts it


Lightpen:

Paddle 5 x-axe
Paddle 6 y-axe


Discs:

only file load from drive 10 and 11 implemented
 loads file from ROM directory (*.prg,*.p00) (must NOT be specified on command line
 or file from d64 image (here also directory LOAD"$",8 supported)
use LOAD"filename",10
or LOAD"filename",10,1 (for loading machine language programs at their address)
for loading
type RUN or the appropriate sys call to start them

several programs rely on more features
(loading other file types, writing, ...)

most games rely on starting own programs in the floppy drive
(and therefore CPU level emulation is needed)


Quickloader:

.prg and .p00 files supported
loads program into memory and sets program end pointer
(works with most programs)
program ready to get started with RUN
loads first ROM when you press quickload key (numeric slash)

when problems start with -log and look into error.log file

$end

#---------------------------------------------------------------------------------------------#

$info=cbm500
$bio
Commodore CBM 500 Series


History and Trivia:

The 500 / 600 / 700 series were mainly sold in Europe, but a few models are known to have been 
sold in the United States. The CBM 600 is same as the 500 but has a 80 column display and 
256 Kb RAM. The CBM 700 is same as the 600 but has two 5.25" disk drives (370 KB each) and a 
hard disk (7.5 MB). Microsoft Basic is in ROM. The Z80 and the 8088 are optional. When they 
are used, the 6809 is used then for i/o, display and keyboard management. It works under 
Commodore DOS or CP/M and MSDOS when the computer use the other processors. 


$end

#---------------------------------------------------------------------------------------------#

$info=cbm610
$bio
Commodore Business Machines B128-80LP/610 (1983)


Features:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=cbm710
$bio
Commodore B-128/80 Series


History and Trivia:
 
The CPU in the CBM B series was a MOS/Commodore 6509, which is basically a m6502 with 1 
megabyte address space and weird bankswitching.

$end

#---------------------------------------------------------------------------------------------#

$info=cgenie
$bio
EACA Colour Genie 2000


Cassette Usage:

From within the emulation you can use SYSTEM or CLOAD commands to read images: 

SYSTEM supports 6 character filenames.

CLOAD loads a file named BASIC(N).CAS, where (N) is the character you supplied 
(e.g., CLOAD"M" loads BASICM.CAS)

CLOAD is for BASIC type tapes only.  It should work if you have a BASIC *.cas file. 
File "names" in that case are _one_ character in length (inside the emulation).  In your 
roms/cgenie folder the names will be basicA.cas, basicB.cas and so on.  If you CSAVE"A you'll 
see a file basicA.cas later and you can CLOAD"A it again. 


To load a binary image there was a different command: SYSTEM

You will see a prompt looking like this: 

*?


and there you can enter a name of up to six (wow!) characters.

*?chop16 [ENTER]

This will start loading a file named chop16.cas if it is in your rompath. If you don't have 
it... well, wait and see (nothing ;)  If you have it, you'll see two stars (**) in the upper 
right corner.  The right one will twinkle after every couple of bytes loaded, every 254 I 
think.
	
After several minutes you'll see the prompt again

*?


Now type / (slash) and ENTER and the program will be started at it's defined run address. If 
a program does not have a run address, you could also specify /[decimal value] to run from a 
specific value...


 
Diskette Usage:

When the emulation starts, tap [ENTER] and also confirm the following 
	
MEM SIZE?

with [ENTER].

After that you're in BASIC (DISK BASIC, to be exact, unless you disable cgdos.rom via the 
dip switches).

Now you can use the DISK BASIC extensions to issue commands.  Most important

CMD"I[disk#] 

Display inventory, disk# is optional and can be from 0 to 3

You can use CMD"I0" to "CMDI3" to get an inventory of drive 0 to 3.


Use CMD"S FILENAME/CMD" to start a binary executable or use LOAD"FILENAME/BAS" to load a basic 
program.
CMD"Sname/cmd will start a binary file name/cmd from any disk

CMD"Limage/bin:3 will load image/bin from disk 3

To start a game, eg. paint/cmd, type

cmd"s paint/cmd


You can omit the blank between cmd"s and the filename.


To ease things you could also enable my DOS lookalike frontend ;) It's contained in 
newe000.rom (2,772 bytes; CRC 953491a7) but not enabled by default. If you enable it 
you can type HELP (hehe ;) and DIR and simply give a name to execute a binary file.

The optional newe000.rom is loaded if the corresponding "dip switch" is set from within the 
driver itself. There is no need to specify this ROM on the command line.


Miscellaneous Usage Notes:
 
Under the "Options" menu, accessible by hitting TAB, there are three settings: 

"Floppy Disc Drives"  - enable or disable floppy disc controller.

"DOS ROM C000-DFFF"   - enable 8K DOS ROM or make it RAM.

"EXT ROM E000-EFFF"   - enable 4K Extension ROM or make it RAM.


Known issues:

Startup with CAS or CMD images does not always work. Use the BASIC SYSTEM or CLOAD commands 
to read cassette image files, or use the Colour Genie DOS ROM with floppy disc images to run 
programs. The driver does not yet emulate the printer port mode for AY-3-8910. Right now it 
always uses the AY-3-8910 ports for joystick emulation.


Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by 
default.  Whilst in full keyboard emulation mode, some key associated functionality may be 
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the 
scroll_lock key.   


The Colour Genie driver should run most of the known programs out there. It supports the 
Motorola 6845 CRT controller with text and graphics modes (LGR and FGR), the AY-3-8910 
sound chip with three audio channels and noise and the WD 179x floppy disc controller with up 
to four virtual floppy disc drives contained in image files.


The keyboard is relatively close to the original layout; see "Keys (This Machine)" in the
TAB/Options menu.


Emulation of dual Colour Genie joysticks with keypads is also supported.


History and Trivia:

The Colour Genie is the successor of the Genie 1, Genie 2 and Genie 3. It is not possible 
to mix characters and graphics because text and graphic memories are not mixed. There was 
a little level display located above the keyboard which allows to set the recording 
level of the tape recorder to avoid failure when writing onto a tape. 



$end

#---------------------------------------------------------------------------------------------#

$info=channelf
$bio
Fairchild Channel F


Usage:

MAME coin inputs (keys 5, 6, 7, 8) are used to select the game at the G? prompt.



History and Trivia:

Introduced in August 1976 at a suggested retail price of $170 (US), The Channel F was the 
first programmable video game system to use replaceable cartridges. The controllers, which were
often described as looking like plungers were attached directly to the system via 8 foot wires.
The Channel F didn't fair well in the late 1970s market dominated by Atari, and Fairchild switched 
their efforts to developing the Spark-16 minicomputer.

$end

#---------------------------------------------------------------------------------------------#

$info=coco
$bio
Tandy/Radio Shack Color Computer / Dragon Data Ltd. Dragon 32


Usage:

	- Cassette images (.cas):

Not all of these work; don't panic.

You can pick the cassette image you wish to run from the FILE MANAGER in the Tab/Options menu.
Once you've selected the image, go back into the CoCo emulation, and use "scroll lock" to set 
it back in keyboard emulation mode.

type CLOAD (if it's a BASIC program) or CLOADM (for assembler programs)

then EXEC (if it's an assembler program)

or RUN (if it's a basic program)

If you include the name of the file (eg. CLOAD "PROG") it will skip any files preceding the
one you specified.

	- Snapshot images (.PAK)

Go to file menu pick the .pak
Should automatically start running the game.
if it does not run, it isn't supported yet.

    - Cartridge ROM images (.ROM)

Go to file menu and pick the .rom
Reset to CoCo and it will start running the game.
if it does not run it isn't supported yet.

	-Diskette images (.DSK)

Basically the same as cassette images, except you insert the image in Floppy Disk#1 
from the file manager. Once you return to the coco emulation, switch back to keyboard 
emulation mode by pressing SCROLL LOCK and type:
DIR

To load a binary file (/BIN), type LOADM "GAME/BIN:1" (replacing the ":1" with the 
appropriate drive designation ":0" through ":3" )

then EXEC

To load a basic file (/BAS), type LOAD "GAME/BAS:0"

then RUN

Thanks to "Axe" for the command summary.


Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by 
default. Whilst in full keyboard emulation mode, some key associated functionality may be 
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the 
scroll_lock key.


History and Trivia:

The Tandy TRS-80 Color Computer was typically called 'CoCo'. It was compatible with the 
Welsh Dragon 32: they can use same software and cartridges. Unlike the Dragon, though, it 
used its own basic, Tandy Basic instead of the Microsoft basic. It was followed by the 
TRS 80 color computer II. The two BASICs use different tokens so they are not binary
compatible.


The Tandy/TRS-80 Color Computer 2 (CoCo 2) replaced the original in 1983. It has the same 
characteristics than the first. It has 16 KB RAM and can have a 16 KB ROM which contains 
Microsoft Basic. It was replaced with the Tandy Color Computer 3 in 1986. 


The Tandy Color Computer 3 is the successor of the Tandy/TRS-80 Color Computer 2. It can 
work with OS-9 Level II (an operating system designed for 6809 processors). As this processor
is an 8 bit (strange choice when Atari and Commodore were using a 68000), it can't access 
simultaneously to the 128 KB (or 512 KB), it uses several RAM banks (as the Thomson TO8, or 
MSX 2 computers) which can be switched in 8K blocks. 


Tandy made several prototypes of a Tandy Color Computer 4 but it was never released. The 
DRAGON 32 enjoyed a pretty good success in Europe. Its ROM holds the Operating System and a 
BASIC programming language by Microsoft. One of its characteristics is partial compatibility 
with the Tandy TRS-80 Color Computer Series: they can use same peripherals and some 
cartridges. Two years later, Welsh launched the DRAGON 64 which has the same 
characteristics except the added memory (64 KB instead of 32 KB), a RS232c port and a keyboard 
with repetitive keys.



$end

#---------------------------------------------------------------------------------------------#

$info=coco3
$bio
Tandy Color Computer 3


First off, also read the history for the Color Computer and Color Computer 2 drivers. Much
of the information there also applies to this driver.

Besides fully emulating the Color Computer 3 this driver also contains some extras. It contains
two different real time clocks. Currently they can be set under the "DIP switches". The two
types are Disto and Cloud-9.

Disto Real Time Clock:
	Chip:      OKI m6242B
	Addressed: $FF50 and $FF51

Cloud-9 Real Time Clock:
    Chip:      Dallas Semiconductor's Phantom Time Chip DS1315
    Addressed: $FF79, $FF78, $FF7C

This driver also contains an implementation of Jeff Vavasours' Virtual Hard Disk. See his
Color Computer 3 emulator for information regarding it.

$end

#---------------------------------------------------------------------------------------------#

$info=coco3h
$bio
Tandy Color Computer 3 (Hitachi)


First off, also read the history for the Color Computer, Color Computer 2 and Color Computer 3
drivers. Much of the information there also applies to this driver.

This driver is exactly like the coco3 drivers except the MPU has been replaced by a Hitachi
6309. This chip has extra features not documented by Hitachi.

$end

#---------------------------------------------------------------------------------------------#

$info=coleco
$bio
Coleco Industries ColecoVision

Known Issues:

None. This emulation runs most cartridges accurately. 

EXTRA CONTROLLERS INFO:

*Driving Controller (Expansion Module #2). 
It consist of a steering wheel and a gas pedal. Only one
can be used on a real ColecoVision. The gas pedal is not analog, internally it is just a 
switch.
On a real ColecoVision, when the Driving Controller is enabled, the controller 1 do not work 
because have been replaced by the Driving Controller, and controller 2 have to be used to 
start game, gear shift, etc.
Driving Controller is just a spinner on controller 1 socket similar to the one on Roller 
Controller and Super Action Controllers so you can use Roller Controller or Super Action 
Controllers to play games requiring Driving Controller.

*Roller Controller. 
Basically a trackball with four buttons (the two fire buttons from player 1 and the two fire 
buttons from player 2). Only one Roller Controller can be used on a real ColecoVision.  Roller 
Controller is connected to both controller sockets and both controllers are conected to the Roller
Controller, it uses the spinner pins of both sockets to generate the X and Y signals (X from controller 1 
and the Y from controller 2)

*Super Action Controllers. 
It is a hand controller with a keypad, four buttons (the two from
the player pad and two more), and a spinner. This was made primarily for two player sport games, but
will work for every other ColecoVision game.


History and Trivia:

The ColecoVision video game system was released in August of 1982 for a suggested retail 
price of $175 US. Similar at it's core to the MSX computers, ColecoVision had both superior 
graphics and more expansion capabilities compared to it's chief rivals: the Atari 2600 and 
Intellivision. Among the expansion module options were a hardware Atari 2600 emulator, and a 
Steering Wheel for driving games, both unheard of at the time.

The competitive price, technical superiority, and perhaps more importantly, the inclusion of 
Donkey Kong as the pack-in cartridge, led to Coleco becoming an industry leader. With the 
emergence of the popularity of home computers, however, the console market seemed in jeopardy 
of losing it's share to the likes of Commodore and Apple. Coleco responded by releasing the 
Adam Family Computer as both a standalone unit and as an expansion to the ColecoVision itself. 

The Adam was a phenomenal market failure though, and Coleco pulled itself from both the 
console and computer markets just before the game market crash in late 1984.

Telegames purchased the rights to the system, and many of the manufactured games, and released 
a clone, The Personal Arcade, in 1988. It was later re-released by them, as the DINA.


$end

#---------------------------------------------------------------------------------------------#

$info=comquest
$bio
Team Concept Comquest Plus German


laptop computer for children


Features:

Mono LCD display with about 144x100 pixels

Integrated speaker

Integrated keyboard and joypad

Integrated batterie box

Serial port connector (for special printer)

Connector for external power supply

Cartridge slot


MESS Emulation State:

not working (not even CPU is known)

stopped until CPU type is recognized or info found

$end

#---------------------------------------------------------------------------------------------#

$info=compis
$bio
Telenova Compis (1985)

$end

#---------------------------------------------------------------------------------------------#

$info=concept
$bio
Corvus Concept


Known Issues:

The keyboard is not emulated fully.

Hard disks, serial ports, and Omninet are not emulated.

Only the original floppy controller (8" SSSD disks) is emulated.


Usage:

The driver can boot from a 8" SSSD floppy image.  Start the computer and press
'F' when the computer asks for a boot device.

You may invoke the MACSbug debugger as well by pressing the key 'D'.  However,
this version of MACSbug requires a terminal to be connected to the serial port
to do anything useful, so you are out of luck.


History and Trivia:

The Concept was announced in the spring of 1982.

This computer uses a state-of-art (at the time) MC68000 CPU.  Its CCOS
operating system is a variant of the Merlin operating system by Silicon Valley
Software: it is a mono-tasking OS, with source-level compatibility with the
UCSD p-system, and vague reminiscences of UNIX.

The Concept has a bitmapped screen, which enables to mix text in any style and
size with graphics, and some programs were reportedly WYSIWYG (which was
uncommon at the time).  The system includes a primitive window manager, but
don't delude yourself: it is no GUI.  The most original feature is probably the
rotatable screen that can be used either in horizontal or vertical position:
however you need to reboot the computer after flipping the screen.   Another
feature of interest is the integrated network support: the Concept can be used
either as a disk-less network computer or as a full-featured personal computer,
and you could connect Concepts, Apple IIs and IBM PCs in an heterogeneous
Omninet LAN.

Available programs were mostly business applications: word processor,
spreadsheet, grapher, database, accounting...  Thanks to its large screen, its
WYSIWYG capability and to the use of various hierarchical menus, the Concept is
relatively user-friendly for a 1982 business computer.  There were also Pascal
and FORTRAN compilers, a BASIC, a UCSD runtime, an 8080 simulator, a port of
the CP/M OS, a version of SPICE to simulate discrete ICs, and even a paint
program that could take advantage of a mouse.

The price was about 4000$ for a bare 256-kbyte system in 1984 (1000$ for extra
256kbytes, $750 for floppy, from 2000$ to 4000$ for hard disk according to
size).


$end

#---------------------------------------------------------------------------------------------#

$info=coupe
$bio
Sam Coupe (1989)


Features:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=cpc464
$bio
Amstrad/Schneider CPC 464


Usage:

With a disk image loaded, the emulation starts from the BASIC "Ready" prompt. 
From here you can enter commands to access the disk image: 
 

A directory listing can be obtained with: "CAT"


A program can be run with: RUN"filename"


The common programs to run are those with a .BIN or .BAS extension and usually the smaller 
of the files on the disk image.


On a few games you can type: RUN"disc or RUN"disk to start the game.


If a directory listing cannot be obtained, then the disc might be copy-protected. 
In this case, try: 

|CPM


| is obtained by pressing shift and the @ key together. Since the keyboard is mapped so the 
keys are in the roughly same place as on a real Amstrad keyboard, then @ can be found 
around the [,@,],# keys.

The |CPM works by loading and executing the first sector on the first track of the disc.


Snapshots, which contain a memory dump, CPU state and hardware state, can be run from a 
command line interface with the following command: 

mess cpc464 -snap "snapshot name"


The snapshot will start automatically.


There are a few excellent utilities for creating and maintaining
disk images for the Amstrad CPC emulators. Here are just a couple - 

CPDRead   http://www.classicgaming.com/caprice/
CPCfs     ftp://ftp.lip6.fr/pub/amstrad/emu-util/cpcfs085.zip


Others can be found in the FAQ at http://genesis8.free.fr/



Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by 
default.  Whilst in full keyboard emulation mode, some key associated functionality may be 
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the 
scroll_lock key.   

Runs many disk images and snapshots well.


History and Trivia:

The CPC464 was an 8-bit Amstrad computer, produced in 1984, with 64k of RAM and a tape 
recorder built in.

$end

#---------------------------------------------------------------------------------------------#

$info=cpc6128
$bio
Amstrad/Schneider CPC 6128


Usage:

With a disk image loaded, the emulation starts from the BASIC "Ready" prompt. 
From here you can enter commands to access the disk image: 
 

A directory listing can be obtained with: "CAT"


A program can be run with: RUN"filename"


The common programs to run are those with a .BIN or .BAS extension and usually the smaller 
of the files on the disk image.


On a few games you can type: RUN"disc or RUN"disk to start the game.


If a directory listing cannot be obtained, then the disc might be copy-protected. 
In this case, try: 

|CPM


| is obtained by pressing shift and the @ key together. Since the keyboard is mapped so the 
keys are in the roughly same place as on a real Amstrad keyboard, then @ can be found 
around the [,@,],# keys.

The |CPM works by loading and executing the first sector on the first track of the disc.


Snapshots, which contain a memory dump, CPU state and hardware state, can be run from a 
command line interface with the following command: 

mess cpc6128 -snap "snapshot name"


The snapshot will start automatically.


There are a few excellent utilities for creating and maintaining
disk images for the Amstrad CPC emulators. Here are just a couple - 

CPDRead   http://www.classicgaming.com/caprice/

CPCfs     ftp://ftp.lip6.fr/pub/amstrad/emu-util/cpcfs085.zip


Others can be found in the FAQ at http://genesis8.free.fr/


Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by 
default.  Whilst in full keyboard emulation mode, some key associated functionality may be 
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the 
scroll_lock key.   

Runs many disk images and snapshots well.


History and Trivia:

The CPC6128 was a 8-bit Amstrad computer, produced in 1985. The computer was sold with a 
colour monitor or a green screen monitor. This connected to a keyboard unit which had a 3" 
drive in it. The monitor contained the power supply for the computer. Using this arrangement 
only a single plug was required. The CPC6128 was the third in the CPC series. It had the same 
hardware as the CPC464 and the CPC664.


CPC464: 64k of RAM, tape recorder built in.

CPC664: 64k of RAM, 3" disk drive built in

CPC6128: 128k of RAM, 3" disk drive built in.


The Amstrad had a Z80 at it's core. It had a palette of 27 colours, produced from combinations 
of 3 levels of r,g and b. It has three graphics modes. 640x200 in 2 colours (hi-res), 320x200 
in 4 colours (medium res), 160x200 in 16 colours (lo-res).


$end

#---------------------------------------------------------------------------------------------#

$info=cpc664
$bio
Amstrad/Schneider CPC 664


Usage:

The the emulation starts from the BASIC "Ready" prompt. 
From here you can enter commands to access a disk image: 
 

A directory listing can be obtained with: "CAT"


A program can be run with: RUN"filename"


The common programs to run are those with a .BIN or .BAS extension and usually the smaller 
of the files on the disk image.


On a few games you can type: RUN"disc or RUN"disk to start the game.


If a directory listing cannot be obtained, then the disc might be copy-protected. 
In this case, try: 

|CPM


| is obtained by pressing shift and the @ key together. Since the keyboard is mapped so the 
keys are in the roughly same place as on a real Amstrad keyboard, then @ can be found 
around the [,@,],# keys.

The |CPM works by loading and executing the first sector on the first track of the disc.


Snapshots, which contain a memory dump, CPU state and hardware state, can be run from a 
command line interface with the following command: 

mess cpc664 -snap "snapshot name"


The snapshot will start automatically.


There are a few excellent utilities for creating and maintaining
disk images for the Amstrad CPC emulators. Here are just a couple - 

CPDRead   http://www.classicgaming.com/caprice/

CPCfs     ftp://ftp.lip6.fr/pub/amstrad/emu-util/cpcfs085.zip


Others can be found in the FAQ at http://genesis8.free.fr


Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by 
default.  Whilst in full keyboard emulation mode, some key associated functionality may be 
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the 
scroll_lock key.   

Runs many disk images and snapshots well.


History and Trivia:

The CPC664 was an 8-bit Amstrad computer, produced in 1985, with 64k of RAM and a 3" disk 
drive built in.

$end

#---------------------------------------------------------------------------------------------#

$info=dai
$bio
DAI Personal Computer (1978)


Features:


Notes:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=dream
$bio
ETI Dream


Early 6800 based computer


Features:

video connector

chip8 interpreter


Notes:

seams to be very related to RCA Cosmac VIP.

emulator source available

Documented bios source available


Emulators:

Dream for DOS by Paul Robson

$end

#---------------------------------------------------------------------------------------------#

$info=einstein
$bio
Tatung Einstein TC-01


The Tatung Einstein is a 8-bit computer with hardware similar
to the MSX-1. The computer was produced with two 3" disk drives and
ran the CP/M operating system.


The TC-01 is the first version of the hardware, with the 256 being
the second version aimed more towards games.


When this driver starts, and a disk is not in the drive, a internal
monitor program will start.


To use this driver you will need the Xtal operating system disks
which will start CP/M and from here you can run many CP/M based
programs.


You can put a disk image into the drive and boot CP/M by pressing
CTRL+ALT together.


Usage/Known Issues:

The floppy disc emulation may not be fully working.
Interrupts are not working properly.


Thank you to Chris Coxall for the schematics, a dump of the bios ROM,
and the Xtal operating system. He has been a great help with the development
of this driver.


Thank you to Andrew Dunipace for help with the 80-column expansion card.


$end

#---------------------------------------------------------------------------------------------#

$info=elf
$bio
RCA Cosmac ELF and ELF2


Very early computer


Features:

Operation without built-in ROMs, you can enter your program directly with
help of the CPU integrated dma.

2 segment digits

Tape connector


Notes:

much like RCA Cosmac VIP without video chip

Info for building an elf/elf2 is at http://incolor.inetnebr.com/bill_r/computer_simulators.htm

$end

#---------------------------------------------------------------------------------------------#

$info=ep128
$bio
Enterprise 128


Usage:

This computer has a built in word processor, from BASIC enter "type" to enter it.

To load programs:

You can type ":EXDOS" to enter a CLI interface where you can type EXDOS commands.
If typing from BASIC you must enter ":" in front of EXDOS commands.

The following EXDOS commands are allowed:

CHDIR	[dir name]
		- Change Dir.[dir name] does not need to be enclosed in quotes.
DIR		
		- show directory listing

To run a program, enter from BASIC:

RUN"filename" or

LOAD"filename"


Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by 
default. Whilst in full keyboard emulation mode, some key associated functionality may be 
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the 
scroll_lock key.

Some programs do not work well.

Not all graphic modes are emulated.

Interrupts are not emulated correctly.

Samples and simple tone is supported, complex effects using ring modulation and filtering are not supported.

Tapes are not supported.


History and Trivia:

The Enterprise 64 was a very long-awaited computer, two years between its announce and 
its marketing! It changed its name many times. Its first name was Elan 64, then 
Flan and finaly Enterprise. It has great features, which wasn't found on all other home 
computers like its interfaces and its great graphics and sounds capacities provided by 
two special custom chips called "Nick" and "Dave". The Basic is supplied on a ROM 
cartridge and can be easily replaced with an other language. This basic is a very 
powerful structured basic with great graphic commands and can store several programs 
simultaneously in RAM. It has a small word processing in ROM and up to 32 computers can 
be linked together. Despite its great characteristics and all its interfaces, the 
Enterprise 64 had few successes. Several months later, a new model was launched - the 
Enterprise 128 which is an Enterprise 64 with 128 KB RAM. 


$end

#---------------------------------------------------------------------------------------------#

$info=exidy
$bio
Exidy Sorcerer (1979)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=Famicom
$bio
Nintendo Famicom (1979)


Features:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=europc
$bio
Schneider EUROPC


IBM PC compatible computer "under the keyboard"


Features:

Integrated cga/mda/hercules graphics adapter, connector for CGA and MDA/Hercules monitors

Multi-language and keyboard support in bios

Integrated harddisk controller, connector for 2 external harddisks

3 1/2 inch 720 kb disk drive, connector for 1 external disk drive

Integrated realtime clock

Setup memory

Joystick/Mouse connector

Connector for external xt busplane

Connector for external power supply

at type connector for rs232 serial port

Parallel port connector


MESS Emulation State:

Basically the same as mess ibmpc emulation

Special keyboard emulated

Rough emulation of rtc, setup memory, special graphics adapter

Work stopped until more info or system software available


$end

#---------------------------------------------------------------------------------------------#

$info=fx850p
$bio
Casio FX850P


Pocket Computer/Scientific Calculator
(fx880p is the big brother (better display, more RAM?))


Features:

2 lines with 32 5x7 characters LCD display

(some indicators and a 5 digit 7segment display)

8 kb RAM

Integrated speaker

Internal slot for memory expansion (32kb?)

connector with support for rs232 and centronics

(only level converter for rs232 needed)

(only latch for centronics needed)

2 3V CR2032 lithium as power supply

1 3V CR2012 lithium as RAM power supply


MESS Emulation State:

Not started, need information about the hd62002 CPU
(should be in the normal user manual!)

$end

#---------------------------------------------------------------------------------------------#

$info=galaxy
$bio
Galaksija (1983)


ZX81 class kit built computer from Yugoslavia (Serbia) invented by Voja Antonic.
Also available in complete form.

There were 7000 kit complets sold and approximately 10.000 made computers
(including kit built ones).


Features:

Z80A 3.072MHz

RAM 6kB

text mode 32 x 16

I/O ports Z80 Bus, tape, video


Emulator:

Galaksija emulator by Miodrag Jevremovic


MESS Emulation State:

Needs correct palette

Tape not emulated

Video hardware not emulated (hack used)

Sound not emulated (if any)

Needs Hi-res graphic (if any)

Work stopped until info about Galaksija hardware is available.


$end

#---------------------------------------------------------------------------------------------#

$info=gameboy
$bio
Nintendo Game Boy (1989)


The Game Boy was a huge success for Nintendo. It was the second portable system 
created by Nintendo (the first being the Game & Watch series starting in 1980). The 
original Game Boy was released in 1989 and allowed game players to play a huge library 
of games away from home.  Games like Super Mario Land, The Legend of Zelda: Link's 
Awakening and Tetris proved that quality games could be developed for portable use.


Nintendo later released the 'Play it Loud' Game Boy series in 5 colors, and the redesigned 
slimmed down Game Boy pocket version was released in 1996.


Features:

CPU: 8-bit (Similar to the Z80 processor) at 4.194304MHz

Main RAM: 8k Byte internal

Video RAM: 8k Byte internal

Video Display: Reflective LCD 160 x 144 dots (20 x 18 Tiles)

Video Colors: 4 shades of gray

Screen Size: 2.6"

Max # of sprites: 40

Max # sprites/line: 10

Max sprite size: 8x16

Min sprite size: 8x8

Sound: 4 channels each of which can be mapped either to the left or to the right or to
both speakers

Communications: Serial port. Up to 4 Game boys can be connected together using this port.

Baud rate and protocol: (?)

Power: 6 VDC, 0.7 Watts (3 VDC 0.7W for Game Boy Pocket)

4 AA Batteries ~ 35 hours 

Rechargeable battery (NAKI) ~ 12 hours


MESS Emulation State:

Preliminary sound support only.  

$end

#---------------------------------------------------------------------------------------------#

$info=gamegear
$bio
Sega Game Gear (1990)


The Game Gear is the portable version of the Sega Master System, with slightly enhanced 
graphics and stereo sound. The Game Gear would compete in a tough market with the Atari
Lynx, the NEC Turbo Express and the industry leader Nintendo Gameboy. With an adaptor you
could play SMS games on the Game Gear. A TV tuner also turned the system into a portable
television set. Game gear featured many of the Sega Standard games, like Sonic the Hedgehog,
 Shinobi, Super Monaco GP and Ecco the Dolphin.


Features:

CPU: 4 MHz Zilog Z80 (8-bit)

RAM: 8K

Video RAM: 16K

Colors Palette: 512; 32 max on screen

Resolution: 160x140 viewable from 256x224
 
Sprite size: 8x8 , 8x16 (16x16 in doubled mode)
 
Max # of sprites:  64 on screen; 128 in memory

Sound:  6 channel FM, 2 channel noise - Stereo
 
Battery life:  6 hours on 6 AA batteries


To do (see source): 

LCD persistence emulation for GG

SIO interface for Game Gear (needs netplay, I guess)

PSG control for Game Gear (needs custom SN76489 with stereo output for each channel)


MESS Emulation State:

???


$end

#---------------------------------------------------------------------------------------------#

$info=gbcolor
$bio
Nintendo Gameboy Color (1998)


This is an update to the original Gameboy system that adds color capabilities as well as backwards
compatibility.


Features:

Processor:  8 MHz Z80 work alike by Sharp with two processor modes: Single (4MHz) and double (8MHz)

Video: 10, 32, or 56 on screen colors from a palette of 32000, Screen made by Sharp

Sound: 4 Channel FM stereo

Controls:  8 directional D-Pad, A, B, select, and start buttons. 
 
Resolution: 160x144x56 colors

Sprites: 40 - 8x16, 8x8 (four color sprites-4 colors- 1 being a transparent)

Tiles:  512 on screen making use of the 16K of VRAM

Cart Size: 256KBit - 16MBit for GB compatible games. Up to 64 MBit ROM & 128 KBytes RAM for CGB 
cartridges, although 32Mbit ROM / 64K RAM carts are the largest currently manufactured.

Serial port speed: 512 Kbps

Power:  ~13 hours on 2 AA batteries or AC adapter.


MESS Emulation State:

???

$end

#---------------------------------------------------------------------------------------------#

$info=gen_usa
$bio
Sega Megadrive/Genesis (1988)


The Genesis (called Megadrive in Japan) console featured many great conversions that
banked on the success of Segas Arcade games. Games like Altered Beast, After Burner,
Ghouls 'N Ghosts and Sonic the Hedgehog helped make this 16-bit system very popular. 
Unfortunately third party support was difficult considering many developers were making
games exclusively for the Nintendo systems. The Genesis was redesigned into a smaller
and more affordable package three times. There was also a portable version of the 
Genesis, called the Nomad, which featured a backlit LCD. The Genesis also served as the
core for the expansion hardware with Sega CD and 32X that added CD support and additional
features.


Features:

Main Processor: Motorola M68000 (16-bit) at 7.67 Mhz
 
Co-processor: Z80a at 3.58Mhz

RAM: 64k (Plus 64k Ram for sound)

Video RAM: 64k

Max Cart Size: ???

Max resolution: 320 X 224 

Color palette: 512 total; 64 max on screen

Max # of sprites: 80; 20 max per scanline

Sound Chips: YM2612 and a 4 channel TI PSG76489

Sound: Stereo FM-based sound with 8-bit audio samples 


Usage:

Under the "Options" menu, accessible by hitting TAB, you will find the following option: 


"Country" - this allows you to alter the 'flavour' of Genesis, to either European, Japanese
or American. Many cartridges compare their country codes with that of the Genesis itself and
may behave differently, or lock up if the two types do not match.


'Auto' attempts to auto-set the Genesis country code to the value the cartridge will appear
to be checking for. This may not be 100% accurate, however.


MESS Emulation State:

Most games tend to run fairly well. Some have slight graphic glitches; incorrect colours part
way down the screen or other bizarre effects. See genesis.hsi for a partial list.


Cartridges up to 32MBit (4MByte) are supported.


The controller may not work well with some games. This will be resolved when more information
is obtained. Similarly, 6-button joypads aren't emulated yet.


Split screen effects and interlacing are not yet supported.


Sprite/layer priority should be perfect.


Sound is emulated at Z80 and PSG76489 level. 


I still consider the Genesis driver extremely preliminary. I have a lot of further work to do 
before I consider it anywhere near complete. My initial goal is to make it as compatible 
as possible. Currently there is scope within the driver to handle split screen colour changes/any
 VDP effect, interlacing, without rewriting. The graphics renderer emulates VDP at scanline 
level, and does not use tile-based methods.


Wanted: Any Sega Megadrive information specifically, some of the finer points of DMA transfer,
 and access of the 68K memory map by the Z80! Information is extremely sparse; typically the
 same three-four documents, with parts incomplete, conflicting, and corrupted. Generally, points
 which conflict with themselves in the documentation available on the net...

$end

#---------------------------------------------------------------------------------------------#

$info=geneve
$bio
Myarc Geneve 9640


Known Issues:

Wait states are not emulated (except for the speech synthesizer), so the Geneve
will always run at full speed.

The keyboard does not seem to work properly in BHDMV.


Usage:

This driver emulates a Geneve with (almost) 2Mbytes of RAM, 4 floppy drives,
and a mouse.  3 Hard Disk are supported by the HFDC disk controller.

You need an MDOS disk image to boot the Geneve.  Insert the image and run the
computer.


History and Trivia:

Myarc is known as the builder of several fine extension cards for the TI99.
They managed to remain in business for several years after TI abandonned its
TI99 series of computers in 1983, and, in 1987, they even introduced their
Geneve 9640 computer.  The computer is a single card to be inserted in the TI
PEB as a replacement of the TI99 console.  The card has standard connectors to
attach a PC-XT keyboard and a monitor, but no other I/O ports, as the Geneve
relies on expansion cards in the PEB to provide disk and RS232 interfaces.  The
Geneve features a TMS9995 at 12MHz, a V9938 VDP, an SN76496 sound generator
(compatible with TMS9919), a MM58274 RTC, 512 kbytes of 1-wait-state CPU RAM
(expandable to almost 2 Mbytes), 32 kbytes of 0-wait-state CPU RAM (expandable
to 64 kbytes), and 128 kbytes of VRAM (expandable to 192 kbytes).  Thanks to
the GenMod modification, the 512 kbytes of on-board RAM can be disabled so that
0-wait-state RAM may be used instead, but this breaks the TI99 emulation mode.

Although the Geneve is compatible with the TI99, it is a different machine.  It
has a disk-based Operating System that looks like MS-DOS.  It has two operating
modes: a native mode, and a TI99-compatible mode.  The TI99 mode is normally
entered by running the GPL program: the Geneve can run most TI99 programs in
this mode, which uses some special areas of CPU RAM to emulate GROMs and
cartridge ROMs.

$end

#---------------------------------------------------------------------------------------------#

$info=hp48s
$bio
Hewlett Packard HP48S/SX/G/GX


Scientific Calculator

HP48S - 32kb RAM

HP48SX - 128KB RAM

HP48G - 1MB ROM, 32kb RAM

HP48GX -128kb RAM


Features:

131x64 monochrome LCD display

Memory/cartridge slot

Battery slot

Infrared interface

Serial rs232 interface


Notes:

on and - decreases contrast

on and + increases contrast


Official and Public Domain HP ROM images:

http://www.hpcalc.org/hp.php


MESS Emulation State:

Not working

(G memory management not finished)

(S is a few bugfixes from working)

$end

#---------------------------------------------------------------------------------------------#

$info=i286
$bio
IBM8530 286 (Personal System 2 Model 30 286)


concrete IBM AT model

Features:

80286 with 10 mhz

socket for 80287

512kb RAM (expandable to 1mb, 2mb or 4mb) (4? 30pin 8?bit simms)

3 isa slots

integrated vga adapter

ps2 keyboard and mouse connectors

3 1/2 inch high density (1.44mb) floppy disk drive

1 parallel port

1 serial port (pc style dsub)

mf2 keyboard with 102 keys

ps2 mouse with 2 buttons

greyscale or color vga monitor

optional: ethernet adapter with bnc (coax) and rj45 (twisted pair) connectors


MESS Emulation State:

Basically the same as ibmat emulation

ps2 mouse not emulated now

VGA emulation incomplete

Needs i286 core v1.5

$end

#---------------------------------------------------------------------------------------------#

$info=i8530
$bio
IBM 8530 (Personal System 2 Model 30)


concrete IBM XT model


Features:

8086 with 8 mhz

Socket for 8087

640mb RAM

3 8-bit slots

integrated mcga adapter (vga style connector for vga monitor)

ps2 keyboard and mouse connectors

2 3.5 inch double density (720kb) floppy disk drive

in some models instead of the 2nd disk drive a 20mb or 30mb harddisk drive

1 parallel port

1 serial port (pc style dsub)

ethernet adapter with bnc (coax) and rj45 (twisted pair) connectors

mf2 keyboard with 102 keys

ps2 mouse with 2 buttons

greyscale or color VGA monitor

$end

#---------------------------------------------------------------------------------------------#

$info=ibmat
$bio
IBM AT


Extended IBM PC


Features:

Basically an IBMPC,

80286 processor

16 mb memory space

16 bit wide, 24 bit wide slots (xt downwards compatible)

2nd programmable interrupt controller

16 bit direct memory access controller

Realtime clock and setup memory

(changed keyboard and keyboard circuits on board)

High density supporting disk controller

Hard disk support in bios


Emulators:

Virtual PC for Linux, NT (commercial, very usable)

Bochs


MESS Emulation State:

Basically the same as ibmpc emulation

Rough emulation of keyboard controller

Rough emulation of keyboard

Rough emulation of dma chips

Rough emulation of pic chips

Incomplete emulation of CPU

No support for high density disks

No support for at harddisks

Needs i80286 v1.5

$end

#---------------------------------------------------------------------------------------------#

$info=ibmpc
$bio
IBM PC


The grandfather of the now common personal computer


Features:

8088 CPU

Expanded through several slots for interface cards

Programmable interrupt controller

Direct memory access controller

Support for a tape drive on the motherboard of the first series

Even elementary equipment is not on the motherboard

Even a display adapter must be plugged in


Features IBMXT:

8086 CPU (16 bit data bus)


MESS Emulation State:

rough emulation of the keyboard controller

rough emulation of the pic chip

rough emulation of the dma chip

no emulation of the tape drive

mono display adapter emulated

color graphics adapter emulated

hercules graphics adapter emulated

rough ega/vga emulation

1 floppy disk controller emulated

1 harddisk controller emulated

rough emulation of up to 4 serial ports emulated

rough emulation up to 3 parallel ports emulated

1 serial mouse emulated

rough emulation of 1 game port and its 2 joysticks


$end

#---------------------------------------------------------------------------------------------#

$info=ibmpcjr
$bio
IBM PC Junior


Enhanced IBM PC for home use


Features:

Basically an IBM PC

Support for cartridges

Enhanced CGA graphics adapter with additional graphics modes (160x200x4, 320x200x4, 640x200x2)

Integrated sound chip

Unique keyboard

Integrated joystick support


MESS Emulation State:

Basically the same as mess ibmpc emulation

pc junior graphics emulated

pc junior sound emulated

Work stopped until complete bios ROMs are available


$end

#---------------------------------------------------------------------------------------------#

$info=intv
$bio
Mattel Intellivision (1979)


History and Trivia:

At the end of 1979, Mattel Electronics released a video game system known as Intellivision 
along with 12 video game cartridges.  Poised as a competitor to the then king of the hill 
Atari 2600, Mattel Electronics called their new product "Intelligent Television", stemming 
largely from their marketing plans to release a compatible computer keyboard for their video 
games console.

Mattel fiercely battled with Atari but the Intellivision suffered greatly from the video game 
market crash of 1984.  After Mattel sold the rights to the system soon afterwards, the 
Intellivision was kept alive through their new owners, INTV Corp.  Another 35 games were 
released from 1985 to 1990, mostly through mail order service.  The system was generally very 
successful in the end, with over 3 million units sold and 125 games released before the system 
was finally discontinued in 1990.

During its lifetime, several models of the base system were released, as well as some 
interesting peripherals including a full computer adaptor, music keyboard, Intellivoice 
speech synthesis module, system changer to play Atari VCS games and PlayCable (an accessory 
to download games from your cable provider).


Features:

CPU: General Instruments 16 bit microprocessor (1 Mhz)

Memory: 4K internal ROM operating system, 2K RAM

Controls: 12 button numeric key pad, four action keys, 16 direction disk, overlay support

Sound: Sound generator capable of 3 part harmony with programmable ASDR envelopes

Color: 16 colors

Resolution: 192v x 160h pixels


Links:

Bluesky Rangers -- http://www.intellivisionlives.com


FAQ:

http://www.intellivision.ca/intellivisionfaq.pdf 


Usage/Known Issues:

This driver is almost complete.


Still TBD are:

collision detection - 16-way controller mapping - default mapping of the right player 

controller - Only .ROM format cartridges (Intellicart) are supported in this release.

  
$end

#---------------------------------------------------------------------------------------------#

$info=intvkbd
$bio
Mattel Intellivision + Keyboard Component (1981)


History and Trivia:

The original keyboard component only saw a limited test marketing run of less than one thousand 
units in late 1981. It was color-keyed to match the original Intellivision, and the entire game 
console fit into the top of the unit. It sported a full-stroke 60-key keyboard, built in 
cassette recorder, and brought the total memory capacity of the Intellivision to 64K.


Spurred on by the increasingly popular home computer market, Mattel introduced the 
Entertainment Computer System (which replaced the original expansion keyboard) along with the 
INTV II in 1983. This unit plugs into the cartridge port of the INTV II, and has its own
cartridge slot, two additional controller ports, a cassette interface, music keyboard, and a 
balance dial for controlling the output level of the ECS's three additional voices.


The ECS came packaged with a 49-key chiclet-style keyboard, power supply, and a well-written 
manual describing INTV BASIC. Upon returning the registration card, users would receive "The 
Step-By-Step Guide To Home Computing", which included a very detailed BASIC Tutorial, and some 
more in-depth study of the ECS's abilities. The unit sported an additional voice chip, 10K of 
ROM and 2K of RAM for programming purposes.


Usage/Known Issues:

This driver is almost complete.  The tape drive is not yet supported.


The keyboard component has two cartridge slots - one to replace the occupied intv cart slot, 
and one for new keyboard carts (BASIC).   If you want to use the BASIC cart at startup, you
must specify it as the second cart, even if the first cart slot is unused. 
(ex. -cart dummy -cart basic.bin)  Some tapes require the BASIC cartridge.
Also, there is currently no mapping to the normal intellivision hand controllers yet, when 
using the keyboard component.  This driver uses the full keyboard, to toggle to the standard
MESS keys, hit scroll-lock.

  
$end

#---------------------------------------------------------------------------------------------#

$info=intvsrs
$bio
Mattel Intellivision - Sears version (1981)


History and Trivia:

Functionally identical to the original Mattel Intellivision, the Sears Tele-Games Super Video 
Arcade Console has a cream-colored case with a wood-grain front, and removable controllers that 
rest in the center of the console. The power and reset switches are circular in shape and about 
an inch in diameter.


Usage/Known Issues:

This is the Sears version of the Mattel Intellivision.  Please see the base (intv) system 
info for current status of this driver.

  
$end

#---------------------------------------------------------------------------------------------#

$info=jaguar
$bio
Atari Jaguar (1993)


Features:


Usage/Known Issues:


MESS Emulation State:


Preliminary driver.

  
$end

#---------------------------------------------------------------------------------------------#

$info=jupiter
$bio
Jupiter Cantab Jupiter Ace (1981)


Features:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=kaypro
$bio
Kaypro IIx (kaypro)


Usage/Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by
default. Whilst in full keyboard emulation mode, some key associated functionality may be
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the
scroll_lock key.


History and Trivia:

The Kaypro II was the first computer released by Non-Linear Systems, in 1982. Non-Linear Systems was founded by Andy Kay in 1952. But they didn't make computers back then, they made digital multimeters. You see, Andy Kay is the inventor of the digital multimeter.


The Kaypro II is unusual because the entire case is made out of metal. Kaypro's computers were an extension of their test instrument design philosophy: rugged, reliable, reasonably priced, looking more like instruments than the creative, communications (and business) tools that they really are.


The Kaypro II is not the first portable full-size computer, that would be the Osborne 1, with its all-plastic case.


With the entire case of the Kaypro II being metal, it is probably heavier than it has to be, and the sharp metal corners are hard on the knees, if you actually decide to carry it anyplace.


On the plus side, the 9" screen on the Kaypro is a distinct advantage over the Osborne's tiny 5" screen.


In 1983, they split-off the computer division, naming it Kaypro Computers. They were soon shipping 10,000 Kaypro II computers a month.


Over the next four years, they released the Kaypro 10, IV, 4, 2, 2X, Robie, 4X, 12X, 16, 2000, and Kaypro 1, in pretty much that order.


Most of their computers were based on the Z-80 microprocessor and ran the CP/M operating system up until 1986 or so. By that time, MS-DOS was taking over the world. Kaypro Computers made a few more systems, but couldn't compete. They filed for bankruptcy in 1990.


Tidbit:

When Arthur C. Clarke was working on the movie version of the science-fiction novel 2010, he used the Kaypro II computer and a modem, for Clarke was in Sri Lanka and Peter Hyams, his contact, in Los Angeles.

$end

#---------------------------------------------------------------------------------------------#

$info=kc85_3
$bio
VEB Mikroelektronik KC 85/3 (1981)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=kccomp
$bio
KC Compact


Usage:

Image loading is the same as for the Amstrad CPC series.


Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by 
default. Whilst in full keyboard emulation mode, some key associated functionality may be 
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the 
scroll_lock key.

Z8536 CIO is not emulated

History and Trivia:

The KC Compact is a clone of the Amstrad CPC series, made in East Germany
by VEB Mikroelektronik. It was made in 1989 to celebrate 30 years of the GDR
(German Democratic Republic). Soon after the Berlin wall came down, east and west
merged, and production stopped.

The system contains a hacked Amstrad CPC 6128 Operating System and the
Amstrad CPC 6128 BASIC. Unlike the CPC, this system didn't come with a built in 
disc drive or cassette unit, and did not require a special monitor. 

The base unit can connect to a TV through a aerial or scart lead. 

Not many of these systems were produced and they are rare.

The Amstrad CPC had a gate array chip which contained the logic for the
palette, mode display, ROM paging, RAM paging and interrupt
system. This is emulated in the KC Compact using a lot of TTL logic chips
and a Zilog 8536 chip.

Hardware that was designed for the CPC systems should work on the KC
Compact, however, since the KC Compact has a different
expansion port layout, a adaptor must be made.

$end

#---------------------------------------------------------------------------------------------#

$info=kim1
$bio
Commodore/MOS Kim-1


Usage:

key   name  description

-----------------------

F1     AD    address mode

F2     DA    data mode

F3     RS    reset

F5     GO    execute from address

F6     PC    program counter (hmm.. whatever)

F7	 ST    step (note: NMI handling for K7 missing)

ENTER  +     increase address

0-F    hex   hex digits


Known Issues:

This driver supports the backdrop image of the KIM-1, and code images in .kim format.


$end

#---------------------------------------------------------------------------------------------#

$info=laser110
$bio
Video Technology Laser 110 (1983)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=laser200
$bio
Video Technology Laser 200 (1983)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=laser210
$bio
Laser 210 Series/Dick Smith VZ-200


Usage:

Basic programs start with RUN.

Other programs usually start with X=USR(0)

X=USR(0) can be typed out with the following PC keystrokes: x, shift -, u, s, r, shift 8, 0, 
shift 9, enter.


History and Trivia:

The laser 200 was the successor of the Laser 100/110 (which had only monochrome graphic 
modes).


Adman Harbison says "The Video Technology Laser 200 (and the Laser 300) were marketed in 
Australia by Dick Smith Electronics and badged as the VZ200 and the VZ300 computers.  
For memory the computers were exactly the same, although he can not be too sure.  
Some of the peripherals that I got while I had such a machine were things like a 16Kb 
expansion cartridge, a printer/plotter which wasn't much bigger than those little 
calculators that print out accounts etc. and some joysticks. The trouble with these 
computers was that they tended to die after a couple of years use. But they were cheap and 
came with a few software titles."


$end

#---------------------------------------------------------------------------------------------#

$info=laser310
$bio
Video Technology Laser 310 (1983)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=laser350
$bio
Video Technology Laser 350 (1983)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=lisa2
$bio
Apple Lisa


Usage:

This driver is still buggy. Neither the hard drive nor the serial port are supported. There are
many other bugs remaining with MMU emulation. Only Macworks will boot.

When you boot up the Lisa, you can see a self-test progress indicator. At least one test will fail:
you must discard the error message by selecting the 'Ignore' or 'Start-up from...' button. Then,
you get a boot device menu. Select the floppy drive unit, since it is the only available device.
If the mouse temporarily refuses to work, you may use the keyboard shortcuts Apple+2 and Apple+3
(the Apple key should be mapped to Control; you must use the numeric keys on the main keyboard, not
on the numeric keypad). If the computer does boot, you will see an icon representing a weird floppy
disk with a cross (maybe it actually represents a twiggy disk).


History and Trivia:

The Lisa project started in the summer of 1979. At the time, the idea was merely designing
a powerful business computer, with scheduled release in march 1981. After his legendary visit
to the Xerox PARC research center, Steve Jobs realized the GUI was the future of computing.
So, in March 1980, a GUI was added to the Lisa specs.

Despite huge support from Apple, the project got behind schedule, and Lisa was introduced
on January, 19th, 1983.


The Lisa was an impressive computer for its time. It had TONS of memory (1Mb on Lisa 1),
a high-resolution graphic display, and it was fairly expandable. Its OS (weirdly called
"Lisa 7/7 Office System") featured a complete GUI, and full preemptive multitasking
with memory protection (something neither Windows 98 nor MacOS offer!).
Its 68000 CPU was one of the fastest microprocessor in its time.

Unfortunately, Lisa was never too successful. It was quite expensive, and relatively few units were
sold (possibly about 10,000 Lisa 1 and 80,000 Lisa 2). Little software was developed for it.
Also, it was extremely resource hungry: it was reportedly slow, and its memory requirements were
the major cause for its high price.


On 24th January 1984, Lisa 1 was replaced by Lisa 2, with 3.5" floppies and several small
hardware changes. In January 1985, Lisa 2 was replaced by Macintosh XL, which had a modified video
hardware, and used a variant of the Macintosh system instead of the 7/7 Lisa OS. Mac XL was
discontinued in May 1985 (although it was still available at much later dates). Rumor has it that
an enhanced, 68020-based Lisa was in development when Apple discontinued the Lisa.

Note that, contrary to a common belief, the Macintosh is not a mere offspring of the Lisa, since
both projects were led simultaneously. While the Macintosh borrowed many ideas from the Lisa project
(which had more financial resources), the reverse is often true, too: for instance, the Macintosh
included a GUI from the beginning.


The significance of Lisa:

Lisa is a milestone in the history of computing. Arguably, the Xerox PARC research center invented
most GUI concepts (along with Object-Oriented programming and Ethernet) 10 years before Lisa was
introduced. However, although Xerox research was public, and some Xerox Altos were actually sold,
or given to universities, these experiments remained little known, and raised little interest.
I guess this was because computing was mostly the field of highly-trained professionals who did
not care about ease of use (you know, the same kind of guys who laughed at Macintosh and worshipped
the early IBM-PCs). So, Lisa made the world aware that GUI could exist, all the more since Apple
was a major computer maker. Also, Lisa (along with Macintosh, Atari ST and Commodore Amiga)
introduced GUI to hobbyists and home computer users, which enabled GUI to live.

$end

#---------------------------------------------------------------------------------------------#

$info=lviv
$bio
PK-01 Lviv (1989)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=lynx
$bio
Atari Lynx (1989) and Atari Lynx II (1990)


The Lynx was the world's first hand-held color video game system.  Sold by Atari (developed by 
Epyx a few years earlier), the Lynx offered true multi-player competition, built-in 3D and 
distortion graphic effects, reversible controls, and fast arcade action.  The system featured 
some accurate arcade translations such as Joust, Rampart, and Klax.  The Lynx II is a lightweight
redesign and features stereo sound and shorter power down timer.  Around 1993 Atari ceased marketing
the Lynx and focused on their new console, the Jaguar. (Notes taken from FAQ and Atari Age)


Features:

Two 16-Bit custom CMOS chips running at 16Mhz (named Mikey and Suzy)

Sound: 8 bit DAC for each channel; 4 channels integrated stereo speaker (wired for mono in original)

Screen: 160 x 102 (horz) 60.00 Hz

Color: 4096 colors, 16 max per scanline

Others: 64KB RAM of 120ns DRAM

Headphone port (mini-DIN 3.5mm stereo; wired for mono on the original Lynx)

ComLynx (multiple unit communications, serial)

Power (9V DC, 1 A)

Game cartridge slot

Battery holder (six AA) ~4-5 hours

Size: 9.25" x 4.25" x 2" (10.75" x 4.25" x 1.5" for original Lynx)

Screen: 3.5" diagonal (3.25" x 1.88" approx.) 


Notes:

Lynx is flip-able for optimal support of left and right hand players (hold down pause and press 
option 2 in many games) Some games want to be rotated by 90 degree


Links:

Atari age - www.atariage.com

FAQ on Lynx - www.digiserve.com/eescape/atari/Atari.shtml


MESS Emulation State:

Several cartridges playable

Blitter imperfect

Timer system incomplete

Audio imperfect

No serial port emulation

Lynx II bios is needed!

$end

#---------------------------------------------------------------------------------------------#

$info=mac512ke
$bio
Apple Macintosh 512ke


History and Trivia:

Introduced on 14th April 1986, the Macintosh 512ke was essentially a Macintosh 512k with
the same 128k ROMs and double-sided 800 KB internal floppy drive as the Mac Plus.

It was sold as a poor man's Macintosh. Also, any existing Macintosh 512k could be upgraded to 512ke.
(They could be upgraded to a Mac Plus, too, but this involved changing the motherboard.)

Since this model was discontinued a few months later (in August 1986), it may have just been
a way for Apple to get rid of its excess Macintosh 512 motherboard. Or maybe they realized that
512 kb of RAM were not enough to run real-world Macintosh programs.

$end

#---------------------------------------------------------------------------------------------#

$info=macplus
$bio
Apple Macintosh Plus


History and Trivia:

Introduced on 16th January 1986, the Macintosh Plus was the first real improvement of
the original Macintosh 128k (The Macintosh 512k was just a Mac 128k with 512 kb of RAM). It had
several new features.

The extended ROM held the new version of operating system: it supported hard disk units,
the SCSI bus, and the new file system: HFS (Hierarchical File System), along with many other
new features (Time Manager...). Additionally, various routines and managers previously located
in RAM (Appletalk manager, RAM Serial Driver, Standard File Package...) had been moved to ROM.

The new floppy disk unit could use double-sided 800 kb disks (compared to single-sided 400 kb
for the Macintosh 128k). It came with 1 Mb of RAM, and could easily be expanded to 4 Mb, using
standard 1Mb SIMMs. It had an enhanced keyboard with a numeric pad and last but not least, it had
a SCSI 1 interface which allowed to connect several high speed peripherals (maximal transfer rate of
312 kbyte/s on Mac Plus - which is incredibly inefficient) such as hard disks and scanners.

Although the Mac Plus was made obsolete in march 1987 by the new Macintosh series (Macintosh SE
and the Macintosh II), it remained in production as a cheaper alternative until the introduction
of Macintosh Classic on 15th october 1990. This makes Macintosh Plus the longest lived Macintosh
ever produced.

$end

#---------------------------------------------------------------------------------------------#

$info=macxl
$bio
Apple Macintosh XL


Usage:

This driver is still buggy. Neither the hard drive nor the serial port are supported. There are
many other bugs remaining with MMU emulation. Only Macworks will boot.

When you boot up the Lisa, you can see a self-test progress indicator. At least one test will fail:
you must discard the error message by selecting the 'Ignore' or 'Start-up from...' button. Then,
you get a boot device menu. Select the floppy drive unit, since it is the only available device.
If the mouse temporarily refuses to work, you may use the keyboard shortcuts Apple+2 and Apple+3
(the Apple key should be mapped to Control; you must use the numeric keys on the main keyboard, not
on the numeric keypad). If the computer does boot, you will see an icon representing a weird floppy
disk with a cross (maybe it actually represents a twiggy disk).

If you boot MacWorks, you should eventually see a floppy disk icon with a question mark. At this
point, it is time to insert a bootable Macintosh image: to do so, use the file manager or whatever
osd equivalent you may have.


History and Trivia:

In late 1984, Apple's financial health was questionable, and Apple came to the conclusion that
it did not make sense to support both Lisa and Macintosh.

Therefore, on 1st January 1985, Apple discontinued the Lisa. However, they released
a program named MacWorks, which enabled a Lisa to run the Macintosh operating system.

The same day, they introduced a new variation of the Lisa hardware, named Macintosh XL,
which was a Lisa 2 whose video hardware was modified in order for it to display square pixels.
Additionally, existing Lisas could be upgraded to Macintosh XL. This modification improved
the appearance of Macintosh programs; however, it prevented the Macintosh XL from running
the Lisa operating system, or any Lisa program, for that matter. Needless to say, it would have
been very easy to patch the Lisa OS to support the new video resolution: this was simply not done,
since Apple had discontinued the Lisa OS.

Macintosh XL was not very successful: Apple discontinued it in May 1985, and the remaining
stocks were sold to another company (Sun Remarketing) which did manage to sell them.

Though ill-fated, the Macintosh XL was an interesting machine. It was slow, slower than even
the original Macintosh, but it supported up to 2 Megabytes of RAM (while the original Macintosh
came with 128kb or 512kb only), had a larger screen, supported hard drives units (which
the original Macintosh could not do until the Hard Disk 20 was introduced), and it had three
expansion ports (it was thus the first expandable Macintosh, more than 2 years before Macintosh II
and Macintosh SE were introduced). A number of these was bought by developers who needed
the hard drive and appreciated the larger screen (anyway, Macintosh development was originally done
on Lisa, so the transition from Lisa Workshop on Lisa to Macintosh Programmer Workshop on
Macintosh XL was a natural one).

$end

#---------------------------------------------------------------------------------------------#

$info=max
$bio
Commodore Max


History and Trivia:

Delivered in japan only?

 (vic10,ultimax,vickey prototype)

 (all modules should work with c64)


Features:

 cartridges necessary (nothing works without cartridge)

 low cost c64

 flat design

 only 4 kbyte sram

 simpler banking chip

  no portlines from CPU

 only 1 cia6526 chip

  restore key connection?

  no serial bus

  no userport

 keyboard

  restore key in pictures!

 tape port

 2 gameports

  lightpen (port a only) and joystick mentioned in advertisement

  paddles

 cartridge/expansion port (some signals different to c64)

 no ROM on board (minibasic with kernel delivered as cartridge?)


$end

#---------------------------------------------------------------------------------------------#

$info=mbee
$bio
Applied Technologies Microbee


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=mc10
$bio
Tandy Radio Shack MC-10 (1983)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=megaduck
$bio
MegaDuck/Cougar Boy


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=microtan
$bio
Tangerine Microtan 65 (1979)


Features:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=mk1
$bio
Super System 1/MK I


early chess computer

sold from several firms
in Germany as MK1


Features:

4 7segment led digits

Plug for external power supply


Instructions:

number with dot means thinking about move?
4 dots mean ready for input?

power up prompt L asks for level?
answering with 5 prompts you with bp
than you can play as white and enter your move (enter is d/play)


MESS Emulation State:

Operating instructions needed!

Not working (CPU core problem?)


$end

#---------------------------------------------------------------------------------------------#

$info=mk2
$bio
Super System 2/MK 2


Early chess computer

sold from several firms
in Germany as MK2

2 designs known, seams to be functional the same


Features:

4 7segment led digit

Integrated speaker

Plug for external power supply


Notes:

for the computer to start as white
 switch to black (h enter)
 swap players (g enter)
Pinout and instructions for reading ROMs are in messroms.txt


MESS Emulation State:

Random number generation is not accurate (rriot6530 emulation)

Led emulation not accurate (noticeable while computer is thinking)


$end

#---------------------------------------------------------------------------------------------#

$info=mpf1
$bio
Micro Professor 1


Features:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=msx
$bio
MSX 1 Class Computers


The MSX driver currently emulates the MSX1, international, UK, korean and Japanese models.


Not emulated:
Printer port, diskdrives, megaRAM, Sound Cartridge (SCC+), MSX2, etc..


Cartridge emulation:
The MSX has 64kB RAM, like most (by far) MSX1 computers. It is located in slot 3. Two 
cartridges are allowed: the first in slot 1 and the second in slot 2. So subslots aren't 
emulated (yet). 


The msx.hsi file is important. The <extrainfo> tag specifies the type of ROM mapper. 
See msx.hsi for more information.


Sound emulation:
The standard sound chip, the PSG (AY8910) is emulated, so is the extension that was included 
in some Konami cartridges: the SCC. The keyclick (PPI) is also emulated, as is the FM-PAC 
(you'll need the fmpac.rom of the original Panasonic FM-PAC for this). Unfortunately the 
YM2413 emulation in MAME does not emulate the volumes correctly.


Last but not least, the DAC in Konami's Synthesizer is emulated, and the SIMPL (DAC on the 
printer port). The DAC in Konami's Matjusushi is also emulated, but the driver lacks MSX2 
support.  


SRAM in cartridges:
A number of cartridges (Hydlide 2, Xanadu, The Game Master 2 and more) had on-board sram. 
This sram is automagically saved as a MEMCARD.  


Tape emulation:
Unlike other MSX emulators, the tape emulation is not done by trapping BIOS calls. In our 
opinion this is an evil kludge; apart from that, our setup does have an advantage. Tapes with 
a custom loader (using direct access to the hardware) will work fine. It is done by saving 
the tape as a .wav file. In principle, you could record a tape to .wav, and load them into 
MESS.


History and Trivia:

In the early 80's, there were a lot of home computers, Microsoft and a Japanese company 
called ASCII corporation (directed by Kay Nishi) decided then to create an industry standard 
for the home computers: MSX (for MicroSoft eXtended). The new standard was based on an 
existing computer: The Spectravideo SV 318. Microsoft designed the MSX 1 computers and the 
first version of the OS: MSX DOS 1 (which looks like earlier versions of MS DOS).


Almost all Japanese and Korean computer companies made their own MSX computers (except 
perhaps NEC). Bill Gates was then very confident about the future of the MSX standard. 
Spectravideo (one of the MSX companies) made a 80 columns card and adapted CP/M on the MSX.
A lot of software(especially a lot of games from Sega, Konami, Taito, Ascii,...) and 
hardware was developed for this standard. Despite all its qualities, the MSX family didn't 
have great success in USA, however was pretty known in Europe (Netherlands and France), in 
South America (Brazil) and USSR. This standard was replaced in 1985 by MSX 2. 


A list of known MSX compliant machines:


Canon (Japan)

V-8: 16kB RAM (other source says 32kB RAM)
V-10: 16kB RAM
V-20: 64kB RAM



Casio (Japan)

MX-10: 16kB RAM (other source says 64k), docking station available
MX-101: 16kB RAM (other source says 64k)
PV-7: 32kB RAM
PV-16: 16kB RAM



Daewoo/Yeno (Korea)

Ce-Tec MPC-80: 64kB RAM (other source says 32KB)
DPC-100: 16kB RAM, built in loudspeaker, available in green, blue or silver
DPC-200: 64kB RAM
DPH-64: 64kB RAM (other source says 32kB RAM)
DPH-?: 64kB RAM, built in software, Arabic version
IQ-1000: 32kB RAM, produced for Korea
MX64: 64kB RAM



Dragon (Spain)

MSX-64: 64kB RAM



Dynadata (MSX from Daewoo in Spain)

DPC-200: 64kB RAM



Fenner (Italy?)

FPC-500: 64kB RAM



Fujitsu (Japan)

MB-H1: ??kB RAM
FM-X: 16kB RAM



General (Japan)

PAXON-PC K50: ??kB RAM, separate keyboard, computer and monitor in one box
PAXON-PC T50: 16kB RAM, RGB connector
PAXON-PC T55: 32kB RAM, RGB connector



Goldstar (Korea)

FC-80: ??kB RAM
FC-100: 16kB RAM
FC-200: 64kB RAM (with hole for light-pen)



Gradiente (Brazil)

XP-800 Expert 1.0: 64kB RAM, separate keyboard
XP-800 Expert 1.1: 64kB RAM, separate keyboard (with fixed ASCII tables, grey colour)
Expert plus: 64kB RAM, separate keyboard (black colour)
Expert DD plus: 64kB RAM, separate keyboard, 3,5" floppy disk drive (black colour)



Hitachi (Japan)

Hint: 16kB RAM
MB-H1 (Humanicatio): 32kB RAM, built in software (Sketch and Music)
MB-H1E: 16kB RAM
MB-H2: 64kB RAM, built in tape recorder
MB-H21: ??kB RAM
MB-H25: ??kB RAM
MB-H50: 64kB RAM
MB-H80: 64kB RAM, also built in software (Sketch and Music)



JVC/Victor (Japan)

HC-5: 32kB RAM (other source says 16kB RAM)
HC-6: 16kB RAM
HC-6AV: 32kB RAM, RGB connector
HC-7: 64kB RAM (Japanese version)
HC-7E: 64kB RAM (English version, other source says 32KB RAM)
HC-7GB: 64kB RAM
HC-30: 32kB RAM
HC-60: 32kB RAM



Kyocera (Japan)

YC-64: 64kB RAM



Mitsubishi (Japan)

Letus: 16kB RAM
ML-8000: 32kB RAM
ML-F48: 32kB RAM
ML-F80: 64kB RAM
ML-F110: 16kB RAM
ML-F120(D): 32kB RAM
ML-F8000: 32kB RAM
ML-FX1: 64kB RAM
ML-FX2: 64kB RAM, built in software



National/Matsushita (Japan)

CF-2000: 16kB RAM (MSX1)
CF-1200: 16kB RAM (MSX1)
CF-2700: 32kB RAM (MSX1)
CF-3000: 64kB RAM (MSX1)
CF-3300: 64kB RAM (MSX1 / 1 or 2 FDD)
FS-4000: 64kB RAM (MSX1)
FS-1300: 64kB RAM (MSX1)
FS-5500F1/F2: 64kB RAM (MSX2 / 1 or 2 FDD)
FS-4500: 64kB RAM (MSX2)
FS-4700F: 64kB RAM (MSX2)
FS-5000F2: 128kB Mapper RAM (MSX2 / 2 FDD)
FS-4600F: 128kB Mapper RAM (MSX2)


Olympia (France)

PHC-2: ??kB RAM, same as some Sanyo?
PHC-28: 32kB RAM, same as Sanyo's PHC-28S



Panasonic (Europe)

CF-2000: 16kB RAM
CF-2700: 64kB RAM, same as Sanyo MPC-64
CF-3000: 64kB RAM
CF-3300: 64kB RAM

Panasonic/Matsushita (Japan)

FS-A1: 64kB RAM (MSX2)
FS-A1MK2: 64kB Mapper RAM (MSX2)
FS-A1F: 64kB Mapper RAM (MSX2)
FS-A1FM: 64kB Mapper RAM (MSX2)
FS-A1FX: 64kB Mapper RAM (MSX2+)
FS-A1WX: 64kB Mapper RAM (MSX2+)
FS-A1WX: 64kB Mapper RAM (MSX2+)
FS-A1GT: 256kB Mapper RAM (MSXturboR)
FS-A1GT: 512kB Mapper RAM (MSXturboR)


Perfect (Daewoo in Kuwait)

Perfect1: 64kb RAM, 1 slot, no reset, built in software



Philips (The Netherlands)

VG-8000: 16kB RAM
VG-8010: 32kB RAM
VG-8020: 64kB RAM, (VG8020 comes in 2 different versions (/00 and /20), new versions use 
sub-slot for RAM)



Pioneer (Japan)

PX-7 PALCOM: 32kB RAM, built in laser disk interface, superimpose (image & sound (stereo)), 
separate keyboard (UK version in black, JP version in black/silver (lila/blue keys) colour)
PX-V60: 64kB RAM



Radofin (Hong-Kong)

Triton: 64kB RAM



Radiola (France)

MX-180: 32kB RAM, Same as Philips VG-8010 with a different color case



Sakhr/Universal/Al Alamiah (Kuwait/Yemen)

     Those computers are Yamaha and Sanyo MSX modified for arabian countries.

AX-100: 64kB RAM
AX-150: 64kB RAM
AX-170: 64kB RAM, built in special ROMs with Arabic characters set and software
AX-230: 64kB RAM, same software as AX-170 + 1MB of other software
AX-330: 64kB RAM, same as AX-230 but with built in SEGA-MEGADRIVE board
AX-990: 64kB RAM, 50 programs built in, SEGA-MEGADRIVE board built in
SX-100: 32kB RAM, 3 slots, RGB connector
SX-101: ??kB RAM, 3 slots



Samsung (Korea)

SPC-800: 64kB RAM



Sanyo (Japan)

MPC-2: 16kB RAM
MPC-3: 16kB RAM
MPC-4: 16kB RAM
MPC-5: 16kB RAM
MPC-6: 64kB RAM
MPC-10(mk2): 64kB RAM (other source says 32kB RAM), lightpen-interface
MPC-11: 64kB RAM (other source says 32kB RAM), lightpen-interface
MPC-64: 64kB RAM
MPC-100: 64kB RAM, hole for lightpen
MPC-200: 64kB RAM
MPC-X: 64kB RAM, built in lightpen, high-res adaptor and speech-synthesizer
PHC-27: 64kB RAM
PHC-28L: 64kB RAM, Same as PHC-28S but with 64kB RAM
PHC-28S: 16KB (or 32KB) RAM
PHC-30: 16kB RAM (other source says 32KB), built in tape recorder
PHC-30N: 64kB RAM
PHC-33: 32kB RAM
WAVY-MPC-10: 32KB (other source says 16KB) RAM, built in light pen unit



Schneider (Germany)

MC-810: 32kB RAM, (Same as Philips VG-8010 with a different color case)



Sharp/Epcom (Brazil)

HB-8000 HotBit: 64kB RAM (white colour)
HB-8000 HotBit 1.2: 64kB RAM (in black color)



Sony (Japan)

     Note: Some of the Sony's computer names are followed by a letter like HB-101P, or 
HB-101F or HB-700D. The last letter is only depending of the keyboard layout of the 
country. D=German (QWERTZ) F=French (AZERTY) S=Spanish P=UK (QWERTY)

HB-10: 64kB RAM
HB-11: 64kB RAM
HB-11U: ??kB RAM, built in dictionary Japanese-English
HB-20: 32kB RAM
HB-55: 16kB RAM
HB-75: 64kB RAM, built in program: Personal Databank (schedule/memo/address)
HB-101: 32kB RAM, (Same as HB-201 but with 32kB RAM, but other source says 16kB RAM)
HB-201: 64kB RAM, built in joystick (Same as HB-501 but without tape recorder)
HB-501: 64kB RAM, built in tape recorder ('BitCorder'), pause button, joystick
HB-701, 64kB RAM
HB-701FD: 64kB RAM, floppy disk drive



Spectravideo (Hong-Kong/USA)

SVI-728: 64kB RAM, numeric keypad
SVI-738: 64kB RAM, built in 80 columns card (V9938), RS232C interface, 360KB 3,5" floppy 
disk drive. Also called X'PRESS and also SVI-318 and SVI-328 MSX compatible with an emulator



Talent/Telematica (Argentina)

DPC-200: 64kB RAM, Daewoo's MSX model sold under the Talent name



Toshiba (Japan)

HX-10: 64kB RAM
HX-10D: 16kB RAM
HX-10DP: 64kB RAM
HX-10DPN: 64kB RAM, built in program (??)
HX-10E: 64kB RAM
HX-10S: 16kB RAM
HX-20: 64kB RAM, built in word processor (in total 64kB ROM), RAMdisk feature (32kB of 
main RAM in page 0 and 1 are used, under BASIC), T6950 VDP (software compatible with 
9929A which is normally used)
HX-20e: 64kB RAM, built in word processor, RS232C interface
HX-21: 64kB RAM, built in software
HX-22: 64kB RAM, RS-232C interface, RGB connector (SCART 21), built in word processor (in 
total 64kB ROM)
HX-30: ??kB RAM, built in software
HX-31: ??kB RAM, built in software
HX-32: ??kB RAM, built in software
HX-51: ??kB RAM



Triton (Hong-Kong)

PC64: 64kB RAM



Yamaha (Japan)

CX5: 32kB RAM
CX5F: 32kB RAM
CX5M: 32kB RAM, built in FM synthesizer (SFG-01) and MIDI-Interface
CX5MII: 64kB RAM, built in FM synthesizer (SFG-01), MIDI-interface
CX5MII/128: 128kB RAM, built in FM synthesizer (SFG-05), (V9938 built in), built in 
FM VOICING program II
CX-11: 32kB RAM
CX-100: 32kB RAM
YIS-303: 16kB RAM
YIS-503: 32kB RAM
YIS-503II/64: 64kB RAM, FDD



Yashica (Japan)

YC-64: 64kB RAM, Kyocera's MSX sold by Yashica


MSX system list compiled from the list by TRD, Manuel Bilderbeek & Alex Wulms. Thanks to
Stefano Priore, for abridging it to MSX1 specific info.


Other Info:

The MSX driver is very preliminary. Disk drive emulation doesn't work properly
for example, and memory emulation isn't very good either. Various MSX1 models
are emulated, and there is preliminary MSX2 support through the msx2 and msx2j
driver.

The required bios dumps are available at:

	http://www.file-hunter.com/


Cartridges:

The ROM mapper (which is specified with -rom x in fMSX) is autodetected but
isn't perfect. With the hsi files in the hash directory, cartridges with SRAM
or a DAC (like Synthesizer or Majutsushi from Konami) are detected properly.


Tape emulation:

Tape emulation is done via .wav files; the actual sound the MSX produces
is recorded / played back, making tape emulation more authentic. Because of
this, you can record your existing tapes to .wav and play them in MESS. Make
sure your record them at high quality (44100Hz, 16 bit and mono).

.cas files are also supported but they're converted to sound by the driver
on startup. There is no support for writing .cas files.

While recording or playback you can hear the sound through the sound card
of your computer. You can control the volume by pressing <SCROLL LOCK> and
<~>. 

.tap files from Virtual MSX can be converted to .cas using imgtool (see
imgtool.txt for more information).


Memory Emulation:

The memory map is from a standard MSX1; there are no subslots, nor MSX2 
memory mappers for RAM. RAM is 64Kb in slot 3, and slot 1 and 2 are where 
the cartridges end up.


Sound emulation:

The PSG, PPI (key click), SCC are emulated. The SCC isn't perfect yet, you
can hear slight imperfections in King's Valley 2 (when you through the knife),
F1 Spirit (when you start a race), Solid Snake (when you get to building 3).
The SCC is called `k051649' in the volume menu.

The FM-PAC is also emulated for which you need the ROM dump of an original
Panasonic FM-PAC. However the sound emulation isn't very good at all. :/

The following DACs are emulated: SIMPL, Konami's Synthesizer, Konami's
Majutsushi. The keyclick is also done through the DAC. To enable SIMPL
(which disables the printer port), press <SCROLL LOCK>, <TAB> and go to
Dip Switches. Here set SIMPL to "On".

You can control the volumes by pressing <SCROLL LOCK> (so you go to UI
mode) and then <~>. Press <UP> and <DOWN> to see different sound chips, and
<LEFT> and <RIGHT> to change the volume.


Video emulation:

The tms9928a (MSX1) emulation is very good, but doesn't emulate changes while
the screen is being drawn to the screen. 

The v9938 emulation is preliminary and has problems with sprite mode 2 (MSX2
games), interlaced mode, graphic engine emulation, timing (Zanac Ex doesn't
run correctly and Aleste only runs in the Japanese version of the driver).
Also the PAL/NTSC (50/60Hz) switch is an evil hack, the actual refresh rate
of the screen isn't changed.

Also it's not very well optimized, I'll start optimizing as soon as it
works alright. 

The v9958 isn't emulated at all. 

The MSX1 and MSX2 video chips only only display a limited number of sprites on
one line; this causes sprite flickering, you can turn this off (which isn't
like a real MSX of course) by pressing: <SCROLL LOCK>, <TAB> and going to the
Dip Switches menu. Set "Enforce 4/8 sprites/line" to "Off". Note that sometimes
this feature is used for other purposes, like making sure a sprite is only
partly displayed (when you enter a world in The Maze of Galious for example).


Printer port:

The printer port is emulated; output to the port is saved to disk. However
no emulation/translation is done, so the data is raw. 


MSX2 RTC:

The real-time clock, which keeps information like the time and date, should
be emulated correctly. However in PAL mode the timing isn't correct as the
refresh rate isn't properly adjusted. All settings are saved to disk.


Keyboard/joystick/mouse:

The keyboard layout should be properly emulated. Joysticks seem to default
to having key-bindings as well, so pressing <CTRL> or <ALT> will also work
for the joysticks, but might give some unexpected results.

The mouse emulation doesn't work properly yet. :(


Disk Emulation:

Disks are emulated through proper wd2793 emulation. Currently only the
Philips and Sony diskroms are supported; the Panasonic machines use the
tc8566af diskcontroller (unemulated) and the Brazillian machines are 
port-based (not memory-mapped).

You need a proper diskrom dump, and the msx.hsi file in place. The diskrom 
should be recognized as type 15 otherwise the driver doesn't know it's
a diskrom. 

Next specify the diskrom as one of the cartridges. That should do the 
trick. :) Note that only .dsk files are supported; other formats can
be converted to .dsk using imgtool (it can convert .msx, .img, .ddi, .xsa,
multidisks -- see imgtool.txt for more information).

Error aren't properly handled yet. ``not ready'' is reported as ``record
not found'', which results in ``Disk I/O error'' in MSX-BASIC.

Also not that memory emulation isn't complete so MSX2 memory mappers
don't work yet.


$end

#---------------------------------------------------------------------------------------------#

$info=msx2
$bio
MSX 2 (1985)

$end

#---------------------------------------------------------------------------------------------#

$info=msx2p
$bio
MSX 2+ (1988)

$end

#---------------------------------------------------------------------------------------------#

$info=mtx512
$bio
Memotech MTX512


Usage:


Currently, the driver requires cassette images to be stored in the following
directory - 

software\mtx512

The cassette image is a flat binary image with the first 0x12 bytes being the
original mtx header and the rest being the file data.

A note about cassette naming schemes - so long as the filename of the cassette
image is the same as that stored in the header, you should be alright.

To load and run a tape image, just type LOAD "<image name>" at the Ready Prompt.
To save a (BASIC) program, just type SAVE "<image name>" at the Ready Prompt.

MTX BASIC is pretty much a standard dialect, so you should have no problems
using it, but its graphic handling etc. is a bit esoteric.



Known Issues:


Improving the tape support, because at the moment it is just a hack.

Improve the TMS99x8 driver (appears the dirtyrect handling there is not
quite right)

Support for additional ROMs

No Cassette Save support.

No Printer support

$end

#---------------------------------------------------------------------------------------------#

$info=mz700
$bio
Sharp MZ-700 (1982)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=mvision
$bio
MB Microvision


First handheld (mono)


Features:

16x16 LCD display

CPU is in the cartridge (normally TMS1100 with on chip ROM)

how to dump the TMS1100?

$end

#---------------------------------------------------------------------------------------------#

$info=nascom1
$bio
Nascom 1 & 2


Usage Notes:

The Nascom 2 clone has support for .cas, .bin and .nas cassette files.


The .cas files are used by BASIC. To get there from the monitor, type
EE000, enter 49152 as the memory size then CLOAD "<letter>". You can use
RUN/LIST etc. 


The <letter> for the existing cassettes are:

adventr.cas     A

snailr.cas      S

startrek.cas    T

swinghs.cas     M

swords.cas      S


The .nas files are loaded by the monitor. Type L, wait for the loading to
finish, then E<start addr>. The start address is the address first
displayed by the load, usually 1000. To load the .bin files, use R in the
monitor.


$end

#---------------------------------------------------------------------------------------------#

$info=nc100
$bio
Amstrad NC100 Notepad computer


The Amstrad NC100 Notepad computer is a portable computer.

This system has a LCD screen and nice keyboard. The memory is
protected by a lithium battery which is charged when the computer
is connected to a mains supply.

PCMCIA RAM cards can be used to store programs and documents.

The computer has a built in wordprocessor, BBC Basic, Serial Terminal,
Calculator, Diary and more. The whole system is a personal organiser with lots
of extras.


MESS Emulation State:

a. ACCURACY

The emulation is reasonably accurate. I have used NCIOSPEC.TXT published by Cliff
Lawson at Amstrad to write the driver. Unfortunately this document does not describe
undocumented hardware features, so at this time, any programs relying on undocumented
behaviour will not work well. I am currently looking for NC owners (especially NC150
owners) to run some tests for me.


b. PRINTER

Printer emulation is working. All data is saved out to a file on the host filesystem.
The data is not processed in any way, so the file will contain the raw bytes output
to the printer port.


c. PCMCIA RAM CARD

The NC100 supports a PCMCIA Ram card up to 1mb in size. 

The emulator supports all RAM card operations: reading, writing, formatting
and write enable/write protect.

It also supports RAM cards of all sizes (128k, 256k, 512k and 1mb).

The file format of a RAM card is a simple memory dump; there are no headers or 
other information stored in the file.

If files have been saved onto the RAM card by the emulation, then the file
on the host filesystem will be updated (the update will happen when MESS is exited,
or a new card is inserted).

Use imgtool to create blank cards, and to put/get files to the card image.
At this time, only 1mb cards can be created and there is no support to create unformatted
or executable cards.

Do not forget to insert memory card (as "Cartridge"), and if you want to write files
to it make sure it is write enabled (see dipswitches in UI).

imgtool create nccard <card name>
	Create a blank formatted memory card. The NC100 can write files to this.

	You can view the files by:
		1. Pressing FUNCTION + B to enter BASIC, then typing "*." at the ">"
		prompt.
		2. Enter wordprocessor menu and select list files.
	
imgtool put nccard <card name> <host filesystem name> <nc100 name>
	Put a file from the host filesystem (e.g. PC harddrive) to the nc memory card.
	The file will be cut if it is larger than 64k (64k is the maximum file size
	supported by the nc100 filesystem).

	At this time, all files are assumed to be ASCII. There is no support to put binary
	or BASIC files.

imgtool get nccard <card name> <nc100 name> <host filesystem name>
	Get a file from the nc memory card to the host filesystem. Files are always
	saved as binary regardless of file type on memory card.

imgtool dir nccard <card name>
	Show a directory listing of the memory card.

imgtool del nccard <card name> <nc100 name>
	Delete a file from the memory card


d. SERIAL

Serial is mostly working. 

MESS does not have a UI to change the serial device transmit/receive properties, so at 
this time it is fixed to: 9600 baud, 8 data bits, 1 stop bit, no parity for the NC100
driver.

At this time, the serial device only supports a simple protocol. (Each byte is transmitted
in a basic serial form, with start bits, data bits, parity and stop bits).

In the future the serial device will support xmodem and xmodem send/receive will then
work in the emulation.

XMODEM transfer instructions:

NC100:

1. Enter wordprocessor.

2. Start a new document

3. Quit wordprocessor

3. Go to list documents.

4. Press MENU key

5. Here you can navigate the menu to find "XMODEM receive document".

6. Start XMODEM send on PC.


Links:

http://genesis8.free.fr/

http://www.ncus.org.uk/

$end

#---------------------------------------------------------------------------------------------#

$info=nc200
$bio
Amstrad NC200 Notebook computer


The Amstrad NC200 Notebook computer is a portable computer.

This system has a fold-down LCD screen, nice keyboard and disc drive.
(The disc format is 720k PC Double Density DOS compatible).

The memory is  protected by a lithium battery which is charged when the computer
is connected to a mains supply.

PCMCIA RAM cards can be used to store programs and documents.

The computer has a built in wordprocessor, BBC Basic, Serial Terminal,
Calculator, Diary and more. The whole system is a personal organiser with lots
of extras.


MESS Emulation State:

a. ACCURACY


The emulation is reasonably accurate. There are no documents about the hardware
of the NC200. Originally Cliff Lawson published details but these have been lost
when his WWW site went down. Since then he has been unable to write up the details
of the hardware (Cliff is a very busy man).

So I have worked out much of the NC200 hardware by disassembling the ROM and I have
also had much help from Russel Marks.

a. PRINTER


Same state as NC100, please see nc.txt for details.

b. PCMCIA RAM CARD


Same state as NC100, please see nc.txt for details.

c. SERIAL


Serial is not working properly. It is almost at the same state as the NC100.

d. DISK DRIVE


Not working. I am trying to find out the details of the disc interface by looking
at lots of disassemblies!


Links:

http://genesis8.free.fr/

http://www.ncus.org.uk/


$end

#---------------------------------------------------------------------------------------------#

$info=neat
$bio
New Enhanced AT


popular AT compatible chipset for 80286


Features:

support of LIM EMS4.0 (or only 3.2?)


Notes:

msdos utilities for quickset and ems available


MESS Emulation State:

Basically the same as mess ibmat emulation
Special chipset features not emulated yet
Not working


$end

#---------------------------------------------------------------------------------------------#

$info=nes
$bio
Nintendo Entertainment System / Famicom (1985 USA)


The Nintendo Entertainment System (called Famicom in Japan) was an instant hit with such popular
titles as Super Mario Bros., The Legend of Zelda and Excitebike.  It was released to the states
in August, 1985. The 8-bit graphics were far superior to any-home based console that had come 
before it. Strong sales were were driven by the gamers wanting the feeling of real-life arcade
games in their homes.


The NES boasts an impressive library of games with over 8000 games (Cowering goodnes), offering
a smorgasbord of titles for fans of every genre. The Nintendo continued it's reign with other 
big hits such as The Mega Man series, Ninja Gaiden, Contra, Castlevania, Double Dragon and of 
course, Super Mario Bros 3.  The NES continued it's strong sales with over 36 million units sold
worldwide by its official cancellation in January 1996 but not before releasing a redesigned NES. 


Usage:

Select is mapped as Coin 1 (default key 5).

Start is mapped as Player 1 Start (default key 1).

This makes it convenient to use the driver with a "MAME" configured controller.

Famicom Disk System switching is mapped to Player 1 Button 3 (default key [space]).


Features:

Main Processor: 8bit NMOS 6502 CPU with a secondary PPU (Picture Processing Unit)

Clock Speed: 1.7897725MHz for NTSC and 1.773447MHz for the PAL version

Data Path width: 8-bits

Color Palette: 256; 16 max on screen

Sprites: 64 (8x8 or 8x16)

Sound: FM with 5 sound channels (4 analog, 1 digital)

Video Ram: 16 Kbits

SPR-RAM: 256 Bytes

Rom addressing: 8k

Cart Size: 64k - 4 Megabit

Controls:  8 directional D-Pad, A, B, select, and start buttons.  


MESS Emulation State:

The NES driver should run most of the images currently out there with very little problem.  It doesn't yet support the obscure one-game mappers used by many "pirate carts".


The NES driver has quite accurate sound and sample playback. For example, you can hear speech samples in Bayou Billy, Gauntlet, Dirty Harry, and Skate or Die that are not present in a few other NES emulators.


The main focus up until this point has been in getting the NES driver as accurate as possible.  Unfortunately, the scanline rendering method is quite slow, so future efforts will be focusing on bringing up the speed.


Wanted: I'd appreciate any info on some of the more obscure mappers. If you have any of this, please drop me a line at bradman@pobox.com


$end

#---------------------------------------------------------------------------------------------#

$info=odyssey2
$bio
Magnavox(?) Odyssey2


Console for TV connection

Philips G7000 videopac


Features:

2 digital joysticks

Keyboard


Emulators:

Dan Boris o2em for DOS


MESS Emulation State:

Based on info by Dan Boris.


$end

#---------------------------------------------------------------------------------------------#

$info=oric1
$bio
Oric 1


History and Trivia:

This British computer was one of the most popular computers in Europe in early 80's, and a 
competitor of the Sinclair Spectrum. The two models (16 and 48) had the same technical 
characteristics, but the model 48 was sold with FORTH language. A small plotter was available 
for this computer. Note that the sound chip was the same as the one in the Amstrad CPC, 
MSX computers and Atari ST! The Oric 1's ROM was very bugged though, and it was replaced with 
the Oric Atmos.


$end

#---------------------------------------------------------------------------------------------#

$info=orica
$bio
Oric Atmos


The emulation supports Microdisc and Jasmin floppy disc controller emulation, this
can be chosen using a Dipswitch. 


Known issues:

- The disc controller emulation is not exact and some programs may fail to load.

- The cassette emulation is not exact and some programs may fail to load

- Screen display should be accurate, but there might be some small bugs.

- Tape programs are found but not loaded.

- There are bugs in the Microdisc and Jasmin floppy disc controller emulation so some
programs will not boot.


History and Trivia:

The Oric Atmos was the successor of the Oric 1 and had almost the same characteristics. Its 
main difference with the Oric 1 was it's enhanced RAM (48 KB instead of 16 KB), the keyboard 
and the debugged ROM (the ORIC 1 had several bugs). Several peripherals were available: 
3" floppy disk drive, a small 4 colour plotter, a speech synthesizer and a Digital/Analogue 
converter. An external interface was needed to use joysticks. 


$end

#---------------------------------------------------------------------------------------------#

$info=pc
$bio
IBM Personal Computer XT (and clones)


History and Trivia:

In early 1980, IBM decided to create a micro computer (up to this date, IBM produced only 
mini and mainframe computers), they didn't really know what they wanted and they didn't 
think for one second that producing micro computer was a profitable business! They asked 
Digital Research (the authors of CP/M) to create an operating system for their new computer.
DR was not very interested, so they approached the then small company Microsoft (at this point 
famous for it's BASIC language) to write this operating system. Microsoft wasn't capable of 
doing it themselves, so Bill Gates bought up the rights to an OS written by a small company 
called Seattle's Computers Products: QDOS (Quick and Dirty Operating System) which became 
PCDOS and later MS-DOS.


The IBM PC wasn't very powerful (and was certainly less powerful than a lot of 8 bit 
computers), the very first PC had only 16 KB RAM and no floppy disk units -- they used 
cassettes. Notice that the functions to handle the cassettes were present in the operating 
system up to MS-DOS 5. The PC was available with either CGA or MDA (on an MPA card). The CGA 
adapter actually had an RCA composite output to hook it up to your TV if you did not want the 
CGA monitor.


The IBM PC XT was the successor of the IBM PC. It's enhanced features included hard disk 
capability, more memory, and no more tape port. Perhaps because of the name and fame of IBM, 
the PC series became a standard and IBM dominated the computer market up until the end of the 
80's. Clones of the XT, such as the Tandy 1000 became commonplace by the end of the decade.


The following PC's and compatibles are supported by, or currently under development in MESS:


IBM PC:

Intel 8088 process with 4.77 Mhz clock.


IBM PC Junior:

based on IBM PC

Special keyboard

CGA with 160x200x16, 320x200x16 and 640x200x4? colors

3 channel sound chip


IBM PC/XT:

based on IBM PC

Intel 8086 instead of 8088, but only RAM memory data bus

Enhanced to 16 bit.


Tandy1000 Series:

IBM PC Junior compatible graphic system.

Later the 640x200x16 graphic mode was also available.

Later models were delivered with EGA/VGA compatible graphic system/card.

IBM PC Junior compatible sound system.

In later models there was also a DAC channel available.

First series with own keyboard (own layout, different keys)



Tandy1000HX:

First Tandy 1000 with EEPROM memory for configuration.

Delivered with 3,5 inch  double density disk drive (720kb).



Amstrad PC1512/PC1640/PC6400/PPC664?/PC2086?

Packed IBM PC/XT functionality in few custom chips.
Power supply in the monitor was also used for the computer.
Serial Port,
Parallel Port,
Real Time clock with battery buffered cmos RAM,
Graphics adapter,
mouse port for included mouse integrated in the motherboard.
Joystick port for cpc-joystick in the keyboard.



Amstrad PC 1512
(Schneider in Germany/Austria)

CGA compatible graphics system with special 640x200x16 graphics mode.
512 KB RAM on board, sockets for additional 128 kb on board.

delivered as
PC1512SD (1 5,25 inch double density disk drive (360kb))
PC1512DD (2 5,25 inch double density disk drives)
PC1512HD10 (1 5,25 inch double density disk driver, harddisk controller and 10MB harddisk)
PC1512HD20 (....20 MB harddisk)
(monochrome (about 16 levels grays) or color monitor)



Amstrad PC 1640
(PC6400 in the US)
(Schneider in Germany/Austria)

EGA compatible graphics card and monitor



Amstrad PC2086
(Schneider in Germany/Austria)

VGA compatible graphics card and monitors?

$end

#---------------------------------------------------------------------------------------------#

$info=p2000t
$bio
Philips P2000T (1980)


Features:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=pc1251
$bio
Sharp Pocket Computer 1251


small pocket computer

also marketed as tandy trs80 pc-3


Features:

24 digit (5x7 pixel) LCD display

Integrated speaker

Same connector for printer and tape drive as pc1401

2 built in batteries


MESS Emulation State:

Look at pc1401


$end

#---------------------------------------------------------------------------------------------#

$info=pc1350
$bio
Sharp Pocket Computer 1350


small pocket computer


Features:

150x32 pixel LCD display

integrated speaker

connector for printer and tape drive

2 built in batteries

Features of this model included a BASIC interpreter, an 8-bit sharp CPU, 150x32 pixel 
display, 8+32K ROM, 4K RAM which was expandable with a RAM cartridge to 12 or 20K.


Emulator:

pockemul for win32


MESS Emulation State:

Look at pc1401


$end

#---------------------------------------------------------------------------------------------#

$info=pc1401
$bio
Sharp Pocket Computer 1401


small scientific calculator and pocket computer


Features:

16 digit (5x7 pixel) LCD display

integrated speaker

connector for printer and tape drive

2 built in batteries


Usage Notes:

Holding C-CE while resetting, preserves basic programs. (simulated when starting mess)

(???which of these is correct???)

holding CE while hitting reset prevents the basic area from being overwritten


Error Codes (found at the inner side of the top):

(should be the same for several models)

1 Syntax error

2 Calculation error

3 Illegal function argument

4 Too large a line number

5 Next without for return without gosub

6 Memory overflow

7 Print using error

8 I/O device error

9 Other errors


History and Trivia:

The PC 1401 was a combination scientific calculator and computer with BASIC interpreter.
Featured an 8-bit Sharp CPU,  8+32K ROM, 4K RAM, and 16 5x7 character display. The PC 1402 
has the same features but includes 10K of RAM.


Other related models (not currently supported by MESS) include -



pc1251
basic computer
24 5x7 character display



pc1253
calculator
derived from the pc1251, reduced keyboard



pc1260

basic computer

16x2 5x7 character display

8 bit sharp CPU

6+32kb ROM, 4kb RAM


pc1261

pc1260 with 10kb RAM


pc1360

pc1350 with  ?? RAM


pc1403

derived from the pc1401

8+32+32kb ROM, 8 kb RAM

24 5x7 character display


pc1403h

pc1403 with 32 kb RAM


pc1421

derived from the pc1401


pc1430

prequel to pc1401


pc1450

pc1401 with some additional keys



pc1475

derived from the pc1450 with some pc1403 features 24x2 5x7 character display


$end

#---------------------------------------------------------------------------------------------#

$info=pc1403
$bio
Sharp Pocket Computer 1403


small scientific calculator and pocket computer

sequel of the pc1401 (better display, more RAM, better system software,...)

pc1403 has 8kbyte? RAM

pc1403h has 32kbyte RAM


Features:

24 digit (5x7 pixel) LCD display

Integrated speaker

Connector for printer and disk drive

No contrast adjustment


MESS Emulation State:

Look at pc1401

$end

#---------------------------------------------------------------------------------------------#

$info=pc1500
$bio
Sharp Pocket Computer 1500


Pocket computer

clone sold as trs80 pc-2
cost reduced redesign with more memory pc1500a


Features:

156x7 pixel LCD display

Integrated speaker

Integrated realtimeclock

Memory/cartridge slot

Expansion port for printer and tape drives

Battery slot

Connector for external power supply


MESS Emulation State:

Not working

Incomplete CPU core

lh5811 not emulated

Speaker not emulated

Realtime clock not emulated

Tape not emulated

Printer not emulated

work stopped until more info about
 - lh5811
 - CPU lh5801 power/interrupt management available


$end

#---------------------------------------------------------------------------------------------#

$info=pc1512
$bio
Amstrad PC1512


IBM XT compatible desktop with modified CGA Monitor

sold as Schneider PC1512 in Germany


Features:

Integrated 5 1/4 inch 360 kb disk drive

RTC with integrated setup RAM as in IBM AT

1 serial port connector

1 parallel port connector

Special mouse (keys wired to keyboard, movement counters on the motherboard)

Special connector for cpc compatible joysticks (digital)

Power supply in monitor

Color graphics adapter with 640x200 in 16 colors

Multi-language support in bios

Some models sold with second 5 1/4 inch disk drive

Some models sold with harddisk controller and 20mb harddisk


MESS Emulation State:

Basically the same as MESS ibmpc emulation

Special keyboard emulated

Special mouse emulated

Special joystick emulated

Unique dipswitches are emulated

Unique color graphics adapter mode emulated

CHARACTER ROM dump is missing, and so multinational character support

Work stopped until more information available or character ROM available


$end

#---------------------------------------------------------------------------------------------#

$info=pc1640
$bio
Amstrad PC1640


IBM XT compatible with modified EGA monitor

sold as Schneider PC1640 in Germany
sold as Amstrad PC6400 in USA


Features:

the same as PC1512, except the integrated graphics adapter
is EGA compatible and the monitor is an EGA one.


MESS Emulation State:

basically the same as PC1512
paradise ega emulation incomplete, will profit from generic ega/vga improvements


$end

#---------------------------------------------------------------------------------------------#

$info=pc200
$bio
Sinclair PC200 Professional Series


IBM XT compatible computer "under the keyboard"

Marketed also as Amstrad PC20

Features:

8086 with 8 mhz
socket for 8087 math coprocessor
512 kb RAM on board, sockets for additional 128kb
integrated cga/mda/hercules graphics adapter, 
connector for CGA and MDA/Hercules monitors and TV (hf modulated; PAL?)
integrated 102 key keyboard
2 ibm pc compatible expansion slots (half length)
multi language bios
3 1/2 inch 720 kb disk drive
 connector for external floppy disk drive
rs232 serial port
centronics printer port
standard analog joystick port, delivered with sinclair joystick 
proprietary pc1512 style mouse connector, delivered with sinclair 2 button mouse
rtc?
delivered with msdos, dr gem, organizer software


Notes:

Download the mouse driver at http://www.users.zetnet.co.uk/johnhayward/pc200/software.htm


MESS Emulation State:

Basically the same as MESS ibmpc emulation

Character ROM dump missing

Rough emulation of special graphics adapter

Work stopped until more info or system software available


$end

#---------------------------------------------------------------------------------------------#

$info=pc8801
$bio
NEC PC-8801 series


Early Z80 based computer commonly used in Japan


Features:

Main Z80 CPU 4MHz(some models has 8MHz version)

Sub Z80 CPU 4MHz(for 5'floppy disk drive)

64KB RAM

48KB Video RAM

640x200 8colors or B/W graphics

640x400 B/W graphics(required "high-resolution" display(VSYNC 24KHz))

80x25 text(alphabet or Kata-kana only, can overlay on graphics)

YM-2203 or YM-2608 FM sound(some models or optional)

extended RAM(various size, some models or optional)

5'2D or 5'2HD or 8'2D floppy disk drives(some models or optional)

96KB BASIC ROM

Kanji ROM(some models or optional)

Kana-Kanji dictionary ROM(some models)

RS-232C

CD-ROM(some models)

Printer port


MESS emulation state:

CPU

text or graphics

YM-2203 sound(YM-2608 not yet)

Extended RAM

5'2D disk drives

Kanji ROM

Note: Currently, each model is separated which use "High-resolution" display
and "Low-resolution" display. Because I don't know how to change display 
resolution and HSYNC frequency dynamically (when machine is running).


ROM:

BIOS images has same format as one of images for M88 emulator, but
"disk.rom" is only used first 2K bytes, that is, you must truncate
last 6KB of "disk.rom". M88 emulator and BIOS tools can be downloaded
from this:

http://www.remus.dti.ne.jp/~cisc/m88/

Currently PC-8801mkIISR ROM is only tested.


Disk Emulation:

The D88 format disk image is supported now, but multiple disks image
files are not supported, That is, disk in image file must be only
one. The D88 disk image format is supported by more PC-8801
emulators. Tools for D88 format can be downloaded from these:

http://www1.plala.or.jp/aoto/index.html

http://www.remus.dti.ne.jp/~cisc/m88/

http://member.nifty.ne.jp/arearea/M882.html


TODO:

Integrate "high-resolution" and "low-resolution" mode

optimization of CPU switching

more accurate speed(memory wait and DMAC overhead)

YM-2608 sound

Joystick and mouse

5'2HD or 8'2D floppy disk drives

Font substitution

Kana-Kanji dictionary ROM

test ROMs of other models

multiple disks image support

source clean-up

printer

RS-232C

CD-ROM

more good English documentation

$end

#---------------------------------------------------------------------------------------------#

$info=pc88srl
$bio
NEC PC-8801 (1985)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=pcd85
$bio
Tesla PMD-85 (1985)


Home computer for TV connection in Czechoslovakia.


Features:

8080 compatible CPU

288x256 dots resolution

(version 1 and 2 mono)

(version 3 with 4 colors)

Integrated beeper or beep generation for TV

Centronics port?

Something like user port?


$end

#---------------------------------------------------------------------------------------------#

$info=pce
$bio
NEC PC Engine/TurboGrafx-16 (1987)


The PC Engine (called TurboGrafx - 16 in the US)  was the first 16-Bit graphics home entertainment 
system to be released. The PC Engine was created by NEC of Japan. Supporting over 1000 software 
titles with such popular titles as Bonk's Adventure, Bomberman, Dracula X and Ys IV . The PC Engine
was embraced by millions of Japanese gamers, and because of this, the system will be remembered as
the starting of a legacy. This system was the first of it's kind to use credit card size game cartridges
and later supported CD-ROMs and portable models with built in TV tuners.


Features:

Custom 8bit CPU: HuC6280 (7.16MHz)  (1.5 Million Instructions Per Second [MIPS])

Video Processor: HuC6270 - 16 bit

Color Processor: HuC6260

Resolution: 256 x 216

Sound Processor: 8 bit PCM stereo / 6-channel stereo

Ram: 8 Kbyte (64Kbit)

Video Ram: 64Kbyte (512 Kbit)

Cart Size: 256Kbit - 20 Megabit Max. (S.F. 2) Normally 8 Mbits

colors Pallet: 512 - (256 for sprites, 256 for the background.)

Max # of sprites: 64

Sprite Size: 16 x 16 , 32x64


Links:

Universo PCENGINE - upce.netfirms.com/index.html

Turbo Station 16 - pcenginefx.com/TS/


MESS Emulation State:

Preliminary...  Xevious and Raiden8x work OK.

$end

#---------------------------------------------------------------------------------------------#

$info=pcw16
$bio
Amstrad PCW16


This is a successor to the PCW 8xxx and PCW9xxx series.

It is a re-designed machine, with a 16Mhz Z80 CPU, improved graphics and improved hardware, 
and a nice GUI system.

This system takes advantage of a Super I/O chip, as used in many PCs, which provides PC 
Floppy Disc Controller, Serial and Parallel port hardware. As a result, the system uses 
a PC-AT keyboard and PC Serial Mouse.

The PCW16 has a high-density floppy disc drive which uses the MSDOS filesystem.

The OS comes on a rescue disc and is installed into 2MB flash-file memory. This is also used 
for storing documents, files and user details. The main purpose of this machine, like the original is 
wordprocessing, spreadsheet and other business tasks.

Other programs have been written for it, including a CP/M "shell" by John Elliot 
(www.seasip.demon.co.uk), a route-planner and more. You can run these by selecting 
"Run External Program" from the "Tasks" menu.

This system contains the "Anne" ASIC custom chip designed by Amstrad. Technical 
information is still available and the rescue disc can be downloaded from Cliff Lawsons 
Amstrad computer support site at: http://web.ukonline.co.uk/cliff.lawson/ (the disc is 
listed in the files section). Cliff works at Amstrad plc, and has worked on the many 
projects from the Amstrad CPC to the latest e-mail phone.

MESS Emulation State:

All major functions are working and the computer is useable, however there
are some accuracy problems.


a. SCREEN DISPLAY


The screen emulation does not support mid-frame or mid-line changes.
I don't think any programs do this yet?


b. PRINTER


Not working. The printer emulation assumes a ECP/EPP compatible parallel port
which is not yet emulated. Therefore you cannot print out documents :(

c. HARD DRIVE


Not emulated. Has anyone used a hard-drive on their PCW16? Please let me know
and I will add support for it.

d. ANALOGUE JOYSTICKS

Not emulated. Are there any programs that use the joysticks?


Notes:


To use the PCW16 you will need the OS rescue disc, when this has been inserted,
and the on/off switch has been toggled (see UI for the dipswitch to do this),
then the OS will be installed.
When the OS is installed the computer is now useable and you can write documents
and perform tasks.

The emulation will run the CP/M implementation by John Elliot. It should run
almost all software provided it is in a disc image.

Development has been halted because this computer is in a working state.
I plan to go back to it to fix the remaining problems at a later date when I
have more time and more information.

If you want to see more added to this driver, please contact me and I will
try and fix it.

$end

#---------------------------------------------------------------------------------------------#

$info=pcw8256
$bio
Amstrad PCW8256/8512/9512/9512+/10


These machines were designed primarily for word processing (hence the name
"Personal Computer Word processor"), but are capable of a lot more.

The original PCW8256 system had a green screen monitor, with 2 3" disc
drives mounted vertically in it, a keyboard and a special printer. (The CPU and other 
hardware was also contained in the base of the monitor)

Later models changed the case design, but also allowed the use of any printer that 
was available. (The original 8256 had a proprietary printer and interface).

The hardware is simple, a Z80 running at 4Mhz, slowed to 3.3 with wait states, an Amstrad 
ASIC custom chip for driving the display (2 colours, 720x256 in PAL, 720x200 in NTSC), a 
beep for sound, and a NEC765 floppy disc controller.

The boot-program is contained on the printer chip, and is enabled at power-on or reset. 
The data is passed through a Amstrad custom ASIC chip, and is executed by the Z80. The 
program is simple, and just loads track 0, side 0,sector &01 to &f000 where it is then 
executed at &f010. (The first 16 bytes appear to contain some format parameters which 
are used to initialize CPM). I don't own a PCW machine so I don't know the exact display 
that the PCW shows on boot-up.

AFAIK, no dumps are available for this program. The MESS driver uses a program coded by 
myself. This program waits for a key to be pressed and then starts the boot procedure. If 
an error occurs, the screen will flash 6 times, and then it will repeat the procedure. If 
all is well, you will see some lines appear on the screen, and the boot will continue.

The original computer came with CP/M and Locoscript (a special word processor).

Since it was able to use CP/M there was a lot of public domain and CP/M programs available 
that would run on it.

A few games were written for it, two of these are "Head Over Heels" and "Hitchhikers Guide 
to the Galaxy".

THIS SYSTEM REQUIRES A BOOT DISK TO RUN!

$end

#---------------------------------------------------------------------------------------------#

$info=pdp1
$bio
DEC PDP-1


Currently supports three images: Spacewar! (first computer-based video game),
Munching Squares (minimalistic yet beautiful graphic demo) and LISP (programming
language). I have OCR'ed and assembled the source code of DDT (debugger), but I
am still looking for bugs in this program. No other images are known at the
time of writing: I know there were a text editor (Expensive Typewriter), an
assembler/linker (MACRO), and even a multi-user, multi-tasking operating system
(MIT PDP-1 Timesharing System), but I have no idea where a copy of these
programs could be found (except for macro1, which is should be OCR'ed soon).


This driver emulates a complete pdp-1 system, including:

* operator control panel

* perforated tape reader and punch

* typewriter for keyboard input and printer output

* optional type 30 precision CRT display

* optional type 15 memory expansion control, with 64kwords of RAM (16 type 12 memory modules)

* optional type 10 automatic multiply and divide


The internals of the sequence break (i.e. interrupt) system are implemented,
but no device has been set up to trigger an interrupt.


Usage Notes:


PDP-1 currently supports a perforated tape reader (punchtape unit #1), a perforated tape punch
(punchtape unit #2), and a typewriter (printer unit #1).

The simplest way to load and run software is to insert a read-in mode tape (.rim files) in
the perforated tape reader and press the read-in switch once (press simultaneously the Control
Panel key (Left Control) and the Read In key (main keypad Return)).

Three dip switches (RAM size, Hardware multiply and Hardware divide) enable or disable computer
extensions. These switches are only read at reset. Therefore, if you edit them, you must reset
the emulator (press F3 in partial keyboard emulation mode) for the changes to be taken into
account.

The "RAM size" switch installs and removes type 15 memory expansion control:
it is disabled when set on 4kw, enabled with 15-bit addresses when set on
32kw, and enabled with 16-bit addresses when set on 64kw. All known programs
work well whether memory expansion control is installed or not. Only LISP can
take advantage of the extra RAM.

The "Hardware multiply" and "Hardware divide" switches enable or disable
the automatic multiply/divide extension. When they are enabled, two pdp-1
machine instructions (namely MUS and DIS) are replaced with two other,
incompatible, instructions (MUL and DIV, respectively). Therefore, programs
which use the former variant of these instructions require automatic
multiply/divide to be disabled, whereas programs which use the latter require
it to be enabled. In practice, Spacewar! requires automatic multiply and
divide to be DISABLED (i.e. both switches OFF), whereas LISP requires
automatic multiply and divide to be ENABLED (i.e. both switches ON).


For information on pdp-1 operation, you may have a look at:
<http://www.dbit.com/~greeng3/pdp1/pdp1.html>.


History and Trivia :


In 1957, Kenneth Olsen and Harlan Anderson founded a society called Digital Equipment
Corporation (DEC).


In 1960, they started selling the pdp-1. This was a very interesting computer for its time.


First of all it was cheap and fast for its time: about 100,000 dollars, and a theoretical maximum
of 0.1 MIPS. It included 4 kWords of RAM, expandable to 64 kWord (as word size is 18 bits,
this makes from 9 to 144 kBytes, which is HUGE for this time): this is an important detail, since,
at this time, cheap computers (e.g. IBM 650) often had no RAM, and used a magnetic drum instead,
which implied extremely long memory access times.


What made it even more interesting was that it was designed to be operated interactively.
It featured an on-line typewriter (i.e. keyboard and printer), and a CRT (which was seldom used
as a computer device at this time). You could even buy an optional light-pen (this device was
the closest equivalent to today's mouse). Along with its simplicity, this made the pdp-1 quite
user-friendly for its time.


The pdp-1 may be regarded as one of the first personal computers, since one person was quite
enough to run and operate it (although, needless to say, its price was not the kind of price
you would expect from a personal computer today).


The pdp-1 attracted the attention of various hackers in MIT. This resulted into the creation
of Spacewar!, which was the first computer-based videogame, but this is another story.


The pdp-1 was a reasonably successful machine: 49 units were sold, which was not as bad as it
sounds for this time. DEC intended to sell variants of pdp-1 with a bigger word size
(pdp-3 with 36-bit words, and possibly other variants (pdp-2???) with 24-bit or 30-bit words),
but it eventually did not. However, it later replaced pdp-1 with other models, including the first
minicomputer (the pdp-8 in 1965), and, by the early 1970's, it had become a major computer
manufacturer, second only to IBM.

$end

#---------------------------------------------------------------------------------------------#

$info=pet
$bio
Commodore PET series


Usage:

LOADING A DIRECTORY OF AVAILABLE FILES:

LOAD"$"[,<devicenumber>]

i.e. to see what is on a disk (device number=8) type:

LOAD"$",8

to see what is on a tape type (default):

LOAD"$"

LOADING FILES:

To load a file into memory from an external device:

LOAD"<filename>"[,<devicenumber>]

Disk Usage:

Since the diskdrive is device number 8:

LOAD"<filename>",8

e.g.

LOAD"PACMAN",8

Tape Usage:

Since the tape drive is the default device:

LOAD"<filename>"

e.g.

LOAD"PACMAN"

To run the file currently in memory type:

RUN


MESS Emulation State:

I can't get programs to load from disk

Writing and executing programs in memory seems to work
 
There is white text that pops up to give status information on the bottom few lines that eventually block your view of the cursor and text entry


History and Trivia:

The name PET, besides being a marketing ploy to imply a user-friendly machine, is an acronym 
for "Personal Electronic Translator".


The Commodore PET 2001 was a great success. Three models were made : the PET 2001-8N with 8 KB 
RAM, PET 2001-16N with 16 KB RAM and the PET 2001-32N. They were conceived by Chuck Peddle who 
later founded Tandon.


The CBM PET 3032 was the successor of the PET 2001-32N (and has the same characteristics as the 
PET 2001-32N), and the predecessor of the CBM 40000 Series.


The disk drives were "Intelligent", which means that they were CPU driven (MOS 6502) and had 
internal RAM (4 KB) & ROM (16KB, which contains the DOS). The 4032 and the 4016 (the version 
of the CBM 4000 with 16 KB of RAM) were sold with a 80 column dot matrix printer (5x8 
character matrix). This printer (4022) was an Epson printer with the Commodore name on it.


The Commodore 8000 series was a "bundle". It was made up of the computer (most often the CBM 
8032, though other models were made), the 5.25" double disk drive CBM 8050 (500 KB, 77 tracks) 
and the bi-directional 132 columns, 160 CPS printer. The 8050 has two 6502's, 4 KB of RAM and 
12 KB of ROM (which contains the DOS). It was sold with Ozz - a Database, and a version of the 
spreadsheet "Visicalc".


Links:

PDF's of manuals:
http://www.commodore.ca/manuals/default.htm
http://www.commodore.ca


$end

#---------------------------------------------------------------------------------------------#

$info=pmd851
$bio
PMD-85.1


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=pong
$bio
Pong Games


first done in discrete logic
later pong in a chip by several firms (Atari, GE, ...)
late pongs probably signetnics 2650/2636 system in Germany


ay-3-8500-7 6(7) games in this chip
 pelota
 squash
 fussball
 tennis
 schiessen-1
 schiessen-2
 undocumented (when all switches are off)
nothing known about its internal design

ay-3-8610
 Zielschiessen
 Tennis
 Hockey
 Squash
 Squash-Training
 Schiess-Training
 Gridball
 Fussball
 Basketball
 Basketball-Training
nothing known about its internal design

ay-3-8765
 artisten rennen
 gelaende fahren
 motorrad rennen
 geschicklichkeitsspringen
nothing known about its internal design


universum multispiel 2006: ay-3-8500-7, the six official selectable

shg black point (type fs 1003)
 cartridge with ay-3-8610 (fs 1201)
 cartridge with ay-3-8765 (fs 1215)

$end

#---------------------------------------------------------------------------------------------#

$info=prav8d
$bio
Pravetz 8D


The emulation is the same as the Oric Atmos. (I don't know if there are any hardware
differences compared to an original Oric Atmos, if there are please tell me and I will
implement them).


Disk:

The disk drive interface has a boot-ROM which loads the DOS from the disc
in the drive. 

The driver supports 2 versions of the disc interface:

- "low dos 8d" has a 256 byte boot ROM and supports DOS v1.0 to v1.30 ("Apple 2" on dipswitch)

- "high dos 8d" has a 512 byte boot ROM and supports DOS v2.10 and higher. ("Apple 2 v2" on dipswitch)

If you are using the standard prav8d driver you will need to type:

CALL #320

to start the boot procedure.

If you are using prav8dd (with the "BOBY" ROM), then the disc is booted
automatically.

The Pravetz 8D uses Apple 2 compatible disk drives only and these
are supported by the driver. 

Here is a brief listing of DOS commands provided by George:


Options:

f - FileName (1-30 signs)

d - drive (one or two)

v - volume

a - beginning address

e - end address

l - record length

r - record number

b - number of byte in the record


Filetypes:
B - Basic program

C - Bynary file

T - Text file

M - Text file, created with Make command ( batch file:) )

Commands:

DIR [1] [2] - not comment

INIT [,Vv] [,Dd] - formatting Disk (in first or second Disk Drive)

DOS [f] [,Dd], [,Vv] - writing Dos on the disk without formatting It. File f automatically starts after booting

MAP [1] [2] - show chart of the disk.

SAVE f [,A,a] [,Ee] [,Vv] [,Dd] - Saves file on the disk. If missing parameter of the addresses A,E - 
saving Basic file in Memory

LOAD f [,Aa] [,Dd] [,Vv] - loads file in memory

MERGE - adding program in Basic to already exists in Memory
- -only for files B or C types. Loads file in Memory and start It. (RUN and BRUN together in Apple ][)

DELETE f [,Dd] [,Vv] - deleting file f

RENAME f1, f2 [,Vv] [,Dd] - renaming last name of the file f1 with f2
* f [,Dd] [,Vv] - lock/unlock file

MAXFILES m - allowing up to m open files
VERIFY f [,Dd] [,Vv] - checks surface integrity of file
EXIT - leaving Dos

OPEN f [,Vv] [,Dd] - open file for read/write
CLOSE [f] - closing f. If there's no f pointed - closes all open files
READ f [,Bb] - points that will be reading of the file with command INPUT
WRITE f [,Bb] - writes in Text file
APPEND f [,Vv] [,Dd] - adding information in Text file. Always there's WRITE after It
POSITION f [,Rr] - allow writing or reading in Text file from r position
in Program mode using of the commands is:

10LPRINT CHR$(2); "MAXFILES 5"

e.g.

To load a program called "MONITOR" type:

LOAD MONITOR

often you will see a load address (it is the first number with # prefix).
Now type CALL #<number> to execute the program.


History and Trivia:

The Pravetz 8D is a Bulgarian clone of the Oric Atmos.
It was produced between 1985 and 1989: Pravetz is both the name of the firm and the name of
the city where the firm is located. The "D" in the name stands for "Domashen" ('home' in
Bulgarian) while the "8" stands for (you've never guess!) '8 bits'.


There was a whole family of Pravetz computer which included the following models:

Pravetz 82, 8M, 8A, 8E, 8C, 8D (8 bits)

Pravetz 16, 16A, 286 (16 bits, PC clones)


Most of 8 bits machines were Apple II compatibles, "8D" being the exception. The "8D" model was
issued in 1985 and cost 420 lev - if you think that the average salary by that time was about
180-200 lev, you can see that it was pretty expensive.

The "82" model was the trade name of a machine called "IMKO-2" and was released in 1981. The "IMKO-2"
was the upgraded version of the "IMKO", designed in 1979 and used for robot control.

The main differences from the Oric Atmos were obviously the keyboard and the floppy interface.

The Pravetz 8D can display both Cyrillic and Latin alphabets - the one currently in use is selected
by the key labelled "C/L" which takes place of the "FUNCT" key present on the Atmos. Other features
of the keyboard are the "ESC" and "CTRL" keys, labeled respectively "OSV" and "MK".

During Pravetz' glory days none of Oric's disk interfaces were imported in Bulgaria, thus the magazine
"Computer for you" organized a competition to develop a disk interface which was compatible with
the most widespread disk drive currently used, namely the Apple II's disk drive.
The competition was won in 1989 by Borislav "Boby" Zahariev, student at MEI University of Sofia.
The first version of the disk interface used top 16Kb of RAM to store the DOS, which prevented
users from loading larger programs. Later Boris developed an upgrade of his interface which
used in conjunction with a new version of the DOS allowed programs to use the whole memory. He provided
also a new version of BIOS which detected the presence of the interface and automatically booted
the DOS from the disk.


Thanks to:

Joro Dramchev, Ventzislav Alexandrov and Todor Arnaudov for Pravetz information, Fabrice Frances for Oric information.


$end
#---------------------------------------------------------------------------------------------#

$info=psx
$bio
Sony PlayStation


MESS Emulation State:



$end

#---------------------------------------------------------------------------------------------#

$info=raaspec
$bio
RA+A Spectrum I+


Usage:

For the 8-button key mappings, see the user menu under "Keys (This Machine)".

This driver supports the LED backdrop images:

spec_bt.png

led.png


History and Trivia:

The Spectrum I+ was a modified Vectrex. It had a 32K ROM cart and 2K additional battery 
backed RAM (0x8000 - 0x87ff). PB6 was used to signal inserted coins to the VIA. The 
unit was controlled by 8 buttons (2x4 buttons of controller 1 and 2).  Each button had a 
LED which were mapped to 0xa000.  The service mode can be accessed by pressing button 8 
during startup.  As soon as all LEDs light up, press 2 and 3 without releasing 8. Then 
release 8 and after that 2 and 3. You can leave the screen where you enter ads by 
pressing 8 several times.


$end

#---------------------------------------------------------------------------------------------#

$info=saturn
$bio
Sega Saturn (1994)


In 1994 Sega launched its new 32-bit console, just a few weeks ahead of its rival Sony PlayStation.
The PlayStation was much easier to develop for and quickly overtook the Saturn in sales.  While 
the Saturn was much more successful in Japan than it was in the US or Europe the lack of good 
software and strong competition from the PlayStation doomed the Sega Saturn to a fate similar 
to that of the Master System.  The CDROM based system did have some great arcade conversions such
as House of The Dead and Virtua Fighter 3.  Despite being the first consoles with Internet 
capabilities (via the NetLink adapter), Sega was relatively quiet after the slow demise of the 
Saturn.  Sega turns its focus to the 128-bit Dreamcast a few years later.


Features:

CPU: Two Hitachi SH2 7604 32 Bit RISC chips at ~27 MHz (36 MIPS)

Sound CPU: Motorola 68EC000 at 11.3 MHz

Sound: 32 Channels, with 16 bit sampling at a sampling rate of 44.1 KHz max.

Resolution: 704 x 512 (horz) 60.00 Hz 

Colors: 32768 (static)

Main Memory: 1 Megabyte of SDRAM and 1 Megabyte of DRAM

Internal Memory Card 

Video Hardware: Two VDP (video display processors) chip sets (VRAM: 512Kb each)

-VDP1 Draw Sprites, lines, warped sprites (quads)

-VDP2 controls background graphics.


CDROM: Max 2x speed - custom interface controlled by Hitachi SH1 processor. (512 Kb Buffer RAM)


MESS Emulation State:

See source code for more information.

Bios starts requesting pad data so maybe we are now in the time set area ????
Need to emulate pad system, add more interrupts and get some grafix working so we can see exactly 
where we are at this current time.  Currently locks up waiting on (i guess) a response from the 68k
CPU. Probably need to emulate this shortly.

$end

#---------------------------------------------------------------------------------------------#

$info=sfzch
$bio
Capcom CPS Changer (1995)


History and Trivia:

Perhaps inspired by SNK's Neo-Geo, Capcom released the Capcom Power System Changer (CPS in 
this case NOT referring to Capcom Play System) in 1994, as an attempt to sell their arcade 
games in console format.  The console basically served as an encased SuperGun (Television 
JAMMA adapter) but was wired up so coin inputs could not be added by hackers, and only the
special CPS Changer cartridge boards would work. The CPS Changer had outputs for Composite
video, S-Video and 8 channel mono audio. It's joystick (named the "CPS Fighter") had the
same connection as the Super Famicom, and was even marketed separately for that console.


The games came as PCBs in plastic casing, and were virtually identical to their CPS-1 arcade
counterparts, though they often contained extra debugging features.  The CPS Changer was
sold as a package deal of the console itself, one CPS Fighter controller, and the Street
Fighter II Turbo game for 39,800 yen. Additional games were sold for about 20,000 yen.


The CPS Changer sold poorly though, and support was dropped in March 1996 after releasing 
the console's only unique (as in non-CPS1) title: Street Fighter Zero, for 35,000 yen.
Street Fighter Zero was a downscaled version of the CPS2 arcade version from the year prior.
It ran somewhat choppier, had a reduced colour depth, and the sounds were at a lower sample
rate.


Ten other games were released for the CPS Changer, though none have been dumped at present
(to the best of my knowledge). If/when these are dumped, support will be added for them: 
Captain Commando (1995)

Final Fight  (1994)

The King of Dragons (1995)

Knights of the Round (1995)

Muscle Bomber:The Body Explosion (1994)

Muscle Bomber Duo: Burn Up Warriors (1995)

Quiz Capcom World 2 (1994)

Street Fighter II' Champion Edition (1994)

Street Fighter II Turbo (1994, Pack-in)

Street Fighter Zero (19??)

Tenchi O Kurau II (1995)


$end

#---------------------------------------------------------------------------------------------#

$info=sms
$bio
Sega Master System (1986)


The Master System (called Mark III in Japan) was Sega's first console to be released in
North America. It was in direct competition with the 8-bit NES. The Master System was
especially popular in Europe and South America. SMS featured many popular original 
games and arcade conversions like Phantasy Star, R-Type, Sonic the Hedgehog, Shinobi. 
Many SMS games turned into franchise games for Sega and appear on later consoles. 
SMS supported both game cartridges (128-512K) and smaller cards (<32K), as well as 
many other accessories like Light Phaser, Sports Pad, Rapid Fire Unit and 3-D Glasses.



Features:

CPU: 3.6 MHz, 8-bit Z80 processor

RAM: 8K

Video RAM: 16K

Custom video controller (VDP) derived from the TI chip TMS9918/9928

Resolution: 256x192 tile-based screen in 16 colors

Sprites: 64 at 8x8, 8x16 or 16x16

Color Pallette: 64; 32 max on screen (16 for sprites, 16 for background)

Scrolling: Hardware up/down/left/right - all or part of screen.

Sound chip: Generic SN76489 sound chip (PSG) made by Texas Instruments

Sound output: 3 square-wave sound and white noise/periodic noise channel

Music: Yamaha YM2413 FM sound chip


MESS Emulation State:

This driver runs just about everything!


To do (see source):

TMS9928A support for 'f16ffight.sms'

SMS lightgun support

SMS Pause key - certainly there's an effective way to handle this

SMS 3D glass support


$end

#---------------------------------------------------------------------------------------------#

$info=snes
$bio
Super Nintendo Entertainment System (1989)


Nintendo released the cartridge based 16-bit Super Nintendo to compete with the already released 
Sega Genesis and NEC's TurboGraphix 16 (PCEngine in Japan). The Super Nintendo features true 
stereo sound, multiple scrolling backgrounds and increased internal memory. It was a very popular
system because people could play continuations of their favorite NES game. The Legend of Zelda: 
A Link To The Past, The Donkey Kong Country Series, The Final Fantasy Series and Super Mario Kart
were a few of the top titles for the SNES. In 1997 Nintendo redesigned the case, but never 
included a CD-ROM expansion.


Features:

CPU: Custom 16-bit - 65C816 at 3.58 MHz (Machine adjustable to 3.58, 2.68, and 1.79 Mhz)

Co-processor: None (DSP and SuperFX were inside the cartridge of selected games )

RAM: (?)

Video RAM: (?)

Color Palette: 32,768; 256 max on screen

Maximum Screen Resolution: 512 x 448 pixels

Max # of sprites: 128, 32 per scanline

Max and Min Sprite Size: 64 x 64 pixels; 8 x 8 pixels

Scrolling: Horizontal, Vertical, Diagonal

Sound channels: 8 ADPCM with 64 Kb Ram

Sound Processor: Sony SPC700 ("wavetable-like" music, near 16-bit sound quality playback(CD) & Q-Sound surround sound.)

Cart Size: 4Mbit - 128 Megabit Max. (Tengay Maikio at 70+ Megabits is the largest game)

Controller: 8-way direction pad with Select, Start, A, B, X, Y and 2 Flipper buttons labeled R and L



MESS Emulation State:

This driver is preliminary and most images will not work. Super Mario World (US version) is playable.


To do (see source):

Emulate extra chips - superfx, dsp2, sa-1 etc.

Add sound emulation. Currently the SPC700 is emulated, but that's it.

Add horizontal mosaic, hi-res. interlaced etc to video emulation.

Add support for fullgraphic mode(partially done).

Fix support for Mode 7. (In Progress)

Handle interleaved ROMs (maybe even multi-part ROMs, but how?)

Add support for running at 3.58Mhz at the appropriate time.

I'm sure there's lots more ...


$end

#---------------------------------------------------------------------------------------------#

$info=sordm5
$bio
Sord M5


This computer used cartridges. You can insert game cartridges, or if you want
to use basic, you can insert one of 3 basic cartridges:
"BASIC-I" a integer based basic, "BASIC-G" a basic for graphics, "BASIC-F" a basic
for floating point operations.


Cartridges:

The Sord must have a cartridge to start up.
- some cartridges may not work


Cassette:

The cassette emulation uses .WAV sample files.


Saving:

save"cmt:<filename>" where <filename> is the name of the file. 


Loading:

old"cmt:" will load the next file on the cassette.
chan"cmt:" and run"cmt:" can also be used to load and run the next file on the cassette.


History and Trivia:

The Sord M5 is similar in design to the MSX but not compatible with it.
(It has the same CPU (Z80), a Z80 CTC timer chip and the same video chip, but 
a different sound chip and the I/O port assignments are not the same).

In fact some MSX games have been converted to the Sord by enthusiasts.


MESS Emulation State:

- no memory expansion supported

- loading from cassette does not work

$end

#---------------------------------------------------------------------------------------------#

$info=spec128
$bio
ZX Spectrum 128


Usage Notes:

A HTML version of the Spectrum 128 manual (converted by Damien Burke, with the approval of 
the copyright holder Amstrad) is available at:

http://www.jetman.dircon.co.uk/speccy/128manua/index.html


$end

#---------------------------------------------------------------------------------------------#

$info=specpls4
$bio
Amstrad Spectrum +4 Rom


The plus4.rom is copyright (c)1982-2000 Amstrad plc
and is distributed with their kind permission.

I would like to thank Cliff Lawson and Amstrad for making this
project possible, Phillip Kendall for the Spectrum ROM page, Ian
Collier for documenting the changes he made to the ROM and giving me
additional advice, Dr Ian Logan and Dr Frank O'Hara for the invaluable
Complete Spectrum ROM Disassembly, and whoever it was that sold the
book to me and contributors to comp.sys.sinclair for keeping me
constantly amused and informed.

-Andrew Owen, 24-2-2000


Introducing the Spectrum +4.

Remember when Apple promised its customers a whole new computer for
$99. What they meant was they hoped their new operating system would
change the experience of their users so profoundly it would make them
feel as if they had a new machine. Well now you can have a whole new
Spectrum for FREE!


What is the idea behind this?

I've taken the original 48K machine as my starting point and tweaked
it until the point where I don't think there is any further room for
improvement without adding extra hardware. Now if someone wants to
build a new machine at least they have a place to start.


How compatible is it?

The Spectrum +4 ROM is very similar to the one in the 48 and so it
should be 90% compatible or better with machine code. BASIC programs
may require minor modifications but should then run without problems.


What are the changes?

There are so many changes that it is impossible to summarize them all.
Only the important changes have been detailed with the exception of
the new NMI routine which is self explanatory.


THE KEYBOARD

The keyboard layout has been completely redesigned, based on the
standard international English keyboard, to make it quicker to use and
easier to remember which keys are where. This is made possible by
replacing the keyword entry system.


All the SHIFT functions on the number keys are retained, as are the
EXTEND and SHIFT-EXTEND attribute functions. But that is where the
similarity to the old keyboard ends.


All but a few symbols are accessed by holding down SYMBOL shift and
the relevant key, while the remainder are accessed using EXTEND mode.
Pressing either SHIFT or SYMBOL shift in EXTEND mode will give the
same result as if SYMBOL shift alone had been pressed. In addition to
the characters shown below, the 16 pre-defined graphics characters are
accessible using SYMBOL shift or EXTEND mode and keys Q-R and A-F.

 ---------------------------------------

| ! | @ | £ | $ | % | ^ | & | * | ( | ) |

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |

 ----------------------------------------

 |   |   |   |   |   |   | { | } | : | " |

 |   |   |   |   |   |   | [ | ] | ; | ' |

 | Q | W | E | R | T | Y | U | I | O | P |

  ---------------------------------------

   |   |   |   |   |   |   | | | _ | + |

   |   |   |   |   |(c)|   | \ | - | = |

   | A | S | D | F | G | H | J | K | L |

    -----------------------------------

     | ~ |   |   |   | ? | < | > |

     | # |   |   |   | / | , | . |

     | Z | X | C | V | B | N | M |

      ---------------------------

SYMBOL = Lower symbols

EXTEND = Upper symbols and attributes on number keys

SHIFT  = Upper case letters and functions on number keys


BASIC EDITOR

The most noticeable change is that all commands must be typed in full.
Instructions are converted into tokens automatically when you press
ENTER. It is also possible to use the cursors to move up and down
while editing a line. Instructions can be entered in both capital and
lower letters. No space is required between commands such as DEF FN or
after a command unless the argument begins with a letter.


BASIC COMMANDS

CAT, when entered without parameters, calls up the built-in monitor.

The PLOT, DRAW and CIRCLE commands have been modified to use the whole
screen.

ERASE "i" erases extra Interface 1 variables, extended channels and
such without affecting the BASIC program in memory.

The GO SUB, GO TO and CONTINUE commands have been replaced by GOSUB,
GOTO, and CONT, to replicate other BASIC interpreters.

MOVE can be used to shift data around in memory. For example, the
command MOVE "r0,6144","r16384" would copy the first 6144 bytes of ROM
to the screen area of memory.

The COPY command has been replaced by the FREE command which reports
the amount of free memory below RAMTOP.


THE MONITOR PROGRAM

The Spectrum +4 features a built-in monitor which can be accessed with
the CAT command or holding down SYMBOL shift, SPACE and B while
interrupts are enabled. The following commands are then available:

B             Return to BASIC (if possible)

D<hex_num>    Displays entered hex number in decimal notation

G<hex_addr>   Execute a subroutine at address G
              (RET will return to the monitor).

H<dec_num>    Displays entered decimal number in hex notation

M<hex_addr>   Hex and ASCII dump from given address
              (SPACE to exit).

R             View and/or change registers
              AF, BC, DE, HL, IX and SP.

S<hex_addr>   Patch memory from given address using hex editor
              (SPACE to exit editor).


BUG FIXES

Every effort has been made to fix all the bugs mentioned in The
Complete Spectrum Rom Disassembly and a few others besides as follows:

Fixed a bug the CLOSE # bug. eg CLOSE #4

Fixed the forwardspace (CHR$ 9) bug. e.g. PRINT "A";CHR$ 9;"B"

Fixed the backspace (CHR$ 8) bug. e.g. PRINT AT 0,0;CHR$ 8;"A"

Fixed the STR$ bug. e.g. PRINT "BUG"+STR$ 0.5

Fixed the division bug. e.g. IF 1/2<>0. 5 THEN PRINT "BUG"

Fixed the -65536 bug. e.g. PRINT INT -65536

Fixed the SCREEN$ bug. e.g. IF "X"=SCREEN$ (0,0) THEN PRINT "BUG"

Fixed the "scroll?" bug. Try pressing True Video at the request.

Fixed the syntax check error.

Fixed the double store bug at 257Dh.

Resolved the K-MODE bug. There is no 'K' mode.

Resolved printer buffer error. There is no COPY command.

Resolved the NMI bug. There is a different routine.

Fixed the 'lock up if interrupts are disabled on error report' bug


LEGAL NOTICE FOR THE CURIOUS

Just to make sure it was 100% okay to do this I wrote to Amstrad's
Cliff Lawson on 23/02/00. Here's what followed.

ME: I know it's okay in principle to distribute modified Spectrum
    ROMs as long as the copyright message is unchanged. However,
    I've just finished a very major overhaul of the ROM and would
    like to use an alternative message.

CL: Well you can't really associate a name such as "+4" with
    "Amstrad Consumer Electronics" because it makes it look as if
    it's an "official" development.

ME: Would this be acceptable?

      AMSTRAD CONSUMER ELECTRONICS PLC
       (C)1982-2000 unofficial +4 48K

CL: Yup, sounds OK but you do realize that the company was only
    called "Amstrad Consumer Electronics" for a few years in the
    early..mid 80's then the company name was shortened to
    "Amstrad plc" so it's a bit "out of date" to use it but I
    guess that probably describes the "Spectrum" too! :-)

ME: Mind if I quote you in the "readme" just so no one accuses me
    of violating copyrights?

CL: No problem.

 Visit the Amstrad website at http://www.amstrad.com

                   Amstrad plc. Registered in England No. 955321
Registered Office: Brentwood House, 169 Kings Road, Brentwood,
                   Essex CM14 4EF, England


$end

#---------------------------------------------------------------------------------------------#

$info=spectrum
$bio
Sinclair ZX Spectrum (and clones)


Usage Notes (TK90X/TK95):

TK90X/TK95 add two commands to the Sinclair BASIC: TRACE 1/0 (E cursor, Symbol Shift+P) 
turns on/off the display of the line currently executed. UDG 0/1/2 (K/L/C cursor, 
Symbol Shift+X) controls the behavior of the (guess what?) UDGs: when the parameter is 0/1 
they restore their shape to accented letters used in the Portuguese language (still haven't 
discovered the difference between 0 and 1) while the UDG 2 command activate the built-in 
character editor: you can use the keys 5,6,7,8 +CAPS or Symbol Shift to plot/move the 
cursor, the A-U keys to select the UDG to edit or copy (with the shift keys), INVERSE 
VIDEO key to reverse the character. Maybe there are yet more command-keys, but I haven't 
discovered them yet. Curiously, the BEEP command has been renamed to SOUND: who knows why... 
[JoJo Priore]


Known Issues:

Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by 
default.  Whilst in full keyboard emulation mode, some key associated functionality may be 
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the 
scroll_lock key.   

$end

#---------------------------------------------------------------------------------------------#

$info=srdm5fd5
$bio
Sord M5 with PI-5 parallel interface and FD-5 disc interface


This computer used cartridges. You can insert game cartridges, or if you want
to use basic, you can insert one of 3 basic cartridges:
"BASIC-I" a integer based basic, "BASIC-G" a basic for graphics, "BASIC-F" a basic
for floating point operations.

To use the disc interface, use the floating point basic "BASIC-F". This has support
for the disc interface built-in.


This driver consists of:

- a Sord M5 computer

- a Sord FD-5 disc interface

- a Sord PI-5 parallel interface


The Sord M5 computer communicates with the FD-5 through the parallel interface.

The parallel interface has:
- a Intel 8255 parallel peripheral interface chip
Communication with the FD-5 is done using mode-2 operation. i.e. port A is
a bi-directional 8-bit port, port C upper is a control port.


The floppy disc interface:

- Z80

- 16k ROM

- RAM

- NEC765 compatible disc controller

- internally the disc interface uses interrupts to transfer data into it's own RAM.


The floppy disc drives are 3" and are believed to use 40 track, double density, double sided discs,
giving 360K per disc.

The M5 sends 3 character commands, with parameters to the disc interface using the following
command:

fx 0,<command>

<command> can be:

TDA

TRA

WBI

RBI

WTX

RTX

WBL

RBL

WMM

RMM

EXC

SDR

WDR

RDR

RDC

OPN

CLS

CHN

MAP

SAP

CAP

ATR

NAM

DEL

FMT	- Format disc

CPY

GEN

VPR

RVI

IDV

FNM

RDB

WDB

WHO

DOM

Known issues:
- See sordm5 description


$end

#---------------------------------------------------------------------------------------------#

$info=ssystem3
$bio
Super System III/MK III


early chess computer

sold in Germany as MK III


Features:

LCD display with 4 digits and several symbols

Integrated speaker

Connection for external power supply

Connection for printer

Connection for board display


MESS Emulation State:

Not working.

Low priority for me because it uses features not implemented in via6522 emulation (pin b6 timer counting!)


$end

#---------------------------------------------------------------------------------------------#

$info=studio2
$bio
RCA Studio II


early console for TV connection

sold from several firms under different names


Features:

Mono display of 64x128

Integrated speaker

Controls for 2 Player2

Cartridge port


Notes:

2 Keypads: Player 1 left, Player 2 right

Keypads have following Layout
 1 2 3
 4 5 6
 7 8 9
   0


The console has 5 Built in programs in ROM. Without a cartridge inserted, the screen stays black 
after turning on. Player 1 selects game.

1 Paint? not working now

2 Not sure what game 2 is; it's not working currently

3 Bowling, working

4 Rally, not working now

5 Math (calculate the sum of the 3 digits, and enter it), working


Emulators:

Paul Robson's stem for DOS at www.classicgaming.com/studio2


Mess Emulation State:

No support for st2 cartridges


$end

#---------------------------------------------------------------------------------------------#

$info=supergb
$bio
Nintendo Super Game Boy (1994)


The Super Game Boy is an adapter for the SNES that let you play Game Boy games on your TV. It 
also had some extended features like backgrounds around the game and primitive color, although
not all games take advantage of this. It possible for Super Game Boy games to make use of the 
SNES sound hardware for extra effects. Try compairing Astroids/Missle Commmand, Space invadors
or Donkey Kong to see some excellent use of the of enhancments. In 1994 the Super Game Boy sold
for under $60.

There was a Super Game Boy 2 released in 199?. It has the same features of the original Super 
Game Boy but adds a green game link LED, red power LED and a Game link port.


Features:

Supports 256 colors in static screens (i.e the title screen) and 12 colors in the normal game.


Links:

http://www.gamersgraveyard.com/repository/snes/peripherals/sgbfaq.txt


MESS Emulation State:

???

$end

#---------------------------------------------------------------------------------------------#

$info=svi318
$bio
Spectravideo SVI-318 (1983)


Features:


MESS Emulation State:

$end

#---------------------------------------------------------------------------------------------#

$info=svision
$bio
Watara Supervision


non-color handheld

sold from several firms under different names
Quickshot Supervision
Hartung SV-100
...

There are several designs, but all have the same functionality.
*(knickable screen)
*GB2000 (game boy style, no comm port)


Features:

160x160 in 4 greys LCD display

4? stereo voices (integrated mono speaker, port for stereo speaker)

Controls for 1 Player

Serial port

Cartridge port

Battery port

Connector for external power supply


Optional features:

TV adapter


Notes:

Cartridge must be in for operation
Pinout of cartridge is in mess/messroms/svision.txt


MESS Emulation State:

Very preliminary support

Preliminary sound support

No serial port

No TV adapter support

Work stopped until more cartridges are available


$end

#---------------------------------------------------------------------------------------------#

$info=sym1
$bio
Synertek SYM-1/SY-VIM1


very early computer


Features:

6 digit 7segment display

Connector for tty input/output

Tape interface


MESS Emulation State:

Display & keyboard working.

Work on it stopped. For me it is much to cryptic to operate and therefore not interesting
for me anymore.


$end

#---------------------------------------------------------------------------------------------#

$info=t1000hx
$bio
Tandy 1000HX


IBM PC Junior compatible


Features:

Basically the same features as ibmpcjr

setup memory

Integrated serial port

Integrated parallel port

Integrated game port with unique connectors (but software compatible with ibm joysticks)

Integrated 3 1/2 inch 720 kb disk drive

Connector for external disk drive

Support for msdos with multilanguage support in ROM


Keyboard notes:

The Tandy 1000 series computers have 12 function keys (analogous to modern PC keyboards) 
whose functions depend on the program you are running. 
Some function keys have special functions during boot up, if you press them right after the 
startup "beep", while MS-DOS loads:
* F1 = Switches the computer into monochrome video mode.
* F2 = Switches the computer into composite/TV video mode (40 Column/200 scanline mode). 
This can also be achieved by issuing a MODE command from DOS.
* F3 = Reverses the drive references so B: becomes the primary drive, 
and A: becomes the secondary drive, this lets you start the
computer from the B Drive.
* F4 = Starts the computer in slow (4 mhz) mode. 
This is useful if a program runs too fast or not at all in normal (8 mhz) mode.


Notes:

get the setup utility for msdos at tandy's web side to change setup


MESS Emulation State:

Basically the same as ibmpcjr

Special setup memory emulated

Work stopped until dump of character ROM available


$end

#---------------------------------------------------------------------------------------------#

$info=tmc600
$bio
Telmac TMC-600


History and Trivia:

Telmac TMC-600 is the only microcomputer ever designed and manufactured in Finland. Only 600 units were produced, hence the model name. The computer casing was available in both black and brown. The computer is believed to be designed by T.V. and H.P. Two versions were released, the new version allowing the connection of multiple peripherals simultaneously.

The TMC-700 expansion added support for Centronics printers albeit with a non-standard connector, an RF modulator for hooking up the computer to a TV set, and a real-time clock. 5.25" and 8" floppy disk drives were available via an external controller card. Other add-ons included memory expansions (both RAM and ROM), I/O and A/D cards, an RS-232C controller, a B/W 132-character display controller, and a parallel/serial slave computer. The TMC-600 was designed to be used also in industrial process control, so BASIC ROMs with user-customized keywords were sold.

The manufacturer, Telercas Oy, was the Finnish distributor of RCA semiconductors. Telercas Oy was merged with the Finnish electronics retailer Yleiselektroniikka Oy in the early 1990s. The original documentation and hardware have "disappeared" and cannot be located as of 2003. So, if anybody has access to schematics for any Telmac computers, please contact the author of the driver at trollvm@hotmail.com.


Features:

CPU: 8-bit CDP1802 3.58 MHz
Memory: 20-28 KB internal ROM operating system, 8 KB RAM
Sound: 8 octaves, white noise generator, internal speaker
Color: 8 colors, blink attribute
Resolution: 240 x 216 pixels (40 x 24 or 20 x 24 characters)

Connectors: Tape recorder (DIN), EURO expansion bus, composite video, Centronics printer, PAL TV


Known Issues:

- keyboard repeat delay varies, natural keyboard may help
- white noise is not emulated
- real-time clock is not emulated


Notes:

- press C at boot prompt to start the computer
- type HELP for a list of commands
- type SCREEN @4700 to see a picture


Links:

Pelikonepeijoonit - http://www.pelikonepeijoonit.net/cgi-bin/page.cgi?pkpcode=telmac


MESS Emulation State:

preliminary

$end

#---------------------------------------------------------------------------------------------#

$info=telstrat
$bio
Oric Telestrat


This system is a update to the Atmos.


Known Issues:

Disc emulation is not correct so it fails to boot! 


$end

#---------------------------------------------------------------------------------------------#

$info=ti74
$bio
Texas Instruments TI74 Basicalc


Pocket Computer

TI74S is a variant
TI95 Procalc seams to be related
Compact Computer CC40 seams to be related


Features:

31 5x7 character LCD display

32+4kb ROM

8 kb RAM

ram/rom memory expansion port

hexbus port

Place for 4 micro batteries


Peripherals:

Texas Instruments PC-324 thermo? printer

(how to dump the C70016 integrated ROM? (tms7000 family))

24 characters per line

hexbus port

place for 4 mignon batteries

port for power supply

$end

#---------------------------------------------------------------------------------------------#

$info=ti81
$bio
Texas Instruments TI-81 (1990)


The TI-81, TI's first graphing calculator, was designed for algebra and
precalculus. It has since been replaced by newer models which have faster
processors, more memory, and popular features such as linking capability and
flash upgradability. The TI-81 drew little in the way of third-party games and
other programs, since the code must be typed into the calculator by hand. 
(note taken from www.ticalc.org)


Features:

CPU: Z80 2 MHz

Memory: RAM 32kB(?), ROM 128kB

Screen: 96x64 pixels, 16x8 characters

Known ROM versions: 1.1, 1.8, 2.0


Emulator:

Texas Instruments TI-81 simulator (http://www.ti.com)


Links:

Texas Instruments Homepage - http://www.ti.com

ticalc.org - http://www.ticalc.org

TI-Files - http://www.ti-files.org


MESS Emulation State:

Driver for ROM versions:  1.8

Grayscale effects emulated

200Hz(?) timer and ON key interrupts emulated

There are bugs in port 3 emulation (ON/OFF)


Notes:

1. After start TI-81 waits for ON key interrupt, so press ON key to start
   calculator.

2. Video engine (with grayscale support) based on the idea found in VTI source
   emulator written by Rusty Wagner.


To do:

port 3 and 4

NVRAM

Better artworks

Drivers for other ROM versions

Needed:

1. Any hardware info.

2. High quality artwork.

3. Dumps of other ROM versions.


$end

#---------------------------------------------------------------------------------------------#

$info=ti85
$bio
Texas Instruments TI-85 (1992)


The TI-85 was designed as a powerful engineering and calculus calculator.
It was the first TI calculator to have a link port and assembly programming
capability (through an unintentional loophole). It has since been eclipsed by
the TI-86, which features TI-85 compatibility along with more advanced features.
(note taken from www.ticalc.org)


Features:

CPU: Z80 6 MHz

Memory: RAM 32kB, ROM 128kB

Screen: 128x64 pixels, 21x8 characters

Known ROM versions: 1.0, 2.0, 3.0A, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0

Link port


Emulator:

TI-85 Emulator by David Ellsworth and others (ftp://users.aol.com/davidells/TI-Calc/)

TI86EMU by Steve Gordon (http://www.dogtech.com/cybop/ti86)

TI-8X emulator by Randy Gluvna (http://ti8xemu.home.ml.org)

TIGraph by Rene Doss & Joerg Sander

Virtual TI by Rusty Wagner (http://vti.acz.org)


Links:

Texas Instruments Homepage - http://www.ti.com

ticalc.org - http://www.ticalc.org

TI-Files - http://www.ti-files.org


MESS Emulation State:

Drivers for ROM versions:  3.0A, 4.0, 5.0, 6.0, 8.0, 9.0, 10.0

Sound emulated (speaker connected to link port)

Link port emulated

Grayscale effects emulated

NVRAM emulated

200Hz timer and ON key interrupts emulated

Snapshot loading (Virtual TI 2.0 save state files)


Notes:

1. After start TI-85 waits for ON key interrupt, so press ON key to start
   calculator.

2. Video engine (with grayscale support) based on the idea found in VTI source
   emulator written by Rusty Wagner.

3. NVRAM is saved properly only when calculator is turned off during MESS
   exiting.

4. To receive data from TI press "R" immediately after TI starts to send data.

5. To send data to calculator start receiving on TI and choose file from
   Built-in File Manager.

6. To request screen dump from calculator press "S".


To do:

port 3 and 4

Better artworks

Drivers for ROM versions: 1.0, 2.0, 7.0


Needed:

1. Info about ports 3 (bit 2 seems to be always 0) and 4.

2. High quality artwork.

3. Dumps of ROM versions: 1.0, 2.0, 7.0


$end

#---------------------------------------------------------------------------------------------#

$info=ti86
$bio
Texas Instruments TI-86 (1997)


Just as the TI-83 succeeded the TI-82, the TI-86 followed up on the TI-85's
advanced functionality while adding a stylish new case, assembly support
similar to that of the TI-83, and greater memory capacity, while still
maintaining compatibility with TI-85 programs. 
(note taken from www.ticalc.org)


Features:

CPU: Z80 6 MHz

Memory: RAM 128kB, ROM 256kB

Screen: 128x64 pixels, 21x8 characters

Known ROM versions: 1.2, 1.3, 1.4, 1.5, 1.6

Link port


Emulator:

Emulator86 by Kirk Meyer

TI86EMU by Steve Gordon (http://www.dogtech.com/cybop/ti86)

TI-8X emulator by Randy Gluvna (http://ti8xemu.home.ml.org)

Virtual 86 by Daniel Foesch (http://www.geocities.com/Area51/Station/7142/?startpage=v86.html)

Virtual TI by Rusty Wagner (http://vti.acz.org)


Links:

Texas Instruments Homepage - http://www.ti.com

ticalc.org - http://www.ticalc.org

TI-Files - http://www.ti-files.org


MESS Emulation State:

Drivers for ROM versions: 1.3, 1.4, 1.5, 1.6

Driver for ti86grom (homebrew ROM by Daniel Foesch)

Sound emulated (speaker connected to link port)

Link port preliminary emulation

Grayscale effects emulated

NVRAM emulated

200Hz timer and ON key interrupts emulated

Snapshot loading (Virtual TI 2.0 save state files)


Notes:

1. After start TI-86 waits for ON key interrupt, so press ON key to start
   calculator.

2. Video engine (with grayscale support) based on the idea found in VTI source
   emulator written by Rusty Wagner.

3. NVRAM is saved properly only when calculator is turned off during MESS exiting.

4. To receive data from TI press "R" immediately after TI starts to send data.

5. To send data to calculator start receiving on TI and choose file from
   Built-in File Manager.

6. Homebrew ROM by Daniel Foesch does nothing but showing charset.


To do:

Many corrections of existing code

port 3 and 4

Better artworks

Driver for ROM version 1.2


Needed:

1. Info about ports 3 (bit 2 seems to be always 0) and 4.

2. High quality artwork.

3. Dumps of ROM version 1.2


$end

#---------------------------------------------------------------------------------------------#

#$info=ti99_2
#$bio
#Texas Instruments TI-99/2 BASIC Computer
#
#
#Known Issues:
#
#This TI99/2 driver is preliminary and could not be tested. (It may work,
#it may not work.) It is commented out in the source code distribution.
#
#
#History and Trivia:
#
#The TI99/2 BASIC Computer was an attempt at producing a cheap ($100)
#computer.  TI started designing it in the summer of 1982, it was first
#introduced in January 1983, and it was abandoned, before entering
#production, by April 1983.
#
#It featured a TMS9995 microprocessor (with on-line timer and 256-byte RAM),
#4kb of RAM, 24kb (or 32kb) of ROM, a B&W character-based display.  There
#was no sound generator.  It was mostly incompatible with TI99/4(a), but
#it used the same Basic syntax and file format.
#
#The computer was obviously unattractive. On the other hand, it would have
#been cheap, fairly fast for its time, and easy to program in both BASIC and
#assembly.
#
#Moreover, the expansion port of TI99/2 carried every bus signal, and even
#allowed to disable the system ROMs and use one's own ROMs instead, so this
#computer could have been a hobbyist's dream.
#
#
#Wanted (dead or alive):
#If you have an actual TI99/2 or TI99/2 ROM image at hand, please mail me at
#pytheas@club-internet.fr
#
#$end

#---------------------------------------------------------------------------------------------#

$info=ti99_4
$bio
Texas Instruments TI-99/4 Home Computer


Known Issues:

Requires full keyboard emulation.  At startup, full keyboard emulation mode is
enabled by default.  Whilst in full keyboard emulation mode, some key
associated functionality may be disabled (like the ESC key for EXIT).
The keyboard emulation mode is toggled using the scroll_lock key.

A TI-99/4 is not a TI-99/4a.  Most programs are compatible with both /4 and
/4a, but some programs require a /4a.

The BwG disk controller has display bug which causes it to change the character
definitions for no appearent reason, but, out of this, it seems to work fine.
If this is an issue, you may revert to the TI disk controller.


Usage:

See the sysinfo entry for the ti-99/4a driver.

The only extra feature is the IR remote handsets.  This feature was abandoned
by TI at the last minute, but the support was seemingly not deleted from the
ti99/4 ROMs until the release of the ti99/4a.  This feature is disabled by
default because some programs are incompatible with it, but it can be enabled
by setting the IR remote handsets dip-switch on and resetting the emulator
(press F3 in so-called partial keyboard emulation mode to reset the emulator).
A few programs can use the improved joysticks (TI-Invaders seems to be one of
them).


History and Trivia:

The TI99/4 Home Computer was designed and built by Texas Instruments.  About
200 prototypes were built in 1978, it was first shown in June 1979, and TI
started shipping it in October 1979.  It was replaced with TI99/4a in the
summer of 1981.  It was first sold in US, then was available in Europe in
early 1981.

This computer was easy to use.  It displayed nice color graphics, and
played sound.  It was highly expandable, too.  One expansion enabled the
computer to speak.  Programs were generally on cartridges.  TI, which always
tried to keep the control of program production, put an emphasis on games,
education, and home utilities (home finance, etc.).  Incidentally, it was
the first 16-bit home computer.

The general architecture was odd.  The computer had only 256 bytes of CPU
RAM, the remaining 16kb of RAM were attached to the video processor.  It
had been designed to use some slow "GROM" cartridges, written in an
interpreted language, "GPL".

Due to these poor designing and programming choices, the computer was slow.
The keyboard was uneasy to use, and there was serious bugs in ROMs.  Also,
it wasn't until November 1980 that TI could build a TV modulator to attach
the computer to a TV instead of a monitor.  Worse, the computer was awfully
expensive for a home computer (more than $1000 with the monitor, more than
$500 with the modulator).  Unsurprisingly, it is estimated that only a few
dozen thousand units were sold.

The design of TI99/4 caused many headaches to TI engineers.  It was first
designed as a console, then an inexpensive home computer (which explains
its slowness and kludgy design), then a hybrid (with remote I/R joysticks
and keypads - which were abandoned at the last minute - and a cartridge
port).  It was intended to use a TI-designed microcontroller, tms9985, but the
processor was never actually produced, so engineers had to use a
software-compatible, high-end (in 1979) tms9900 with tons of glue logic.
Note that the processor software design was remarkably weird (no stack, no
on-chip data register).

$end

#---------------------------------------------------------------------------------------------#

$info=ti99_4a
$bio
Texas Instruments TI-99/4a Home Computer



Known Issues:


Requires full keyboard emulation.  At startup, full keyboard emulation mode is
enabled by default.  Whilst in full keyboard emulation mode, some key
associated functionality may be disabled (like the ESC key for EXIT).
The keyboard emulation mode is toggled using the scroll_lock key.



Usage:


This TI-99/4a driver offers a high level of compatibility, and implements
several optional extensions:


* Image cartridges are in V9t9 format (see below for instructions).


* Speech synthesis is emulated completely.  The speech synthesizer occasionally
generates some weird noise instead of the expected phonemes.  I think the
actual reason for this issue is the original ti-99/4(a) speech synthesizer uses
a tms0285 instead of the tms5220 chip that is emulated: I think I have read
somewhere that TI 99/8, which did use a tms5220, was affected by similar bugs. 
Incidentally, I have tried to hack the tms5220 emulator to sound more like a
tms0285, but it is just a hack, I have not reverse-engineered the tms0285.


* Three types of memory expansion cards are emulated: the original TI 32kbyte
card, the Super AMS card, and the Foundation card.


* Any of three different floppy disk controllers can be emulated: TI's original
SD disk controller, SNUG's BwG disk controller, and Myarc's HFDC disk
controller.  These disk controllers have different abilities: TI's controller
only supports single density disks with 9 sectors per track and 40 tracks per
sides; the BwG controller supports double density, and it uses no VDP RAM at
all; the HFDC controller supports 80-track floppy disks (high density support
is incomplete and non-functional on the TI-99 because of issues with the DSR,
though it works fine on the Geneve).  Four floppy disk drives are emulated,
though the TI controller only supports three of them (the fourth disk drive
will be ignored by the TI-99 if the TI controller is selected, but it will work
fine with other controllers).  Floppy disk images are in V9T9 format.  The
older MESS-specific format that was used in MESS .69 and earlier has been
abandonned; note that this format was compatible with single-sided V9T9 disk
images (but not double-sided ones).


* In addition to the floppy drives, the HFDC can support up to 3 MFM hard
disks.  If you want to use these hard disks, you must use HFDC as the floppy
disk controller.  Disk images use the MAME harddisk format (the sector size for
HFDC harddisks is 256).  (BTW, early HFDC cards also included a tape interface
which is not emulated.)


* Thierry Nouspickel's IDE card prototype is emulated.  A description can be
found on Thierry's site along with the required disk-based DSR.  Note that the
disk image does not work very well with the BwG disk controller, though I
cannot figure out why (it works fine with both the TI controller and the HFDC
controller).  The hard disk image is in the standard MESS/MAME hardddisk
format (with 512-byte sectors); since MESS does not support image diff file
currently, only un-compressed images can be written to (compressed images ARE
supported, but only as read-only disks).  Note that current versions of MESS
emulate the latest (2004) prototype, contrary to MESS .84 and earlier that
emulated an earlier (2001) prototype.  The 2004 prototype is incompatible with
the 2001 prototype (IDE bus has been byte-swapped), so you need to download the
latest DSRs and use a new, blank IDE hard disk image if you switch from MESS
.84 or earlier.  You must use the DSR version for the 2004 prototype with a
rtc65271 clock chip.  The state of the rtc65271 clock chip is now saved to
disk, so that you can use the rtc RAM bootstrap loader to load IDEAL from the
IDE harddisk, as explained in Nouspickel's IDEAL page.


* Serial port and PIO emulation is incomplete.  On the one hand, nothing useful
can be done with the RS232 interface, but, on the other hand, the PIO interface
enables you to redirect PIO output to a file and save listings to this file by
"printing" them to PIO.


* SNUG's HSGPL support is incomplete, but you can already play with it if you
want to.  You will need the HSGPL DSR (and probably the software manual, too)
from the SNUG web site to do anything useful.  The FEEPROM is saved to a file
called "hsgpl.mem", in the memcard folder.  Its format is relatively simple:
byte 0 is always 0, and the rest of the file is made of four similar sections
for each Flash EEPROM (DSR, GROM0, GROM1, and ROM6); the first byte of each
section is 0, the second should be 1, and the next 512kbytes is the raw FEEPROM
data.   The DSR and system GROM0 needs to be loaded into the FEEPROM: to do so,
you can use a hex editor to create a hsgpl.mem file in correct format.
Afterwards, you may write extra GROM using the HSGPL DSR.  Note that Supercart
and MBX paging are not emulated correctly, and there must be other issues.


* The SmartMedia part of the USB-SmartMedia card is supposed to be emulated,
but it has not been tested yet.


* The tape interface is emulated.  The CS1 unit is read/write, whereas CS2 is
write-only.   Tapes are stored as sampled wave files.  You may find that the
emulated tape interface is a relatively simple way to exchange files with
real-world TI99s.



Loading a cartridge:


You do not need a cartridge image to run the computer, since TI99/4a has
a small built-in basic interpreter.


V9t9-format cart images are typically split into up to 3 files.  You MUST load
all individual files.  Loading a single zip archive containing all the
cartridge files will NOT work, you must uncompress the archive and select every
file instead.  These files can be loaded in any order, as long as all necessary
files are loaded.


The following file name extensions are recognized for cartridges dumps:

* "g.bin", ".grom" or ".g": GROM dump

* "c.bin", ".crom" or ".c": CPU ROM dump

* "d.bin", ".drom" or ".d": CPU ROM dump for second page (pages cartridges
	only), to be loaded alongside a CPU ROM dump

The following two types are supported as alternatives to the CPU ROM type
(these extensions are only found in MESS, not V9T9):

* "m.bin", ".mrom" or ".m": minimemory CPU ROM dump; similar to CPU ROM dump,
	but the address range >7000->7fff is set up as RAM (paging is not
	supporting); unfortunately, there is no way you can save the contents of
	minimemory to disk

* "b.bin", ".brom" or ".b": MBX CPU ROM dump; similar to CPU ROM dump, but the
	address range >6c00->6ffd is set up as RAM, and the paging scheme is
	different; unfortunately, I do not have any correct dump of a MBX cart to
	test emulation with



Setting up the system configuration:


A few dip switches enable or disable computer extensions.  These switches are
only read at reset.  Therefore, if you edit them, you must reset the emulator
(press F3 in partial keyboard emulation mode) for the changes to be taken
into account.



History and Trivia:


The TI-99/4a Home Computer was a TI-99/4 with improved keyboard, revised
ROMs, and an additional graphics mode.  It was officially introduced in
June 1981, and was retired in late 1983.


TI99/4a was quite successful in Europe and US (possibly hundreds of
thousand units built).  In 1983, though, competition on the home computer
market was so harsh that TI had to cut down the price of TI99/4a to less
than $100, while suffering heavy losses.  So, by the end of 1983, TI had
abandoned TI99/4a, its prototype successors, and withdrawn from the home
computer market.

$end

#---------------------------------------------------------------------------------------------#

$info=ti99_4ev
$bio
Texas Instruments TI-99/4a Home Computer with SNUG EVPC video card


See the TI99/4a driver for non-EVPC information.


Known Issues:

EVPC emulation is not complete.  The palette chip is not emulated.
The computer may crash on soft reset, though I have no idea why.


History and Trivia:

A common hack on the ti99/4a is replacing the old tms9918/9928/9929a with
an improved, upward-compatible v9938.  This enhanced vdp supports true 16-
and 256-color graphic modes, high-res 512*192 graphic and 80-column text
modes, accelerated 2D graphics, etc.  The only drawback is that some programs
(including TI's own TI BASIC) will not run with the v9938.  Also, only
specially designed programs can take advantage of the improved graphic modes.

The EVPC card does just that: it includes a v9938 with 128kb of VRAM, 64kb of
extended RAM, an additional palette chip to program the palette in 256-color
mode, and a DSR ROM with various useful subroutines.

Also, this driver uses a hacked TI BASIC GROM so that TI BASIC will work
normally with the v9938.  Only two bytes were modified to derive file
"994agr38.bin" from file "994agrom.bin": the bytes >F0 >0C >F8 at offset >216C
of the file were changed to >00 >0C >00.  (This fix was contributed by Tony
Knerr, but I have no idea who invented it first.)


$end

#---------------------------------------------------------------------------------------------#

$info=ti99_8
$bio
Texas Instruments TI-99/8 Computer


Known Issues:

Requires full keyboard emulation.  At startup, full keyboard emulation mode is
enabled by default.  Whilst in full keyboard emulation mode, some key
associated functionality may be disabled (like the ESC key for EXIT).
The keyboard emulation mode is toggled using the scroll_lock key.

There is no known dump of TI-99/8 ROMs.  I have reassembled the source code of
the TI-99/8 ROMs, which has enabled me to reconstruct the core of the operating
system.  Unfortunately, several optional but important parts of the system
(HexBus, P-System, Speech ROMs, and named subroutines in BASIC) are missing.

Speech that sounds fine on a /4(a) with the optional speech synthesizer may
sound garbled on a /8 with its integrated speech synthesizer.  This is because
the /4a and the /8 do not use the same speech chip (TMS0285 vs. TMS5200C).  On
an actual /8, this only affects programs that use custom speech; under
emulation, this currently affects programs that use pre-defined speech as well,
because the /8 speech ROMs have not been dumped and we resort to using the
incompatible /4(a) speech ROMs instead.

Mapper-level Read protect, Write protect and Execute protect are not
emulated.  Hard reset and P-code GROMs are not emulated either.


Usage:

The TI99/8 looks a lot like the /4(a).  Press any key to begin, then press A
for the built-in BASIC interpreter, B to set speed, C, D, etc, for any
inserted cartridge.  Set speed does not apply to the built-in BASIC
interpreter, which will always run at full speed.  The default speed is "B
TI-99/4A speed": you must run set speed to select any other speed.

Though the level of compatibility with the /4a is high, you may not access
extensions provided by an inserted cartridge from /8 BASIC, whether they are
packaged as a CALL or as a DSR.  



History and Trivia:

When TI released the TI-99/4 in 1979, they announced that a bigger, more
professional version of this machine would follow: the TI-99/7.  After several
delays, the TI-99/7 project was abandoned, and in 1981 TI started a similar
project with upgraded specs: the TI-99/8 (code-named Armadillo).

The project was nearing completion, with a prototype series in production, when
TI terminated the TI-99 series in October 1983.  As a consequence, the TI-99/8
was never released, although several prototypes ended in private hands.

The TI-99/8 is similar to, yet different from, the TI-99/4(a).  Mostly, it
looks like a super TI-99/4(a): it has a faster CPU, a better keyboard, and
several features that were optional on the /4(a) (speech synthesizer, HexBus
controller and UCSD P-system).  However, it includes several features that have
no equivalent on the /4a: its memory mapper enables it to address 64kBytes of
RAM simultaneously, to support more than 15MBytes of RAM, and to implement
partial memory protection; also, its ROMs are a lot improved compared to the
/4(a) ROMs: they support machine language programs much better, they implement
several extra system calls for graphics, and they support I/O buffer in CPU
RAM.

$end

#---------------------------------------------------------------------------------------------#

$info=ti990_10
$bio
Texas Instruments Model 990/10 Minicomputer System


Known Issues:

The controller panel is not emulated yet.

The computer seems to lock when running various installation scripts, and
rebuilding the system.


Usage:

This driver emulates a TI990/10 CPU with mapping option, 1Mbyte of RAM,
a generic disk controller at TILINE base >1ff800, a generic tape controller
at TILINE base >1ff880, and a 911 VDT at CRU base >0100.

This is enough to build DX10 or DNOS. I have been able to build a working DX10
3.7 or 3.6 system from the relevant build and backup tapes. (Tape loaded as
tape unit #1 and a blank disk image as disk unit #1 (with the SCOSTA flag
at offset >A4 set to >0002, so that the build tape does not try to format the
disk)). I have even managed to install the fun and games tape, and play pacman.


History and Trivia:

Texas Instruments was a minicomputer manufacturer since the late 1960s through
the 1980s.

Around the summer of 1973, they started to design the TI990 as a successor to
the 960 and 980 computers they were building at the time. In 1974, TI started
to build the prototype of the TI990 series, the TI990/9.

In 1975, they released the first commercial system, the TI990/10. It was
a minicomputer built with TTL logic. Although it was a 16-bit CPU,
it supported an optional mapper to expand address space from 64kbytes
to 2Mbytes.

The TI990 series development continued. In 1975 or 1976, TI started shipping
the TMS9900 microprocessor, which implemented a subset of the TI990/10 feature
set. Two CPU boards were built around the TMS9900: the TI990/4 (1976) and
the improved TI990/5 (date unknown). These boards were much cheaper than the
TI990/10, but they could only address 64kbytes, did not implement the memory
bus fully (no DMA support), and could not run the DX10 OS.

Around 1978, TI released the TI990/12, a higher-end TTL implementation, which
was faster, and supported many additional instructions and features when
compared to TI990/10. It was replaced with a revised but similar TI990/12LR
computer in 1982 or 1983.

In 1981, TI released the new TMS99000 microprocessor. In 1982, they replaced
the TI990/10 CPU with a cheaper, smaller, faster, and more energy-efficient
TI990/10A board built around the TMS99000 CPU. Additionally, they released
an all-in-one Business System 300 (1982), later replaced with the Business
System 300A (1984). Both computers included the CPU, RAM, video terminal, and
hard disk/tape interface in a terminal case.

The TI990 series must have been abandoned around 1985, when TI introduced
the S1500 series built around a 68020.

The TI990 computers were primarily used for business applications.

Two disk-based OS were available. DX10 was a multi-tasking, multi-user OS.
DNOS (released around 1981) was similar to DX10 and mostly compatible with it:
it supported extra features but it was bigger and slower. Neither OS could run
on the lower-end 990/4 and /5 systems, but a kernel and various OS utilities
were available as static-link libraries for embedded applications.

$end

#---------------------------------------------------------------------------------------------#

$info=ti990_4
$bio
Texas Instruments Model 990/4 Minicomputer System (1976)

Known Issues:

The controller panel is not emulated yet.


Usage:

This driver emulates a TI990/4 CPU with 32kbytes of RAM, a FD800 disk
controller at CRU base >0040 (>0080), and a 733 ASR at CRU base >0000.

This in enough to run various floppy-based programs that have been dumped by
Dave Pitts.  Please refer to <http://www.cozx.com/~dpitts/ti990.html> if you
are interested in getting a copy of these programs or seeing another ti990
emulator.


History and Trivia:

The TI990/4 board was released in 1976.  It is built around a tms9900.  While
not as powerful as the high-end 990/10 and 990/12 boards, it was a lot cheaper.
It was used as a terminal concentrator in large TI990 systems, and also as the
base of various development systems.

See the entry for TI990/10 for a short rundown of the TI990 series.

$end

#---------------------------------------------------------------------------------------------#

$info=990189
$bio
Texas Instruments TM 990/189 Microcomputer


Usage:

This driver emulates a TM990/189 with University Basic.

This computer has a 10-character 8-segment LED display and a 45-key keyboard.
Key mapping can be read in the TAB menu.

Programs can be saved to tape with 'SAVE', and restored with 'LOAD'.

The 10-char window can be moved horizontally with Shift+V, Shift+W, Shift+Y,
and Shift+Z.  Previously typed characters can be deleted with Shift+M.  You
can discard the current line, exit List mode or break program execution with
Shift+9 (ESC).


History and Trivia:

The TM990/189 University Board Microcomputer was designed in 1978 and probably
released in early 1979.

Its primary target was University computing courses.

It was sold with a simple assembler & debugger, UNIBUG, and a 500-page
textbook titled "Introduction to Microprocessor".  The UNIBUG program has not
been dumped, and is therefore not available.

TI additionally sold University Basic for the TM990/189.  It is a relatively simple
Basic interpreter.  This program is emulated.

$end

#---------------------------------------------------------------------------------------------#

$info=990189v
$bio
TM 990/189 University Board microcomputer with University Basic and Video Board Interface


Usage:

This driver emulates a TM990/189 with University Basic and the optional Color
Video Board.

You can use all the video opcodes documented in the University Basic Manual.

The optional demonstration EPROM set includes demonstration programs.  They can
be loaded with LOAD 0, LOAD 1, LOAD 2 and LOAD 3.  Some programs are supposed
to do some user interaction, but they were set up to run in demo mode, so that
you must edit the source code to run the programs interactively: for instance,
to play the brick-wall game, you must type 'LOAD 2', then enter '5 SP=0' to
disable demonstration mode, then 'RUN'.

There are two undocumented built-in Basic instructions that can be used if you
have the demonstration EPROMs installed: PLOT and JOY.  These instructions are
not fully implemented in University Basic, and they rely on assembly language
subroutines located on the Demonstration EPROMs.

The PLOT instruction draws lines in multicolor mode (which is entered by "MODE
8" through "MODE 15").  "PLOT 0,n" sets up the screen for multicolor mode, and
must be executed before any other PLOT instruction (n is ignored).  "PLOT
1,c[,x,y]" sets the pen color to c, and sets the coordinates of the lower left
corner to (x,y).  "PLOT 5,x,y" sets the pen position absolutely, and "PLOT
3,x,y" sets the pen position relatively to the current pen position.  "PLOT
6,x,y" draws a line from the current pen position to a new pen position
expressed absolutely, and "PLOT 4,x,y" draws a line from the current pen
position to a new pen position expressed relatively to the current pen
position.  "PLOT 2,x,y" and "PLOT 7,x,y" do not do anything.

The JOY function reads the state of either joystick.  "JOY 0" reads the analog
X-axis for joystick 1, "JOY 1" reads the analog Y-axis for joystick 1, "JOY 2"
reads the button state for joystick 1, "JOY 3" reads the analog X-axis for
joystick 2, "JOY 4" reads the analog Y-axis for joystick 2, and "JOY 5" reads
the button state for joystick 2.


History and Trivia:

The Color Video Board was released in 1980.  It includes a TMS9918 VDP, a
joystick interface, and two EPROM sockets.  The VDP enables to display colorful
graphics on a video monitor.

This board was not designed by TI, but an external society (Eyring Research
Institute).

$end

#---------------------------------------------------------------------------------------------#

$info=tutor
$bio
Tomy Tutor (a.k.a. Grandstand Tutor)


Known Issues:


Cassette emulation does not work.



Usage:


The Tutor has three built-in programs:

* Graphic is a Picture drawing program.  It enables you to create 256*192
pictures in 16 colors, but the interface is awkward and I don't think the
pictures drawn in this program can be saved.

* Basic is a Basic interpreter derived from the TI99 Extended Basic.  Quite
unfortunately, Basic lacks I/O routines and a serious graphic library.

* GBasic is another Basic interpreter that is hidden in Graphic.  It is
probably faster than Basic and has better graphic capabilities, but the
language itself is unfortunately lacking.  And the editor simply sucks.


A few cartridges were released: almost 40 games and a few educational programs.
9 cartridges are known to have been dumped (8 games and an educational title).



History and Trivia:


This computer is known as Tomy Tutor in US, and as Grandstand Tutor in UK.  It
was initially released in Japan in 1982 or 1983 under the name of Pyuuta
(Pi-yu-u-ta, with a Kanji for the "ta").  The Japanese versions are different
from the English-language versions, as they have different ROMs with Japanese
messages and support for the katakana syllabus.  There are at least 4 versions:

* original Pyuuta (1982 or 1983) with title screens in Japanese but no Basic
(only the toy-like Gbasic interpreter is available)

* Pyuuta Jr. (1983?) which is a console with a simplified keyboard

* Tomy/Grandstand Tutor (circa October 1983?) with title screens in English and
integrated Basic

* Pyuuta Mk. 2 (1984?) with a better-looking keyboard and integrated Basic


The Tutor was not extremely successful, probably due to the fact that little
software was available (and that the software that was available was not varied
enough).


One question that remains open is the relationship between the Tutor and the
TI-99 series.  From a hardware point of view, the Tutor has a lot in common
with TI-99/4(a) (though the two computers are NOT compatible).  From a
software point of view, the Tutor Basic is directly derived from TI Extended
Basic (there is even a GPL interpreter in ROM, though the Tutor variant of GPL
is quite different from TI GPL).  However, other Tutor software do not seem to
be derived from TI-99 software.  It is therefore likely that Matsushita
designed the Tutor independently from TI and licenced the TI Basic from TI as
an afterthought; OTOH, the whole design might have originated from TI, as the
computer really looks like a "TI-99/3" (the hardware is similar to the TI-99/4
series, whereas the concept is very close to the TI-99/2).

$end

#---------------------------------------------------------------------------------------------#

$info=trs80
$bio
Tandy/Radio Shack TRS-80 Model I


Usage:

keyboard - relatively close to the original layout.

Take a look into the "Options" menu, accessible by hitting TAB, and choose "Keys (This 
Machine)" to  find out more about the key mapping.


cassette - emulation of virtual tapes supported.

Use SYSTEM or CLOAD commands to read images.

SYSTEM supports 6 character filenames and loads the corresponding FILENM.CAS image.

CLOAD loads a file named BASIC(N).CAS, where (N) is the character you supplied 
(e.g. CLOAD"M" loads BASICM.CAS)


floppies - emulation of virtual floppy discs supported. 

Use a NEWDOS/80 boot disk for drive 0 and set up correct PDRIVE parameters for the other drives. If only drives 0 to 2 are used they can be double sided by interpreting drive select 3 as head select bit.


Under the "Options" menu, accessible by hitting TAB, there are three settings.

"Floppy Disc Drives"  - enable or disable floppy disc controller.

"Video RAM"           - enable upper case only or upper/lower font.

"Virtual E000-EFFF"   - enable 4K Extension ROM or make it RAM.


The TRS-80 driver should run most of the known programs out there. It supports a WD 179x 
floppy disc controller with up to four virtual floppy disc drives contained in image files.


History and Trivia:

The Tandy TRS-80 model 1, released in August 1977 at a US retail price of $399 for just the 
keyboard/computer or $599 including display and cassette storage unit, was the first member 
of one of the most famous computer families.The earliest models used a poor BASIC interpreter 
called Basic Level 1 (the interpreter and the OS fit in the 4 KB ROM) which had no instruction 
to save the program! It was replaced later with the Basic Level 2 which needed a 12 KB ROM. 
To offset its poor characteristics, Tandy developed a device called the Expansion Interface 
which brought a lot of new features: 16, 32 or 48 KB RAM, two tape unit connectors, a printer 
port, a floppy disk controller, a serial port and a real time clock.


When it was connected to a floppy disk unit, the TRS 80 used the TRS DOS operating system, it 
was pretty bugged and most of the TRS80 users preferred NEW DOS, it is an operating system 
done by a third-party company called Apparat. This OS was the real TRS 80 operating system.


The Model 1 was followed with the TRS 80 model II and model III (the model III had almost the 
same characteristics as the model I).



$end

#---------------------------------------------------------------------------------------------#

$info=tx0_64kw
$bio
TX-0 original demonstrator (64 kWords of RAM)


History and Trivia:


The TX-0 was built in 1955-1956 at the MIT Lincoln Laboratory, to demonstrate
transistor technology (the TX-0 is regarded as the first transistorized
computer ever) and test a 64kw magnetic core memory array for the TX-2 computer
that was on the drawing board.  Once assembled, the TX-0 proved to be a
reliable and interesting general purpose computer.


A CRT was installed in 1957, and a light-pen in 1958, which enabled interactive
graphical operation, which was exceptional on computers of the time.  The TX-0
was one of the first computers with a light pen; on the other hand, some
computers (e.g. Whirlwind) had had CRTs for years, but such CRTs were seldom
used for interactive operation.


In July 1958, the computer was taken out of Lincoln Laboratory and transferred
to room 26-248 at the MIT Electrical Engineering Department.

$end

#---------------------------------------------------------------------------------------------#

$info=tx0_8kw
$bio
TX-0 upgraded system (8 kWords of RAM)


History and Trivia:


After its transfer from the MIT Lincoln Laboratory in July 1958, the TX-0 was
supported by the MIT Research Laboratory of Electronics, the MIT Electronic
Systems Laboratory and the MIT Electrical Engineering Department.


A so-called Extended Input/Output System was installed soon after the transfer:
it enabled users to add custom I/O devices relatively easily.


The TX-0 originally had a 64kw memory matrix, which had been transferred to the
TX-2 and replaced with a 4kw matrix in the spring of 1958; this 4kw matrix
was extended to 8 kw in 1959.


Since the address size was reduced from 16 to 13 bits, more bits were available
for instruction opcodes (5 instead of 2): the instruction set was subsequently
extended from 4 instructions to 23.  The first three additional instructions,
which required little processor changes, were implemented in 1959; the logical
design for the other instructions was completed in 1960, and was implemented
from 1960 to 1962.  Also, a magnetic tape system was added in 1961.


There were projects for further expansion (e.g. timesharing system), but after
the PDP-1 arrived at the MIT, further development on the TX-0 was stopped.


The TX-0 remained in operation at the MIT until 1975, at which point it was
transfered to the Computer Museum set-up by DEC in Marlborough, Massachusetts.


Though the upgrades were designed not to break compatibility, only programs
that use 8 kw of RAM and the 4 original instructions may run on both the 8kw
model and the 64kw model.  (Even so, there are changes in the microprogrammed
operate instruction that may prevent programs to run on both models.)  At the
time of writing, all available programs were designed specifically for the
later 8 kw model.

$end

#---------------------------------------------------------------------------------------------#

$info=uk101
$bio
Compukit UK101 (1979)


Features:


MESS Emulation State:


$end

#---------------------------------------------------------------------------------------------#

$info=vc4000
$bio
Interton VC4000


Console for TV connection (PAL only?)

seams to be prequel of the arcadia 2001
technical something between channel f and odyssey2

sold from several firms with different names
grundig super play computer 4000
acetronic mpu1000/mpu2000
prinztronic vc6000?
radofin 1201?
fountain 1392?
hanimex?


Features:

grid 

4 8x10 single color sprites

single channel sound

special << load/reset button (must be pressed after power up)

special > select button

special start button

2 controller with analog joystick and 14 key keypad


Controller keypad:

(keys do not have a label)
a   b
c d e
f g h
i j k
l m n

a,b,d are the same: fire


Dumping Cartridges:

9316 type ROMs are commonly used in these cartridges 
(a little bit different to 2716)

Look into messroms for a pinout of it.


MESS Emulation State:

Based on info by Paul Robson, Christian Windler
sponsored by Andreas W.


$end

#---------------------------------------------------------------------------------------------#

$info=vcg
$bio
Palladium Video - Computer - Game


Console

Emerson Arcadia clone with different cartridge connector/pinout and 4 additional keys per controller

look into messroms for cartridge pinout

german version known with PAL video

controller layout:

(no labels)

   2/fire
x1   x2   x3
 1   x4    3
 4    5    6
 7    8    9
Del   0  Enter


MESS Emulation State:

sponsored by Ward Shrake, Stefan P.
same as arcadia
additional keys supported

$end

#---------------------------------------------------------------------------------------------#

$info=vectrex
$bio
GCE Vectrex


Usage:

Though the Vectrex emulation can be loaded with a cartridge image, starting without one will
allow you to access the built-in game Minestorm (provided the system.img bios is present).


Known Issues:

No light pen support.


Almost every cartridge is playable, except those requiring the light pen. See vectrex.hsi for 
a current compatibility list. Overlays are supported in .png format, using the same name as 
the cartridge image being loaded. Place overlays in the artwork directory. The overlay for
the built in minestorm game must be named "mine.png" to load when no image is selected.

Current Bug -- The vectrex overlays have not worked in the 37 beta cycle. This is being 
looked into.


History and Trivia:

The Vectrex was released in the US late in 1982 by General Consumer Electric (GCE) at a 
suggested retail price of $199. The Vectrex differed from other consoles in that it had 
it's own built in nine inch by eleven inch vector monitor, and thus didn't require (or 
even allow) the use of a television set. The system even contained a built in game, the 
Asteroids-like "Minestorm". 


The monochrome Vectrex used screen overlays to give the illusion of colour, and also to 
reduce the severity of the inherent flickering caused by the vector monitor.


In 1983, GCE was merged into Milton Bradley, who expanded the Vectrex's market to include 
Europe. As the video game market declined and then crashed, the Vectrex exited the market 
in early 1984. The rights to the system reverted to it's developers, Smith Engineering. 


Smith Engineering briefly considered designing a handheld version of the device in 1988, 
though the success of the Nintendo Game Boy made such a project too risky. In the mid-1990s, 
Smith Engineering condoned the duplication of the Vectrex system image and cartridges for 
non-commercial uses.


$end

#---------------------------------------------------------------------------------------------#

$info=vic20
$bio
Commodore VIC20 and VC20


Cartridge Usage:

Cartridges may have any of the following extensions: .bin .rom .a0 .20 .40 .60 .prg
Files with boot-sign in it are recognized as ROMs. Some cartridges require more than one 
image (for example, defender.60 defender.a0).


.20 files loaded at 0x2000 

.40 files loaded at 0x4000

.60 files loaded at 0x6000

.a0 files loaded at 0xa000

.prg files loaded at address in its first two bytes

.bin and .rom files are loaded at 0x4000 when 0x4000 bytes long, 
otherwise they are loaded at 0xa000

Note that .prg files are assigned to the quickloader (so you have to use 
the -cart switch when loading ROM images).


Cassette Usage:

Cassette images with the .wav or .prg extensions as well as multiple .prg files 
contained within a zip file can be loaded. Zip files must be placed in the current directory, 
and the contained prg files are played in sequential order.


The format for WAVs are: 
8 bit (16 bit may work, but hasn't been tested), mono, 12500 Hz minimum. This has the same 
problems as an original Datasette tape drive (the tone head must be adjusted to get working 
(no load error...) wav-files)


Note that tape volume is DAC1 volume within the MESS UI On Screen Display Options (accessed
with the tilde (~) key in the DOS version.


Within the emulation, use LOAD or LOAD"" or LOAD"",1 for loading normal programs. Use 
LOAD"",1,1 for loading programs to a special address.


Diskette Usage:

Disk drives are simulated at the moment, and only file loads from drive 8 and 9 
are implemented. You can load a program file from the ROM directory (*.prg,*.p00)
(This must NOT be specified on command line, start the vc20 emulation with no images specified)
 

You can also load a file from a d64 image (The directory command LOAD"$",8 is supported when 
using d64 images).


Within the emulation, basic programs can be loaded with: 

LOAD"filename",8 


Machine language programs can be loaded to their address with: 

LOAD"filename",8,1


When a program is loaded, type RUN or the appropriate SYS call to start it. 


Note that several programs rely on more features not currently emulated (such as 
loading other file types, writing...) Some games also rely on starting programs in the 
floppy drive's processor (and therefore CPU level emulation of the 1541 is needed).


Quickloader Usage:

A quickloader is available via the f8 key. It supports program image files 
with the .prg extension. This loads the program into memory and sets the program end 
pointer. It works with most programs. The program can be started by entering "RUN" in 
the emulation.


Miscellaneous Usage Notes:

Note that the pixel ratio for the PAL version is about 13/10 ! Resolution 1024x768 is good, 
but only part of the screen is filled. 800x600 is acceptable. Better to define own display 
mode (when the graphic driver supports this). For an acceptable display under XMESS, you can 
use the following switches: 

-scalewidth 3 -scaleheight 2


If you run into difficulty, be sure to start the emulation with the -log switch, and look into
the error.log file that is created in your MESS directory.


See "Keys (This Machine)" in the TAB/Options menu for key assignments. Some key usages of note: 

stop-restore in many cases will cause the prompt to reappear.

shift-cbm switches between upper-only and normal character set (if wrong characters are on 
screen this often can help)

run (shift-stop) load and start program from tape.


The emulated light pen uses Paddle 3 x-axe and Paddle 4 y-axe.


While a normal or well written program will work regardless of the video system (PAL or 
NTSC), if the screen is too wide right or low, or the screen doesn't fit in visible 
area or gameplay is too fast try using the PAL (vc20) version, instead.


Known Issues:

Some PC-Keyboards do not behave well when two or more special keys are pressed at the same 
time (with my keyboard printscreen clears the pressed pause key!)

The timer system only 98% accurate.

The serial bus allows simple disk support, but no printer or other devices at present.

No userport, no rs232/v.24 interface.

No special expansion modules like ieee488 interface are supported in the expansion port.


Image compatibility is quite high, see vic20.hsi for a partial list. The emulation features a
rasterline based video system which should be enough for all vic20 games and programs. The 
emulation supports the keyboard, as well as joysticks, paddles and lightpen, via the emulated
gameport, and simple Disk and Tape support. The expansion slot supports RAM and ROM 
cartridges, though not special expansion modules (see known issues). For a more complete vic20 
emulation, take a look at the very good vice emulator.


History and Trivia:

The Commodore VIC 20 was the successor of the CBM PET. It was designed by Bob Yannes at CBM, 
he later designed the SID chip for the C64 and then went to Ensoniq to design synthesizers. 
The VIC 20 used the same microprocessor and the same Basic language as the PET. It was very 
popular in the early 80's. Commodore sold more than 1 million of this computer! A great range 
of peripherals were developed for this computer as well as a lot of software. When it became 
obsolete, Commodore replaced it by the Commodore 16 which had no success.

Note that its name came from the name of its video chip VIC (Video Interface Chip) and 
its memory size : 5 KB RAM + 15 KB ROM = 20 KB ! The European VC20 stands for VolksComputer.


$end

#---------------------------------------------------------------------------------------------#

$info=vip
$bio
RCA Cosmac VIP (1977)


Very early home computer for TV connection


Features:

Tape interface

TV output

Integrated speaker


MESS Emulation State:

display, keyboard working

Stopped. For me it is much too cryptic to operate and therefore not interesting.
(I did it because it is the same hardware as in the studio2)


$end

#---------------------------------------------------------------------------------------------#

$info=wswan
$bio
Bandai WonderSwan (1999)


In March of 1999, Bandai released a portable gaming console in Japan that was designed to 
compete with the Neo Geo Pocket and Game Boy Color. The machine was met with rave reviews and has 
gained a major share of the handheld market. The WS was available in ten case colors, playable both 
vertically and horizontally, and features a fairly large library of games.


In December of 2000, Bandai followed up its WonderSwan with the WonderSwan Color. 
Designed to continue the fight against Nintendo's Game Boy empire, the WSC is equipped
with a color display and improved specifications. The WonderSwan Color is backwards compatible 
with the WonderSwan's black and white library, as well as having games of its own. Remakes 
of the older Final Fantasy games and many other RPGs make the WonderSwan Color a popular 
system in Japan.


WonderSwan Features:

CPU : 16-bit processor at 3.072 MHz 

Screen (dot matrix section): FSTN reflective LCD, 224 x 144 pixels (2.49-inch)

Display performance : Max. 512 characters, max. 128 sprites (32 on one horizontal line),
	 two screens (overlay possible), screen windows and sprite windows.

Graphics : 8-shade monochrome in the dot matrix section and six icons at the static section.

Audio: 4-channel digital stereo sound. Built-in speaker or optional headphones with stereo adapter.

Size : 74.3mm x 121mm x 24.3 mm (H)
 
Weight : 93g (without battery) 110g (with battery)

Power : 1 AA battery or rechargeable pack, ~40 hours playtime

Connecting Ports : Link Port, Stereo Jack & cartridge port

Cartridge Capacity: ROM and/or RAM - maximum 128Meg (like Beat Mania)

Features: Can be played holding the unit vertically or horizontally.
            Built-in EEPROM and 1Kbit RAM for backing up game data.
            Several levels of energy-saving control.


WonderSwan color Features:

CPU: 16 bit processor at 3.072 Mhz

RAM: 512k

Display: LCD screen reflection type FSTN (2.8 inch size)

Color: 41 colors at once of a 4096 color palette or 57 colors in extended mode.

Audio: Digital sound source 4ch (2 for voices and 2 for Hyper voice)

Communication: 9600bps/38.4kbps (for the Wonder Gate)

Size: 74.3mm X 128mm X 24.3mm (with AA battery)
      74.3mm X 128mm X 17.5mm (with rechargeable pack)

Weight: about 95 grams (without the battery)

Buttons: 13 (X 1-4, Y 1-4, Start, A, B, Volume & Power)

Power: 1 AA battery or echargable pack, ~20 hours of playtime

Other Features: Fully compatible with Wonder Swan Cartridges.

  
Cartrige Size: 42mm X 67mm X 6mm

Cartrige Weight: About 12 grams

Cartrige Capacity: ROM or FLASHROM max 512Mbit(LUXSOR2), RAM max 512Mbit(LUXSOR2)



MESS Emulation State:

Very Preliminary Driver.

$end

#---------------------------------------------------------------------------------------------#


$info=z88
$bio
Cambridge Computers Z88 (1988)


The Z88 is a portable system with a LCD screen display and good sized keyboard.

$end

#---------------------------------------------------------------------------------------------#

$info=zx80
$bio
Sinclair ZX 80 (1980)


A home computer built in the United Kingdom.


History and Trivia:

The Sinclair ZX 80 is the ancestor of the Sinclair ZX 81. It had a short life (less than one 
year) and was replaced with the ZX 81 which was more integrated and cheaper.


$end

#---------------------------------------------------------------------------------------------#

$info=zx81
$bio
Sinclair ZX 81 / Timex Sinclair 1000 (1981)


A home computer built in the United Kingdom.


History and Trivia:

The Sinclair ZX 81 was the successor of the ZX 80. It had the same characteristics as the 
ZX 80, it's main difference (except for the colour) was its higher level of integration: the 
ZX 80 used about 12 chips which had been replaced with a ULA in the ZX 81. This computer was 
very successful in Europe at the beginning of the 80's. A large range of peripherals were 
developed for the ZX-81, among them: 3.5" floppy disk units, high resolution graphic cards, 
RS232 or Centronics interfaces, and RAM extensions. The ZX 81 was sold as the Timex-Sinclair 
1000 in the USA. 


$end
