hn-classics/_stories/1997/8611277.md

5 lines
32 KiB
Markdown
Raw Normal View History

2018-02-23 18:19:40 +00:00
[Source](http://www.atarihq.com/danb/files/eggs001a1.txt "Permalink to ")
Emulating Games - Getting Started (v0.01a) ========================================== Kevin Brisley kevin@isgtec.com http://www.icomm.ca/replay *** *** NOTE: This document is not finished. I started it back in January *** but have just never gotten around to finishing it off (too *** much time spent writing actual emulations :-)) *** *** I may try and complete it sometime in the future but thought *** I would release it now in case it can be of any help to *** anyone in its current form. *** *** Kevin. *** Contents ======== 1\. Change History 2\. Introduction 3\. Document Status/Contributions 4\. Selecting a Game 5\. Development/Target Environment 6\. CPU 7\. Memory Mapping the Code 8\. Reset 9\. Interrupts 10\. Graphics Format 11\. Controls/Switch Settings, etc. A. Useful Sites 1\. Change History ================== +-----------------------+------+----------------------------------------------+ | Date | Ver. | Comments | +-----------------------+------+----------------------------------------------+ | January 19, 1997 | 0.10 | Initial, incomplete draft version. | +-----------------------+------+----------------------------------------------+ 2\. Introduction ================ When I first saw Dave Spicer's arcade emulator, I thought..."Cool, I can play some of my old arcade favourites!". The next thing I thought was..."Hey it would be even cooler to write an emulator." I didn't follow up on the idea right away but after Sergio's Pengo emulator and Emu from Neil I thought that I really should give an arcade emulator a shot. I decided to try and emulate Burgertime first and have learned a lot along the way. The one thing that I noticed that often came up in the arcade emulation scene was requests for details on how to go about creating an emulator. People have asked whether the authors kept detailed notes on the games they've emulated and whether they could provide details on the process they took. Since then there have been numerous sources of information on various aspects of emulator creation ranging from source code from Neil Bradley to the contributors to the emulator repository to the excellent "How-To" provided by Michael Adcock. A lot of the information is concerned with the "results". For example, source code for a 6502...but how do you know if a game uses a 6502 in the first place? Or a memory map for Space Invaders...but how did someone come up with this? What I've provided in this document is a view slightly different from the other information sources available. What you'll find here is a walkthrough of the process I took in figuring out the Burgertime specifications and some notes on how this translates into the creation of my emulator entitled "Replay". It's basically a formatted version of all of my notes from along the way. My hope is that this will complement all of the excellent sources of information that already exist for writing arcade emulators. The great thing about the emulation scene is the willingness of the authors to share the information they've gathered. The more everyone knows, the more games will be emulated. And enjoying all of the old classics is really what it's all about. 3\. Document Status/Contributions ================================= This document is not complete yet and I intend to add more to it as I add things like sound. If you find anything that is misleading or just plain wrong, please let me know and I'll fix it. Also if you have *any* contributions I'll gladly add them with proper credit of course. 4\. Selecting a Game ==================== The first question I asked myself when I decided to write an arcade emulator was "What game should I emulate". I considered the following factors which I believe are pretty good guidelines: Availability \------------ A biggie. What's available for the game. The more the better. At a bare minimum you need ROMs for the game. If they're already available on one of the archive sites then great, otherwise you need to find someone who will dump them for you, or you need to dump them yourself. Without ROMs, it's going to be tough going. The Burg