Public releases of snapshots will be announced on the News Submission Board

Frontend Tech + >> progetto-SNAPS
View all threads Index   Flat Mode Flat  

Reged: 08/21/04
Posts: 2900
Loc: Land of Oz
Send PM
MESS-based things for Gameinit.dat pt 5
04/03/16 08:56 AM

SacState 8008

All input to be in lowercase.
The weird characters that show on screen are various escape sequences.
These are different depending on the terminal type chosen. The codes
need to be understood and emulated before this system makes sense.

Known Monitor commands: (from the disassembly)
! write buffer to AD000
* set RAM036 flag
+ increment AD000 by 1
+n increment AD000 by n
- decrement AD000 by 1
-n decrement AD000 by n
: clear RAM036 flag
= display AD000
=nnn set AD000 to nnn
@ fill buffer with 026

unknown commands: / & d e l r s t u z \ ^ | ~

Other input will either result in '!' message, or halt.


Savia 84

It's assumed that all the LEDs are red ones. The LEDs down the
left side are assumed to be bit 0 through 7 in that order.

0-F : as is
DA : ^
AD : -
GO : X

Here is a test program. Copy the text and Paste into the emulator.


Seattle Computer SCP-300F S100 card. It has sockets on the card for
one serial and 2 parallel connections.

When started you must press Enter twice before anything happens.

All commands must be in UPPER case.

Known Commands:
B : Boot from disk?
D : Dump memory
E : Edit memory
F : Find
G : Go?
I : Input port
M : Move
O : Output port
R : Display / Modify Registers
S : Search
T : Trace



Test sequence: Press -, enter an address, press = to show contents, press
up/down-arrow to cycle through addresses.


SITCOM (known as Sitcom, Sitcom85, Sitcom8085)

The display consists of a LED connected to SOD, and a pair of DL1414 intelligent alphanumeric displays.

The idea of this device is that you write a 8085 program with an
assembler on your PC. You then compile it, and then send it to
the SITCOM via a serial cable. The program then (hopefully) runs
on the SITCOM. With the 8255 expansion, you could wire up input
devices or other hardware for your program to use.

The SOD LED blinks slowly while waiting; stays on while downloading;
and blinks quickly if an error occurs.

After a successful download, the ROM is switched out and the RAM
mirrored to the lower 32k. The downloaded program is then executed.
This part is not emulated.

In MESS, start emulation. After about 10 seconds the display will
scroll sideways with a message and a URL. There are no input keys.



This computer is both a Z80 trainer, and a chess computer.
The keyboard is different between the two, so
we redefine it for your convenience.

There is no chess board attached. You supply your own
and you sync the pieces and the computer instructions.

When started, it is in Chess mode. Press 11111 to switch to
Trainer mode.

0-7 : hexadecimal numbers
Shift then 0-7 : Hexadecimal 8-F (decimal points will appear)
ADR : enter an address to work with. After the 4 digits are entered,
the data at that address shows, and you can modify the data.
+ (inc) : Enter the data into memory, and increment the address by 1.

Pasting doesn't work, but if it did...

0-7 : as is
8-F : H, then 0-7
+ : ^
- : H^
ADR : -

Test Paste:
Now press up-arrow to confirm the data has been entered.


SSE SoftBox

Standalone vs. PET/CBM Peripheral Mode

The SoftBox can be used as a standalone computer with an RS-232 terminal,
or as a PET/CBM peripheral. This is an emulation of the standalone mode.
For the peripheral mode, see: src/emu/bus/ieee488/softbox.c.

Using the Corvus hard disk

The SoftBox distribution disk (softbox-distrib.d80) is configured for
a CBM 8050 as CP/M drives A/B and a 10MB Corvus hard disk as drives C/D.

Use the CHDMAN utility to create a 10MB hard disk image for the Corvus:

$ chdman createhd -o /path/to/corvus10mb.chd -chs 358,3,20 -ss 512

Start the SoftBox emulator with the floppy and hard disk images mounted:

$ mess softbox -flop1 /path/to/softbox-distrib.d80 \
-hard1 /path/to/corvus10mb.chd

Before the Corvus can be used under CP/M, it must be prepared
by running DIAG.COM and FORMAT.COM.


Enter "diag" (no arguments) at the CP/M prompt to run the Corvus diagnostics
program. This program will perform the Corvus low-level format.

Select option 6 (Update Controller Code) at the menu.
Enter "corvb184.fmt" when prompted for the filename.
Enter "y" at the confirmation prompts.
Enter "1" for the Corvus drive number (two prompts).
After formatting is complete, it will return to the menu.

Select option 3 (Read Controller Code Version #) at the menu.
Enter "1" for the Corvus drive number.
It should report "V18.4AP" and then return to the menu.

Select option 9 to return to CP/M.


Enter "format" (no arguments) at the CP/M prompt to run the SoftBox disk
format program. This program will perform the CP/M filesystem format.

Enter drive letter "c" at the prompt.
Enter "y" to confirm the format.
After formatting is complete, it will prompt for a drive letter again.

Enter drive letter "d" at the prompt.
Enter "y" to confirm the format.
After formatting is complete, it will prompt for a drive letter again.

Press RETURN to return to CP/M.


After all steps are completed, drives C and D should be usable from
CP/M. Each drive is one half of the Corvus 10MB disk. Running the
command "stat c: dsk:" should show 4712 kilobyte drive capacity.
Drive D should show the same information.

Using other Corvus hard disk sizes

The SoftBox supports 5, 10, and 20 MB hard disks. The distribution disk
is configured for 10 MB as explained above. To use other sizes, make
a new image with CHDMAN. See the top of src/mess/includes/corvushd.h
for the parameters for the other drives.

After the image has been created and the SoftBox emulator started with
it mounted, the SoftBox BIOS needs to be told what size Corvus hard
disk is attached. Use the NEWSYS.COM utility to reconfigure the drive
size. When NEWSYS prompts for a source drive, enter "a" (the drive letter
of the CP/M distribution disk). Use option "d" (Disk drive assignment)
to reconfigure the Corvus size. After the change has been made, use option
"s" (Save new system) to write the configuration to the floppy (drive A) and
option "e" (Execute new system) to restart CP/M with the configuration.
DIAG.COM and FORMAT.COM can then be used to format the hard disk.


Processor Technology Corp. SOL-20

Note that the CONSOL rom is basically a dumb terminal program and doesn't
do anything useful unless the MODE key (whatever that is) is pressed.

CUTER is a relocatable cassette-based alternative to SOLOS. According
to the manual, it should work if the sense switches are set to on. But,
it continuously reads port 00 and does nothing.

File Formats:
- Most files are simple ascii which can be loaded via the Paste handler.
These are ASC, ENT, BAS, ROM, BS5 and ECB. Most files require that the
correct version of BASIC be loaded first. Paste works, but it is very
very slow. Perhaps we need something faster such as what Solace has.
- SVT (Solace Virtual Tape) files are a representation of a cassette,
usually holding about 4 games, just like a multifile tape. This format
is partially supported.
- HEX files appear to be the standard Intel format, and can be loaded
by Solace.
- The remaining formats (OPN, PL, PRN, SMU, SOL, ASM and LIB) appear
at first glance to be more specialised, and probably not worth being

System Setup (to play games etc).
- In the Dipswitches (not the Configuration), turn cursor flashing OFF.
- Loading via wav files works, so load a tape image in the file manager
- In UPPER CASE, enter XE press enter, cassette will load.
- At the end, the program will start by itself.
- When it says use 2,4,6,8 keys, you can use the keyboard arrow keys.

Monitor Commands:
- TE - ?
- DU - dump memory
- EN - modify memory
- EX - Go (execute)
- CU - ?
- SE - Set parameters (eg tape speed)
- SA - Save
- GE - Load
- XE - Load and run
- CA - List the files on a tape



This is disk-enabled, allowing CP/M to run.
To initialise the disk system, you must enter
after the computer has booted. It is not particularly
stable, so be prepared to cold boot whenever something
goes wrong.


Monitor commands
Dxxxx,yyyy = Dump memory
Fxxxx,yyyy,zz = Fill memory
Gxxxx = Goto
Ixx = In port
Lxxxx = Load
Mxxxx,yyyy,zzzz = Move x-y to z
Oxx,yy = Out port
- = Edit memory
. = Edit memory


SWTPC 6800

bios 0 (SWTBUG) is made for a PIA (parallel) interface.
bios 1 (MIKBUG) is made for a ACIA (serial) interface at the same address.
MIKBUG will actually read the bits as they arrive and assemble a byte.

Note: All commands must be in uppercase. See the SWTBUG manual.

B Breakpoint
C Clear screen
D Disk boot
E End of tape
F Find a byte
G Goto
J Jump
L Ascii Load
M Memory change (enter to quit, - to display next byte)
O Optional Port
P Ascii Punch
R Register dump
Z Goto Prom (0xC000)



Emulates four different fixed combinations of hardware
1. swtpc09
Will boot Flex operating system
2. swtpc09i
Will boot Flex operating system
3. swtpc09u
Will boot UniFlex operating system
4. swtpc09d3
Will boot UniFlex operating system


Tavernier CPU09 and IVG09 (Realisez votre ordinateur individuel)

CPU09 includes 6809, 6821, 6840, 6850, cassette, rs232
IVG09 includes 6845, another 6821, beeper
IFD09 includes WD1795

List of commands (must be in UPPERCASE):
A -
B -
C -
D - Dump memory (^X to break)
G -
I -
L - Load cassette
M -
N -
O -
P - Save cassette
Q -
R - Display/Alter Registers
S -
T -
U -
V -
W -
X - 'erreur de chargement dos'
Y -
Z - more scan lines per row (cursor is bigger)



The TEC-1 was a single-board "computer" described in Talking Electronics
magazine, issues number 10 and 11. Talking Electronics do not have dates on
their issues, so the date is uncertain, although 1984 seems a reasonable
guess. Talking Electronics operated from Cheltenham, a suburb of Melbourne.

The hardware is quite simple, consisting of a Z80 cpu, 2x 8212 8-bit latch,
74C923 keyboard scanner, 20 push-button keys, 6-digit LED display, a speaker,
a 2k EPROM and sundry parts.

The cpu speed could be adjusted by using a potentiometer, the range being
250 kHz to 2MHz. This is a simple method of adjusting a game's difficulty.

0-F : as is
+ (inc) : ^
- (dec) : V
AD : -
GO : X

0 to 9, A to F are on the key of the same name.
AD (input an address) is the '-' key.
+ and - (increment / decrement address) are the up and down-arrow keys.
GO (execute program at current address) is the X key.
SHIFT - later monitor versions utilised an extra shift button. Hold
it down and press another key (use Left Shift).

Whenever a program listing mentions RESET, do a Soft Reset.

Each key causes a beep to be heard. You may need to press more than once
to get it to register.

Inbuilt games - press the following sequence of keys:
- Welcome: RESET D 1 + 0 2 AD 0 2 7 0 GO GO (Paste: D1^02 -0270XX)
- Nim: RESET AD 3 E 0 GO GO (Paste: -3E0XX)
- Invaders: RESET AD 3 2 0 GO GO (Paste: -320XX)
- Luna Lander: RESET AD 4 9 0 GO GO (Paste: -490XX)

Differences between tec1 and tecjmon:

On the tec1 a keypress is indicated by an NMI from the 74C923; but on
the jmon it sets bit 6 of port 3 low instead. The NMI code is simply
a 'retn' in the jmon rom, so we can use the same code.
The jmon includes a cassette interface, a serial input connection,
and an optional LCD, but the games of the tec1 have been removed.



TK80 (Training Kit 80) considered to be Japan's first home computer.
It consisted of 25 keys and 8 LED digits, and was programmed in hex.
The Mikrolab is a Russian clone which appears to be almost completely identical.

TK85 seems to be the same as TK80, except is has a larger ROM. No
schematics etc are available. It has 25 keys, so a few aren't defined yet.

ND-80Z : (newer version)
Like the TK85, it has a 2KB rom.

When booted, the system begins at 0000 which is ROM. You need to change the
address to 8000 before entering a program. Here is a test to paste in:
Press the right-arrow to confirm data has been entered.

4 digits at left is the address; 2 digits at right is the data.
As you increment addresses, the middle 2 digits show the previous byte.
You can enter 4 digits, and pressing 'ADRS SET' will transfer this info
to the left, thus setting the address to this value. Press 'WRITE INCR' to
store new data and increment the address. Press 'READ INCR' and 'READ DECR'
to scan through data without updating it. Other keys unknown/not implemented.

- Keys labels are correct, but which key is which is not known
- Character B is corrupt
- Operation is different to the other systems


tm990/189 ("University Module")

The tm990/189 is a simple board built around a tms9980 at 2.0 MHz.
The board features:
* a calculator-like alphanumeric keyboard, a 10-digit 8-segment display,
a sound buzzer and 4 status LEDs
* a 4kb ROM socket (0x3000-0x3fff), and a 2kb ROM socket (0x0800-0x0fff)
* 1kb of RAM expandable to 2kb (0x0000-0x03ff and 0x0400-0x07ff)
* a tms9901 controlling a custom parallel I/O port (available for
* an optional on-board serial interface (either TTY or RS232): TI ROMs
support a terminal connected to this port
* an optional tape interface
* an optional bus extension port for adding additional custom devices (TI
sold a video controller expansion built around a tms9918, which was
supported by University Basic)

One tms9901 is set up so that it handles tms9980 interrupts. The other
tms9901, the tms9902, and extension cards can trigger interrupts on the
interrupt-handling tms9901.

TI sold two ROM sets for this machine: a monitor and assembler ("UNIBUG",
packaged as one 4kb EPROM) and a Basic interpreter ("University BASIC",
packaged as a 4kb and a 2kb EPROM). Users could burn and install custom
ROM sets, too.

This board was sold to universities to learn either assembly language or
BASIC programming.

A few hobbyists may have bought one of these, too. This board can actually
be used as a development kit for the tms9980, but it was not supported as
such (there was no EPROM programmer or mass storage system for the
tm990/189, though you could definitively design your own and attach them to
the extension port).

Bug - The input buffer of character segments isn't fully cleared. If you
press Shift, then Z enough times, garbage appears. This is because
the boot process should have set 18C-1CB to FF, but only sets up to 1B3.

Demo programs for the 990189v: You can get impressive colour displays (with
sprites) from the 4 included demos. Press the Enter key after each instruction,
and wait for the READY prompt before proceeding to the next.

LOADx (where x = 0,1,2,3)

University BASIC fully supports the tms9918 videocard option. For example, enter
COLOR x (where x = 1 to 15), to get a coloured background.


argo, unior


The monitor will only allow certain characters to be typed, thus the
modifier keys appear to do nothing. There is no need to use the enter
key; using spacebar and the correct parameters is enough.

If you press Shift, indicators for numlock and capslock will appear.

Monitor commands for UNIOR and ARGO:
D - hex dump
E - save
H - set register
I - load
J - modify memory
L - list registers


Elektor TV Games Computer
This is much the same as the vc4000, however it has its own ROM (with inbuilt
monitor program similar to the Signetics Instructor 50), and 2K of ram. No cart
slot, no joystick, but has a cassette interface.

When booted you get the familiar 00 00 pattern. Pressing Q gives a display of
IIII. Now, you enter a command.

Key Command Purpose
Q Start Boot up system
L RCAS Load a tape
S WCAS Save a tape
W BP1/2 Set a breakpoint
R REG View/Set registers
+pad + Enter data and do next thing
-pad - Decrement
- MEM Specify an address
0-9 0-9 Hex digits
A-F A-F Hex digits

Keyboard layout when using the Monitor on real hardware (n/a = key not assigned)

Start BP1/2 REG 8 9 A B
n/a PC MEM 4 5 6 7
Reset - + 0 1 2 3

This wouldn't fit too well on our keyboard with any chance of remembering
it, so I've hooked it much the same as the Instructor.

The Select key (Z) and the joystick don't actually exist, but I've left them
in the keyboard matrix for now.

You can load pgm and tvc files with the quickload facility. The quickloads
are meant for the ElektorTVGC, however with a bit a trickery they can be made
to work on the vc4000 as well. Procedure:

- Get a copy of the Elektor bios and rename it to ELEKTOR.BIN then save it
with the rest of your vc4000 carts.

- Start vc4000, and load ELEKTOR.BIN into the cartslot. Now your vc4000
thinks it is an Elektor.

- Load a quickload file. Some of them will work, and in some cases, better
than on the Elektor system.

This system uses the standard trainer paste codes:
0-F : as is
+ : ^
- : V
MEM : -

Here's a sample from the manual, page 34/35 (down-arrow to escape)

Another sample, from page 94 (Q to escape)



0-F : as is
A+ : ^
A- : V
MA : -
GO : X

When booted, the system begins at 0000 which is ROM. You need to change the
address to 0400 before entering a program. Here is a test to paste in:
Press the up-arrow to confirm data has been entered.

4 digits at left is the address; 2 digits at right is the data.
As you increment addresses, the middle 2 digits show the previous byte.
You can enter 4 digits, and pressing 'MA' will transfer this info
to the left, thus setting the address to this value. Press 'A+' to
store new data and increment the address.


Z80 dev board (unknown)

0-F : as is
MEM (inc) : ^
MEM (dec) : V
GO : X
To set an address, paste R0 address, so R01040 to select 1040

Example paste: R01040^11^22^33^44^55^66^77^88^99^^R01040^
Press the up-arrow key to confirm data has been entered.


Zenith Z-100

Press H to list all the commands.



The 8x4 keyboard contains letters A-W, enter, cursor right/left, space, and
4 shift keys.
S1 - X-Z, numbers
S2 - a-w
S3 - x-z, punctuation
S4 - control keys

Control Keys:
G - Graphics
A - Alpha
T - clear screen
U - enter
P - cursor left
Q - cursor right

Monitor commands (debug)
R - registers
B - breakpoint
E - execute
G - resume after breakpoint
N - single-step

Monitor commands (general)
H - switch to hex keyboard (H to Q become 0 to 9)
A - switch back to normal alpha keyboard
C - Compare memory blocks
D - Dump memory
F - Find bytes in memory
T - Copy memory block
M - Modify bytes (; to exit)
I - reboot
J - Jump to address
K - Fill memory (K by itself fills all of memory)
L - Load Cassette
S - Save Cassette
W - window (example: W EF00 EFFF)

Due to no input checking, misuse of commands can crash the system.


Robotron Z9001 (KC85/1)

The only kind of acceptable input is a filename that is in 8.3 format and
begins with a letter. It will say 'start tape'. You can press ^C here to
escape, or any key to continue.

Some other control keys:
^B clear input line
^C break
^F toggle flashing attribute
^H backspace
^L clear screen



Make sure 'mode' dipswitch is set to 'local' so you can see your typing.


Digital Microsystems ZSBC-3

Monitor commands: [] indicates optional

Bx = Boot from device x (0 to 7)
Dx [y] = Dump memory (hex and ascii) in range x [to y]
Fx y z = Fill memory x to y with z
Gx = Execute program at address x
Ix = Display IN of port x
Ox y = Output y to port x
Sx = Enter memory editing mode, press enter for next address
Mx y = unknown (affects memory)
Tx = unknown (does strange things)
enter = dump memory from 9000 to 907F (why?)


Entire thread
Subject Posted by Posted on
* MESS-based things for Gameinit.dat Robbbert 04/03/16 07:56 AM
. * MESS-based things for Gameinit.dat pt 5 Robbbert  04/03/16 08:56 AM
. * MESS-based things for Gameinit.dat pt 4 Robbbert  04/03/16 08:47 AM
. * MESS-based things for Gameinit.dat pt 3 Robbbert  04/03/16 08:39 AM
. * MESS-based things for Gameinit.dat pt 2 Robbbert  04/03/16 08:24 AM
. * MESS-based things for Gameinit.dat pt 1 Robbbert  04/03/16 08:13 AM
. * Re: MESS-based things for Gameinit.dat AntoPISAModerator  04/03/16 08:11 AM
. * Re: MESS-based things for Gameinit.dat Robbbert  04/03/16 09:04 AM
. * Re: MESS-based things for Gameinit.dat AntoPISAModerator  04/03/16 04:35 PM
. * Re: MESS-based things for Gameinit.dat Robbbert  04/03/16 06:34 PM
. * Re: MESS-based things for Gameinit.dat Robbbert  07/17/16 08:02 AM
. * Re: MESS-based things for Gameinit.dat AntoPISAModerator  07/18/16 01:29 PM
. * Re: MESS-based things for Gameinit.dat AntoPISAModerator  04/03/16 09:22 AM

Extra information Permissions
Moderator:  AntoPISA 
0 registered and 3 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 4047