Atom Nieuws nummer 3
../../../images/back.gif ../../../images/exit.gif ../../../images/forward.gif
pagina 8

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:

  1. Als eerste moet men in de download pagina de laatste versie van MESS downloaden:
    HTTP://MESS.EMUVERSE.COM

  2. Deze file moet uitgepakt worden in een directorie waarbij alle subdirectories hersteld moeten worden.

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

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

sv10610682.gif













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
../../../images/back.gif ../../../images/exit.gif ../../../images/forward.gif