Paul McGunnigle's Emulation Homepage

Paul McGunnigle's Guide to Emulation
version 0.9995 (13/3/99)

[Intro] [Roms] [Legal] [Shareware] [System] [Emulated?] [More Info]

This is intended as a guide to the emulation scene, so if you are a newbie,
or are having some problems, give this a decent read.

Introduction
An emulator is a program which enables you to run software for a machine which has non-native hardware and a non-native operating system, on your computer. We use software emulation, meaning that no extra or special hardware is needed to do this. The hardware is emulated accurately, so that the software is tricked into thinking it is running on the real thing, with your computer's display, keyboard, harddisk and mouse taking the parts of their emulated counterparts.

There are various emulators around, a good example would be the Nintendo Gameboy emulator VGB, this emulator allows your home PC equiped with MS-DOS to run Nintendo Gameboy games perfectly, with full sound and joystick support. To run these games, you firstly need to transfer the game on the cartridge to a file on your PC (called a ROM image). You probably cant get your Nintendo Gameboy attached to your PC and load the game up because the Gameboy was not designed to be attached to your home PC, and the PC wasn't designed to run Nintendo Gameboy games as standard. The games can be transferred, but you don't need to know how to do this just for now...


ROM Image:
A ROM image is the game data files taken off the Tape / Disk / Cartridge.
The file is normally one file with an appropriate filename related to the game and a extension name for each system, "Giana.t64" for Giana Sisters from the C64 Tape, or "Mario.smc" for Mario from the Super Nintendo cartridge (SMC is actually Super Magic Com - a popular console copier).
Arcade ROMS are different, they come in a set of files, with the extension rom, bin or a set of numbers relating to their location. These are placed within a subdirectory inside the emulators directory.

Legal Aspects
Taken from EDGE Magazine Issue 45

The laws regarding emulation are slightly confused, its actually completely legal to write an emulator, but using one muddles the waters somewhat. Naturally, it's illegal to own copies of games, whether on tapes, disks or your PC's hard disk. Nintendo in particular has cracked down hard on Web sites featuring downloadable copies of SNES, NES and Gameboy ROMs, presumably because they can also be used through disk-copying systems to play on the real machines.
The older machines generally fare better - the Oric, Spectrum, Amstrad and Dragon, for example, have had many games officially denoted as public domain by their authors and publishers. And copyright owners for older machines like the Coleco and Atari VCS tend to turn a bind eye, for obvious reasons. (There are a number of exceptions, though, such as a clutch of Coleco games owned by Telegames, which presumably still takes its rights seriously because it still sells retro consoles and software).
Although the matter is still under some debate, it's generally thought legal to play emulated copies of games you legally own, In any case, the people involved in this scene aren't pirates; they're enthusiasts, historians and students. And if the copyright holders of ancient software aren't interested in producing it for the retro market, it would seem pointless vindictive and silly to criticise anyone for bringing these old games back from the dead themselves, purely for the fun of it.


Shareware and freeware:
These emulators come in various forms:

Shareware - The emulator is a commercial product, the version that is released as a demo that you are allowed to test for a limited period (normally 30 days). Most shareware emulators have some sort of feature that is in place to bug you into paying for the full version. Various examples include:
  • A 'Nag' screen on bootup (NoCash Gameboy, Pentium / 586 Owners)
  • Features disabled like Sound & Joystick support (Magic Engine)
  • A timer that stops the emulator working after 21 days (Wingroove)
  • A timer that allows you only 15 mins of use before it quits (Executor)

  • Freeware - The emulator is totally free, this is the best form of emulation! (We are getting close to completely free emulation). These are normally the full versions with no money to pay, the authors sometimes ask for a donation of money or some sort of hardware, but none of this is compulsory and normally wont gain you any extra emulation features but is a good way of showing your thanks to the authors concerned.

    Thankfully there are less shareware emulators appearing now, 90% of emulators are now freeware or giftware which is good news for the emulation public.

    System Requirements:
    The system requirements for emulators are high, you have to take into account that emulation is a complex thing to achieve. The requirements are constantly getting changed. Technically, any system can be emulated.. but speed is a consideration. This guide used to ask what speed Nintendo 64 emulation would run at, but UltraHLE shut me up bigtime. Speed varies from system to system, below is a very rough guide, extremly rough & dodgy.. don't go by it.

  • Snes Emulation - Pentium Class CPU (166mhz)
  • Commodore 64 Emulation - Pentium Class CPU (90mhz)
  • Megadrive Emulation - Pentium Class CPU (100mhz)
  • Playstation Emulation Pentium II Class CPU (266mhz+)
  • Nintendo 64 Emulation - Pentium II 400 & Voodoo2 Card

  • These are a minimum realistic requirement, some emulators ask for a high end Pentium II to run at full speed. You can still run the emulators on a lower powered machine, but the frame rate (how many frames are shown compared to original machine) would need to be lowered, and some features (e.g. sound) might have to be disabled. Under Windows 95, larger emulators would like 64mb+ to run at their best.

    If the emulator is programmed in Assembly, then it will be a fast emulator with lower system requirements but most emulators start off in C+ and then later on are converted into assembly.

    DOS4GW, CWSDPMI
    DOS emulators normally use some form of
    DOS4GW, you can use any DOS4GW.EXE, it shouldn't matter as long as the file is reasonably new, but if there isn't one supplied, you can download this one.
    Under DOS, some emulators need CWSDMPI, this is a single exe file. Just place it in the same directory as the program and run before each emulator.

    Microsoft DirectX
    A requirement (for Windows emulators) is Microsoft's DirectX, the newer emulators use Microsoft's DirectX drivers, your best bet would be to have the newest version installed with a fully direct draw complaint video card running, older Windows 3.1 emulators might need the WinG files (even under Windows 95), these are a selection of DLL's that should be placed in your Windows/System directory.

    Memory
    Arcade emulators and NeoGeo emulation seem to be the most hungry emulators, they require quite alot of memrory to load the complete Arcade ROM into memory (the files have to be access instantly like an Arcade ROM Board), with the newer larger games some can need as much as 50mb of memory to load all the files and execute the emulator, expect larger requirements under Windows 9x. Under Windows 9x you can use virtual memory but this is unreliable and can slow the emulator down quite alot.

    SciTech Display Doctor
    This used to be an essential utility for everybody, but the modern range of Video Cards & Monitors can handle the weird resolutions by default. If you have an older Monitor/Video Card setup then download this Univbe accelerator for Video cards, this utility allows you to reach odd video resolutions not normally supported by video cards like 400x300 or 640x350, it also speeds up your graphics and allows you to center all resolutions at various colour depths, its a fantastic utility. A "demo" version is available at their website via their ftp.

    Has system XXX been emulated?:
    Okay, emulation technically has its limits, in theory any machine could be emulated, but at what frame rate and how long would an emulator take to develop? Is it worthwhile?

    I'm not making a list of every emulated system around, just have a look at the top emulation sites and their links for alot of systems. If you cant find an emulator for a system, try waiting, I'm sure somebody will emulate it, or even better, try and write one yourself?


    Where can I get more information?:
    More information is quite easy to come by try each of the following sources:

    Usenet
    New emulators are announced in the newsgroups (mostly), the main emulation related ones include:
  • alt.emulators.classic-arcade
  • comp.emulators.cbm
  • comp.emulators.game-consoles
  • comp.emulators.misc
  • alt.binaries.emulators.gameboy
  • alt.binaries.emulators.misc
  • alt.binaries.emulators.sega
  • Some times decent discussions happen in these newsgroups, they are also useful for getting some questions (reasonable ones) answered, alot of crap is discussed by "lamers" that pray in these area's.

    Web pages
    For the latest Emulation news, visit
    Retrogames @ http://www.retrogames.com
    For a wide and varied selection of emulators try Zophars Domain @ http://www.zophar.net/
    For emulators for your Apple Mac try Emulation.net @ http://www.emulation.net
    There are lots more good emulation sites around, try looking on my Favorites page.

    IRC
    There is a IRC (Internet Relay Chat) channel called #retrogamers, accessed this via EFNet
    You can access this by using mIRC or your own IRC software and connecting to a server close to you, there are loads around the world, to a connection shouldn't be to hard to find.

    Again, beware about asking silly questions like where can I get an XXX emulator? You most likely will be ignored, or banned at worst, (see: Has system XXX been emulated?)


    Taken from Paul McGunnigle's Emulation Homepage - http://madjock.emulationworld.com
    Sends mail to madjock@ukonline.co.uk
    madjock@ukonline.co.uk
    © 1996-2000 Paul McGunnigle - All Rights Reserved.