How to Create a Retro Gaming Cabinet Using an UP Board
De av oss som växer upp i den gyllene åldern av arcade-spel på 80-talet minns fondly hur fascinerad var vi med spel som space invaders, pacman och försvarare. Tja, är den goda nyheten moderna SBCs som upp styrelsen är fullt kapabel att efterlikna dessa klassiska spel till en bråkdel av kostnaden för att köpa ett original. Jag kommer att gå igenom några av de steg jag gick igenom för att göra en replika cocktail tabell pacman maskinen med en upp ombord.
Här är en full lista av material, föremål och verktyg jag behövs för att skapa denna pacman gaming maskin:
- ubilinux™ programvara
- STYRELSEN
- Jag-PAC 2 styrelse
- Spelkontroller (ultimarc.com)
- CAT5 kabel
- Gamla LCD-skärm
- 18mm plywood
- 2.1 högtalare
- Ark med 12mm MDF
- Bord såg
- Sticksåg
- Router
- HDMI till VGA och audio adapter
- Svart blank färg
- Blå, gul och vit sprayfärg
- Drill
- Skruvarna
- Skruvmejsel
- Wood filler
- PVA lim
- Sandpapper
Programvara
Den främsta programvara för klassiska arkadspel är ett utmärkt paket kallas MAME, eller flera Arcade Machine Emulator. Detta paket är fritt tillgänglig och installera det är lika enkelt som typingapt-get install mame
sudo lämplig-få installera -y mame på antingen ubilinux eller Ubuntu.
Nu medan MAME gör ett utmärkt jobb efterlikna den ursprungliga arcade spel, måste du fortfarande leverera en ROM bild för MAME att köra. Dessa är inte fritt tillgängliga som de är i många fall är under copyright av företag som ursprungligen skrev dem. Om du söker på internet men hittar du ställen där dessa ROMs kan hämtas från. Men när du har lyckats få tag i ROM-fil bilder på din favorit klassiska spel, du kan bara kopiera filerna till /usr/games/mame/roms och när du kör MAME får du en förteckning över de installerade spel menyn.
Programinstallationen och Autostart
Om du bara vill spela spel, är det lättaste att göra rättvis sjösätta MAME från din X-fönsterhanterare. MAME kommer att upptäcka att det körs under X och Använd oavsett grafikläge används av skrivbordet. Du kan köra med den "-maximera" flagga för att få det att köra full skärm.
För mig ville jag skapa ett nyckelfärdigt system som startar rakt in i MAME så snart den är påslagen. Jag ville inte ha någon tangentbord eller mus, så logga in på en X-session var inte ett alternativ. Naturligtvis är det möjligt att få en fönsterhanterare att automatiskt logga in en användare och köra ett program, men det känns som overkill för mig att använda en fönsterhanterare bara för att skapa en miljö för att köra grafik från 1980-talet. Ett annat alternativ är att köra MAME från kommandoraden. Om du gör detta, sedan använder MAME "SDL" eller Simple Directmedia Layer. SDL är ett bibliotek för att ge direkt låg nivå tillgång till ljud och grafik hårdvara och det fungerar bra när SDL program startas direkt från en textkonsol. Stöd för SDL brukade vara genom ett separat projekt kallat SDLMAME men detta har slagits samman till den MAME huvudsakligt kodbasen nu så bara MAME standardpaketet är allt du behöver.
Det första steget i att få en text konsol system är att inaktivera X-systemet från att starta. ubilinux använder den lightdm Fönsterhanteraren. Mitt första försök på inaktivera detta var att köra "update-rc lightdm ta bort". Detta kommando tar bort kommandot starta lightdm från alla runlevel start kataloger, men när jag rebooted, jag presenterades igen med lightdm grafiska inloggningsskärmen. Det visar sig att det krävs ytterligare ett steg och så jag kom in kommandot:
sudo systemctl set-standard multi-user.target
Detta gjorde framgångsrikt inaktivera grafisk inloggning och när jag startade om, jag hade en enda inloggning textkonsol som behövs för att använda SDL.
Samtidigt som man bygger den första test setup, jag använde en 4k Philips TV som skärm. UPP är den första SBC har jag använt som kan köra en 4 k display så jag främst använder det bara för att jag kan! Tyvärr dock visade kör en unaccelerated bitmapp rendering på 3840 x 2160 sig vara för långsamt att köra några spel. Standardrendering i /etc/mame/mame.ini är "mjuka" som använder programvara för att återge bitmappar, som kommer att vara långsam. Jag tittade in med OpenGL och använda "mesa" paketet som ger OpenGL på linux. Tyvärr använder detta också X, så i mitt fall skulle det bli någon förbättring. Jag vet att detta inte kommer att vara ett problem med själva bildskärmen jag planerar att använda för skåpet, eftersom den bildskärmen klarar inte av något nära 4 k upplösning, men långsamheten var irriterande mig så jag tittade in på hur till sätta fast den.
Efter lite forskning fann jag att ubilinux kernel stöder "KMS" (Lägesinställningar i kärnan). Med hjälp av detta, jag lagt till "video = 1920 x 1080 till boot raden. Detta tvingar Linux att använda en lägre upplösning än vad det bästa som anges på skärmen. Parametern anger horisontell upplösning av 1920, vertikal på 1080 och uppdateringsfrekvens på 60Hz, vilket är fortfarande ganska hög upplösning, och säkerligen mycket högre än vad är behövs för att spela spel som behöver bara 240 x 320 eller liknande, men det gjorde susen. Jag försökte lägre upplösning, till exempel 800 x 600, men denna sak MAME att hänga. Jag inte undersöka varför, det kan vara en övning för en annan dag. Naturligtvis, när du gör denna förändring, rekommenderas det inte att redigera grub.cfg direkt så istället jag redigerat/etc/default/grub enligt följande:
sudo vim /etc/default/grub
Och lägga kernel kommandoradsalternativ till variabeln GRUB_CMDLINE_LINUX enligt följande:
GRUB_CMDLINE_LINUX = "video = 1920 x 1080
Det sista steget var att installera MAME ska starta automatiskt. Det enklaste sättet att göra detta var att lägga till en rad i/etc/rc.local. Jag åberopa MAME från rc.local fil med kommandot:
sudo vim /etc/rc.local
Och Lägg till följande rad före exit 0:
/usr/Games/MAME – - maximera – - ror
Alternativ-maximera och -ror är att köra hela skärmen och rotera höger respektive. Rotera rätt är att köra spel i stående orientering brukade jag montera min skärm.
När allt detta är gjort, konfigurera grub och pånyttfödd:
sudo update-grub & & sudo omstart
Och din upp styrelse bör starta rakt in i MAME.
Kontroller
Jag köpte alla spelet styr från Ultimarc (www.ultimarc.com). Gränssnittet till upp styrelsen är genom PAC 2 styrelsen. Denna behändiga lilla styrelse jag tråd upp alla knappar och joysticks till en punkt och ansluta till styrelsens upp via USB. Det riktigt fina med detta forum är att den presenterar sig som en HID-tangentbordet till ubilinux. Och ännu trevligare igen knapparna generera knapptryckningar som motsvarar den standard tangenttryckningar i MAME. Så ingen extra programvara krävs och inga konfigurationsändringar behövs. Det fungerar bara.
Joysticks är "Mag Stik" modeller som är 4-8 sätt omkopplingsbar joysticks. Jag gick för klumpa ihop sig upp för att ge en mer autentisk känsla pacman maskin. Knapparna är enkla bladguld tryckknapp växlar. Joysticks och växlar är anslutna direkt till PAC 2 styrelsen med bra gamla KAT5 kabel. I efterhand jag verkligen bör har tillbringat några extra euro och köpte en färdiga kabelnätet men vad jag har fungerar bra.
Monitor
Bildskärmen är en gammal LCD som ingen ville eftersom det inte är widescreen. Men som passar bra för en gaming skåp. Jag avbröt plast omge och kasseras knappar och stå tills jag var bara kvar med en bare skärm. Jag skruvade ihop några nedskärningar av 18mm plywood och skär slots för att transportera skärmen som du kan se här.
Högtalare
För ljud använde jag en billig uppsättning 2.1 högtalare som jag hade liggande. Jag använde även lite plywood cutouts för att hålla vänster och höger högtalare. "Subwoofern" kan bara ligga löst inuti ramen.
Skåp
Skåpet består huvudsakligen av styckningsdelar från ett ark 12mm MDF. Med några fler plywood som en ram, fäst jag bara paneler på båda sidorna och längst fram, tillbaka och ner. Jag använde en tabell såg för de raka kanterna och en sticksåg för utskärningar och rundade hörn. Jag använde även en router för att runda av kanterna på den övre panelen. Sidopanelerna skruvas på ramen medan den översta ramen är gångjärn för att tillåta mig att öppna den.
Makt och adaptrar
Olika element måste elnätet i skåpet. UPP styrelsen behöver en 5V leverans. Bildskärmen har en egen DC-adapter och så gör 2.1 högtalare. Jag använde en remsa kontakt som ett power distribution block och monterade en makt socket och makt huvudbrytaren från Maplin till skåpet också. Nätaggregat var en vägg vårta så jag bara avbröt dess ' bostäder att få sin "leder till strip-kontakten.
Jag behövde också använda en HDMI till VGA och audio adapter. Eftersom den
Monitor jag använde var gammal, den inte har en HDMI (eller ens en DVI) ingång. Men adaptrar är billig och lättillgänglig. Jag använde också har en ljudutgång utgång.
Lacken
En gång monterade jag primade och målade alla exponerade paneler med svart blank färg. Lägga till några enkla grafik var ett fall av att göra vissa kartong cutouts och använda några billiga gula, vita och blå sprayfärg från Aldi. Jag använde en CD som mall för pacman och centrum av CD-prickar.
Kontroll bostäder
Rutorna för joystick och knappar var lite mer intrikat. Joysticks kan bli föremål för en hel del kraft från entusiastiska spelare så det är viktigt att de är väl bultad. "Blinda hål" beslag också från ultimarc är mycket bra och solid. De är monterade från undersidan. Efter montering av kärlen från undersidan av MDF, jag fyllde de översta borrhål med woodfiller och slipas det platt till djurhud dem. Jag skär ut hål för 5 knappar till höger om joysticken och också en startknapp till vänster. Jag har defender i åtanke som har fem knappkontroller, brand, thrust, hyperrymden och smart bomb och naturligtvis bakåt, bredvid joysticken. Kanske det finns andra spel som behöver ännu fler knappar, men jag mår bra med fem. Bara att sätta en startknappen innebär att ha en startknapp på varje sida av skåpet. I efterhand kan det ha gjort bättre att sätta ihop två knappar på ena sidan men detta arrangemang fungerar bra för mig. Jag gjorde två av dessa naturligtvis, en för varje sida. Alla borrning och skärning gjort från toppen för att hålla kanterna ren.
Jag sedan monterade MDF till några fler plywood och används skruvar för att hålla partiet tillsammans som ni kan se från bilderna.
Jag sedan försänkt skruvarna och fyllt i hålen med mer wood filler.
När torr, slipas ned I primas med PVA och målade gloss svart.
När färgen torkat det var bara en fråga om att lägga till i kontrollerna.
Detta steg är mycket enkel. Joysticks varje har fyra bultar som skärpa från undersidan och tryck knappar är trådade med en ram som skruvar ner från på toppen.
Avslutad
Slutligen var det bara ett fall av ansluta allt upp och provar den. Och det fungerar bra! Nästa steg-bygga en upprätt version.