Raspberry pi delninis žaidimų rinkinys

Oct 30, 2025 Palik žinutę

raspberry pi handheld game kit


Kaip veikia rankinių žaidimų rinkiniai „Raspberry Pi“?

 

Raspberry Pi delniniai žaidimų rinkiniai veikia derindami vieną{0}}bortinį kompiuterį su ekranu, fiziniais valdikliais ir akumuliatoriaus sistema – visa tai koordinuoja emuliacijos programinė įranga, kuri klasikinį žaidimo kodą paverčia vykdomosiomis instrukcijomis. Raspberry Pi veikia kaip centrinis procesorius, kuriame veikia specializuotos operacinės sistemos, tokios kaip RetroPie arba Recalbox, kuriose yra keli emuliatoriai skirtingoms žaidimų konsolėms.

Šios sistemos remiasi trimis tarpusavyje sujungtais sluoksniais: aparatinės įrangos integracija, kuri fiziškai sujungia komponentus per GPIO kaiščius ir ryšio protokolus, programinės įrangos emuliaciją, imituojančią senovinių žaidimų aparatinės įrangos elgseną, ir maitinimo valdymą, reguliuojantį akumuliatoriaus išėjimą, kad būtų palaikoma stabili visų komponentų įtampa.

 

Pagrindinė techninės įrangos architektūra

 

Bet kurio „Raspberry Pi“ delninio kompiuterio pagrindas yra vienas{0}}bortinis kompiuteris. Dauguma kūrėjų renkasi Pi Zero 2 W, skirtą itin-kompaktiškoms konstrukcijoms, arba Pi 4, jei norite emuliuoti reiklesnius. „Pi Zero 2 W“ sunaudoja maždaug 500–800 mA aktyvaus žaidimo metu, o „Pi 4“ gali sunaudoti iki 1,5 A esant pilnai apkrovai, kai imituoja sudėtingesnes sistemas, tokias kaip „Nintendo 64“ ar „PlayStation 1“.

Komponentų pasirinkimas sukuria pakopinę techninių sprendimų seriją. 3,5 colio 640 x 480 ekranui reikia kitokios GPIO kaiščio konfigūracijos nei 5 colių HDMI ekranui. Pirmasis paprastai jungiasi per SPI (nuosekliąją periferinę sąsają), naudojant kaiščius, tokius kaip GPIO 25 duomenims / komandoms pasirinkti ir GPIO 8 lustui pasirinkti, sunaudoja 200–300 mA. HDMI ekranai jungiami per tam skirtą vaizdo prievadą, tačiau jiems reikia savo maitinimo grandinės, dažnai iš akumuliatoriaus sistemos ištraukiant papildomą 400–500 mA.

Fiziniai valdikliai jungiami tiesiogiai prie GPIO kaiščių, sukonfigūruotų kaip įvestys su vidiniais traukimo{0}}rezistoriais. Kai mygtuko paspaudimas įžemina kaištį, programinės įrangos sluoksnis aptinka būsenos pasikeitimą. Standartinei valdymo schemai reikia mažiausiai 12 GPIO kaiščių: keturių krypčių mygtukams (aukštyn, žemyn, kairėn, dešinėn), keturių veiksmų mygtukams (A, B, X, Y), dviejų pečių mygtukams (L, R) ir dviejų sistemos valdikliams (Start, Select). Pažangūs kūrėjai įgyvendina multipleksavimą, kad sumažintų kontaktų skaičių, naudodami poslinkių registrus arba I2C plėtiklius, leidžiančius 16+ įvestis tik per 3–4 kaiščius.

Ekrano sąsaja labai lemia konstrukcijos sudėtingumą. SPI ekranams reikia rankiniu būdu įdiegti tvarkykles ir redaguoti konfigūracijos failą, nurodant tokius parametrus kaip sukimosi kampas, atnaujinimo dažnis ir jutiklinės perdangos kalibravimas. DSI (Display Serial Interface) jungtys oficialiuose Raspberry Pi ekranuose automatiškai-aptinkamos per įrenginių medžio perdangas, todėl programinės įrangos sąranka supaprastinama, tačiau reikia tikslių juostinio kabelio jungčių, kurios surenkamos trapios.

 

Energijos sistemų inžinerija

 

Akumuliatoriaus valdymas atskiria funkcines konstrukcijas nuo gaisro pavojaus. Ličio polimerų elementai išveda 3,7 V vardinę įtampą, bet svyruoja tarp 4,2 V visiškai įkrauto ir 3,0 V išeikvoto. Raspberry Pi reikia stabilios 5 V įtampos esant pakankamam srovės stiprumui, todėl reikalinga keitiklio grandinė.

Populiariausi sprendimai apima Adafruit PowerBoost 1000C, kuris priima 3,7 V LiPo įvestį ir užtikrina reguliuojamą 5 V išvestį iki 1 A nepertraukiamo, su 2 A maksimalia galia. Konversijos efektyvumas svyruoja nuo 80-92 %, priklausomai nuo apkrovos, o tai reiškia, kad 2500 mAh talpos baterija nesuteikia 2500 mAh naudojamos galios – tikimasi, kad po konversijos nuostolių ji bus arčiau 2000–2200 mAh.

Kritinės saugos priemonės apsaugo nuo katastrofiškų gedimų. TP4056 įkrovimo valdymo IC valdo ličio baterijų įkrovimą, apriboja srovę iki 1C (1000mA 1000mAh elementui) ir baigia ties 4,2V, kad būtų išvengta perkrovimo. Apsaugos grandinės stebi, ar nėra per-iškrovimo (pjovimo galia mažesnė nei 2,8-3,0 V), trumpųjų jungimų ir per didelės temperatūros. Pastatams, kuriuose nėra šių apsaugos priemonių, kyla šiluminis nutekėjimas, kai vidinė varža generuoja šilumą, kuri pagreitina chemines reakcijas ir gali sukelti gaisrą.

Akumuliatoriaus veikimo laiko skaičiavimai atskleidžia energijos biudžeto realybę. Pi Zero 2 W sistema su 3,5 colio SPI ekranu ir sustiprintu garsu sunaudoja maždaug 750 mA. Turint 4000 mAh talpos bateriją ir 85 % konversijos efektyvumą, teorinis veikimo laikas siekia 4,5 val., tačiau intensyviai žaidžiant dėl ​​kintamos procesoriaus apkrovos ir ekrano ryškumo paprastai gaunama 3-3,5 valandos.

Išplėstinis energijos valdymas apima GPIO{0}}pagrįstą stebėjimą. Prijungus „PowerBoost“ įspėjimo apie išsikrovusį akumuliatoriaus kaištį prie GPIO 15, programinė įranga gali aptikti įtampos kritimą žemiau 3,2 V, o tai suaktyvina grakščias išjungimo procedūras, kurios apsaugo nuo SD kortelės sugadinimo. Kai kuriose versijose įdiegtos baterijos degalų kiekio matuoklio IC, pvz., MAX17048, kurie palaiko ryšį per I2C ir pateikia tikslius --įkrovimo procentus, o ne paprastas įtampos slenksčius.

 

raspberry pi handheld game kit

 

Programinės įrangos emuliacijos mechanika

 

„RetroPie“ yra dominuojanti programinės įrangos platforma, sukurta ant Raspberry Pi OS su „EmulationStation“, teikiančia grafinę sąsają. Sistemos architektūra susideda iš trijų sluoksnių: „Linux“ branduolio, valdančio aparatinės įrangos abstrakciją, „RetroArch“, veikiančio kaip emuliacijos sistema su standartizuotomis valdiklio API, ir atskirų „libretro“ branduolių, vykdančių konsolei{1}}specifinę emuliaciją.

Kai paleidžiate žaidimą, „EmulationStation“ perduoda ROM failo kelią „RetroArch“, kuris įkelia atitinkamą branduolį-, pvz., „Snes9x“, skirtą „Super Nintendo“ žaidimams. Emuliatorius nuskaito dvejetainius ROM duomenis ir interpretuoja pradinės konsolės procesoriaus instrukcijas. SNES Ricoh 5A22 procesoriaus, veikiančio 3,58 MHz dažniu, šiuolaikiniai Raspberry Pi procesoriai, veikiantys 1-1,8 GHz dažniu, užtikrina daugiau nei 400 kartų didesnį nei neapdorotą laikrodžio greitį, tačiau norint tiksliai emuliuoti reikia ciklo tikslumo, kuris sunaudoja daug apdorojimo galios.

Kadro tempas lemia žaidimo sklandumą. Originalios konsolės išvestis fiksuotu atnaujinimo dažniu - 60 Hz NTSC sistemoms, 50 Hz PAL. „RetroArch“ vaizdo įrašų tvarkyklės sinchronizuoja emuliacijos greitį su ekrano atnaujinimo dažniu, numesdamos arba dubliuodami kadrus, kai atsiranda laiko neatitikimų. Garso delsa atsiranda dėl buferio dydžio: mažesni buferiai (64–128 pavyzdžiai) sumažina delsą, tačiau rizikuoja traškėti naudojant lėtesnę aparatinę įrangą, o didesni buferiai (256–512 pavyzdžių) užtikrina sklandų garsą už 20–40 ms įvesties delsą.

Skirtingi emuliatoriai reikalauja labai skirtingų išteklių{0}}bitų sistemos, pvz., NES ir Game Boy, be vargo veikia su Pi Zero ir sunaudoja 15–25 % procesoriaus. „Super Nintendo“ emuliacijai reikia 40–60% „Pi Zero 2 W“, o „PlayStation 1“ reikia 70–85%. „Nintendo 64“ emuliacija išlieka problemiška net naudojant „Pi 4“, nes daugelis pavadinimų rodo kadrų kritimus ir grafinius nesklandumus, nepaisant puikių „Pi“ specifikacijų, nes norint tiksliai emuliuoti N64 MIPS R4300i procesorių ir „Reality Coprocessor“, reikia tikslaus laiko, kurį sunku pasiekti programinės įrangos interpretacijai.

Konfigūruojama naudojant retroarch.cfg ir konkrečius sistemos{1} failus. Vaizdo įrašo nustatymai valdo skiriamosios gebos mastelio keitimą-taškų atranką, kad būtų užtikrintas tobulas pikselių-autentiškumas, palyginti su dvilinijiniu filtravimu, siekiant sklandumo. Shaders taiko vaizdo efektus realiuoju laiku{6}}, imituodami CRT nuskaitymo linijas arba delnines LCD matricas, tačiau kiekvienas atspalvio sluoksnis naudoja GPU išteklius. Garso atrankos kokybė turi įtakos ir garso tikslumui, ir apdorojimo sąnaudoms.

Įvesties atvaizdavimas fizinius mygtukų paspaudimus paverčia virtualaus valdiklio signalais. „RetroPie“ naudoja dviejų-pakopų sistemą: „EmulationStation“ atvaizduoja fizines įvestis meniu naršymui, o „RetroArch“ tvarko{2}}žaidimo valdiklius. GPIO-pagrįstuose valdikliuose naudojama programinė įranga, pvz., GPIONext, kuri branduolio lygiu sukuria virtualų žaidimų pulto įrenginį, kuris emuliatoriaus požiūriu atrodo identiškas USB valdikliams.

 

Ekrano ir garso integracija

 

Ekrano technologija iš esmės formuoja vartotojo patirtį. SPI ekranai bendrauja nuosekliai, per bendrinamus kaiščius perduodami pikselių duomenis po vieną bitą. Tai riboja atnaujinimo dažnį-daugumos 3,5-colių SPI ekranuose, kurių maksimalus greitis yra 30-40 kadrų per sekundę, tinka senesniems žaidimams, bet yra problemiškas greito tempo žaidimams. Fbcp-ili9341 tvarkyklė įgalina aparatinę SPI 80 MHz dažniu, pagerindama našumą, tačiau reikalaujanti branduolio modulio kompiliavimo.

HDMI ekranai siūlo natūralios skiriamosios gebos palaikymą ir 60 kadrų per sekundę galimybę, tačiau apsunkina nešiojamą dizainą. Mini HDMI į mikro HDMI adapteriai suteikia mechaninių įtempių taškų, kurie gali sugesti. Kabelis turi būti nukreiptas į ekrano energijos suvartojimą; atskirų 5 V maitinimo linijų tiesimas tiesiai iš akumuliatoriaus grandinės apsaugo nuo įtampos kritimo, dėl kurio ekranas mirga procesoriaus apkrovos šuolių metu.

Lietimui jautriuose ekranuose reikalingas kalibravimas. Tslib biblioteka atvaizduoja fizines prisilietimo koordinates, kad būtų rodomi pikseliai per 7 taškų kalibravimo matricą. Talpiniai jutikliniai ekranai bendrauja naudodami I2C protokolą, pranešdami apie 10 vienu metu esančių prisilietimo taškų, tačiau sunaudoja papildomų GPIO kaiščių ir reikalingos suderinamos branduolio tvarkyklės.

Garso diegimas paprastai naudoja PWM (impulso pločio moduliavimą) pagrindinei išvestiei arba I2S (Inter-IC Sound), kad rezultatai būtų kokybiški. „Pi“ įtaisytas-3,5 mm lizdas skleidžia priimtiną, bet triukšmingą garsą, o tyliai praeinant girdimas šnypštimas. Specialūs DAC moduliai, pvz., PCM5102A, jungiami per I2S kaiščius (GPIO 18, 19, 21) ir perduoda 24-bit/192kHz garsą, o signalo{14}}triukšmo santykis viršija 100 dB.

Stiprinimo reikalavimai priklauso nuo garsiakalbio varžos. Maži 8 omų 0,5 W garsiakalbiai suporuoti su PAM8403 D klasės stiprintuvais, tiekiančiais 3 W vienam kanalui 90 % efektyvumu. Garso valdymas atliekamas naudojant aparatūros potenciometrus, prijungtus prie stiprintuvo, arba programinės įrangos maišymą naudojant ALSA (Advanced Linux Sound Architecture), o pastaroji įveda nedidelį delsą, bet leidžia tiksliai valdyti skaitmeninį valdymą.

 

GPIO valdiklio diegimas

 

GPIO (bendrosios paskirties įvesties / išvesties) antraštėje yra 26 tinkami naudoti kaiščiai mygtukų įvestims, atsižvelgiant į maitinimą, įžeminimą ir ekrano ryšiui skirtus kaiščius. Kiekvienas įvesties kaištis, sukonfigūruotas su vidiniu 50-kilohm ištraukiamuoju rezistorius, yra 3,3 V, kai nepaspaudžiamas joks mygtukas. Paspaudus mygtuką, prijungtą tarp kaiščio ir žemės, įtampa pakeliama iki 0 V, sukuriant aptinkamą būsenos pokytį.

Programinės įrangos atmetimas apsaugo nuo klaidingų paleidimų dėl mechaninio jungiklio atšokimo. Įprastas įgyvendinimas atrenka kaiščio būseną kas 10 ms, patvirtindamas paspaudimą, kai sutampa trys iš eilės skaitymai. Aparatinės įrangos atstatymas naudojant 100 nF kondensatorius per jungiklio gnybtus užtikrina švaresnius signalus, tačiau padidina komponentų skaičių ir vietos poreikį.

Matricinis nuskaitymas sumažina smeigtukų naudojimą kūrimui su 16+ mygtukais. 4x4 matricoje naudojami aštuoni GPIO kaiščiai-keturi išėjimai ir keturi įėjimai. Programinė įranga nuosekliai įjungia kiekvieną išvesties eilutę, skaitydama įvesties stulpelius, nustatydama, kuris (-i) mygtukas (-iai) paspaustas (-i). Nuskaitymo dažnis turi viršyti 100 Hz, kad būtų išvengta praleistų įvesčių greitų mygtukų sekų metu, todėl pagrindinės programos ciklo laikas tampa sudėtingesnis.

Išplėstinėse versijose yra analoginės įvestys vairasvirtėms. Pi neturi vietinių analoginių-į-skaitmeninių keitiklių, todėl reikia išorinių ADC lustų, pvz., ADS1115, prijungtų per I2C. Kiekviena vairasvirtė naudoja du analoginius kanalus X ir Y ašims, pranešančias vertes nuo 0 iki 65535, kurias programinė įranga susieja su -32768 į +32767, kad būtų suderinama su RetroArch.

 

Šilumos valdymo svarstymai

 

Raspberry Pi BCM2711 SoC (pi 4) arba BCM2710A1 (Pi Zero 2 W) išskiria daug šilumos esant nuolatinėms apkrovoms. Be šiluminio valdymo procesorius droseluoja nuo 1,8 GHz iki 1,0 GHz 80 laipsnių kampu, kad būtų išvengta žalos, dėl kurios žaidimo metu staiga sumažėja kadrų dažnis.

Pasyvus aušinimas naudojant aliuminio radiatorius su terminiais lipniais trinkelėmis išsklaido 2-3 W per konvekciją. Aušintuvo paviršiaus plotas ir pelekų konstrukcija lemia aušinimo pajėgumą – 15x15x10 mm aušintuvas su vertikaliais briaunomis gali palaikyti 10-15 laipsnių žemesnę nei aplinkos temperatūrą esant vidutinėms apkrovoms.

Aktyvus aušinimas su 30 x 30 mm 5 V ventiliatoriais perkelia 1-2 CFM oro, todėl palaikomas turbo režimas. Ventiliatoriaus valdymas per GPIO impulsų pločio moduliavimą reguliuoja greitį pagal procesoriaus temperatūros rodmenis iš /sys/class/thermal/thermal_zone0/temp. Įdiegus histerezę (ventiliatoriaus paleidimas 65 laipsnių kampu, bet nesustabdymas iki 55 laipsnių) apsaugo nuo greito važiavimo dviračiu, kuris yra girdimas ir erzina.

Korpuso konstrukcija kritiškai veikia oro srautą. Ventiliacijos angos, esančios kryžminiam-srauto-įsiurbimui šalia procesoriaus, išmetimui priešais-sukuria nuoseklų oro judėjimą. Tvirti plastikiniai dėklai be ventiliacijos gali sulaikyti šilumą ir sukelti šiluminį droselį, net jei pritvirtinti aušintuvai, atspausdinti. 3D-dėklai su vidinėmis atraminėmis konstrukcijomis, kurios neužstoja oro srauto, optimizuoja vėsinimą ir konstrukcijos vientisumą.

 

Surinkimo procesas ir bendri spąstai

 

Fizinė konstrukcija prasideda komponentų testavimu už korpuso ribų. „Pi“ prijungimas prie monitoriaus per HDMI, kol įjungiama SD kortelė, „RetroPie“ patikrina pagrindines funkcijas, prieš padidindamas ekrano ir valdiklio sudėtingumą. Šis diagnostikos veiksmas neleidžia pašalinti surinktų įrenginių trikčių, kai sunku pasiekti kabelius.

GPIO kaiščio identifikavimo klaidos sukelia labiausiai varginančius gedimus. 40-pin antraštė numeruoja kaiščius nuo 1 iki 40, tačiau GPIO numeriai skiriasi – fizinis kaištis 11 yra GPIO 17. Naudojant BCM numeravimo schemą programinėje įrangoje fiziškai prisijungiant prie plokštės numerių, atsiranda neatitikimų, kuriuos sunku diagnozuoti. Atspausdinus smeigtukų schemą ir patikrinus multimetru, sutaupoma valandų derinimo.

Lydmetalio kokybė lemia patikimumą. Šalto litavimo jungtys-blizgančios, išgaubtos briaunos-turi didelį atsparumą, todėl sujungimai nutrūksta, nes jungtis veikimo metu įkaista. Tinkamos jungtys atrodo lygios, įgaubtos ir pilkos spalvos, o tai rodo visišką metalo susiliejimą. Plokštėse likę srauto likučiai gali sukelti srovės nuotėkį tarp gretimų kaiščių, o tai ypač problematiška drėgnoje aplinkoje.

Dėl mechaninio jungčių įtempimo atsiranda priešlaikinis gedimas. „Pi Zero“ mikro USB prievadas atlaiko maždaug 5000 įdėjimo ciklų prieš atjungiant nuo PCB. Lituojant maitinimo laidus tiesiai prie bandymo trinkelių, šis gedimo taškas pašalinamas, tačiau garantijos panaikinamos. Visų kabelių jungčių įtempimo mažinimo naudojimas-karštos klijai yra stebėtinai veiksmingi-apsaugo nuo lankstymo, kuris vargina litavimo jungtis.

Suderinamumas su SD kortele netikėtai paveikia stabilumą. Ne visos kortelės apdoroja greitus mažus įrašus, kuriuos sukuria emuliacija. 10 arba UHS-1 klasės kortelės su dideliu atsitiktinio rašymo IOPS našumu yra geresni nei nuoseklios-greičio-optimizuotos kortelės. Autentiškos „SanDisk“ arba „Samsung“ kortelės rodo žymiai mažiau failų sugadinimo problemų nei be pavadinimo, nepaisant identiškų specifikacijų popieriuje.

 

raspberry pi handheld game kit

 

Našumo optimizavimo metodai

 

„Operclocking“ išstumia aparatinę įrangą, viršijančią nustatytas specifikacijas, kad būtų užtikrintas geresnis emuliacijos našumas. „Pi Zero 2 W“ numatytieji 1 GHz ARM Cortex-A53 branduoliai gali pasiekti 1,2–1,3 GHz dažnį tinkamai aušinant, todėl „PlayStation 1“ kadrų dažnis padidinamas nuo 40 iki 55 kadrų per sekundę sudėtinguose kūriniuose. Konfigūracija atliekama faile /boot/config.txt nustatant arm_freq=1200 ir padidinant over_voltage=4, kad stabilizuotųsi aukštesnis dažnis.

GPU atminties paskirstymas subalansuoja vaizdo našumą su sistemos RAM. „RetroPie“ pagal numatytuosius nustatymus yra 256 MB GPU paskirstymas 1 GB Pi modeliuose. Sumažinus iki 128 MB, atlaisvinama atmintis emuliacijos procesams, tuo pačiu užtikrinant pakankamai vaizdo buferio 720p išėjimui. Parametras gpu_mem faile config.txt valdo šį padalijimą.

Branduolio valdikliai turi įtakos procesoriaus dažnio mastelio keitimui. „Užsakymo“ reguliatorius koreguoja dažnį pagal apkrovą, bet įveda delsą perėjimų metu. Perjungus į „našumo“ reguliatorių, CPU užrakinamas maksimaliu dažniu, užtikrinant pastovų kadrų laiką, padidinant energijos suvartojimą ir šilumos gamybą. Tai svarbiausia naudojant N64 arba Dreamcast emuliaciją, kai pastebimas momentinis sulėtėjimas.

ROM saugojimo vieta labai paveikia įkėlimo laiką. Saugodami ROM SD kortelės greitajame skaidinyje (šakninėje failų sistemoje), žaidimai įkeliami 2–3 kartus greičiau nei iš lėtos USB atmintinės. Tinklo saugykla naudojant SMB bendrąsias dalis suteikia kintamą delsą, dėl kurios garsas trūkčioja, kai tinklas yra perkrautas.

Shader optimizavimas reikalauja pasirinktinio naudojimo. „Scanline“ šešėliai sunaudoja minimalius išteklius, pridedant mažiau nei 5% GPU apkrovos. Pažangūs atspalviai, pvz., CRT-Royale su žydėjimo efektais, gali sunaudoti 40–50 % GPU talpos, todėl lėtesnė aparatinė įranga nukrenta kadrai. Išbandžius kiekvieno atspalvio poveikį faktiniam kadrų dažniui, o ne pasikliaujant aprašymais, išvengiama grojimo problemų.

 

Rinkinio variantai ir dizaino kompromisai

 

Komerciniai rinkiniai, tokie kaip PiBoy DMG, pateikia iš anksto{0}}surinktus PCB su integruotomis mygtukų matricomis, garsiakalbių stiprintuvais ir baterijų valdymu Game Boy{1}}stiliaus apvalkalu. Tai supaprastina surinkimą iki juostinių kabelių prijungimo ir Pi įdiegimo, tačiau riboja pritaikymą ir dažnai kainuoja 80–120 USD vien už korpusą prieš pridedant Pi ir akumuliatorių.

„Pasidaryk pats“ konstrukcijos siūlo visišką kontrolę sudėtingumo sąskaita. Norint įsigyti atskirų komponentų-ekraną, mygtukus, akumuliatorių, įkrovimo grandinę, dėklą-, reikia ištirti suderinamumą ir suprasti elektros specifikacijas. Visiškai pagal užsakymą pagaminta medžiaga gali kainuoti 60–80 USD, tačiau reikia 15–25 valandų projektavimo, 3D spausdinimo, laidų ir trikčių šalinimo.

Formos faktoriaus pasirinkimai daro didelę įtaką ergonomikai. Vertikalus Game Boy{1}}stiliaus išdėstymas atrodo natūralus 8-bitų ir 16 bitų žaidimams, tačiau trūksta analoginių valdiklių. Horizontalus dizainas, panašus į „PlayStation Portable“, talpina dvigubą analoginę lazdelę, bet padidina plotį, kad būtų galima pernešti kišenėje. Clamshell DS stiliaus konstrukcijos apsaugo ekraną, tačiau apsunkina vyrių mechanizmus ir reikalauja dviejų ekranų su atskira tvarkyklės konfigūracija.

Ekrano dydis ir akumuliatoriaus veikimo laikas yra nuolatinis kompromisas. 5 colių HDMI ekranas sunaudoja 600–700 mA, o 3,5 colio SPI ekranas naudoja 200–250 mA. Šis 400 mA skirtumas reiškia maždaug dvi valandas įprastų 4000 mAh baterijų veikimo laiko. Statytojai, teikiantys pirmenybę maratoninėms žaidimų sesijoms, renkasi mažesnius ekranus, nepaisant sumažėjusio matomumo.

Komponentų kokybės skirtumai vargina „pasidaryk pats“ statybas. Bendrieji „AliExpress“ ekranai gali sutaupyti 15 USD, tačiau jie bus su negyvais pikseliais, prastais žiūrėjimo kampais arba neteisinga tvarkyklės dokumentacija. Pavadinimas-prekės ženklo „Waveshare“ arba „Adafruit“ dalys kainuoja daugiau, tačiau apima patikimus dokumentus ir bendruomenės palaikymą. Sutaupytas laikas šalinant pateisinamų prekių ženklų triktis paprastai viršija kainą.

 

Programinės įrangos konfigūracija Deep Dive

 

Pradinei RetroPie sąrankai reikia įrašyti OS vaizdą į SD kortelę naudojant tokius įrankius kaip Raspberry Pi Imager. Pirmoji įkrova išplečia failų sistemą, kad išnaudotų visą kortelės talpą, ir paleidžiamas „EmulationStation“ valdiklio konfigūracijos vedlys. Šis vedlys susieja fizines įvestis su „RetroArch“ valdiklio abstrakcijos sluoksniu{2}}kiekvienas mygtuko paspaudimas išsaugo klavišo kodą, kurį „RetroArch“ paverčia emuliuotomis konsolės įvestimis.

BIOS failai leidžia tiksliai emuliuoti tam tikras sistemas. PlayStation 1 reikia SCPH1001.BIN (NTSC) arba SCPH7502.BIN (PAL) failų, kuriuose yra originalus Sony įkrovos kodas. Jie yra /home/pi/RetroPie/BIOS/ ir turi atitikti konkrečias MD5 kontrolines sumas, kad patikrintų autentiškumą. Be teisingų BIOS failų žaidimai arba nepaleidžiami, arba rodomas netinkamas elgesys, pvz., trūksta garso ar grafinių trikdžių.

ROM perdavimo būdai yra nuo USB atmintinės (lėčiausias, labiausiai suderinamas) iki SFTP tinkle (greičiausias, reikia konfigūruoti). Naudojant USB metodą FAT32{4}}suformatuotuose diskuose sukuriamas „retropijos“ aplankas, įterpiamas į Pi, laukiama, kol šviesos diodas nustos mirksėti generuojant aplanko struktūrą, tada nukopijuojami ROM į atitinkamus sistemos aplankus (/retropie/roms/snes, /retropie/roms/nes ir kt.). Tinklo perkėlimas leidžia vilkti{5}}iš bet kurio kompiuterio, kai „Samba“ bendrinimai įgalinami naudojant „RetroPie“ sąrankos scenarijų.

Iškraunant metaduomenis žaidimo biblioteka praturtinama viršeliu, aprašymais ir išleidimo datomis. Integruotas-scraper užklausas pateikia ScreenScraper arba TheGamesDB API, atsisiunčia kiekvieno aptikto ROM vaizdus ir duomenis. Didelės bibliotekos (300+ žaidimai) užtrunka kelias valandas, nes nemokamų API paskyrų rodiklis{4}}apriboja užklausas. Neautomatinis konkrečių problemų pavadinimų iššifravimas veikia geriau nei{6}}viską iš naujo, kai atsiranda naujinių.

Individualizuotos temos suasmenina sąsają ne tik pagal numatytąją „RetroPie“ mėlyną estetiką. Tokios temos kaip „ComicBook“, „TronkyFran“ arba „Magazinemadness“ įdiegiamos per „RetroPie“ sąrankos meniu, keičiant išdėstymą, šriftus ir meno kūrinių pateikimą. Kai kurioms temoms reikalingi papildomi ištekliai, pvz., pasirinktiniai šriftai arba konkrečių vaizdų skyra, todėl saugyklos reikalavimai padidinami nuo 500 MB iki daugiau nei 2 GB, jei tai{4}}sunkus dizainas.

 

Įprastų trikčių šalinimas

 

Juodas įkrovos ekranas paprastai rodo maitinimo šaltinio nepakankamumą arba netinkamą ekrano konfigūraciją. 5 V tarp 2 ir 6 GPIO kaiščių patikrinimas multimetru patvirtina energijos tiekimą. Jei įkrovos metu įtampa nukrenta žemiau 4,75 V, akumuliatoriaus grandinėje trūksta pakankamai srovės. Ekrano problemos dažnai kyla dėl neteisingų /boot/config.txt parametrų-komentuojant visus su ekranu-susijusius dtoverlay įrašus, o HDMI priverstinės parinktys grąžinamos į numatytąsias diagnostikos nuostatas.

Valdiklio įvesties neregistravimas paprastai reiškia GPIO numerių neatitikimus arba neveikiančią programinę įrangą. Komanda sudo systemctl status gpionext.service patikrina, ar GPIO valdiklio tvarkyklė tinkamai įkelta. Tikrinant /var/log/syslog, ar nėra klaidų, pvz., „GPIO jau naudojamas“, rodomas konfliktas su kitomis tarnybomis arba tvarkyklėmis, reikalaujančiomis tuos pačius kaiščius.

Garso problemos pasireiškia tuo, kad nėra garso, traškesys arba netinkami garsumo lygiai. Alsamixer komandų-eilutės įrankis rodo ir koreguoja maišytuvo lygius-paspaudus F6 pasirenkama garso plokštė (bcm2835 įtaisytajam-garsui, USB DAC pavadinimai išoriniam), o rodyklių klavišais reguliuojamas kanalo garsumas. PCM kanalas valdo bendrą išvesties lygį, o konkretūs žaidimų kanalai tvarko atskirą emuliatoriaus garsą. Traškėjimas esant dideliam garsui dažnai reiškia, kad stiprintuvo apkarpymas{8}}sumažina garsumą, o ne padidina stiprintuvo stiprinimą.

Emuliacijos sulėtėjimas nepaisant tinkamos aparatinės įrangos dažniausiai kyla dėl neoptimalių vaizdo tvarkyklių arba šešėlių. Perjungus iš fbcp-fbtft į fbcp-ili9341, skirtą SPI ekranams, kadrų dažnis gali padidėti 50-100 % dėl optimizuoto SPI operacijų tvarkymo. Išjungus „RetroArch“ paleidimo{7}}pirmyn ir atsukimo atgal funkcijas, sumažinamos procesoriaus sąnaudos ir prarandamos kokybiškos -eksploatacinės funkcijos.

„Wi-Fi“ ryšio problemos kamuoja „Pi Zero W“, kai GPIO kontaktai trukdo antenai. Vidinė antena užima PCB galą, kuriame tvirtinamos GPIO antraštės, o netoliese esantys laidai gali sukelti derinimą. Laikydami mygtukų laidus toliau nuo paskutinių 15 mm plokštės arba pridėjus USB WiFi raktus (kurie naudoja GPIO kaiščius kaip kompromisą), išsprendžiamos sunkiai įveikiamos ryšio problemos.

 

Išplėstinės funkcijos ir modifikacijos

 

Išsaugotos būsenos leidžia akimirksniu sustabdyti ir atnaujinti žaidimą, o tai labai svarbu nešiojamam žaidimui. „RetroArch“ saugo išsaugojimo būsenas /home/pi/RetroPie/states/[sistema]/[žaidimas].state failuose, sunaudoja nuo 50 KB iki 2 MB, priklausomai nuo sistemos. Automatinio-išsaugojimo funkcijos suveikia, kai išeinate iš žaidimų, bet greita išsaugojimo būsenos prieiga naudojant sparčiųjų klavišų kombinacijas (Pasirinkite + R1, jei norite išsaugoti, Pasirinkite + L1, kad įkeltumėte), leidžia daugiau valdyti žaidimo metu.

Pasiekimų sistemos per RetroAchievements integraciją prideda modernų progreso stebėjimą prie klasikinių žaidimų. Sukūrus paskyrą ir įjungus funkciją RetroArch nustatymuose, sistema prisijungia prie interneto, kad patikrintų pasiekimus žaidžiant. Tam reikalingas nuolatinis interneto ryšys, kuris greičiau išeikvoja baterijas ir daro nešiojamuosius įrenginius sudėtingesnius.

Kelių žaidėjų galimybės neapsiriboja vieno{0}}įrenginio dviejų{1}}žaidėjų palaikymu. „Bluetooth“ adapteriai leidžia susieti belaidį valdiklį, nors „Pi Zero“ „Bluetooth“ dalijasi pralaidumu su „WiFi“, todėl gali padidėti delsos laikas. „Netplay“ funkcija leidžia žaisti prisijungus prie kelių žaidėjų, sinchronizuoti emuliacijos būsenas tarp įrenginių, tačiau tam reikia mažos-delsavimo ryšių ir suderinamų ROM su identiškomis kontroliinėmis sumomis.

Pasirinktinė programinė įranga, tokia kaip „Batocera“, siūlo supaprastintas „RetroPie“ alternatyvas. „Batocera“ paleidžiama greičiau, apima daugiau iš anksto sukonfigūruotų sistemų ir palaiko sudėtingesnes-konfigūracijas iš--, tačiau trūksta išsamios bendruomenės dokumentacijos, kuri palengvina „RetroPie“ trikčių šalinimą pradedantiesiems.

Aparatinės įrangos išplėtimas suteikia unikalių galimybių. Pridėjus realaus laiko Pagreičio matuokliai, prijungti per GPIO, leidžia valdyti juos palaikančius žaidimus. RGB LED juostelės, valdomos GPIO kaiščiais, sukuria aplinkos apšvietimo efektus, sinchronizuojamus su žaidimo įvykiais, naudojant RetroArch LED tvarkyklės funkciją.

 

Teisiniai ir etiniai svarstymai

 

ROM įsigijimas užima legalias pilkąsias sritis. Daugumoje jurisdikcijų ROM atsisiuntimas žaidimams, kurie jums fiziškai nepriklauso, yra autorių teisių pažeidimas. Asmeninės atsarginės kopijos iš jūsų pačių kasečių yra legalios daugelyje šalių, tačiau apsaugos nuo kopijavimo (būtina žaidimams, kuriuose yra diskas) apėjimas pažeidžia DMCA 1201 skirsnį Jungtinėse Valstijose. Kai kurios jurisdikcijos leidžia kurti atsargines kopijas be DRM apėjimo apribojimų.

BIOS failai susiduria su panašiais teisiniais apribojimais. BIOS ištraukimas iš savo konsolės daugelyje vietų yra legalus asmeniniam naudojimui, tačiau atsisiunčiant trečiųjų šalių BIOS failus, net ir jums priklausančią aparatinę įrangą, platinama autorių teisių saugoma medžiaga. Kai kuriose sistemose yra atvirojo-kodinio BIOS atnaujinimų, tačiau jų suderinamumas yra nepilnas.

Homebrew žaidimai ir laisvai platinami ROM siūlo legalias alternatyvas. Tokiose svetainėse kaip itch.io ir BrewPi yra modernūs retro sistemoms sukurti žaidimai, kuriuos sukūrė nepriklausomi kūrėjai, kurie aiškiai leidžia platinti. Jie veikia taip pat, kaip komerciniai ROM, laikantis autorių teisių įstatymų.

Komercinės emuliacijos paslaugos, tokios kaip „Nintendo Switch Online“, rodo, kad teisių turėtojai ir toliau gauna pajamų iš retro bibliotekų. Asmeninių kišeninių kompiuterių kūrimas tikrai turimiems žaidimams etiškai skiriasi nuo masinio ROM platinimo, tačiau teisinis skirtumas priklauso nuo kilmės patikrinimo, kurio praktiškai neįmanoma įrodyti.

 

Sistemos našumo lūkesčiai

 

8-bitų ir 16 bitų pultai nepriekaištingai veikia visuose Pi modeliuose. NES, SNES, Game Boy, Genesis ir panašios sistemos pasiekia puikų kadrų dažnį net naudojant „Pi Zero“ aparatinę įrangą. Šie emuliatoriai yra tokie subrendę ir optimizuoti, kad sunaudoja minimalius išteklius, todėl paliekama erdvė pažangiems atspalviams ir paleidžiamoms funkcijoms, kurios sumažina įvesties delsą, palyginti su pradine aparatūra.

32{1}}bitų generavimas pateikia nuo platformos{10}}priklausančius rezultatus. „PlayStation 1“ žaidimai puikiai veikia „Pi 3“ ir naujesniuose modeliuose, todėl daugumoje pavadinimų jie pasiekia pilną greitį. „Pi Zero 2 W“ tinkamai susidoroja su lengvesniais PS1 žaidimais (RPG, 2D kovotojais), tačiau susiduria su intensyviais 3D žaidimais, tokiais kaip „Crash Bandicoot“ ar „Tekken 3“. „Sega Saturn“ emuliacija visuose „Pi“ modeliuose išlieka prasta dėl sistemos sudėtingos kelių procesorių architektūros.

N64 emuliacija pabrėžia Pi apribojimus, nepaisant puikių specifikacijų. Netradicinę „Nintendo 64“ architektūrą-MIPS R4300i CPU, RCP koprocesorių ir „Rambus“ RAM- sunku efektyviai imituoti. Net ir naudojant įsibėgėjusią Pi 4 aparatinę įrangą, tokie populiarūs pavadinimai kaip GoldenEye 007 ir Perfect Dark rodo kadrų dažnio nenuoseklumą ir grafinius artefaktus. Konkretūs Pi-N64 emuliatoriai, pvz., Mupen64Plus-GLideN64, optimizuojami ARM procesoriams, bet vis tiek nepasiekia autentiško veikimo.

Delninės konsolės užtikrina geresnį suderinamumą nei lygiaverčių laikų namų sistemos. „Game Boy Advance“ emuliacija veikia sklandžiai naudojant „Pi Zero 2 W“ ir naujesnes versijas, beveik -tobulu tikslumu. „Nintendo DS“ emuliacijai reikalingas mažiausiai „Pi 3“, kad būtų galima atkurti kadrų dažnį, ir net tada sunku 3D{6}}sunkiems pavadinimams. Dėl sudėtingos sistemos grafikos architektūros ir didelės skiriamosios gebos PSP emuliacija iš esmės ne-veikia bet kuriame Pi.

Arcade emuliacija labai skiriasi priklausomai nuo ROM rinkinio ir MAME versijos. Klasikiniai ankstyvieji-80-ųjų arkadiniai žaidimai (Pac-Man, Donkey Kong, Galaga) veikia bet kuriame Pi. Devintojo dešimtmečio pabaigos arkadinė aparatinė įranga („Street Fighter II“, „Mortal Kombat“) reikalauja „Pi 3“ mažiausiai{6}} „spraite“ turintiems žaidimams („Marvel“ prieš „Capcom“, „Metal Slug“), kad būtų užtikrintas pastovus veikimas. Labai svarbu suderinti ROM versijas su MAME versija (0,78 ROM MAME 2003 senesnėje Pis, 0,139 MAME 2010 naujesnėje aparatinėje įrangoje).

 

Būsimi{0}}Tikrinimo ir naujovinimo būdai

 

Modulinės konstrukcijos leidžia keisti komponentus be visiško atstatymo. Naudojant standartines jungtis-GPIO antraštė mygtukams, mikro HDMI ekranams, USB valdikliams-galima naujovinti į naujesnius Pi modelius, kai jie išleidžiami. „Pi Zero 2 W“ į „Pi 3A+“ atnaujinimas atitinka identiškus matmenis, o apdorojimo galia padidėja keturis kartus.

Išplėtus saugyklą, bibliotekos dydis viršija SD kortelės apribojimus. USB atmintinė automatiškai prijungiama prie „RetroPie“, o ROM aplankai susiejami iš /home/pi/RetroPie/roms į /media/usb0/retropie/roms. Taip iškraunama žaidimų saugykla iš SD kortelės, kurioje yra tik OS ir emuliatoriaus programinė įranga, taip sumažinant rašymo-ciklo susidėvėjimą.

Akumuliatoriaus technologijos patobulinimai pagerina nešiojamumą. Šiuolaikiniai 21 700 ličio elementai supakuoti 4 000{5}}5 000 mAh pakuotėse, kurios yra šiek tiek didesnės nei tradiciniai 18 650 elementai. Didesnės talpos baterijos pailgina veikimo laiką, tačiau padidina svorį ir subalansuoja tūrį, priklauso nuo naudojimo būdų ir formos faktoriaus prioritetų.

Skaičiavimo modulio variantai įgalina didelio{0}}našumo tinkintą aparatinę įrangą. „Pi Compute Module 4“ užtikrina Pi 4-lygio našumą naudojant 55 x 40 mm SODIMM formatą, puikiai tinkantį itin-kompaktiškoms konstrukcijoms. Individualizuotos laikiklio plokštės tiesiogiai integruoja tam tikrus periferinius įrenginius, pašalindamos žiurkių lizdus. Tačiau CM4 versijos reikalauja PCB projektavimo įgūdžių ir mažų partijų gamybos sąrankų.

Bendruomenės{0}}pagrįsti patobulinimai nuolat optimizuoja emuliaciją. Pagrindiniai „Libretro“ naujiniai gaunami kas mėnesį, todėl pagerinamas tikslumas ir našumas. Po „RetroPie“ kūrimo per „GitHub“ saugyklas ir forumus atskleidžiamos būsimos funkcijos ir suderinamumo patobulinimai, kuriuos verta atnaujinti.

 

Dažnai užduodami klausimai

 

Ar galiu naudoti „Raspberry Pi 5“ nešiojamam kompiuteriui?

Pi 5 reikia 5 V, esant 5 A (25 W), žymiai daugiau, nei paprastai suteikia baterijos. Jo našumo pranašumai nereiškia, kad geriau emuliuojamos sistemos, su kuriomis Pi 4 jau gerai elgiasi. Laikykitės Pi 4 arba Zero 2 W, kad padidintumėte energijos vartojimo efektyvumą nešiojamuose įrenginiuose.

Kiek laiko užtrunka surinkimas{0}}pirmą kartą gaminančiam?

Tikėtis 15–25 valandų per kelis seansus. Komponentų testavimas užtrunka 2–3 valandas, programinės įrangos sąranka – 3–5 valandas, fizinis surinkimas – 6–10 valandų, o trikčių šalinimas pirmosioms versijoms paprastai užtrunka dar 4–7 valandas. Patirtis žymiai sumažina tolesnio projekto laiką.

Ar man reikia litavimo įgūdžių norint sukurti delninį kompiuterį?

Įprasto litavimo beveik neišvengiama, nebent naudojami rinkiniai su iš anksto-surinktomis PCB. Maitinimo laidus, mygtukų GPIO kaiščius ir garsiakalbių laidus reikia lituoti. „Breadboard“-stiliaus trumpikliai veikia kuriant prototipus, bet nėra mechaniškai patikimi nešiojamuose įrenginiuose, kuriuos veikia judėjimas ir vibracija.

Koks yra tikrasis{0}}akumuliatoriaus veikimo laikas?

Įprastos sistemos su Pi Zero 2 W, 3,5 colio ekranu ir 4000 mAh baterija užtikrina 3–4 aktyvaus žaidimo valandas. Pi 4 versijos su didesniais ekranais išsikrauna greičiau, vidutiniškai 2–2,5 valandos. Faktinis vykdymo laikas priklauso nuo ekrano ryškumo, emuliuojamos sistemos ir nuo to, ar „Wi-Fi“ / „Bluetooth“ yra aktyvūs.

Ar šie delniniai kompiuteriai gali žaisti šiuolaikinius žaidimus?

Ne. Raspberry Pi aparatinei įrangai trūksta apdorojimo galios bet kam, išskyrus PS1 eros 3D žaidimus. Kai kurie lengvi nepriklausomi žaidimai, sukurti ARM Linux, gali veikti, tačiau RetroPie daugiausia dėmesio skiria retro emuliacijai, o ne šiuolaikiniams žaidimams.

Ar juos statant kyla teisinė rizika?

Techninės įrangos kūrimas yra visiškai legalus. Teisinė pilkoji sritis apima ROM įsigijimą-atsisiunčiant žaidimus, kurie jums nepriklauso, pažeidžia autorių teises. Asmeninės atsarginės kopijos iš priklausančių kasečių yra teisėtos daugelyje jurisdikcijų, tačiau diskų-atsarginės kopijos gali pažeisti apsaugos nuo apėjimo įstatymus, atsižvelgiant į vietą.

 

Išvada Mintys

 

Raspberry Pi delninių kompiuterių patrauklumas neapsiriboja nostalgija ar išlaidų taupymu. Šiuose projektuose mokomasi pagrindinių elektronikos sąvokų-įtampos reguliavimo, nuosekliojo ryšio protokolų, įvesties/išvesties sąsajos-praktiškai taikant, o ne abstrakčią teoriją. Kai litavimo jungtis įtrūksta, o mygtukas Pradėti nustoja veikti žaidimo viduryje-, išmokite tikrų trikčių šalinimo įgūdžių, kurių vadovėliai negali perteikti.

Sėkmingos versijos nuo paliktų lentelių skiriasi yra tikroviški lūkesčiai{0}}. Tai nėra kasečių įdėjimas į gamyklines konsoles-, o derinimas, kodėl GPIO 17 nuskaito aukštai, kai turėtų nuskaityti žemai, arba kodėl kadrų dažnis sumažėja nuo 60 kadrų per sekundę iki 45 kadrų per sekundę, kai akumuliatoriaus įtampa nukrenta žemiau 3,6 V. Pasitenkinimą teikia ne tobulas emuliavimas, o problemų, kurias sukūrėte priimdami savo dizaino sprendimus, sprendimas.

Šių pastatų bendruomenė tebėra nepaprastai palaikoma. Nepažįstami žmonės forumuose diagnozuoja įtampos reguliatoriaus problemas iš neryškių multimetro rodmenų nuotraukų. Kažkas paskelbia „GitHub“ saugyklą su tiksliais jūsų naudojamo ekrano kaiščių atvaizdais. Šis bendrų problemų sprendimas-paverčia tai, kas gali būti varginanti izoliacija, į bendrą mokymosi patirtį.

Svarbiausia, kad „Raspberry Pi“ delninio kompiuterio kūrimas leidžia suprasti, kaip visa plataus vartojimo elektronika veikia pagrindiniais lygmenimis. Ši juoda dėžutė, pažymėta „išmanusis telefonas“ arba „nešiojamas kompiuteris“, tampa mažiau paslaptinga, kai rankiniu būdu sujungiate mygtukus, kad pertrauktumėte kaiščius, ir sukonfigūravote branduolio modulius, kad aptiktų ekrano atnaujinimus. Skaitmeninis pasaulis tampa apčiuopiamas-tiesiogine prasme – įrenginio, kurį galite laikyti ir suprasti, pavidalu, nes kiekvieną komponentą surinkote patys.