raspberry pi kädessä pidettävä pelisarja

Oct 30, 2025 Jätä viesti

raspberry pi handheld game kit


Kuinka Raspberry Pi -kämmenpelisarjat toimivat?

 

Raspberry Pi -kämmenpelisarjat toimivat yhdistämällä yhden -lautatietokoneen, jossa on näyttö, fyysiset säätimet ja akkujärjestelmä. Kaikkia koordinoi emulointiohjelmisto, joka muuntaa klassisen pelin koodin suoritettaviksi ohjeiksi. Raspberry Pi toimii keskusprosessorina ja käyttää erikoiskäyttöjärjestelmiä, kuten RetroPie tai Recalbox, jotka sisältävät useita emulaattoreita eri pelikonsoleille.

Nämä järjestelmät perustuvat kolmeen toisiinsa yhdistettyyn kerrokseen: laitteistointegraatio, joka yhdistää komponentit fyysisesti GPIO-nastoilla ja viestintäprotokollien kautta, ohjelmistoemulointi, joka jäljittelee vanhaa pelilaitteiston käyttäytymistä, ja virranhallinta, joka säätelee akun tehoa ylläpitämään vakaa jännite kaikille komponenteille.

 

Ydinlaitteistoarkkitehtuuri

 

Kaikkien Raspberry Pi -kämmenlaitteiden perusta on yksittäinen{0}}pöytätietokone. Useimmat rakentajat valitsevat Pi Zero 2 W:n ultra-kompakteihin rakenteisiin tai Pi 4:n vaativampaan emulointiin. Pi Zero 2 W kuluttaa noin 500-800 mA aktiivisen pelaamisen aikana, kun taas Pi 4 voi kuluttaa jopa 1,5 A täydellä kuormituksella emuloitaessa monimutkaisempia järjestelmiä, kuten Nintendo 64 tai PlayStation 1.

Komponenttien valinta luo sarjan teknisiä päätöksiä. 3,5 tuuman 640 x 480 näyttö vaatii erilaisia ​​GPIO-nastakokoonpanoja kuin 5 tuuman HDMI-näyttö. Edellinen muodostaa tyypillisesti yhteyden SPI:n (Serial Peripheral Interface) kautta käyttämällä nastoja, kuten GPIO 25 tietojen/komentojen valintaan ja GPIO 8 piirien valintaan, kuluttaen 200-300 mA. HDMI-näytöt yhdistetään erillisen videoportin kautta, mutta vaativat oman virtapiirin, joka usein vetää 400-500 mA lisävirtaa akkujärjestelmästä.

Fyysiset ohjaimet liitetään suoraan GPIO-nastoihin, jotka on määritetty sisääntuloiksi, joissa on sisäiset vetovastukset. Kun napin painallus maadoittaa nastan, ohjelmistokerros havaitsee tilan muutoksen. Vakioohjausjärjestelmä vaatii vähintään 12 GPIO-nastaa: neljä suuntanäppäimille (ylös, alas, vasemmalle, oikealle), neljä toimintapainikkeille (A, B, X, Y), kaksi olkapainikkeille (L, R) ja kaksi järjestelmän säätimille (Käynnistä, Valitse). Edistyneet rakentajat ottavat käyttöön multipleksoinnin nastamäärän vähentämiseksi käyttämällä siirtorekistereitä tai I2C-laajentimia, jotka sallivat 16+-tulon vain 3-4 nastalla.

Näyttöliittymä määrittää rakenteen monimutkaisuuden merkittävästi. SPI-näytöt vaativat manuaalisen ohjaimen asennuksen ja konfigurointitiedoston muokkauksen määrittämällä parametrit, kuten kiertokulman, virkistystaajuuden ja kosketuspeittotason kalibroinnin. Virallisten Raspberry Pi -näyttöjen DSI (Display Serial Interface) -liitännät havaitsevat automaattisesti- Device Tree -peittokuvien kautta, mikä yksinkertaistaa ohjelmiston asennusta, mutta vaatii tarkat nauhakaapeliliitännät, jotka ovat hauraita kokoamisen aikana.

 

Sähköjärjestelmätekniikka

 

Akunhallinta erottaa toiminnalliset rakenteet palovaarasta. Litiumpolymeerikennot antavat 3,7 V:n nimellisjännitteen, mutta vaihtelevat 4,2 V:n välillä täyteen ladattuna ja 3,0 V:n tyhjentyneenä. Raspberry Pi vaatii vakaan 5 V:n jännitteen riittävällä ampeerivirralla, mikä vaatii tehostinmuuntimen piirin.

Suosittuja ratkaisuja ovat Adafruit PowerBoost 1000C, joka hyväksyy 3,7 V:n LiPo-tulon ja tarjoaa säädellyn 5 V:n ulostulon aina 1 A:iin asti, 2 A huipputeholla. Muunnostehokkuus vaihtelee 80-92 %:n välillä kuormituksesta riippuen, mikä tarkoittaa, että 2500 mAh:n akku ei tuota 2500 mAh käyttökelpoista tehoa – odotettavissa lähempänä 2000-2200 mAh:ta muunnoshäviöiden jälkeen.

Kriittiset turvaominaisuudet estävät katastrofaaliset viat. TP4056-latauksenhallintapiirit käsittelevät litiumakun lataamista rajoittamalla virran 1 C:een (1000 mA 1000 mAh:n kennolle) ja päättävät 4,2 V:iin ylilatauksen estämiseksi. Suojapiirit valvovat yli-purkausta (leikkausteho alle 2,8-3,0 V), oikosulkuja ja ylikuumenemisolosuhteita. Rakennukset, joista puuttuvat nämä suojat, voivat karkaa termisesti, jolloin sisäinen vastus kehittää lämpöä, joka nopeuttaa kemiallisia reaktioita ja voi aiheuttaa tulipalon.

Akun käyttöaikalaskelmat paljastavat tehobudjetin todellisuuden. Pi Zero 2 W -järjestelmä, jossa on 3,5 tuuman SPI-näyttö ja vahvistettu ääni, kuluttaa yhteensä noin 750 mA. 4000 mAh:n akulla ja 85 % muunnostehokkuudella teoreettinen käyttöaika on 4,5 tuntia, mutta intensiivinen pelaaminen tuottaa tyypillisesti 3-3,5 tuntia prosessorin vaihtelevan kuormituksen ja näytön kirkkauden vuoksi.

Edistynyt virranhallinta sisältää GPIO{0}}pohjaisen valvonnan. PowerBoostin heikon akun varoitusnastan yhdistäminen GPIO 15:een sallii ohjelmiston havaita jännitteen putoamisen alle 3,2 V:n, mikä käynnistää sulavia sammutusrutiineja, jotka estävät SD-kortin vioittumisen. Joissakin rakennelmissa on käytössä akun polttoainemittarin IC-piirit, kuten MAX17048, jotka kommunikoivat I2C:n kautta ja tarjoavat tarkat -latausprosentit- yksinkertaisten jännitekynnysten sijaan.

 

raspberry pi handheld game kit

 

Ohjelmistojen emulointimekaniikka

 

RetroPie toimii hallitsevana ohjelmistoalustana, joka on rakennettu Raspberry Pi OS:n päälle ja jossa EmulationStation tarjoaa graafisen käyttöliittymän. Järjestelmäarkkitehtuuri koostuu kolmesta kerroksesta: Linux-ytimestä, joka hallitsee laitteiston abstraktiota, RetroArchista, joka toimii emulointikehyksenä standardoiduilla ohjainsovellusliittymillä, ja yksittäisistä libretroytimistä, jotka suorittavat konsolikohtaista emulointia.

Kun käynnistät pelin, EmulationStation välittää ROM-tiedostopolun RetroArchille, joka lataa sopivan ytimen-esimerkiksi Snes9x Super Nintendo -peleille. Emulaattori lukee ROM-binääritiedot ja tulkitsee alkuperäisen konsolin prosessoriohjeet. SNES:n Ricoh 5A22 -suorittimelle, joka toimii 3,58 MHz:n taajuudella, nykyaikaiset Raspberry Pi -prosessorit, jotka toimivat 1-1,8 GHz:llä, tarjoavat yli 400 kertaa raakakellonopeuden, mutta tarkka emulointi vaatii syklitason tarkkuutta, joka kuluttaa huomattavaa prosessointitehoa.

Kehyksen tahti määrittää pelin sujuvuuden. Alkuperäisten konsolien lähtö kiinteällä virkistystaajuudella - 60 Hz NTSC-järjestelmille, 50 Hz PAL:lle. RetroArchin videoajurit synkronoivat emulointinopeuden näytön virkistystaajuuteen, pudottavat tai monistavat kehyksiä, kun ajoitus ei täsmää. Äänen latenssi johtuu puskurin koosta: pienemmät puskurit (64-128 näytettä) vähentävät viivettä, mutta saattavat räjähtää hitaammissa laitteistoissa, kun taas suuremmat puskurit (256-512 näytettä) varmistavat tasaisen äänen 20-40 ms:n tuloviiveellä.

Eri emulaattorit vaativat valtavasti erilaisia ​​resursseja{0}}bittijärjestelmät, kuten NES ja Game Boy, toimivat vaivattomasti Pi Zerolla ja kuluttavat 15–25 % suoritinta. Super Nintendo -emulointi vaatii 40-60 % Pi Zero 2 W:lla, kun taas PlayStation 1 tarvitsee 70-85 %. Nintendo 64 -emulointi on edelleen ongelmallista jopa Pi 4:ssä, ja monissa nimikkeissä esiintyy kehysten pudotuksia ja graafisia häiriöitä Pi:n ylivoimaisista ominaisuuksista huolimatta, koska N64:n MIPS R4300i -suorittimen ja Reality-yhteisprosessorin tarkka emulointi vaatii tarkan ajoituksen, jota ohjelmistotulkinnan on vaikea saavuttaa.

Määritys tapahtuu retroarch.cfg:n ja järjestelmäkohtaisten{1}}tiedostojen kautta. Videoasetukset ohjaavat resoluution skaalaus-pistenäytteistystä pikseli-täydellistä aitoutta varten versus bilineaarinen suodatus tasaisuuden takaamiseksi. Varjostimet käyttävät reaaliaikaisia-visuaalisia tehosteita, jotka simuloivat CRT-skannauslinjoja tai kädessä pidettäviä LCD-matriiseja, mutta jokainen varjostinkerros kuluttaa GPU-resursseja. Äänen uudelleennäytteenoton laatu vaikuttaa sekä äänen tarkkuuteen että prosessointikuluihin.

Tulokartoitus muuttaa fyysiset painikkeen painallukset virtuaaliohjaimen signaaleiksi. RetroPie käyttää kaksi-tasoa: EmulationStation kartoittaa fyysiset syötteet valikoissa liikkumista varten, kun taas RetroArch käsittelee-pelin ohjaimia. GPIO-pohjaiset ohjaimet käyttävät GPIONextin kaltaisia ​​ohjelmistoja, jotka luovat virtuaalisen peliohjaimen ydintasolla, ja ne näyttävät emulaattorin näkökulmasta identtisiltä USB-ohjainten kanssa.

 

Näytön ja äänen integrointi

 

Näyttötekniikka muokkaa käyttökokemusta perusteellisesti. SPI-näytöt kommunikoivat sarjassa siirtäen pikselidataa bitti kerrallaan jaettujen pinnien välillä. Tämä rajoittaa virkistystaajuuksia-useimpien 3,5- tuuman SPI-näyttöjen maksiminopeudella 30-40 fps, mikä riittää vanhemmille nimikkeille, mutta ongelmallinen nopeatempoisissa peleissä. Fbcp-ili9341-ohjain mahdollistaa laitteiston SPI:n 80 MHz:n taajuudella, mikä parantaa suorituskykyä, mutta vaatii ydinmoduulien kääntämisen.

HDMI-näytöt tarjoavat alkuperäisen resoluution tuen ja 60 fps -ominaisuuden, mutta ne vaikeuttavat kannettavaa suunnittelua. Mini-HDMI-mikro-HDMI-sovittimet tuovat mekaanisia jännityspisteitä, jotka ovat alttiita epäonnistumaan. Kaapelin reitityksen on otettava huomioon näytön virrankulutus; erillisten 5 V virtalinjojen käyttäminen suoraan akkupiiristä estää jännitteen laskun, joka aiheuttaa näytön välkkymistä prosessorin kuormituspiikkien aikana.

Kosketustoiminto resistiivisillä näytöillä vaatii kalibroinnin. Tslib-kirjasto kartoittaa fyysiset kosketuskoordinaatit pikselien näyttämiseksi 7-pisteen kalibrointimatriisin kautta. Kapasitiiviset kosketusnäytöt kommunikoivat I2C-protokollan kautta raportoiden jopa 10 samanaikaista kosketuspistettä, mutta kuluttavat ylimääräisiä GPIO-nastoja ja vaativat yhteensopivia ydinajureita.

Audiototeutus käyttää tyypillisesti PWM:ää (Pulse Width Modulation) peruslähtöön tai I2S:ää (Inter-IC Sound) laadukkaiden tulosten saavuttamiseksi. Pi:n sisäänrakennettu-3,5 mm:n liitäntä tuottaa hyväksyttävää, mutta meluisaa ääntä, ja hiljaisten kulkujen aikana kuuluu suhinaa. Erilliset DAC-moduulit, kuten PCM5102A, muodostavat yhteyden I2S-nastoilla (GPIO 18, 19, 21) ja tuottavat 24-bit/192kHz ääntä signaali-kohinasuhteella yli 100 dB.

Vahvistusvaatimukset riippuvat kaiuttimen impedanssista. Pienet 8 ohmin 0,5 W kaiuttimet ja PAM8403-luokan D vahvistimet, jotka tuottavat 3 W kanavaa kohden 90 %:n hyötysuhteella. Äänenvoimakkuuden säätö tapahtuu joko vahvistimeen kytketyillä laitteistopotentiometreillä tai ohjelmistosekoituksella ALSA:ssa (Advanced Linux Sound Architecture), jossa jälkimmäinen tuo vähäisen latenssin, mutta mahdollistaa tarkan digitaalisen ohjauksen.

 

GPIO-ohjaimen toteutus

 

GPIO (General Purpose Input/Output) -otsikko sisältää 26 käyttökelpoista nastaa painikkeiden tuloille sen jälkeen, kun otetaan huomioon virta, maa ja näytön tiedonsiirtoon varatut nastat. Jokainen sisääntulonasta, jossa on sisäinen 50-kilohmin vetovastus, on 3,3 V:ssa, kun mitään painiketta ei paineta. Napin ja maan väliin kytketyn painikkeen painaminen vetää jännitteen 0 V:iin, mikä luo havaittavan tilanmuutoksen.

Ohjelmiston palautus estää väärät laukaisut mekaanisesta kytkimen pomppimisesta. Tyypillinen toteutus ottaa näytteitä pin-tilasta 10 ms välein ja vahvistaa painalluksen, kun kolme peräkkäistä lukua täsmäävät. Laitteiston palautus käyttämällä 100 nF:n kondensaattoreita kytkimien liittimien välillä tarjoaa puhtaammat signaalit, mutta lisää komponenttien määrää ja tilaa.

Matriisiskannaus vähentää nastan käyttöä 16+-painikkeilla varustetuissa rakennelmissa. 4x4-matriisi käyttää kahdeksaa GPIO-nastaa-neljä lähtöä ja neljä tuloa. Ohjelmisto aktivoi jokaiselle tulosriville peräkkäin samalla kun lukee syöttösarakkeita ja havaitsee, mitä painikkeita painetaan. Pyyhkäisynopeuden on ylitettävä 100 Hz, jotta estetään syötteiden puuttuminen nopeiden näppäinsarjojen aikana, mikä lisää ajoituksen monimutkaisuutta pääohjelmasilmukassa.

Edistyneissä versioissa on analogiset tulot ohjaussauvoja varten. Pi:stä puuttuu alkuperäisiä analogia---digitaalimuuntimia, jotka vaativat ulkoisia ADC-siruja, kuten ADS1115, jotka on kytketty I2C:n kautta. Jokainen ohjaussauva käyttää kahta analogista kanavaa X- ja Y-akseleille, jotka raportoivat arvot välillä 0-65535, jotka ohjelmisto kartoittaa arvoon -32768 arvoon +32767 RetroArch-yhteensopivuuden vuoksi.

 

Lämmönhallinnan näkökohdat

 

Raspberry Pi:n BCM2711 SoC (Pi 4:ssä) tai BCM2710A1 (Pi Zero 2 W:ssa) tuottaa huomattavaa lämpöä jatkuvan kuormituksen aikana. Ilman lämmönhallintaa prosessori kuristaa taajuutta 1,8 GHz:stä 1,0 GHz:iin 80 asteessa vaurioiden estämiseksi, mikä aiheuttaa äkillisiä kuvanopeuden pudotuksia pelin aikana.

Passiivinen jäähdytys alumiinijäähdytyslevyillä ja lämpöliimatyynyillä haihduttaa 2-3W konvektiolla. Jäähdytyskapasiteetin määrää jäähdytyselementin pinta-ala ja evien rakenne – 15 x 15 x 10 mm:n jäähdytyselementti pystyrivoilla voi pitää lämpötilan 10-15 astetta ympäristön alapuolella kohtuullisen kuormituksen aikana.

Aktiivinen jäähdytys 30x30mm 5V puhaltimilla siirtää 1-2 CFM ilmaa mahdollistaen jatkuvan turbotilan. Tuulettimen ohjaus GPIO-pulssinleveysmodulaation kautta säätää nopeuksia suorittimen lämpötilalukemien perusteella /sys/class/thermal/thermal_zone0/temp. Hystereesin toteuttaminen (tuulettimen käynnistäminen 65 asteessa, mutta pysähtyminen vasta 55 asteessa) estää nopean pyöräilyn, joka on kuultavissa ja ärsyttävä.

Kotelon rakenne vaikuttaa ilmavirtaukseen kriittisesti. Prosessorin lähellä poikittais-virtaus-ottoaukot ja vastapäätä poisto-luovat tasaisen ilman liikkeen. Kiinteät muovikotelot, joissa ei ole ilmanvaihtoa, voivat vangita lämpöä ja aiheuttaa lämpökuristuksen jopa silloin, kun jäähdytyslevyt on kiinnitetty . 3D-painetut kotelot, joissa on sisäiset tukirakenteet, jotka eivät estä ilmavirtausta, mikä optimoi sekä jäähdytyksen että rakenteen eheyden.

 

Kokoonpanoprosessi ja yleiset sudenkuopat

 

Fyysinen rakentaminen alkaa komponenttien testaamisesta kotelon ulkopuolella. Pi:n liittäminen näyttöön HDMI:n kautta, kun SD-kortti käynnistyy, RetroPie tarkistaa perustoiminnot ennen näytön ja ohjaimen monimutkaisuuden lisäämistä. Tämä diagnostiikkavaihe estää vianmäärityksen kootuista yksiköistä, joissa kaapelin pääsy on vaikeaa.

GPIO-nastan tunnistusvirheet aiheuttavat eniten turhauttavia virheitä. 40-pin otsikko numeroi nastat välillä 1-40, mutta GPIO-numerot eroavat toisistaan ​​- fyysinen nasta 11 on GPIO 17. BCM-numerointimallin käyttäminen ohjelmistossa fyysisen yhteyden muodostaessa kortin numeroihin luo ristiriitoja, joita on vaikea diagnosoida. Pinout-kaavion tulostaminen ja tarkistaminen yleismittarilla säästää tuntikausia vianetsinnässä.

Juotosliitoksen laatu määrää luotettavuuden. Kylmäjuoteliitoksilla-kiiltävällä, kuperalla helmalla- on suuri vastus, mikä aiheuttaa ajoittaisia ​​liitoksia, kun liitos kuumenee käytön aikana. Oikeat liitokset näyttävät sileiltä, ​​koverilta ja himmeän harmailta, mikä osoittaa täydellisen metallin sulautumisen. Levyille jäänyt juoksutusainejäämä voi aiheuttaa virtavuodon vierekkäisten nastojen välillä, mikä on erityisen ongelmallista kosteissa ympäristöissä.

Liitäntöjen mekaaninen rasitus johtaa ennenaikaiseen rikkoutumiseen. Pi Zeron mikro-USB-portti kestää noin 5 000 kytkentäjaksoa ennen irrottamista piirilevystä. Virtajohtojen juottaminen suoraan testilevyihin eliminoi tämän vikakohdan, mutta mitätöi takuut. Vedonpoiston käyttäminen kaikissa kaapeliliitännöissä-kuumaliima on yllättävän tehokasta-estää juotosliitoksia väsyttävän taipumisen.

SD-kortin yhteensopivuus vaikuttaa vakauteen odottamatta. Kaikki kortit eivät käsittele emuloinnin luomia nopeita pieniä kirjoituksia. Luokan 10 tai UHS-1-kortit, joissa on korkea satunnaiskirjoitus IOPS:t toimivat paremmin kuin peräkkäiset-nopeuksiset-optimoidut kortit. Aidoissa SanDisk- tai Samsung-korteissa on huomattavasti vähemmän tiedostojen vioittumisongelmia kuin nimettömät vaihtoehdot, vaikka paperilla on samat tiedot.

 

raspberry pi handheld game kit

 

Suorituskyvyn optimointitekniikat

 

Ylikellotus työntää laitteistoa mitoitusarvojen yli, mikä parantaa emulointisuorituskykyä. Pi Zero 2 W:n oletusarvoiset 1 GHz ARM Cortex-A53-ytimet voivat saavuttaa 1,2–1,3 GHz asianmukaisella jäähdytyksellä, mikä parantaa PlayStation 1:n kuvanopeutta 40 fps:stä 55 fps:iin vaativissa nimikkeissä. Määritys tapahtuu tiedostossa /boot/config.txt asettamalla arm_freq=1200 ja nostamalla arvoa over_voltage=4 korkeamman taajuuden vakauttamiseksi.

GPU-muistin varaus tasapainottaa videon suorituskykyä ja järjestelmän RAM-muistia. RetroPie käyttää oletuksena 256 Mt:n GPU-allokaatiota 1 Gt:n Pi-malleissa. Pienentäminen 128 megatavuun vapauttaa muistia emulointiprosesseja varten, mutta tarjoaa silti riittävästi videopuskuria 720p-lähtöön. Config.txt-tiedoston gpu_mem-parametri ohjaa tätä jakoa.

Ytimen säätimet vaikuttavat suorittimen taajuuden skaalauskäyttäytymiseen. "Ondemand"-säädin säätää taajuutta kuormituksen perusteella, mutta lisää latenssia siirtymien aikana. Vaihtaminen "suorituskykyiseen" säätimeen lukitsee suorittimen maksimitaajuudelle, mikä varmistaa yhdenmukaiset kehysajat lisääntyneen virrankulutuksen ja lämmöntuotannon kustannuksella. Tällä on eniten merkitystä N64- tai Dreamcast-emuloinnin aikana, jolloin hetkelliset hidastukset ovat havaittavissa.

ROM-tallennuspaikka vaikuttaa latausaikoihin merkittävästi. ROM-levyjen tallentaminen SD-kortin nopeaan osioon (juuritiedostojärjestelmä) lataa pelit 2-3 kertaa nopeammin kuin hitaalta USB-tikulta. Verkkotallennus SMB-jakojen kautta ottaa käyttöön muuttuvan latenssin, joka aiheuttaa äänen pätkimistä, kun verkko on ruuhkautunut.

Shader-optimointi vaatii valikoivaa käyttöä. Scanline-varjostimet kuluttavat vain vähän resursseja ja lisäävät alle 5 % GPU-kuormitusta. Edistyneet varjostimet, kuten CRT-Royale kukkaefekteillä, voivat kuluttaa 40–50 % grafiikkasuorittimen kapasiteetista, mikä aiheuttaa kehysten putoamista hitaammissa laitteistoissa. Kunkin varjostimen vaikutuksen testaaminen todelliseen kuvanopeuteen kuvausten luottamuksen sijaan estää toistettavuusongelmia.

 

Kitin muunnelmia ja kompromisseja suunnittelussa

 

Kaupalliset sarjat, kuten PiBoy DMG, tarjoavat valmiiksi{0}}kootut piirilevyt integroiduilla painikematriiseilla, kaiutinvahvistimilla ja akun hallinnan Game Boy{1}}-tyylisellä kuorella. Nämä yksinkertaistavat kokoamista nauhakaapeleiden liittämiseen ja Pi:n asentamiseen, mutta rajoittavat mukauttamista ja maksavat usein 80-120 dollaria pelkästä kuoresta ennen Pi:n ja akun lisäämistä.

Tee-se-itse-rakenteet tarjoavat täydellisen hallinnan monimutkaisuuden kustannuksella. Yksittäisten komponenttien -näyttö, painikkeet, akku, latauspiiri, kotelo-hankinta edellyttää yhteensopivuuden tutkimista ja sähköteknisten teknisten tietojen ymmärtämistä. Täysin räätälöity rakennus saattaa maksaa 60–80 dollaria materiaaleista, mutta vaatii 15–25 tuntia suunnittelua, 3D-tulostusta, johdotusta ja vianetsintää.

Muototekijävalinnat vaikuttavat ergonomiaan merkittävästi. Vertical Game Boy--tyyliset asettelut tuntuvat luonnollisilta 8-- ja 16-bittisissä peleissä, mutta niissä ei ole analogisia ohjaimia. PlayStation Portablea muistuttavat vaakasuuntaiset mallit sopivat kahteen analogiseen tikkuun, mutta lisäävät leveyttä taskukannettavuutta pidemmälle. Clamshell DS -tyyliset rakenteet suojaavat näyttöä, mutta monimutkaistavat saranamekanismeja ja vaativat kaksi näyttöä erillisillä ohjainkokoonpanoilla.

Näytön koko verrattuna akun kestoon on jatkuva kompromissi. 5 tuuman HDMI-näyttö kuluttaa 600-700 mA, kun taas 3,5 tuuman SPI-näyttö 200-250 mA. Tämä 400 mA:n ero tarkoittaa noin kahden tunnin käyttöaikaa tyypillisillä 4000 mAh:n akuilla. Maratonpelaamista etusijalle asettavat rakentajat valitsevat pienempiä näyttöjä heikentyneestä näkyvyydestä huolimatta.

Komponenttien laatuvaihtelut vaivaavat tee-se-itse-rakennuksia. Yleiset AliExpress-näytöt voivat säästää 15 dollaria, mutta niissä on kuolleita pikseleitä, huonoja katselukulmia tai virheellisiä ohjaindokumentaatioita. Name-brändi Waveshare- tai Adafruit-osat maksavat enemmän, mutta sisältävät luotettavan dokumentaation ja yhteisön tuen. Perusteltujen merkkien vianetsinnässä säästetty aika ylittää tyypillisesti hintapreemion.

 

Ohjelmiston konfigurointi Deep Dive

 

Alkuperäinen RetroPie-asetus edellyttää käyttöjärjestelmän kuvan kirjoittamista SD-kortille käyttämällä työkaluja, kuten Raspberry Pi Imager. Ensimmäinen käynnistys laajentaa tiedostojärjestelmää käyttämään koko kortin kapasiteettia ja käynnistää EmulationStationin ohjatun ohjaimen määritystoiminnon. Tämä ohjattu toiminto yhdistää fyysiset syötteet RetroArch-ohjaimen abstraktiokerrokseen-kukin painikkeen painallus tallentaa näppäinkoodin, jonka RetroArch kääntää emuloiduiksi konsolituloiksi.

BIOS-tiedostot mahdollistavat tarkan emuloinnin tietyissä järjestelmissä. PlayStation 1 vaatii SCPH1001.BIN (NTSC) tai SCPH7502.BIN (PAL) tiedostot, jotka sisältävät Sonyn alkuperäisen käynnistyskoodin. Nämä sijaitsevat kansiossa /home/pi/RetroPie/BIOS/, ja niiden on vastattava tiettyjä MD5-tarkistussummia aitouden varmistamiseksi. Ilman oikeita BIOS-tiedostoja pelit joko eivät käynnisty tai toimivat väärin, kuten puuttuu ääni tai graafiset häiriöt.

ROM-siirtomenetelmät vaihtelevat USB-tikusta (hitain, yhteensopiva) SFTP-verkkoon (nopein, vaatii konfiguroinnin). USB-menetelmään kuuluu "retropie"-kansion luominen FAT32{4}}-muotoilluille asemille, sen asettaminen Pi-asemaan, LED-valon vilkkumisen odottaminen kansiorakenteen luomisen yhteydessä ja sitten ROM-levyjen kopioiminen asianmukaisiin järjestelmäkansioihin (/retropie/roms/snes, /retropie/roms/nes jne.). Verkkosiirto mahdollistaa vedä-ja pudotuksen mistä tahansa tietokoneesta, kun Samba-osuudet on otettu käyttöön RetroPie-asennusskriptin kautta.

Metatietojen kaapiminen rikastuttaa pelikirjastoa kansikuvalla, kuvauksilla ja julkaisupäivillä. Sisäänrakennettu-kaapija kysyy ScreenScraper- tai TheGamesDB-sovellusliittymiä ja lataa kuvia ja dataa jokaiselle havaitulle ROM-levylle. Suuret kirjastot (300+ peliä) vaativat useita tunteja, koska ilmaiset API-tilit rajoittavat-pyyntöjä. Tiettyjen ongelmien otsikoiden manuaalinen kaapiminen toimii paremmin kuin{6}}kaiken uudelleen kaapiminen päivitysten yhteydessä.

Mukautetut teemat muokkaavat käyttöliittymää RetroPien oletussinisen estetiikin lisäksi. Teemat, kuten ComicBook, TronkyFran tai Magazinemadness, asennetaan RetroPie-asetusvalikon kautta, jolloin asettelua, kirjasimia ja kuvitusesitystä muutetaan. Jotkut teemat vaativat lisäresursseja, kuten mukautettuja kirjasimia tai tiettyjä kuvaresoluutioita, mikä lisää tallennusvaatimukset 500 Mt:sta yli 2 Gt:n -raskaita muotoiluja varten.

 

Yleisten ongelmien vianmääritys

 

Musta käynnistysnäyttö ilmaisee yleensä virransyötön riittämättömyyden tai näytön virheellisen määrityksen. 5 V:n tarkistaminen GPIO-nastojen 2 ja 6 välillä yleismittarilla vahvistaa virransyötön. Jos jännite laskee alle 4,75 V käynnistyksen aikana, akkupiirissä ei ole riittävää virtakapasiteettia. Näyttöongelmat johtuvat usein virheellisistä /boot/config.txt-parametreista-kommentoimalla kaikkia näyttöön- liittyviä dtoverlay-merkintöjä, ja HDMI-voimaasetukset palautuvat oletusarvoihin diagnoosia varten.

Jos ohjaimen tulot eivät rekisteröidy, se tarkoittaa yleensä GPIO-numeroiden yhteensopimattomuutta tai ohjelmiston toimimattomuutta. Komento sudo systemctl status gpionext.service varmistaa, että GPIO-ohjainohjain on ladattu oikein. Tarkistaminen /var/log/syslog-virheiden varalta, kuten "GPIO jo käytössä", osoittaa ristiriitoja muiden palveluiden tai ohjaimien kanssa, jotka vaativat samoja nastaja.

Ääniongelmat ilmenevät äänen puuttumisesta, rätisemisestä tai vääristä äänenvoimakkuuksista. Alsamixer-komentorivityökalu näyttää ja säätää mikseritasoja-painamalla F6-näppäintä, äänikortti valitaan (bcm2835 sisäänrakennetulle-äänelle, USB DAC -nimet ulkoiselle) ja nuolinäppäimillä säädetään kanavan äänenvoimakkuutta. PCM-kanava ohjaa yleistä lähtötasoa, kun taas tietyt pelikanavat käsittelevät yksittäistä emulaattoriääntä. Rätiseminen suurilla äänenvoimakkuuksilla tarkoittaa usein vahvistimen leikkaamista-vähentää äänenvoimakkuutta sen sijaan, että se lisää vahvistimen vahvistusta.

Emuloinnin hidastukset riittävästä laitteistosta huolimatta johtuvat yleensä epäoptimaalisista näytönohjaimista tai varjostimen ylikuormituksesta. Vaihtaminen fbcp-fbtft:stä ​​fbcp-ili9341:een SPI-näytöille voi parantaa kuvanopeuksia 50-100 % optimoidun SPI-tapahtumien käsittelyn ansiosta. Ajo--eteenpäin- ja taaksepäinkelaustoimintojen poistaminen käytöstä RetroArchissa vähentää suorittimen ylikuormitusta sen kustannuksella, että laadukkaat-ominaisuudet menetetään.

Wi-Fi-yhteysongelmat vaivaavat Pi Zero W:n rakennetta, kun GPIO-nastat häiritsevät antennia. Sisäinen antenni sijaitsee piirilevyn päässä, johon GPIO-otsikot kiinnitetään, ja lähellä olevat johdot voivat aiheuttaa viritystä. Painikejohdotusten pitäminen erillään kortin viimeisistä 15 mm:stä tai USB-WiFi-sovittimien lisääminen (jotka kuluttavat GPIO-nastat kompromissina) ratkaisee itsepintaiset yhteysongelmat.

 

Lisäominaisuudet ja muutokset

 

Tallennustilat mahdollistavat välittömän pelin keskeyttämisen ja jatkamisen, mikä on ratkaisevan tärkeää kannettavassa pelissä. RetroArch tallentaa tallennustilat /home/pi/RetroPie/states/[system]/[game].state-tiedostoihin, jotka kuluttavat 50-2 megatavua järjestelmästä riippuen. Automaattinen-tallennusominaisuudet käynnistyvät, kun poistut pelistä, mutta nopea tallennustilan käyttö pikanäppäinyhdistelmillä (Tallenna valitsemalla + R1, lataamalla valitsemalla + L1) tarjoaa paremman hallinnan pelaamisen aikana.

RetroAchievements-integroinnin ansiosta saavutusjärjestelmät lisäävät klassisiin peleihin modernin etenemisen seurannan. Kun olet luonut tilin ja ottanut ominaisuuden käyttöön RetroArch-asetuksissa, järjestelmä muodostaa yhteyden verkkoon varmistaakseen saavutukset pelatessasi. Tämä vaatii jatkuvaa Internet-yhteyttä, mikä kuluttaa akkuja nopeammin ja lisää kannettavien rakennusten monimutkaisuutta.

Moninpeliominaisuudet ulottuvat yhden{0}}laitteen kahden-pelaajan tuen lisäksi. Bluetooth-sovittimet mahdollistavat langattoman ohjaimen pariliitoksen, vaikka Pi Zeron Bluetooth jakaa kaistanleveyden WiFin kanssa, mikä saattaa aiheuttaa latenssipiikkejä. Netplay-toiminto mahdollistaa online-moninpelin, emulointitilojen synkronoinnin laitteiden välillä, mutta vaatii alhaisen-viiveen yhteyksiä ja vastaavia ROM-levyjä, joilla on samat tarkistussummat.

Mukautettu laiteohjelmisto, kuten Batocera, tarjoaa virtaviivaisia ​​​​vaihtoehtoja RetroPielle. Batocera käynnistyy nopeammin, sisältää enemmän esikonfiguroituja järjestelmiä ja tukee monimutkaisempia määrityksiä-valmiiksi--, mutta siitä puuttuu kattava yhteisön dokumentaatio, joka helpottaa RetroPie-vianmääritystä aloittelijoille.

Laitteiston laajennus mahdollistaa ainutlaatuiset ominaisuudet. Reaaliaikaisen-kellomoduulin lisääminen I2C:n kautta säilyttää oikeat aikaleimat offline-tilassa. GPIO:n kautta yhdistetyt kiihtyvyysmittarit mahdollistavat niitä tukevien pelien liikeohjaimet. GPIO-nastoilla ohjatut RGB-LED-nauhat luovat ympäristön valaistusefektejä, jotka on synkronoitu pelitapahtumiin RetroArchin LED-ohjaintoiminnon avulla.

 

Oikeudelliset ja eettiset näkökohdat

 

ROM-osaaminen vie laillisia harmaita alueita. ROM-levyjen lataaminen peleihin, joita et fyysisesti omista, on tekijänoikeusloukkausta useimmilla lainkäyttöalueilla. Henkilökohtaiset varmuuskopiot omista kaseteistasi ovat laillisia monissa maissa, mutta kopiosuojauksen kiertäminen (tarvitaan levy{2}}peleissä) rikkoo DMCA:n pykälää 1201 Yhdysvalloissa. Jotkut lainkäyttöalueet sallivat varmuuskopioinnin ilman DRM-kiertorajoituksia.

BIOS-tiedostot kohtaavat samanlaisia ​​oikeudellisia rajoituksia. BIOSin purkaminen omasta konsolista on laillista henkilökohtaiseen käyttöön useimmissa paikoissa, mutta kolmannen osapuolen BIOS-tiedostojen lataaminen, jopa omistamillesi laitteille, levittää tekijänoikeuksilla suojattua materiaalia. Joissakin järjestelmissä on avoimen lähdekoodin BIOS-versioita, mutta ne tarjoavat epätäydellistä yhteensopivuutta.

Homebrew-pelit ja vapaasti jaettavat ROM-levyt tarjoavat laillisia vaihtoehtoja. Sivustot, kuten itch.io ja BrewPi, isännöivät moderneja retrojärjestelmille suunniteltuja pelejä, jotka ovat luoneet indie-kehittäjät, jotka nimenomaisesti sallivat jakelun. Nämä toimivat identtisesti kaupallisten ROM-levyjen kanssa tekijänoikeuslakia kunnioittaen.

Kaupalliset emulointipalvelut, kuten Nintendo Switch Online, osoittavat, että oikeuksien haltijat jatkavat retro-kirjastojen rahallistamista. Henkilökohtaisten kämmenlaitteiden rakentaminen aidosti omistamille peleille eroaa eettisesti ROM-massajakelusta, mutta oikeudellinen ero riippuu alkuperän varmentamisesta, jota on käytännössä mahdotonta osoittaa.

 

Järjestelmän suorituskykyodotukset

 

8-- ja 16-bittiset konsolit toimivat moitteettomasti kaikissa Pi-malleissa. NES, SNES, Game Boy, Genesis ja vastaavat järjestelmät saavuttavat täydellisen kuvanopeuden jopa Pi Zero -laitteistolla. Nämä emulaattorit ovat niin kehittyneitä ja optimoituja, että ne kuluttavat vain vähän resursseja ja jättävät tilaa edistyneille varjostimille ja eteenpäin toimiville ominaisuuksille, jotka vähentävät syöttöviivettä alkuperäisen laitteiston alapuolella.

32{1}}bittinen sukupolvi tuo alustasta{10}}riippuvaisia ​​tuloksia. PlayStation 1 -pelit toimivat hyvin Pi 3:lla ja uudemmilla malleilla ja saavuttavat täyden nopeuden useimmissa peleissä. Pi Zero 2 W käsittelee kevyempiä PS1-pelejä (RPG:t, 2D-taistelijat) riittävästi, mutta se kamppailee 3D-intensiivisten pelien, kuten Crash Bandicootin tai Tekken 3:n, kanssa. Sega Saturn -emulointi on edelleen heikko kaikissa Pi-malleissa järjestelmän monimutkaisen moniprosessoriarkkitehtuurin vuoksi.

N64-emulointi korostaa Pi-rajoituksia ylivoimaisista spesifikaatioista huolimatta. Nintendo 64:n epätavallinen arkkitehtuuri-MIPS R4300i -suoritin, RCP-apuprosessori ja Rambus RAM-osoittuvat vaikeaksi emuloida tehokkaasti. Jopa ylikellotetuissa Pi 4 -laitteistoissa suosituissa nimikkeissä, kuten GoldenEye 007 ja Perfect Dark, on kuvanopeuden epäjohdonmukaisuuksia ja graafisia artefakteja. Pi-erityiset N64-emulaattorit, kuten Mupen64Plus-GLideN64, optimoivat ARM-prosessoreille, mutta eivät silti toimi aidosti.

Kädessä pidettävät konsolit tarjoavat paremman yhteensopivuuden kuin vastaavien aikakausien kotijärjestelmät. Game Boy Advance -emulointi toimii sujuvasti Pi Zero 2 W:ssa ja uudemmissa, lähes täydellisellä tarkkuudella. Nintendo DS -emulointi vaatii vähintään Pi 3:n toistettavaksi kuvanopeudeksi, ja silloinkin 3D--raskailla nimikkeillä on vaikeuksia. PSP-emulointi ei käytännössä toimi-millään Pi:llä järjestelmän monimutkaisen grafiikka-arkkitehtuurin ja korkean resoluution vuoksi.

Arcade-emulointi vaihtelee suuresti ROM-sarjan ja MAME-version mukaan. Klassiset alun-80-luvun arcade-pelit (Pac-Man, Donkey Kong, Galaga) toimivat millä tahansa Pi:llä. 80-luvun lopun pelihallilaitteisto (Street Fighter II, Mortal Kombat) tarvitsee Pi 3:n vähintään . 90sprite-raskas pelit (Marvel vs. Capcom, Metal Slug) vaativat ylikellotetun Pi 4:n tasaisen suorituskyvyn varmistamiseksi. ROM-versioiden sovittaminen MAME-versioon (0,78 ROMia MAME 2003:lle vanhemmalla Pis:llä, 0,139 MAME 2010:lle uudemmalla laitteistolla) on kriittistä.

 

Tulevaisuuden-tarkistus- ja päivityspolut

 

Modulaarinen rakenne mahdollistaa komponenttien vaihdon ilman täydellisiä uusintoja. Standardoitujen liitäntöjen käyttäminen-GPIO-otsikko painikkeille, mikro-HDMI näytöille, USB ohjaimille-mahdollistaa päivittämisen uudempiin Pi-malleihin, kun ne julkaistaan. Pi Zero 2 W - Pi 3A+ -päivitys sopii identtisiin mittoihin ja nelinkertaistaa prosessointitehon.

Tallennustilan laajennus laajentaa kirjaston kokoa SD-korttirajojen yli. USB-tallennustila asennetaan automaattisesti RetroPie-sovellukseen, jolloin ROM-kansiot on linkitetty /home/pi/RetroPie/roms-kansioon /media/usb0/retropie/roms. Tämä vapauttaa pelin tallennustilan SD-kortilta, jolla on vain käyttöjärjestelmä ja emulaattoriohjelmisto, mikä vähentää kirjoitusjakson kulumista.

Akkuteknologian parannukset parantavat kannettavuutta. Modernit 21700 litiumkennot pakkaavat 4000-5000mAh pakkauksissa, jotka ovat hieman suurempia kuin perinteiset 18650 kennot. Suuremman kapasiteetin akut pidentävät käyttöaikaa, mutta lisäävät painoa ja tasapainottavat nämä tekijät käyttötavoista ja muototekijöiden tärkeydestä.

Laskentamoduuliversiot mahdollistavat tehokkaan{0}}muokatun laitteiston. Pi Compute Module 4 tarjoaa Pi 4--tason suorituskyvyn 55 x 40 mm:n SODIMM-muodossa, joka on täydellinen erittäin{10}}pieniin rakenteisiin. Mukautetut kantolevyt integroivat tietyt oheislaitteet suoraan, mikä eliminoi hyppylankarottien pesän. CM4-koontiversiot vaativat kuitenkin piirilevyjen suunnittelutaitoja ja pienten erien valmistusasetuksia.

Yhteisö{0}}vetoiset parannukset optimoivat emuloinnin jatkuvasti. Libretron ydinpäivitykset saapuvat kuukausittain, mikä parantaa tarkkuutta ja suorituskykyä. RetroPie-kehityksen seuraaminen GitHub-varastojen ja foorumien kautta paljastaa tulevat ominaisuudet ja yhteensopivuusparannukset, jotka kannattaa päivittää.

 

Usein kysytyt kysymykset

 

Voinko käyttää Raspberry Pi 5:tä kämmentietokoneen rakentamiseen?

Pi 5 vaatii 5V 5A (25W), huomattavasti enemmän kuin akut tyypillisesti tarjoavat. Sen suorituskykyedut eivät tarkoita parempaa emulointia järjestelmissä, joita Pi 4 jo käsittelee hyvin. Pysy Pi 4:n tai Zero 2 W:n kanssa parantaaksesi tehokkuutta kannettavissa rakennuksissa.

Kuinka kauan kokoonpano kestää-ensimmäisen rakentajan?

Odota 15–25 tuntia useiden istuntojen kesken. Komponenttien testaus kestää 2–3 tuntia, ohjelmiston asennus 3–5 tuntia, fyysinen kokoonpano 6–10 tuntia, ja vianmääritys vie tyypillisesti vielä 4–7 tuntia ensimmäisissä koontiversioissa. Kokemus lyhentää merkittävästi myöhempiä projektiaikoja.

Tarvitsenko juotostaitoja kämmenlaitteen rakentamiseen?

Perusjuottaminen on lähes väistämätöntä, ellei sarjoja, joissa on esiasennettuja piirilevyjä-. Virtajohtojen liittäminen, painikkeiden GPIO-nastat ja kaiutinjohdot vaativat juottamisen. Breadboard-tyyliset hyppyliitännät toimivat prototyyppien luomiseen, mutta ne eivät ole mekaanisesti luotettavia kannettavissa laitteissa, jotka ovat alttiina liikkeelle ja tärinälle.

Mikä on todellinen{0}}akun käyttöikä?

Tyypilliset järjestelmät, joissa on Pi Zero 2 W, 3,5 tuuman näyttö ja 4000 mAh akku, tarjoavat 3–4 tuntia aktiivista peliaikaa. Pi 4 -koontiversiot, joissa on suurempi näyttö, kuluvat nopeammin, keskimäärin 2–2,5 tuntia. Todellinen käyttöaika vaihtelee näytön kirkkauden, emuloitavan järjestelmän ja sen mukaan, ovatko WiFi/Bluetooth käytössä.

Voivatko nämä kämmenlaitteet pelata nykyaikaisia ​​pelejä?

Ei. Raspberry Pi -laitteistolta puuttuu prosessointiteho muuhun kuin PS1-aikakauden 3D-peleihin. Jotkut ARM Linuxille käännetyt kevyet indie-pelit saattavat toimia, mutta RetroPie keskittyy yksinomaan retro-emulointiin, ei moderniin pelaamiseen.

Onko näiden rakentamisessa laillisia riskejä?

Laitteiston rakentaminen on täysin laillista. Oikeudellinen harmaa alue koskee ROM-osien hankkimista-pelien lataaminen, joita et omista, rikkoo tekijänoikeuksia. Omien kasettien henkilökohtaiset varmuuskopiot ovat laillisia monilla lainkäyttöalueilla, vaikka levy-pohjaiset varmuuskopiot voivat rikkoa kiertämisen vastaisia-lakeja sijainnista riippuen.

 

Johtopäätös Ajatuksia

 

Raspberry Pi -kämmenlaitteiden vetovoima on muutakin kuin nostalgiaa tai kustannussäästöjä. Näissä hankkeissa opetetaan elektroniikan peruskäsitteitä-jännitteen säätelyä, sarjaliikenneprotokollia, tulo-/lähtöliitäntöjä-käytännön soveltamisen avulla abstraktin teorian sijaan. Kun juotosliitos halkeilee ja Käynnistä-painike lakkaa toimimasta pelin -välissä, opit todellisia vianetsintätaitoja, joita oppikirjat eivät pysty välittämään.

Se, mikä erottaa onnistuneet koontiversiot hylätyistä leipälaudoista, on realistinen odotus-. Tämä ei ole kasettien asettamista tehdaskonsoleihin-vaan virheenkorjaus, miksi GPIO 17 lukee korkeaa, kun sen pitäisi lukea alhaista, tai miksi kuvanopeus putoaa 60 fps:stä 45 fps:iin, kun akun varaus laskee alle 3,6 V:n. Tyytyväisyys ei tule täydellisestä emuloinnista, vaan ongelmien ratkaisemisesta, jotka olet luonut omilla suunnittelupäätöksilläsi.

Näiden rakennusten ympärillä oleva yhteisö on edelleen huomattavan tukeva. Muukalaiset foorumeilla diagnosoivat jännitesäädinongelmasi yleismittarin lukemien epäselvien kuvien perusteella. Joku julkaisee GitHub-tietovaraston, jossa on käyttämäsi näytön tarkat pin-kartoitukset. Tämä yhteistoiminnallinen ongelman{{3}ratkaisu muuttaa turhauttavan eristäytymisen yhteisiksi oppimiskokemuksiksi.

Mikä tärkeintä, Raspberry Pi -kämmenlaitteen rakentaminen antaa käsityksen siitä, kuinka kaikki kulutuselektroniikka toimii perustasoilla. Tämä musta laatikko, jossa on merkintä "älypuhelin" tai "kannettava tietokone", tulee vähemmän salaperäiseksi, kun olet kytkenyt manuaalisesti painikkeet katkaisemaan nastat ja määrittänyt ydinmoduulit havaitsemaan näytön päivitykset. Digitaalisesta maailmasta tulee konkreettinen-kirjaimellisesti laitteen muodossa, jota voit pitää ja ymmärrät, koska kokosit jokaisen komponentin itse.