Herinner jij je nog de tijd dat je arcadespelletjes speelde in speelhallen of bij de plaatselijke snackbar? Met een Raspberry Pi kunnen we die nostalgie weer betaalbaar tot leven wekken.

Wim Dewijngaert

De gouden jaren van de coin-up arcades liggen al een tijdje achter ons, maar veel veertigers en vijftigers denken ongetwijfeld nog steeds met weemoed terug aan de tijd waarin hun zakgeld werd verslonden door de populaire spelletjeskasten. De graphics op de homecomputers van toen verbleekten bij het grafisch geweld in de arcades. Dus brachten de spelletjesfans hun vrije tijd door in een vaak muffe, donkere hal, met de biep-geluidjes van Pac-Man en Donkey Kong als soundtrack van hun jeugd.

minimame1 2
Zo ziet onze mini-MAME machine er uit

Nostalgie
Kunnen we een stukje van die nostalgie terug tot leven wekken? Natuurlijk. Voor een paar duizend euro koop je tegenwoordig zelf een arcadekast, waar vaak de MAME-emulator op draait. Deze software is al sinds 1997 beschikbaar en katapulteert je zo weer terug naar de eighties. Drijvende kracht achter dit huzarenstukje was jarenlang de Italiaan Nicola Salmoria, die de emulator schreef als eindwerk tijdens zijn studies. Voor zo’n grote spelletjeskast moet je uiteraard wel wat plaats hebben in huis, en daar knelt vaak het schoentje. Kan het ook kleiner, in miniformaat, met bijvoorbeeld een Raspberry Pi? De MAME-emulator kan worden gecompileerd op nagenoeg alle platformen, waaronder ook laatstgenoemde. Er is dan ook al jaren een kant-en-klare download beschikbaar met de frontend RetroPie ingebakken. Maar echt vlekkeloos draait MAME er niet op, en zelfs een recente Pi 4 heeft het moeilijk om voldoende rekenkracht te leveren. 

Benoit, een jongeman uit Quebec, besloot hier wat aan te doen en nam het Raspberry Pi OS Lite besturingssysteem onder handen. Hij sloopte er alle onnodige componenten uit – waaronder de volledige grafische interface – en voegde de front-end-software Attract Mode toe. Een heleboel spelletjes draaien nu vlot op een Pi 4 of Pi 400 met slechts 1 GB geheugen. Hoe hij dat precies voor elkaar heeft gekregen en welke stappen je moet volgen om dit ook uit te proberen, kun je (in het Frans) nalezen op zijn Github-pagina: https://gist.github.com/sonicprod. Met wat handigheid knutselen we er zelf een mooi kastje omheen, en onze eigen mini-versie is geboren.

bouwtekening 2
Een fragment uit de bouwtekening, die je op onze site kunt downloaden

 

          

Boodschappenlijstje

Dit zijn de onderdelen die we hebben gebruikt in ons ontwerp, samen met een bestellink op Amazon. Wellicht heb je zelf nog wat materiaal in de kast liggen, of zijn de onderdelen elders, zoals op Aliexpress, goedkoper te vinden.

            

Aan de slag
Via een Google Drive-link, terug te vinden op http://forum.arcadecontrols.com/index.php/topic,162889.0.html, downloaden we eerst een door Benoit voorgeconfigureerd imagebestand. Dit pakken we uit met 7-Zip (http://www.7-zip.org). Het uiteindelijke IMG-bestand kan het makkelijkst worden ‘gebakken’ op een sd-kaartje (van minstens 12 GB) met Win32 Disk Imager (https://win32diskimager.org). 

Na het schrijven voegen we via de Windows verkenner in de root directory op de sd-kaart het bestand wpa_supplicant.conf toe, met deze gegevens:
country=NL
ctrl_interface=DIR=/var/run/wpa_supplicant
GROUP=netdev
update_config=1
network={
ssid="WIFI_SSID"
scan_ssid=1
psk="WIFI_PASSWORD"
key_mgmt=WPA-PSK
}

Vervang uiteraard de naam van je wifinetwerk en het paswoord. Om de Raspi verder te configureren, verbinden we hem tijdelijk met een usb-voeding en zetten we via onze pc een draadloze verbinding op. Dit gaat het makkelijkste met WinSCP (https://winscp.net), waar zowel een SFTP- als een PuTTY-terminal in te vinden is. Beide hebben we straks nodig. 
Maak in WinSCP een nieuwe connectie naar het IP-adres van de Raspi (met de applicatie Fing op je mobiele telefoon kun je dit makkelijk terugvinden). Gebruik als gebruikersnaam ‘pi’ en als paswoord ‘raspberry’. Kies daarna ‘open in Putty’ in het menu en tik opnieuw het paswoord.
We gaan nu eerst de datapartitie op de sd-kaart groter maken en de Attract Mode frontend activeren. Tik:
rw
./expand-data-partition.sh
frontend attract

Voer daarna het commando sudo raspi-config uit en zorg ervoor dat bij System/Audio de audio uitvoer naar de koptelefoon aansluiting gaat. 
Daarna tik je sudo nano /boot/config.txt. Verander disable_overscan naar 0, verwijder de # voor de vier lijnen die beginnen met ‘overscan’ en haal ook de # weg voor de parameters ‘over_voltage’ en ‘arm_freq’.
In principe moeten we Attract Mode zelf gaan voorzien van een lijst met spelletjes, logo’s, screenshots en video’s, maar iemand heeft dit lastig werkje al voor ons opgeknapt en artwork voor iets meer dan 500 games bij elkaar gepuzzeld. Open dezelfde pagina waar je Benoits image hebt gevonden en zoek naar bericht nummer 317. Daar kun je het bestand attract.7z downloaden, samen met MAME_pi_art.zip (via een Google Drive link). Met 7-zip extract je beide bestanden naar een tijdelijke directory op je pc.
Via WinSCP verwijder je de inhoud van /data/attract op de Raspi en vervolgens kopieer je de bestanden uit de file attract.7z hiernaartoe. Daarna kopieer je de directories flyer, marquee, snap en wheel uit MAME_pi_art.zip naar /data/attract/scraper/MAME.
In het bestand romnames.txt dat je in het bericht op het forum kunt vinden, staan alle namen van de ROMS van de spelletjes die je nodig hebt. De ROMS kun je downloaden vanop https://www.retroroms.info/page/bda, maar let op: in verband met auteursrechten moet je in principe over de originele arcadekast beschikken. Alle ZIP-bestanden moet je kopiëren naar /data/mame/roms.
Tot slot tikken we in Putty:
arcademode
sudo shutdown

minimame3 2
Knutselwerk langs de achterkant

Behuizing
Het is nu tijd om de behuizing in elkaar te knutselen. Opgelet: wat basiskennis van houtbewerking en elektronica is hiervoor een must. Behoort een zaag en soldeerbout tot je standaarduitrusting, dan helpt ons maatplan dat je online terug kunt vinden je al een flink stuk op weg, al staat het je natuurlijk vrij om wat eigen creativiteit toe te voegen. Je begint met het uitzagen van de verschillende panelen volgens de bouwtekening. Het linker- en rechterpaneel zijn elkaars spiegelbeeld. Vervolgens plaats je de houten steunbalkjes (10mm op 10mm) op beide zijpanelen. Gebruik hiervoor houtlijm. Neem je tijd om het geheel goed te laten drogen. Daarna bereid je het luidsprekerpaneel voor. Op het verticale plaatje komen later aan de voorkant de ledverlichting en aan de achterkant de audioversterker. Let op het gaatje (3mm) waar straks de voedingsdraden van de ledverlichting doorheen moeten. Je lijmt ook de bodemplaat. 
Lijm tot slot de vier panelen (linker-, rechter-, bodemplaat en het luidsprekerpaneel) samen tot een stabiel kastje. Laat alles goed uitharden. Werk nu het schuine voorpaneel af. Boor de gaten en zaag de opening voor het display. Aan de binnenkant van deze opening lijmen we rondom vier balkjes van 10mm x 10mm. Goed opletten, want het display staat niet symmetrisch in zijn behuizing. In de achterwand zit een verhoging waar de draden van de 12V-voeding (voor de versterker en de ledstrip) en de audiokabel doorheen lopen.De behuizing werk je best nog netjes af met behulp van veel plamuren, schuren, gronden en aflakken. We hebben zwarte lak gekozen om het kastje een strak en hoogglans uiterlijk te geven. Een goede voorbereiding is het halve werk: hoe netter je plamuurt en schuurt, hoe minder je hoeft te lakken. Na de eerste grondlaag schuur je weer netjes op met korrel 150 en kan het aflakken beginnen. Wij hebben gekozen om het geheel af te werken met een zelfontworpen stickerblad. De kanten van de zijpanelen zijn afgewerkt met zwart strijklint. Tot slot kun je een plexiglas van 205mm x 200mm op het scherm leggen om het wat te beschermen..

Aansluitingen
Op de bouwtekening is ook een aansluitschema te zien. De 12V uit de externe voeding gaat naar een mannelijk stekkertje op de achterkant van de kast. Op die manier kunnen we later de voeding makkelijk loskoppelen en wegbergen. Binnen splitsen we de voedingslijn in twee: een kabeltje gaat naar de bovenzijde van de machine om de ledstrip (voor de verlichting van de marquee) en de versterker van stroom te voorzien, een ander kabeltje gaat naar de onderkant en dient als voeding voor het schermpje en de omvormer. De omvormer tovert de 12V om in 5V, die we tenslotte gebruiken als voeding voor de Raspberry (op de pinnetjes 4 en 6). Gebruik hiervoor een kabel van goede kwaliteit en 0,75 mm doorsnede.
De ledstrip om de marquee te verlichten, moet je even bijknippen op de gewenste breedte. Als je de verlichting te fel vindt, kun je optioneel een weerstand van 100 ohm toevoegen. De marquee zelf hebben we afgedrukt op transparant papier met een inkjetprinter en zit achter een plexiglas.
Op de versterker sluit je de twee luidsprekertjes aan. De usb-extensiekabel monteer je aan de rugzijde van het kastje, en verbind je met één van de usb-poorten op de Raspi. Op die manier kun je een toetsenbord aansluiten zonder het kastje open te moeten schroeven. De fan kit om de Raspi koel te houden, is eenvoudig te installeren met de bijgeleverde instructies. Het audiokabeltje plug je in de koptelefoon-uitgang, gaat vervolgens door de loop noise isolator en eindigt bij de versterker. De hdmi-kabel gaat van de Raspi naar het schermpje. De knoppen en de joystick sluit je aan op de encoder, die je in een usb-poort van de Raspi plugt. Vooraan in het kastje komen twee kleinere knoppen van 24mm die dienen om een munt in te werpen en een spel te verlaten, daarboven links monteren we de joystick en rechts twee 30mm drukknoppen.
Het schermpje komt met een aantal printplaten, die je met elkaar moet verbinden. Ook hiervoor verwijzen we je naar de bijgeleverde handleiding. De knoppen om het menu van het display te bedienen, laten we los in de behuizing liggen en zijn in principe niet meer nodig eens alles is afgesteld. Standaard staat de helderheid wat te zwak, dus dit moet je vermoedelijk wel aanpassen.

minimame2 2
Een blik op het schermpje

Configuratie
Tot slot moeten we de knoppen en de joystick nog configureren. Hiervoor sluit je een extern usb-toetsenbord aan op de achterkant en plug je de voeding in het stopcontact. Als alles goed gaat, zie je eerst het MAME-logo en enkele seconden later de grafische interface van Attract Mode. Druk nu op de tab-toets en ga daarna in het menu naar ‘Controls’ om de joystick en knoppen te configureren. 
Start vervolgens een spelletje. Als de MAME-emulator is geopend, druk dan weer op tab om de joystick en de vier buttons in te stellen. Met linkerbutton vooraan gooien we een muntje in. De rechterknop wordt de escape knop. De andere twee buttons definiëren we als Player 1 Start/Button 1 en Player 2 Start/Button 2. Eens dat taakje is volbracht, is de kast klaar!