This is my WIP (work-in-progress) page for the Z80 CPU emulation. I rewrote the emulation from scratch - once again - based on my previous work and that of several people to the MAME project.
The archive below contains, besides the Z80 core, two machine emulations for the Tandy Radio Shack® TRS-80 and the EACA Colour Genie EG2000.
I used to write Colour Genie games for Trommeschlaeger Computer GmbH (aka TCS) for a living *cough* in the years 1982 to 1984. Now wrote this piece of code to be able to run that old stuff of mine - and others - trying to keep the memories alive.
You'll need GNU C and the SDL library to build the
binaries from the source archive below. You'll also need some binary
images of cassettes and/or floppy disks to run, unless you intend to
write your own code in BASIC or even Z80 machine code :-)
The startup screen of the EG2000 with Colour DOS asking for how many files you want to manage at once.
Starting to load the cassette image chop83.cas, which is a copy of a game I wrote in 1983, using the Colour Basic's SYSTEM command.
The first part, my protection loader is loaded and now the system is reading the encrypted *cough* second part. There isn't much to it, just an XOR with 0xf9 and a fixed block format.
Hmm.. it looks as if my very own copy protection slaps me in the face now. The screen should certainly look different. Fortunately there are other versions, without copy protection, on the disk images.
Uh! Gotcha. The problem was due to the timeout when the cassette simulation restarts a cassette file from the beginning. The time after the loader was loaded and until the next sync header came in was too long. Now it loads again in all its glory.
And this is how the game looks like in the emulator. You can scale it to any size and the emulator has buttons to scale to 2x2, 3x3 or 4x4 pixels per original pixel. Don't you agree that screen resolutions have changed quite a bit?
Just in case you want to see me failing to successfully solve level 1 of my 25 year old game, and in case you own or download a media player capable of playing Mings (MNG multiple-network-graphics), here's a 8.2MB session video of the 16K disk version of Chopper. I remember that I used to fly through the mazes in the word's sense because I had to test run this thing for literally hundreds of flights.
In 1997 Burkhard Lehner and Stephan Scholz wrote ColorEmu and released their version 3.0 together with some software archives. Their homepage at the Kaiserslautern university is long gone. I dug those out from old archives of mine and from the http://archive.org pages. The CAS files contained in the software archives can be loaded with my emulator, too. Just put them in the cgenie/cas directory.
ColEmu-3.0 (DOS), 1997 by Burkhard Lehner and Stephan Scholz
). He spent a lot of time on disassembling the entire 16K ROM of Z80 code and I just now stumbled across his work when I cleaned up my src tree. Thanks man!
I
now integrated his work into a file format that the Z80 disassembler
uses to disassemble code, bytes, words, or ASCII data and to prepend
comments to blocks of output and/or at the end of a line. The file
format is simple: every line contains an address or an asterisk as a
continuation character in the first column. The second column contains
the type of the address (one of code, bytes, words, ascii, or space)
and the third column contains a comment. If the comment begins with an
semicolon, it is prepended to the code or data block in the first
column (i.e. a block comment). Without a semicolon the comment is
appended after the disassembled line.
)
is very similiar to the original documented listing, except for some
minor differences and formatting issues. I'm currently disassembling
and commenting the Colour DOS extension (8K), which is contained in the
same *.def file for now.