⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aehowto.txt

📁 This document is designed to aid anyone considering whether to write an emulator for an arcade gam
💻 TXT
📖 第 1 页 / 共 5 页
字号:
                  d8888                               888          
                 d88888                               888          
                d88P888                               888          
               d88P 888 888d888 .d8888b  8888b.   .d88888  .d88b.  
              d88P  888 888P"  d88P"        "88b d88" 888 d8P  Y8b 
             d88P   888 888    888      .d888888 888  888 88888888 
            d8888888888 888    Y88b.    888  888 Y88b 888 Y8b.     
           d88P     888 888     "Y8888P "Y888888  "Y88888  "Y8888  
                                                        
                                                        
8888888888                        888          888    d8b                   
888                               888          888    Y8P                   
888                               888          888                          
8888888    88888b.d88b.  888  888 888  8888b.  888888 888  .d88b.  88888b.  
888        888 "888 "88b 888  888 888     "88b 888    888 d88""88b 888 "88b 
888        888  888  888 888  888 888 .d888888 888    888 888  888 888  888 
888        888  888  888 Y88b 888 888 888  888 Y88b.  888 Y88..88P 888  888 
8888888888 888  888  888  "Y88888 888 "Y888888  "Y888 888  "Y88P"  888  888 
                                                                            
                                                                            
          888    888                             88888888888       
          888    888                                 888           
          888    888                                 888           
          8888888888  .d88b.  888  888  888          888   .d88b.  
          888    888 d88""88b 888  888  888          888  d88""88b 
          888    888 888  888 888  888  888 888888   888  888  888 
          888    888 Y88..88P Y88b 888 d88P          888  Y88..88P 
          888    888  "Y88P"   "Y8888888P"           888   "Y88P"  


                               Version 0.25

                        Compiled by Michael Adcock
                        email: adcock@menudo.uh.edu

                             January 7, 1997

--------------------------------------------------------------------
Yb        dP 8           w    w                                dP"Yb
 Yb  db  dP  8d8b. .d88 w8ww ." d88b    8d8b. .d88b Yb  db  dP "  d8
  YbdPYbdP   8P Y8 8  8  8      `Yb.    8P Y8 8.dP'  YbdPYbdP    dP
   YP  YP    8   8 `Y88  Y8P    Y88P    8   8 `Y88P   YP  YP     w
--------------------------------------------------------------------

   - Updated Q.2
   - Added M.1, M.1.1, M.1.2, M.1.3, M.1.4  (Crazy Climber)
   - Updated M.5, M.5.2 and added M.5.8, M.5.11  (Sega System 16)
   - Added B.2, B.3.1, B.6, B.8, B.9, B.12, B.14  (Lot's of bits and things)
   - Added S.2, S.2.1, S.2.2, S.2.3, S.2.4  (Space Invaders step-by-step)
   - Updated R.1  (Emulator updates!)
   - Updated R.5  (Game listing updates!)

--------------------------------------
888b.
8  .8 8   8 8d8b 88b. .d8b. d88b .d88b
8wwP' 8b d8 8P   8  8 8' .8 `Yb. 8.dP'
8     `Y8P8 8    88P' `Y8P' Y88P `Y88P
                 8
--------------------------------------

   This document is designed to aid anyone considering whether to write an
   emulator for an arcade game machine. It will attempt to answer frequently
   asked questions, give a step by step tutorial, and provide the resources
   necessary for a capable programmer to begin work on an emulator for an
   arcade game.

   Please note that although some of the information provided is generic
   enough to apply to emulation of any system, the primary focus of this
   document, and the resources provided, is arcade game emulation.

   This document contains no information about the commercial emulation
   packages that are available.

   If you have any information that should be added to this document,
   then please email adcock@menudo.uh.edu or moose@rocknet.net.au !

   Table of Contents:

   Q and A
   -------
   Q.0   Trying to write an arcade emulator is crazy, isn't it?
   Q.1   Which game would you recommend starting on?
   Q.1.1    Which games are 'easiest' to emulate?
   Q.1.2    Which games have the most available documentation?
 * Q.2   How do I START?
   Q.3   What language should I use?
   Q.3.1    Do I *have* to use Assembly?
   Q.3.1.1  Are you SURE about this Assembly business?  :)
   Q.3.1.2  Doesn't the choice of language depend on the target game/system?
   Q.3.1.3  What about portability?
   Q.3.2    But haven't some arcade emulators been written in C/C++?
   Q.3.3    What about Java?
   Q.4   Could you explain CPU emulation?
   Q.4.1    CPU emulation sounds VERY complicated, how should I START?
   Q.4.1.1  Is the 68k series of processors 'easy' to emulate on PCs?
   Q.4.1.2  Why were only a handful of processors used in arcade games?
   Q.4.2    Should I use CPU emulation code that is freely available?
   Q.4.3    How do the CPU and ROMs interact?
   Q.4.4    How should I handle CPU opcodes?
   Q.4.5    What is Pokey?
   Q.4.6    What is Slapstic?
   Q.4.7    What about translation?
   Q.4.8    Is there anything else I should know about CPU emulation?
   Q.5   How useful are the switch settings and pinouts?
   Q.6   How do I produce a memory map?
   Q.7   How can I find what processor(s) the game uses?
   Q.7.1    Where can I find information for a specific processor?
   Q.8   Where might I find the ROMs?
   Q.8.1    How do I disassemble the ROMs?
   Q.8.2    How do I decode data from the ROMs?
   Q.9   Should the sound be emulated or should samples be used?
   Q.9.1    What about legal issues? Are samples copyrighted?
   Q.9.2    What is the difference between a speech synthesizer and a
            sample playback device?
   Q.9.3    What was used in Williams Arcade Classics? (It sounds good!)
   Q.9.4    Why is sound so *hard* to emulate?
   Q.10  Where can I find other documentation for the game?
   Q.10.1   What about schematics for the game?
   Q.11  How might I contact someone who owns the machine hardware?
   Q.11.1   Todd Krueger's offer to help
   Q.12  Where can I find general descriptions of arcade games?
   Q.13  Did other emulator authors keep any notes while they were working?
   Q.14  Where can I find more information on the internet and WWW?
   Q.15  Should I release my source code when I'm finished?
   
   Memory Maps
   -----------
 * M.1   Crazy Climber
 * M.1.1    Video
 * M.1.2    Sound
 * M.1.3    Other Details
 * M.1.4    Memory Map
   M.2   Dig Dug
   M.2.1    Memory Map
   M.3   Ms. PacMan / PacMan
   M.3.1    ROM Files
   M.3.2    Memory Layout
   M.3.3    Memory Mapped Ports
   M.3.4    OUT ports
   M.3.5    Character Sets
   M.3.5.1  Pascal Source (ZIPed an UUencoded)
   M.3.6    Ms. PacMan ROMs are identical to PacMan?
   M.4   Phoenix
   M.4.1    Components
   M.4.2    Functionality
   M.4.3    Colors
   M.4.4    Memory Map
 * M.5   Sega System 16 Games
   M.5.1    Hardware Information
 * M.5.2    Memory Map
   M.5.3    Scroll Video RAM
   M.5.4    Fixed Video RAM
   M.5.5    Color Video RAM
   M.5.6    Main RAM
   M.5.7    Video Registers
 * M.5.8    I/O Registers
   M.5.9    ROM Files
   M.5.10   Graphics Formats
 * M.5.11   Sega GFX Viewer V1.0 Source Code (ZIPed an UUencoded)
   M.6   Sega Vector (Converta) Games
   M.6.1    Components
   M.6.2    Memory Map
   M.6.3    I/O Inputs
   M.6.4    I/O Outputs
   M.6.5    Vector Processor
   M.7   Space Invaders
   M.7.1    Board Spec
   M.7.2    Memory Map

   Graphics Hacking
   ----------------
   G.1   Who wrote this section?
   G.2   Introduction
   G.3   Location of Graphics in Specific Game ROMs
   G.4   General Information
   G.4.1    Pixel Layout
   G.5   Notes and Requests
   G.6   Mode Q (256x256x256) Source Code (ZIPed an UUencoded)

   Pokey
   -----
   P.1   Who wrote this description?
   P.2   You mean Pokey isn't just that guy that hangs around with Gumby?
   P.3   Where did they come up with a name like Pokey?
   P.4   General Description
   P.5   Technical Description
   P.5.1    Pin-outs
   P.5.2    Address Lines
   P.6   Where can I find source code and more info. for Pokey emulation?
   P.7   Finding and using *real* Pokeys

   AY-3-8910
   ---------
   A.1   Who wrote this description?
   A.2   Introduction and Disclaimer From Original Document
   A.3   Technical Information

   Game Bits
   ---------
   B.1   What is this section about anyway?
 * B.2   Commando [provided by edoardo (gambare@iol.it)]
   B.3   Crazy Climber [provided by Vince Mayo (14u2c@diamond.nb.net)]
 * B.3.1    Decrypting the ROMs by Lionel Theunissen (lionelth@ozemail.com.au)
   B.4   Crush Roller [provided by Vince Mayo (14u2c@diamond.nb.net)]
   B.5   Gyruss [provided by Mike Cuddy <mcuddy@scitexdv.com>]
 * B.6   I, Robot [provided by John Manfreda (jmanfred@fh.us.bosch.com)]
   B.7   Juno First [provided by Mike Perry (mj-perry@uiuc.edu)]
 * B.8   Penia [provided by Perry McFarlane (ce596@torfree.net)]
 * B.9   Space Invaders [provided by John Manfreda (jmanfred@fh.us.bosch.com)]
   B.10  Star Wars [provided by Peter McDermott]
   B.11  Tapper [provided by Clay Cowgill (clay@supra.com)]
 * B.12  Toki [provided by David Winter (winter@worldnet.net)]
   B.13  Turbo [provided by Patrick J. O'Reilly (oreillyp@execpc.com)] 
 * B.14  Tutankham [provided by Moose O' Malley (moose@rocknet.net.au)]

   Step-by-Step
   ------------
   S.1   Step-by-step implementation of an emulator for Phoenix
   S.1.1    Part I: Pre-coding
   S.1.2    Part II: Low/High Endian
   S.1.3    Part III: Let's start coding!
   S.1.4    Part IV: Run it!
   S.1.5    Part V: To be continued...
 * S.2   Step-by-step discussion of an emulator for Space Invaders
 * S.2.1    My Background
 * S.2.2    Getting started
 * S.2.3    Disassemblers
 * S.2.4    Space Invaders Specifics   
   
   References
   ----------
 * R.1   List of Emulator Authors
   R.2   List of Currently Emulated Games
   R.3   List of Games People Want to See Emulated
   R.4   Internet Resources
   R.4.1    WWW Resources
   R.4.1.1  General Arcade Emulation Links
   R.4.1.2  ROM Images
   R.4.1.3  Processor Information
   R.4.1.4  Schematics
   R.4.1.5  Miscellaneous Information
   R.4.2    FTP Resources
   R.4.3    FSP Resources
   R.5   List of Arcade Games
   
-----------------------------------------------------
88888 8                8            88888
  8   8d8b. .d88 8d8b. 8.dP d88b      8   .d8b.
  8   8P Y8 8  8 8P Y8 88b  `Yb.      8   8' .8
  8   8   8 `Y88 8   8 8 Yb Y88P      8   `Y8P' o o o
-----------------------------------------------------

   - Suzanne Archibald (suzanne@crysalis.com)
   - Neil Bradley (neil@synthcom.com)
   - Don Carmical (dcarmical@tri-lakes.net)
   - Clay Cowgill (clay@supra.com)
   - Mike Cuddy (mcuddy@scitexdv.com)
   - Jim Dankiewicz (james.dankiewicz@resnet.ucsb.edu)
   - Laurent Desnogues (desnogue@aiguemarine.unice.fr)
   - Bryan Edewaard
   - Chris Hardy (chrish@kcbbs.gen.nz)
   - Ed Henciak (ethst3@pitt.edu)
   - Joe Husosky (scubajoe@ix.netcom.com)
   - Paul Kahler (phkahler@oakland.edu)
   - Ralph Kimmlingen (ub2f@rz.uni-karlsruhe.de)
   - Thierry Lescot (ShinobiZ@mygale.org)
   - Moose O' Malley (moose@rocknet.net.au)
   - Alan J McCormick (gonzothegreat@juno.com)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -