The Z80 (8-bit microprocessor) source code is provided here, as it was written in 1992 by André Ligthart from the MSX group ANMA, with only the following modifications:
- the source code is now compatible with the Z80 Glass cross-assembler (written in Java).
replayer.asm
(music/sound effect replayer) has been commented extensively.
Because only comments and assembler directives (like DB
) have changed, the resulting binaries are identical to the original binaries (with a few exceptions).
You can see the game in action on this YouTube longplay. If you have build the game, you might need this cheats, because the game is not easy to play. You also might want to read how to play this game.
You need the Java Runtime Environment, because the Z80-assembler glass-0.5.jar
depends on it.
Git is preferred (but optional) to get the files. For example, with popular Linux distributions, you can prepare your system like this:
sudo apt update
sudo apt install openjdk-8-jre
sudo apt install git
If you have git
installed:
git clone https://github.com/stompetower/frantic
If you don't have git
installed: download the .zip
file of this repository (about 35MB) and unpack.
Linux:
cd frantic
chmod u+x make
./make
Windows:
cd frantic
make
A dsk
directory will be created with all the game files (for MSX or emulator).
This game can run within a MSX emulator or on a real MSX-2 (or higher). Insert the (virtual) floppy disk and type:
BLOAD"FRANTIC.LOD",R
For example, you can use the openMSX emulator. This emulator can use a directory with files as if it were a floppy disk (DirAsDisk). This way, you can run the game straight from the generated files in the dsk
directory.
Instead you can also create a frantic.dsk
file (a 720kB virtual floppy disk file). In that case, you need a tool like Disk-Manager.
You need a real MSX-2 (or higher) with a 720kB floppy disk drive. The MSX computer must have at least a 64kB RAM (memory mapper) and 128kB VRAM (which every common MSX-2 or higher will have).
You also need to copy the generated files to a physical 720kB (3.5 inch) floppy disk. This can be done with a tool like Disk-Manager, but you need to have a 3.5 inch floppy disk drive connected to your PC (internal or USB) in order to copy the files.
Instead of running the game by BLOAD"FRANTIC.LOD",R
, you can create an AUTOEXEC.BAS
that will load the game after the MSX (or emulator) is booted (with the game disk inserted).
It will also check if your MSX-2 (or emulator) meets the minimum RAM/VRAM requirements, just like the AUTOEXEC.BAS
of the original game.
Type this using the MSX (or emulator) with the (virtual) game disk inserted:
10 ` FRANTIC v1 - (c)1992 ANMA
20 `
30 SCREEN 0:KEY OFF
40 IF (PEEK(&HFAFC)AND4)=0 THEN 80
50 PRINT"Loading FRANTIC... "
60 BLOAD"FRANTIC.LOD",R
70 CLS:PRINT"No 64 kB memory mapper.":END
80 PRINT"No 128 kB VRAM.":END
SAVE"AUTOEXEC.BAS"
This repository allows you to modify the Z80 logic in any way you like. Changing other content (Jobs, Music, Graphics) is also possible, but is somewhat less straightforward.
Just change any .asm
file in the src
directory and run the make
script again.
See more info in the jobs
directory.
Also look in this directory in case you want to create a modern job / stage editor for Frantic.
See more info in the mus
directory.
See more info in the gfx
directory.
The final files that make up the game:
Filename | Type | Comment |
---|---|---|
FRANTIC.LOD |
Z80 logic | loads other files |
FRANTIC1.BIN |
Z80 logic | intro and story |
FRANTIC2.BIN |
Z80 logic | main game |
FRANTIC3.BIN |
Z80 logic | game ending |
FRANTIC.REP |
Z80 logic | replayer music/sound effects |
FRANTIC1.JOB |
content | Job 1 |
FRANTIC2.JOB |
content | Job 2 |
FRANTIC3.JOB |
content | Job 3 |
FRANTIC4.JOB |
content | Job 4 |
FRANTIC5.JOB |
content | Job 5 |
FRANTIC6.JOB |
content | Job 6 |
FRANTIC1.GRP |
graphics | intro and story (+ intro sprites) |
FRANTIC2.GRP |
graphics | intro and story |
FRANTIC3.GRP |
graphics | general game graphics (+ sprites) |
FRANTIC4.GRP |
graphics | Job 1 |
FRANTIC5.GRP |
graphics | Job 2 |
FRANTIC6.GRP |
graphics | Job 3 |
FRANTIC7.GRP |
graphics | Job 4 |
FRANTIC8.GRP |
graphics | Job 5 |
FRANTIC9.GRP |
graphics | Job 6 |
FRANTICA.GRP |
graphics | ending |
FRANTIC1.MUS |
music | talking Cramp, continue, job finished |
FRANTIC2.MUS |
music | intro / story |
FRANTIC3.MUS |
music | ending |
FRANTIC4.MUS |
music | Job 1 |
FRANTIC5.MUS |
music | Job 1 |
FRANTIC6.MUS |
music | Job 2 |
FRANTIC7.MUS |
music | Job 2 |
FRANTIC8.MUS |
music | Job 3 |
FRANTIC9.MUS |
music | Job 3 |
FRANTICA.MUS |
music | Job 4 |
FRANTICB.MUS |
music | Job 4 |
FRANTICC.MUS |
music | Job 5 |
FRANTICD.MUS |
music | Job 5 |
FRANTICE.MUS |
music | Job 6 |
The game has 6 Jobs (=stages). Each Job has its own graphics and also two songs, except for Job 6 which has one song.
Mozilla Public License 2.0, see the LICENSE file. Contact the owner of this repository (stompetower) if you are restricted by this license.
Thom Zwagers did most of the work for this repository, like reverse-engineering lost source code. He also made the source code suitable for the Glass cross-assembler.
André Ligthart did the documentation and the comments in the replayer.asm
file. ANMA (André Ligthart and Martijn Maatjens) made the original game.
Grauw / Laurens Holst made the Glass cross-assembler used to build the Z80 logic.
This game was released in 1992. It was created using MSX hardware (mainly the Sony HB-F700P). The assembler used was GEN80.COM (version 2.04, HiSoft 1987).
The text editor used was TED (version 2.6 by M.J. Vriend). The graphics editor used was Halos (from Sony).
The music tracker used was ANMA's RED,
which can be downloaded here.
See more about history in the _extra
directory.
Besides the source code (and the necessary game binaries), this repository includes much more you might not expect:
- All jobs / stages extracted as
.png
images. - The FranticMapMaker (C# code) that created these images.
- The map (tiles) part of all Jobs in
.asm
format (alternative to the binary format). - History documents about Frantic.
- The tools and the hardware ANMA used in 1992.
- A manual of the used music tracker RED with a list of all effects.
- The custom build hardware that was used together with the music tracker.
- All music in
.AMU
format that can be edited with the music tracker RED. - All music in readable
.TXT
format. - Info about sprites and where in VRAM the graphics are loaded.