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

📄 aehowto.txt

📁 hao
💻 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.30

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

                             February 8, 1997


   THIS DOCUMENT, "The Arcade Emultion HowTo", AND THE INFORMATION CONTAINED
   HEREIN IS COPYRIGHT MICHAEL ADCOCK AND THE RESPECTIVE AUTHORS (AS NOTED
   IN THIS DOCUMENT).

   YOU MAY DISTRIBUTE THIS DOCUMENT FREELY, AS LONG AS THERE IS NO MONEY
   CHARGED FOR THE MEDIA THAT IT IS PLACED ON, AND THE ENTIRE DOCUMENT IS
   *NOT* ALTERED IN ANY WAY.

   IF ANYONE IS INTERESTED IN PUBLISHING THIS DOCUMENT FOR SALE, YOU *MUST*
   GET PERMISSION FROM MICHAEL ADCOCK AND THE RESPECTIVE AUTHORS (AS NOTED
   IN THIS DOCUMENT).

--------------------------------------------------------------------
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
--------------------------------------------------------------------

   - Removed 'Help Wanted' section
   - Merged 'Memory Maps' and 'Game Bits' into new section -- 'Game Data'
   - Removed 'List of Emulator Authors' and re-orderd the rest of section 'R'
   - Lots of changes and additions to various sections, check the *'d
     sections below...
   - Sections you don't want to miss:
     - D.21.3  -- Sound information for Space Invaders...
     - S.1.6   -- How to get some sound running in Phoenix!
     - S.3     -- How to make a memory map!  (general)
     - S.4     -- How to make a memory map!  (Moon Cresta example)

   Remember the PacMan Fever song? Whether you do or not, you *MUST* check
   out the following: http://www.geocities.com/Vienna/4585/pacman.ra

--------------------------------------
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 some step by step tutorials, 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,
   or you find errors, then please email adcock@menudo.uh.edu !

--------------------------------------------
.d88b              w                w
8P    .d8b. 8d8b. w8ww .d88b 8d8b. w8ww d88b
8b    8' .8 8P Y8  8   8.dP' 8P Y8  8   `Yb.
`Y88P `Y8P' 8   8  Y8P `Y88P 8   8  Y8P Y88P
--------------------------------------------
   
 * What's New?
   -----------

 * Purpose
   -------

 * Contents
   --------

 * Thanks To...
   ------------

 * 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.1.3  Should I try to learn the assembly of the target platform?
 * Q.4.1.4  How did games with multiple CPUs work?
   Q.4.2    Should I use CPU emulation code that is freely available?
 * Q.4.2.1  Where can I find freely available source code?
 * Q.4.2.2  How do I install DJGPP and Allegro taking only *limited* space?
   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, pinouts, and schematics?
 * 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?

 * Game Data
   ---------
 * D.0   What is this section about anyway?
 * D.1   Astro Blaster
   D.2   Commando
 * D.3   Crazy Climber
 * D.3.1    Video
 * D.3.1.1  Palette
 * D.3.2    Sound
 * D.3.3    Other Details
 * D.3.4    Memory Map
 * D.3.5    Decrypting the ROMs
 * D.3.6    Miscellaneous Information
 * D.3.7    Different Versions, and Extra Credit(s)
   D.4   Crush Roller
   D.5   Dig Dug
   D.6   Gyruss
   D.7   I, Robot
   D.8   Juno First
 * D.9   Kung Fu Master
 * D.9.1    Background Graphics
 * D.9.2    Sprites
 * D.10  MCRII / MCRIII
 * D.11  Moon Cresta
   D.12  Ms. PacMan / PacMan
   D.12.1   ROM Files
   D.12.2   Memory Layout
   D.12.3   Memory Mapped Ports
   D.12.4   OUT ports
   D.12.5   Character Sets
   D.12.5.1 Pascal Source (ZIPed an UUencoded)
   D.12.6   Ms. PacMan ROMs are identical to PacMan?
 * D.13  Naughty Boy
 * D.14  New Zealand Story
   D.15  Penia
   D.16  Phoenix
   D.16.1   Components
   D.16.2   Functionality
   D.16.3   Colors
   D.16.4   Memory Map
 * D.17  R-Type
   D.18  Sega System 16 Games
   D.18.1   Hardware Information
   D.18.2   Memory Map
   D.18.3   Scroll Video RAM
   D.18.4   Fixed Video RAM
   D.18.5   Color Video RAM
   D.18.6   Main RAM
   D.18.7   Video Registers
   D.18.8   I/O Registers
   D.18.9   ROM Files
   D.18.10  Graphics Formats
   D.18.11  Sega GFX Viewer V1.0 Source Code (ZIPed an UUencoded)
   D.19  Sega Vector (Converta) Games
   D.19.1   Components
   D.19.2   Memory Map
   D.19.3   I/O Inputs
   D.19.4   I/O Outputs
   D.19.5   Vector Processor
 * D.20  Side Arms
   D.21  Space Invaders
   D.21.1   Board Spec
 * D.21.2   Memory Map
 * D.21.3   Sound Information
   D.22  Star Wars
   D.23  Tapper
   D.24  Toki
 * D.25  Turbo
   D.26  Tutankham

   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

 * 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.1.6    Sound emulation...
   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   
 * S.3   Step-by-Step discussion of how to make a memory map
 * S.3.1    Memory Maps:  The toolbox

⌨️ 快捷键说明

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