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
        
           
            - Emu Express
- This is one of my favorite overall emulation sites. 
 
            - JoseQ's EmuViews
- This site has very in depth news stories as well as interviews 
              and downloads.
 
            - Retrogames
- Another excellent site for up to date emulator news and discussion.
-  
- Emu Unlim
- Yet another good general emulation site.
 
        
        General Emulator Programming Info
        Marat Fayzullin's 
          Emulation Page: 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-To: 
          This is the best document on emulator programming that I have found. 
          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.
         
        Neil 
          Bradley's ASM CPU Cores: This FTP site contains Neil's publicity 
          available ASM CPU cores for 6502, Z80, 6808 and 6809.
        Larry 
          Bank's Code Corner: Here you will find a series of excellent 
          articles on different aspects of emulator programing written by the 
          author of the emulator Cage.
        EMUL8 Homepage: 
          EMUL8 is a hompage and mailing list for people who are interested 
          in learning how to program emulators. 
        
        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.
        NES, 
          TRS80, VIC20, Atari 2600, Gameboy: All by Paul Robson and all with 
          source code.
        MESS: Multiple 
          Emulator Super System.: This is a multi console/computer emulator based 
          on the MAME source. It currently supports Atari 8bit, Atari 5200, NES, 
          Genesis, TRS80, Colour Genie, Apple II, Astrocade, Kaypro, SMS, and 
          Vectrex, with more to come.
        
        Tech Info
        The hardest part of writing an emulator IMHO is finding 
          accurate technical info on the system you want to emulate. Here are 
          some sites that might help:
        Video 
          Arcade Collectors's Archive: Schematics, memory maps and tech info 
          on various arcade games.
        Jeff Frohwein's GameBoy 
          Tech Page: Gameboy info.
        TurboGrafx 
          16 Internals: TG16 info. 
        The Classic 
          Gaming Tech Homepage: Atari 2600 and NES info.
        The 
          Unofficial Nintendo Virtual Boy Homepage: Virtual Boy info.
        The 
          Jaguar Underground Documentation: Atari Jaguar info.
        Emulation Programmers 
          Resource: This is an excellent site with tech info on a wide range 
          of systems.
        
        Emulation Articles
        "How Do I Write an Emulator?" 
          Vol. 1 by Daniel Boris: This is  a document I wrote to help 
          answer the question of the title. I discusses the basics of microprocessor 
          based hardware which is an important prerequisite for understand how 
          emulators work. It the covers the basics of CPU and memory emulation.
        "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 
          still has some good information. 
        A Guide to MAME Drivers
        I have seen a lot of people looking for a document on 
          how 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.
        
        Recompilation Info
        Recompilation is an alternate way of handling emulation, 
          as opposed to the more common interpreter type emulators. Here are some 
          links to information on various recompilation techniques.
        Dynarec.com: A 
          site created by Neil Bradley to house information on dynamic recompilation
        Executor White Papers: 
          Executor is a commercial Apple Macintosh emulator for the PC. It 
          uses recompilation, which means it converts the 68000 code into 80x86 
          code and then executes the native code. There are 2 white papers on 
          their site that discuss how this emulator works.
         
        Binary 
          Translation Resources
        
        Message Boards
        If you are looking for a place to discuss emulator programming 
          check out these Emulator Programming Boards. They tend to not be to 
          busy, but I try to check them on a regular basis.
        Retrogames
        
        My Emulators 
        (I have moved all these from this page to their respective 
          pages)
        Virtual VCS: This is my MSDOS 
          port of the Atari 2600 emulator x2600.
        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 Cloak and Dagger Inside 
          Story.
        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