MESS
Een emulator voor de Acorn Atom
Inleiding:
Zo nu en dan probeer ik via een zoekmachine naar
Acorn Atom te zoeken. Ik had weer een nieuwe zoekmachine
gevonden (WWW.GOOGLE.COM) en deze vindt verrassend snel, verrassend
veel verwijzingen. Een van die verwijzingen bleek een nieuwe Acorn
Atom emulator te zijn. De emulator stond in de MESS (Multi Emulator
Super System) pagina en was vrij te downloaden en te gebruiken. MESS
is een afgeleide van MAME (Multi Arcade Machine Emulator), een
project wat al langer loopt. Toen ik MESS ontdekte was de Atom
emulator nog in beta fase en niet te downloaden. Regelmatig ging ik
naar de MESS-site om te kijken of er al nieuwe ontwikkelingen waren
tot het moment dat hij beschikbaar was. Meteen heb ik hem gedownload
(ca. 1.8 mB!!!) en opgestart. Er verscheen inderdaad het bekende Atom
scherm maar verder kreeg ik er niets uit. De emulator moest met
cartridges??? werken maar ik kreeg dit niet aan de gang. Toen heb ik
contact gezocht met een van de programmeurs om uitleg te vragen. Dit
is gelukt.
MAME:
Eerst wil ik nog iets over MAME vertellen (zie ook
het artikel over Frutzels in AN 19-2). MAME is een open
source programma wat wil zeggen dat de source voor iedereen
beschikbaar en aan te passen is. Het MAME-team controleert alleen of
de aangepaste programmatuur nog steeds aan de MAME-doelstellingen
voldoet voordat deze in een nieuwe release beschikbaar wordt. MAME is
eigenlijk ontwikkeld om de oude Arcade games, zoals Donkey Kong,
Pacman en Mr Wiz, weer te laten herleven en voor iedereen beschikbaar
te maken. MAME doet het volgende. Een Arcade machine wordt geheel
softwarematig geemuleerd op de spel-ROMS na. Hierop kan nog copyright
zitten en zijn dus niet vrij beschikbaar. Het voordeel
van MAME iss dat wanneer een bepaald type Arcade machine geemuleerd
wordt er verschillende spellen op werken, mits men een image van de
ROMS heeft. Deze kan men ook via internet downloaden. MAME is
begonnen met het emuleren van een type machine maar al gauw werden er
meerdere machines geemuleerd. Hoeveel er nu geemuleerd worden weet ik
niet precies maar er draaien ca. 2000 spellen op!!
MESS:
MAME mag vrij gedistribueerd worden mits de
originele sourcefiles beschikbaar blijven. Toen is door iemand het
idee opgepakt om niet de Arcade machines maar de homecomputers op
dezelfde manier te emuleren. Het principe van MESS is dan ook
gebaseerd op MAME en emuleert dus de hardware (videoprocessor,
diskcontroler, RAM, ROM, enz) van de homecomputer.
Hoe werkt het:
Van een te emuleren machine wordt gekeken welke
bekende onderdelen er in zitten. Als voorbeeld neem ik de
processor. Deze zal waarschijnlijk in meerdere systemen voorkomen en
wanneer men dus een universele processor-engine schrijft, is dezelfde
engine voor meerdere systemen te gebruiken zonder dat iedere keer
weer de code opnieuw geschreven moet worden. Je ziet dan ook een
bibliotheek van diverse engines, bv. 6502 processor, 68000 processor,
6845 videoprocessor, 1770 discontroler, 8271 disccontroler, enz. Het
geheim zit hem in het stukje software wat al deze drivers aan elkaar
koppelt, de machine engine. Dit maakt het verschil in de
verschillende homecomputers. Bv. Een 6847 zit zowel in een Dragon als
in de Acorn Atom. De werking is dus hetzelfde maar de adressering is
verschillend en dit wordt in de machine engine gedefinieerd. MESS
bestaat dus grofweg uit de volgende delen:
Shell programma, dit is de
besturingssoftware waarin de grafische modes ingeschakeld kunnen
worden, het toetsenbord uitgelezen kan worden, diverse file-keuzes
gemaakt kunnen worden voor bv. Diskemulatie, kortom het algemene
deel van de emulator.
Hardware emulatie, dit zijn allemaal
losse drivers welke elk een specifiek hardware gedeelte emuleert.
Bv. de processor driver of de disc driver.
Machine engine, hierin wordt de
gebruikte hardware gedefinieerd op de juiste adressen.
Specifieke emulatie, in dit stuk wordt
specifieke hardware van die homecomputer geemuleerd. Bij de Atom is
dit bv. de muis-driver. Dit is geen universele hardware en is alleen
in de Atom terug te vinden.
Atom emulatie:
De Acorn Atom emulatie is in MESS geplaatst door
Paul Daniels met de vermelding dat deze emulatie nog in beta fase
verkeerd en dus nog niet 100% werkt. Paul heeft de 6502, 6847, 8255
en een stukje van de 6522 emulatie gekoppeld. Later heeft Kevin
Thacker nog 8271, tape- en printer emulatie toegevoegd. Met Kevin heb
ik contact gehad en probeer nu de benodigde informatie door te geven
zodat de Atom emulatie steeds beter gaat werken. De processor
emulatie werkt goed maar in de 6847 videoprocessor- en 8271 disc
emulatie gaat nog een en ander verkeerd. Hieraan wordt gewerkt. Ook
heb ik Kevin gevraagd om een schakelkaart en muis emulatie toe te
voegen. Hij heeft beloofd dit bij de volgende release toe te voegen.
Gebruik MESS:
- Als eerste moet men in de download pagina de laatste versie van MESS downloaden:
HTTP://MESS.EMUVERSE.COM
- Deze file moet uitgepakt worden in een
directorie waarbij alle subdirectories hersteld moeten worden.
- Wanneer dit gebeurt is moet men de volgende
images in de BIOS directory zetten:
ABASIC.ROM | ( #C000 - #CFFF ) |
AFLOAT.ROM | ( #D000 - #DFFF ) |
DOSROM.ROM | ( #E000 - #EFFF ) |
AKERNEL.ROM | ( #F000 - #FFFF ) |
Deze images mogen ook in een zip-file genaamd ATOM.ZIP staan.
- De emulatie kan nu opgestart worden met: MESS
ATOM -SOUNDCARD 1 (indien men een soundblaster compatible
geluidskaart heeft). Wanneer dit niet zo is, dan opstarten met :
MESS ATOM en er zal om een ander type geluidskaart
gevraagd worden. Als het goed is verschijnt nu het volgende scherm
Linksboven staat het vertrouwde Atom scherm en
rechtsonder staat wat informatie betreffende de status waarin MESS
verkeerd. In dit geval staat MESS in de UI (User Interface) mode en
kan men met de TAB toets in een menu komen. Door op de ScrollLock
toets te drukken kan men switchen tussen UI en EMU (Emulatie) mode.
Toetsen:
De volgende toetsen zijn gebruikt:
Keyboard | -> Normale Atom keyboard layout |
ScrollLock | -> Switch UI/EMU mode |
TAB | -> In UI mode krijgt men een keuzemenu:
Input (general) | , definitie algemene MESS toetsen, |
Input (this machine) | , definitie Atom keyboard, |
DIP Switches | , nvt |
Image information | , geeft weer welke files in gebruik zijn, |
File manager | , Kies image voor Disc-/Tape-/Printer emulatie, |
Tape control | , Tape besturing, |
Machine Usage & History | , nvt |
Reset machine | , Break toets, |
Return to machine | , Keer terug naar emulator. Kies dan EMU mode. | |
| |
Ctrl-Break | -> Exit emulator |
Toekomst:
Af en toe loopt de emulator bij mij nog vast wat dus
betekent dat er nog bugs inzitten. Verder zal in de volgende versie
een schakelkaart en muis emulatie toegevoegd zijn.
Tot zo ver MESS
Groeten, Kees van Oss
|