Advertisement
Emulation
I have always been fascinated by emulators and there are plenty on net to try out. This page contains links to some good emulator resources on the net, and will contain some of the emulators and utilities that I am working on myself. It also contains information and links on emulator programming.
General Emulation Links
This site contains a very comprehensive archive of pretty much any emulator you would want.
Video Game Emulation for Newbies
Retrogames
This site is long defunct but still online. The message board still provides an interesting look into the early days of emulation.
General Emulator Programming Info
Marat wrote the original Gameboy and Colecovision emulators and also wrote emulators for the MSX, NES and Sega Master System. You will also find source code for his generic 6502 and Z80 emulators on this page. He also has a good 'Emulator Programming How-To' here.
Arcade Emulation How-ToThis an excellent document on emulator programming. It is geared towards arcade emulation but the info can be applied to almost any emulator. The documents even contains step-by-step instructions on how to write an emulator for the arcade game Phoenix.
Emulator Source Code
The following emulator come with source
code that you can look at to see how things are done:
fMSX: MSX
computer emulator by Marat Fayzullin.
Colem: Colecovision
emulator by Marat Fayzullin.
Master Gear:
Sega Master System emulator by Marat Fayzullin.
ACE:
Atari 8-bit computer emulator.
Atari800:
Atari 8-bit computer emulator by Dave Firth.
StonX:
Atari ST emulator by Marinos Yannikos and Martin D. Griffiths.
MAME: Multiple Arcade
Machine Emulator by Nicola Salmoria and MANY others.
Emulation Articles
"Emulating Pong" by Daniel Boris: This is an article I wrote to help answer the question "Why hasn't Pong been emulated yet?".
Converting Schematics to an Emulator V1.2 by Daniel Boris: I got the idea for this document while answering a message to someone about the game Zarzon. I decided this game would be a good example of how to determine a memory map from schematics. The newest version of this document has a few mistakes fixed and now has a section on the video circuitry.
Emulating Games - Getting Started (v0.01a) by Kevin Brisley: An incomplete document from 1997 about the basics of writing an emulator. It's a little out of date but to write MAME drivers. There wasn't any documentation available except for the source code itself, so I finally sat down and wrote one. These are a little out of date but they are still a good starting point.
Volume 1: Data Structures: This volume summaries the data structures that make up a MAME driver. It takes the game Zarzon as an example and describes the function of each line in each structure. This is by no means a comprehensive guide to how MAME drivers work, but it does present the basics.
Volume 2: Vidhrdw.c: This volume describes how the video hardware section of a MAME driver works.
My Emulators
Virtual Super System: This is my Atari 5200 emulator
6502sim: This is a generic 6502 simulator that I wrote.
O2em: This is my Phillips/Magnavox Odyssey 2 emulator.
Cloak and Dag-ulator V0.60 (Atari Cloak and Dagger arcade emulator)
Cloak and Dagger was a somewhat obscure arcade game put out Atari in 1983. It was originally released under the title Agent X, but was renamed to tie it in with the movie "Cloak and Dagger" which features the game supposedly being played on a 5200. The game that you see in the movie is the arcade game wired up to a TV so it looks like it was running on the 5200. The 5200 version was started, but never finished so there are no home versions of Cloak and Dagger. For more information on this check out the Atari Protos
I am not doing any further development on Cloak and Dagger since it has been incorporated into MAME, and currently works better there. I have left the source here for educational purposes. It can be compiled with DJGPP and Allegro.
To download Cloak and Dag-ulator 0.60 Source click here