Tilefinch is een ambitieus homebrew-project dat een moderne webbrowser naar de Sony PSP brengt. In tegenstelling tot veel alternatieven werkt Tilefinch volledig onafhankelijk op de handheld, zonder dat er een proxy of begeleidende computer nodig is.
Belangrijkste kenmerken:
- Technische stack: Gebruikt de Lexbor HTML-parser en de QuickJS-runtime, met een eigen layout-engine geschreven in C11.
- Multimedia: Ondersteunt HTTPS, JavaScript, WebGL-games en hardware-versnelde videoweergave tot 360p (onder andere voor YouTube).
- Functionaliteiten: Bevat een leesmodus, donkere modus, ad-blocking en uitgebreide taalondersteuning via downloadbare glyph-packs.
- Hardware: Geoptimaliseerd voor de PSP-3000 (64MB RAM); het is niet compatibel met de PSP-1000 vanwege onvoldoende geheugen.
Het project dient als een technische stresstest om te ontdekken tot waar de PSP-hardware gepusht kan worden en in hoeverre moderne webstandaarden kunnen draaien in een zeer beperkte omgeving. Het project is open source onder de MIT-licentie.
Tilefinch
Belangrijkste kenmerken:
- Wikipedia op PSP-resolutie
- Videoweergave in 360p
- Leesmodus (Reader mode)
- Donkere modus (Dark mode)
- WebGL-games
- Tekstinvoer via Danzeff
Doel van het project
Het project is gestart vanuit de nieuwsgierigheid om drie dingen te ontdekken: tot waar kan de PSP-hardware worden gepusht, hoeveel van het moderne web kan draaien in zo'n beperkte omgeving, en waar huidige coding agents toe in staat zijn. Een webbrowser is de ultieme test voor al deze aspecten.
Functionaliteiten
| Functie | Ondersteuning |
| Webbrowsen | Echte HTTPS-pagina's met JavaScript, beperkte WebAssembly en WebSockets, cookies, afbeeldingen, mobiele lay-out en TrueType-tekst. Er is geen proxy of begeleidende computer nodig. |
| Native media | YouTube (via een lichtgewicht provider) en compatibele HTML <video>/<audio>-elementen openen in één native speler. Officiële builds gebruiken de firmware-decoder van de PSP voor 240p/360p Baseline/Main MP4 en 240p HLS met AAC-LC, inclusief YouTube live-streams en premières. Functies zoals zoeken, bufferstatus, voorkeursinstellingen voor audio en ondertiteling, trackselectie, hervatbare downloads en audio-only weergave zijn ingebouwd. Een optionele, apart gebouwde decoder voegt 240p H.264 High toe. |
| Tabs en navigatie | Vijf tabbladen, bladwijzers, geschiedenis, adres- en zoeksuggesties, zoeken op pagina, optioneel herstel van sessies en optionele hibernatie van één tabblad. |
| Ad-blocking | Conservatieve request-blocking en cosmetisch verbergen zijn standaard ingeschakeld. Aangepaste uBlock/EasyList-stijl regels en per-site uitzonderingen worden ondersteund. |
| Cookie-meldingen | Veelvoorkomende toestemmingsbanners worden verborgen zonder dat er op 'Accepteren' geklikt hoeft te worden of dat er toestemmingscookies worden aangemaakt; individuele sites kunnen worden vrijgesteld. |
| Leesmodus, basisweergave en offline | De leesmodus herstelt de lay-out van artikelen; de basisweergave redt pagina's waarvan de scripts falen, waarbij links, tabellen en eenvoudige zoekformulieren behouden blijven. Artikelen kunnen worden opgeslagen en kleine, manifest-gebaseerde web-apps kunnen worden geïnstalleerd voor offline gebruik (inclusief icoon en resources van dezelfde origin). |
| Tekstinvoer | Het PSP-systeemtoetsenbord of het snellere radiale Danzeff-toetsenbord, met aanvulling vanuit lokale bladwijzers en geschiedenis. |
| Games | Beperkte Canvas 2D en WebGL 1 voor grafieken en bescheiden games, met ImageBitmap-assetvoorbereiding, door de gebruiker gestarte PCM-game-audio, paginavullend scherm en de standaard Gamepad API gemapt op de PSP-besturing. De meegeleverde Treadline Arena is een 3D WebGL-tankgame met een campagne, bot-gevechten, een oefenveld en adaptieve muziek. |
| Uiterlijk | Automatische of geforceerde donkere modus voor pagina's, donker en licht browser-chrome, downloadbare kleurthema's, tekstschaling, On/Smart/Off website-lettertypen, vertaalde browsermenu's, ondersteuning voor gemengde rechts-naar-links en links-naar-rechts lay-out met Arabic-family shaping, en optionele glyph-packs voor Japans, Chinees, Koreaans, Cyrillisch, Extended Latin, Arabisch, Hebreeuws, Hindi en kleur-emoji's. |
| Native PSP-interface | Een direct startscherm, Collecties, klok, batterij- en Wi-Fi-status, contextuele bediening, PNG-screenshots en diagnostiek weergegeven als fotografeerbare QR-codes. |
| Optionele XMB-omleiding | Met ARK-4 kan het Internet Browser-icoon van Sony Tilefinch starten; het ingedrukt houden van L opent in plaats daarvan de originele browser. |
| Updates | Ondertekende in-app updates met A/B-slots, een testboot, automatische rollback, expliciete goedkeuring en een optionele selectie voor ondertekende eerdere versies. |
| Experimentele spraakzoekfunctie | Een optioneel downloadbaar model en on-demand spraakengine. Standaard uitgeschakeld; momenteel traag en onnauwkeurig. |
Technische specificaties op een glance
- Hardware-doelwit: PSP-3000: 333 MHz MIPS, 64 MiB RAM (ongeveer 43 MiB gemeten heap, waarbij pagina's en spraak een envelope van 32 MiB delen), 480×272 display gebruikmakend van RGB565-oppervlakken voor pagina's en chrome, en 32-bit scanout voor fullscreen video.
- Uitvoeringsmodel: Netwerken, HTML, CSS, JavaScript, layout en rendering draaien allemaal op de PSP.
- Browser engine: Lexbor HTML-parser, eigen style-, layout- en rendering-engine van Tilefinch, QuickJS-runtime.
- Presentatie: Incrementele behouden displaylijst met een beperkte RGB565-tile cache.
- Netwerken: HTTPS met certificaat- en hostname-verificatie, cookies, redirects, caching en een geïsoleerde Wi-Fi inlogflow voor captive portals.
- Licentie: MIT, met apart gelicenseerde componenten van derden.
Engineering Highlights
| Onderdeel | Wat het interessant maakt |
| Een browser, geen port | De lagen voor stijl, layout, paint, policy, media en de native interface zijn originele C11. Lexbor, QuickJS, curl, Mbed TLS, nghttp2 en FreeType zijn vendored en hash-pinned. De browser is krachtig genoeg om de uitgelogde chat van chatgpt.com (met meer dan honderd JS-modules, client-side hydration en gestreamde antwoorden) end-to-end op een PSP-3000 te draaien. |
| Strikt geheugenbeheer | DOM, JavaScript, CSS, resources, layout en tiles delen één budget van 24 MiB. Elke tabel en loop is begrensd; een geweigerde allocatie is een getest, herstelbaar pad in plaats van een exception. |
| Efficiënte rendering | Streaming HTML en CSS, preload discovery, resumable layout, prioriteit voor zichtbare resources en begrensde caches van gecompileerde stijlen en scripts zorgen voor een snelle first paint op een 333 MHz in-order core. |
| Deterministische rendering | De host en de PSP delen dezelfde layout en rasterizer, tot aan de geordende RGB565-dithering. |
| Firmware videoversnelling | Een raw-NAL bridge en een begrensde H.264 recovery-point rewriter voeden de Media Engine van de PSP. Twee beveiligde decode-oppervlakken laten kleurconversie en presentatie overlappen. |
| Optionele dual-core video | Een door de gebruiker gebouwde add-on decodeert 240p H.264 High door CABAC, deblocking, audio en kleurconversie naar de Media Engine te delegeren, terwijl de CPU de rijen reconstrueert. |
| 360p op een 480×272 scherm | 640×360 frames passeren via EDRAM als twee beveiligde stroken; de GE schaalt deze bilineair zonder dat daar een per-pixel CPU-pass voor nodig is. |
| Expliciet lifecycle-beheer | Media en netwerken gebruiken pure reducers, epoch-tokened services, consumer leases, pumped teardown en quarantine, zodat geheugen nooit wordt vrijgegeven tijdens actieve firmware- of worker-activiteit. |
| Beveiliging zonder sandbox-pretentie | HTTPS-first navigatie, CORS, CSP, SRI, private-network protection, partition-aware resource authority, cookie-controles en ondertekende A/B-updates worden afgedwongen binnen een gedocumenteerd shared-process model. |
| Hardware-bewuste gates | De geoptimaliseerde host-suite wordt ondersteund door sanitizer, hostile-input, WPT, fidelity en PSP cross-build gates, plus restricties op executable-grootte en hot-function-grootte. |
Systeemvereisten
Hardware: Een PSP die homebrew (custom firmware) draait en de 64 MB geheugenmodus heeft:
- PSP-3000: Het geteste model. Alle claims op deze pagina zijn hierop geverifieerd.
- PSP-2000 en PSP Go: Zelfde geheugenmodus, verwacht dat het werkt, maar nog niet gekwalificeerd.
- PSP-1000: Niet ondersteund. Deze heeft slechts 32 MB RAM, wat voor de meeste sites onvoldoende is.
- PSP-E1000 (Street): Heeft het geheugen maar geen Wi-Fi; alleen de offline bibliotheek zou werken.
Opslag en Netwerk:
- Ongeveer 20 MB vrije ruimte op de Memory Stick voor dagelijks browsen en updates.
- Optionele glyph-packs kosten ongeveer 1 MB per stuk; het kleur-emoji-pack kost ongeveer 5 MB.
- De optionele spraakmodule vereist ongeveer 19 MB extra vrije ruimte.
- Een Wi-Fi-netwerk waar de PSP mee kan verbinden. Met de nieuwste ARK-4 custom firmware werkt WPA2; anders kan de PSP alleen verbinden met WPA (TKIP) of open netwerken.
Installatie
- Download het PSP-installatie-zipbestand van de nieuwste Tilefinch-release.
- Pak het uit en kopieer de volledige
TILEFINCH-map naar PSP/GAME/ op de Memory Stick. De launcher moet eindigen op PSP/GAME/TILEFINCH/EBOOT.PBP.
- Koppel de PSP veilig los en start Tilefinch via Game → Memory Stick.
- Sla indien nodig eerst een Wi-Fi-verbinding op in de Netwerkinstellingen van de PSP.
Optionele ARK-4 XMB-omleiding
Gebruikers van ARK-4 kunnen ervoor zorgen dat het icoon "Internet Browser" Tilefinch opent:
- Installeer Tilefinch normaal in
PSP/GAME/TILEFINCH/.
- Kopieer
TILEFINCH/OPTIONAL/tilefinchxmb.prx naar ms0:/SEPLUGINS/tilefinchxmb.prx.
- Schakel de plugin in voor het VSH (XMB) runlevel in de Custom Launcher of Plugin Manager van ARK.
- Start de VSH opnieuw op of reboot de PSP.
- Houd L ingedrukt tijdens het openen van het Internet Browser-icoon om toch de originele browser van Sony te starten.
Optionele H.264 High-decoder
Officiële releases distribueren de custom H.264 en AAC-decoder niet. Voor de 240p High-profile ondersteuning moet de add-on vanuit de upstream bron worden gebouwd en de drie resulterende bestanden worden gekopieerd naar PSP/GAME/TILEFINCH/components/swdec/.
Bediening
| Knop | Actie |
| D-pad | Focus verplaatsen tussen links en bedieningselementen (ingedrukt houden om te herhalen) |
| Analog stick | Paginacursor bewegen; tegen de boven- of onderkant duwen om te scrollen |
| X | Geselecteerd item activeren, of klikken onder de cursor |
| Cirkel | Terug, of het huidige laden annuleren |
| Vierkant | Herladen (start spraakinvoer in een tekstveld als Experimentele Spraak aanstaat) |
| Driehoek | Browser-chrome tonen of verbergen |
| Start | Adres- en zoekbalk |
| Select | Menu: Home, Tabs, Pagina-tools, Bibliotheek, Instellingen, Help & diagnostiek, Exit naar XMB |
| Start + Select | (Samen ingedrukt houden) Bediening overdragen aan de JavaScript van de pagina; opnieuw vasthouden om bediening terug te nemen |
| L / R | Pagina omhoog / pagina omlaag |
| L (bij boot) | Safe start: start de vorige versie (na installatie van een update) |
Gebruik van Tilefinch
De gebruikershandleiding beschrijft de volgende functies in detail:
- Typen: Via het PSP-toetsenbord of de snellere Danzeff-lay-out, inclusief aanvullingen uit bladwijzers en geschiedenis.
- Zoeken: "Find in page" via Menu → Pagina-tools.
- Modi: Leesmodus, basisweergave voor falende scripts, en een offline bibliotheek voor opgeslagen artikelen en video-downloads.
- Games: Overdragen van knoppen aan de Gamepad API, fullscreen modus en game-audio.
- Beheer: Screenshots, foutmeldingen bij het niet laden van pagina's, en per-site instellingen voor JavaScript, ad-blocking, cookie-meldingen en opslag.
Taalondersteuning
Browsermenu's
Wijzigbaar via Instellingen → Uiterlijk → Taal & emoji → Interfacetaal. Engels is ingebouwd; vertalingen voor Spaans, Frans, Duits, Japans, Russisch, Oekraïens, Vereenvoudigd Chinees, Koreaans, Hindi, Arabisch en Portugees zijn downloadbaar.
Paginatekst en emoji
De ingebouwde lettertypen dekken Latijnse tekst. Aanvullende glyph-packs zijn beschikbaar voor Japans, Vereenvoudigd/Traditioneel Chinees, Koreaans, Cyrillisch, Extended Latin, Arabisch, Hebreeuws en Devanagari (Hindi), plus een kleur-emoji pack. Arabisch en Hebreeuws hebben ondersteuning voor rechts-naar-links lay-out.
Updates
Updates kunnen worden gecontroleerd via Instellingen → Updates.
- Stable- en Beta-releases zijn cryptografisch ondertekend.
- Het Developer-kanaal is niet ondertekend.
- Nieuwe versies installeren in een tweede slot en starten als een testboot. Bij falen keert de launcher terug naar de werkende versie.
Privacy
- Geen telemetrie: Er worden geen analytics of accounts gebruikt. Tilefinch verzendt geen gegevens over de gebruiker of het browsegedrag.
- Lokale opslag: Alles blijft op de PSP. Cookies leven alleen in het geheugen; geschiedenis, cache, opgeslagen pagina's en instellingen staan op de Memory Stick.
- Site-data: Site-opslag (localStorage, etc.) leeft in het RAM en wordt alleen naar de Memory Stick geschreven als de RAM-capaciteit wordt overschreden en de gebruiker hiermee instemt.
- TLS-tickets: Korte TLS-resumption tickets worden bewaard in
data/tls-sessions.bin voor snellere reconnects.
Beveiliging
Het beveiligingsmodel hanteert HTTPS-first navigatie, CORS, CSP, SRI en strikte iframe-sandbox boundaries.
Belangrijke beperkingen:
- Geen volledige sandbox: Er is geen process-sandbox van desktop-niveau. Gebruik de browser niet voor gevoelige accounts of transacties.
- Performance: Zware JavaScript-applicaties zijn traag op een 333 MHz CPU. Zo kan de starttijd van chatgpt.com ongeveer 40 seconden bedragen.
- YouTube: Afhankelijk van YouTube's API; sommige video's die Proof-of-Origin (PO) tokens vereisen, kunnen onbeschikbaar blijven.
- Tabs: Tabbladen bewaren een begrensd record van geschiedenis en positie in plaats van vijf volledige pagina's; wisselen van tabblad laadt de pagina opnieuw via de cache.
- WebGL: Een begrensd subset van de PSP GE; complexe shaders of grote scenes kunnen falen.
Problemen rapporteren
Raadpleeg eerst TROUBLESHOOTING.md. Een nuttig bugrapport bevat:
- PSP-model en custom firmware (bijv. "PSP-3000, ARK-4").
- Tilefinch-versie via Help & diagnostiek → Versie & systeem.
- De URL en de uitgevoerde actie.
- De crash-log uit
PSP/GAME/TILEFINCH/data/tilefinch-crash.txt (of via de Diagnostic QR-code).
Bouwen vanuit broncode
De engine kan op een computer worden gebouwd en getest met PSP-schermformaten en geheugenprofielen. cmake --preset release cmake --build build-preset-release ctest --test-dir build-preset-release
Zie docs/DEVELOPMENT.md voor de volledige workflow.
Licentie en onafhankelijkheid
Tilefinch is gelicenseerd onder de MIT-licentie. Componenten van derden behouden hun eigen licenties (zie THIRDPARTYNOTICES.md).
Tilefinch is een onafhankelijk, onofficieel homebrew-project en is niet gelieerd aan, gesponsord door of onderschreven door Sony Interactive Entertainment. PlayStation, PSP en gerelateerde merken zijn eigendom van hun respectievelijke eigenaren.
Tilefinch
Belangrijkste kenmerken:
- Wikipedia op PSP-resolutie
- Videoweergave in 360p
- Leesmodus (Reader mode)
- Donkere modus (Dark mode)
- WebGL-games
- Tekstinvoer via Danzeff
Doel van het project
Het project is gestart vanuit de nieuwsgierigheid om drie dingen te ontdekken: tot waar kan de PSP-hardware worden gepusht, hoeveel van het moderne web kan draaien in zo'n beperkte omgeving, en waar huidige coding agents toe in staat zijn. Een webbrowser is de ultieme test voor al deze aspecten.
Functionaliteiten
| Functie | Ondersteuning |
| Webbrowsen | Echte HTTPS-pagina's met JavaScript, beperkte WebAssembly en WebSockets, cookies, afbeeldingen, mobiele lay-out en TrueType-tekst. Er is geen proxy of begeleidende computer nodig. |
| Native media | YouTube (via een lichtgewicht provider) en compatibele HTML <video>/<audio>-elementen openen in één native speler. Officiële builds gebruiken de firmware-decoder van de PSP voor 240p/360p Baseline/Main MP4 en 240p HLS met AAC-LC, inclusief YouTube live-streams en premières. Functies zoals zoeken, bufferstatus, voorkeursinstellingen voor audio en ondertiteling, trackselectie, hervatbare downloads en audio-only weergave zijn ingebouwd. Een optionele, apart gebouwde decoder voegt 240p H.264 High toe. |
| Tabs en navigatie | Vijf tabbladen, bladwijzers, geschiedenis, adres- en zoeksuggesties, zoeken op pagina, optioneel herstel van sessies en optionele hibernatie van één tabblad. |
| Ad-blocking | Conservatieve request-blocking en cosmetisch verbergen zijn standaard ingeschakeld. Aangepaste uBlock/EasyList-stijl regels en per-site uitzonderingen worden ondersteund. |
| Cookie-meldingen | Veelvoorkomende toestemmingsbanners worden verborgen zonder dat er op 'Accepteren' geklikt hoeft te worden of dat er toestemmingscookies worden aangemaakt; individuele sites kunnen worden vrijgesteld. |
| Leesmodus, basisweergave en offline | De leesmodus herstelt de lay-out van artikelen; de basisweergave redt pagina's waarvan de scripts falen, waarbij links, tabellen en eenvoudige zoekformulieren behouden blijven. Artikelen kunnen worden opgeslagen en kleine, manifest-gebaseerde web-apps kunnen worden geïnstalleerd voor offline gebruik (inclusief icoon en resources van dezelfde origin). |
| Tekstinvoer | Het PSP-systeemtoetsenbord of het snellere radiale Danzeff-toetsenbord, met aanvulling vanuit lokale bladwijzers en geschiedenis. |
| Games | Beperkte Canvas 2D en WebGL 1 voor grafieken en bescheiden games, met ImageBitmap-assetvoorbereiding, door de gebruiker gestarte PCM-game-audio, paginavullend scherm en de standaard Gamepad API gemapt op de PSP-besturing. De meegeleverde Treadline Arena is een 3D WebGL-tankgame met een campagne, bot-gevechten, een oefenveld en adaptieve muziek. |
| Uiterlijk | Automatische of geforceerde donkere modus voor pagina's, donker en licht browser-chrome, downloadbare kleurthema's, tekstschaling, On/Smart/Off website-lettertypen, vertaalde browsermenu's, ondersteuning voor gemengde rechts-naar-links en links-naar-rechts lay-out met Arabic-family shaping, en optionele glyph-packs voor Japans, Chinees, Koreaans, Cyrillisch, Extended Latin, Arabisch, Hebreeuws, Hindi en kleur-emoji's. |
| Native PSP-interface | Een direct startscherm, Collecties, klok, batterij- en Wi-Fi-status, contextuele bediening, PNG-screenshots en diagnostiek weergegeven als fotografeerbare QR-codes. |
| Optionele XMB-omleiding | Met ARK-4 kan het Internet Browser-icoon van Sony Tilefinch starten; het ingedrukt houden van L opent in plaats daarvan de originele browser. |
| Updates | Ondertekende in-app updates met A/B-slots, een testboot, automatische rollback, expliciete goedkeuring en een optionele selectie voor ondertekende eerdere versies. |
| Experimentele spraakzoekfunctie | Een optioneel downloadbaar model en on-demand spraakengine. Standaard uitgeschakeld; momenteel traag en onnauwkeurig. |
Technische specificaties op een glance
- Hardware-doelwit: PSP-3000: 333 MHz MIPS, 64 MiB RAM (ongeveer 43 MiB gemeten heap, waarbij pagina's en spraak een envelope van 32 MiB delen), 480×272 display gebruikmakend van RGB565-oppervlakken voor pagina's en chrome, en 32-bit scanout voor fullscreen video.
- Uitvoeringsmodel: Netwerken, HTML, CSS, JavaScript, layout en rendering draaien allemaal op de PSP.
- Browser engine: Lexbor HTML-parser, eigen style-, layout- en rendering-engine van Tilefinch, QuickJS-runtime.
- Presentatie: Incrementele behouden displaylijst met een beperkte RGB565-tile cache.
- Netwerken: HTTPS met certificaat- en hostname-verificatie, cookies, redirects, caching en een geïsoleerde Wi-Fi inlogflow voor captive portals.
- Licentie: MIT, met apart gelicenseerde componenten van derden.
Engineering Highlights
| Onderdeel | Wat het interessant maakt |
| Een browser, geen port | De lagen voor stijl, layout, paint, policy, media en de native interface zijn originele C11. Lexbor, QuickJS, curl, Mbed TLS, nghttp2 en FreeType zijn vendored en hash-pinned. De browser is krachtig genoeg om de uitgelogde chat van chatgpt.com (met meer dan honderd JS-modules, client-side hydration en gestreamde antwoorden) end-to-end op een PSP-3000 te draaien. |
| Strikt geheugenbeheer | DOM, JavaScript, CSS, resources, layout en tiles delen één budget van 24 MiB. Elke tabel en loop is begrensd; een geweigerde allocatie is een getest, herstelbaar pad in plaats van een exception. |
| Efficiënte rendering | Streaming HTML en CSS, preload discovery, resumable layout, prioriteit voor zichtbare resources en begrensde caches van gecompileerde stijlen en scripts zorgen voor een snelle first paint op een 333 MHz in-order core. |
| Deterministische rendering | De host en de PSP delen dezelfde layout en rasterizer, tot aan de geordende RGB565-dithering. |
| Firmware videoversnelling | Een raw-NAL bridge en een begrensde H.264 recovery-point rewriter voeden de Media Engine van de PSP. Twee beveiligde decode-oppervlakken laten kleurconversie en presentatie overlappen. |
| Optionele dual-core video | Een door de gebruiker gebouwde add-on decodeert 240p H.264 High door CABAC, deblocking, audio en kleurconversie naar de Media Engine te delegeren, terwijl de CPU de rijen reconstrueert. |
| 360p op een 480×272 scherm | 640×360 frames passeren via EDRAM als twee beveiligde stroken; de GE schaalt deze bilineair zonder dat daar een per-pixel CPU-pass voor nodig is. |
| Expliciet lifecycle-beheer | Media en netwerken gebruiken pure reducers, epoch-tokened services, consumer leases, pumped teardown en quarantine, zodat geheugen nooit wordt vrijgegeven tijdens actieve firmware- of worker-activiteit. |
| Beveiliging zonder sandbox-pretentie | HTTPS-first navigatie, CORS, CSP, SRI, private-network protection, partition-aware resource authority, cookie-controles en ondertekende A/B-updates worden afgedwongen binnen een gedocumenteerd shared-process model. |
| Hardware-bewuste gates | De geoptimaliseerde host-suite wordt ondersteund door sanitizer, hostile-input, WPT, fidelity en PSP cross-build gates, plus restricties op executable-grootte en hot-function-grootte. |
Systeemvereisten
Hardware: Een PSP die homebrew (custom firmware) draait en de 64 MB geheugenmodus heeft:
- PSP-3000: Het geteste model. Alle claims op deze pagina zijn hierop geverifieerd.
- PSP-2000 en PSP Go: Zelfde geheugenmodus, verwacht dat het werkt, maar nog niet gekwalificeerd.
- PSP-1000: Niet ondersteund. Deze heeft slechts 32 MB RAM, wat voor de meeste sites onvoldoende is.
- PSP-E1000 (Street): Heeft het geheugen maar geen Wi-Fi; alleen de offline bibliotheek zou werken.
Opslag en Netwerk:
- Ongeveer 20 MB vrije ruimte op de Memory Stick voor dagelijks browsen en updates.
- Optionele glyph-packs kosten ongeveer 1 MB per stuk; het kleur-emoji-pack kost ongeveer 5 MB.
- De optionele spraakmodule vereist ongeveer 19 MB extra vrije ruimte.
- Een Wi-Fi-netwerk waar de PSP mee kan verbinden. Met de nieuwste ARK-4 custom firmware werkt WPA2; anders kan de PSP alleen verbinden met WPA (TKIP) of open netwerken.
Installatie
- Download het PSP-installatie-zipbestand van de nieuwste Tilefinch-release.
- Pak het uit en kopieer de volledige
TILEFINCH-map naar PSP/GAME/ op de Memory Stick. De launcher moet eindigen op PSP/GAME/TILEFINCH/EBOOT.PBP.
- Koppel de PSP veilig los en start Tilefinch via Game → Memory Stick.
- Sla indien nodig eerst een Wi-Fi-verbinding op in de Netwerkinstellingen van de PSP.
Optionele ARK-4 XMB-omleiding
Gebruikers van ARK-4 kunnen ervoor zorgen dat het icoon "Internet Browser" Tilefinch opent:
- Installeer Tilefinch normaal in
PSP/GAME/TILEFINCH/.
- Kopieer
TILEFINCH/OPTIONAL/tilefinchxmb.prx naar ms0:/SEPLUGINS/tilefinchxmb.prx.
- Schakel de plugin in voor het VSH (XMB) runlevel in de Custom Launcher of Plugin Manager van ARK.
- Start de VSH opnieuw op of reboot de PSP.
- Houd L ingedrukt tijdens het openen van het Internet Browser-icoon om toch de originele browser van Sony te starten.
Optionele H.264 High-decoder
Officiële releases distribueren de custom H.264 en AAC-decoder niet. Voor de 240p High-profile ondersteuning moet de add-on vanuit de upstream bron worden gebouwd en de drie resulterende bestanden worden gekopieerd naar PSP/GAME/TILEFINCH/components/swdec/.
Bediening
| Knop | Actie |
| D-pad | Focus verplaatsen tussen links en bedieningselementen (ingedrukt houden om te herhalen) |
| Analog stick | Paginacursor bewegen; tegen de boven- of onderkant duwen om te scrollen |
| X | Geselecteerd item activeren, of klikken onder de cursor |
| Cirkel | Terug, of het huidige laden annuleren |
| Vierkant | Herladen (start spraakinvoer in een tekstveld als Experimentele Spraak aanstaat) |
| Driehoek | Browser-chrome tonen of verbergen |
| Start | Adres- en zoekbalk |
| Select | Menu: Home, Tabs, Pagina-tools, Bibliotheek, Instellingen, Help & diagnostiek, Exit naar XMB |
| Start + Select | (Samen ingedrukt houden) Bediening overdragen aan de JavaScript van de pagina; opnieuw vasthouden om bediening terug te nemen |
| L / R | Pagina omhoog / pagina omlaag |
| L (bij boot) | Safe start: start de vorige versie (na installatie van een update) |
Gebruik van Tilefinch
De gebruikershandleiding beschrijft de volgende functies in detail:
- Typen: Via het PSP-toetsenbord of de snellere Danzeff-lay-out, inclusief aanvullingen uit bladwijzers en geschiedenis.
- Zoeken: "Find in page" via Menu → Pagina-tools.
- Modi: Leesmodus, basisweergave voor falende scripts, en een offline bibliotheek voor opgeslagen artikelen en video-downloads.
- Games: Overdragen van knoppen aan de Gamepad API, fullscreen modus en game-audio.
- Beheer: Screenshots, foutmeldingen bij het niet laden van pagina's, en per-site instellingen voor JavaScript, ad-blocking, cookie-meldingen en opslag.
Taalondersteuning
Browsermenu's
Wijzigbaar via Instellingen → Uiterlijk → Taal & emoji → Interfacetaal. Engels is ingebouwd; vertalingen voor Spaans, Frans, Duits, Japans, Russisch, Oekraïens, Vereenvoudigd Chinees, Koreaans, Hindi, Arabisch en Portugees zijn downloadbaar.
Paginatekst en emoji
De ingebouwde lettertypen dekken Latijnse tekst. Aanvullende glyph-packs zijn beschikbaar voor Japans, Vereenvoudigd/Traditioneel Chinees, Koreaans, Cyrillisch, Extended Latin, Arabisch, Hebreeuws en Devanagari (Hindi), plus een kleur-emoji pack. Arabisch en Hebreeuws hebben ondersteuning voor rechts-naar-links lay-out.
Updates
Updates kunnen worden gecontroleerd via Instellingen → Updates.
- Stable- en Beta-releases zijn cryptografisch ondertekend.
- Het Developer-kanaal is niet ondertekend.
- Nieuwe versies installeren in een tweede slot en starten als een testboot. Bij falen keert de launcher terug naar de werkende versie.
Privacy
- Geen telemetrie: Er worden geen analytics of accounts gebruikt. Tilefinch verzendt geen gegevens over de gebruiker of het browsegedrag.
- Lokale opslag: Alles blijft op de PSP. Cookies leven alleen in het geheugen; geschiedenis, cache, opgeslagen pagina's en instellingen staan op de Memory Stick.
- Site-data: Site-opslag (localStorage, etc.) leeft in het RAM en wordt alleen naar de Memory Stick geschreven als de RAM-capaciteit wordt overschreden en de gebruiker hiermee instemt.
- TLS-tickets: Korte TLS-resumption tickets worden bewaard in
data/tls-sessions.bin voor snellere reconnects.
Beveiliging
Het beveiligingsmodel hanteert HTTPS-first navigatie, CORS, CSP, SRI en strikte iframe-sandbox boundaries.
Belangrijke beperkingen:
- Geen volledige sandbox: Er is geen process-sandbox van desktop-niveau. Gebruik de browser niet voor gevoelige accounts of transacties.
- Performance: Zware JavaScript-applicaties zijn traag op een 333 MHz CPU. Zo kan de starttijd van chatgpt.com ongeveer 40 seconden bedragen.
- YouTube: Afhankelijk van YouTube's API; sommige video's die Proof-of-Origin (PO) tokens vereisen, kunnen onbeschikbaar blijven.
- Tabs: Tabbladen bewaren een begrensd record van geschiedenis en positie in plaats van vijf volledige pagina's; wisselen van tabblad laadt de pagina opnieuw via de cache.
- WebGL: Een begrensd subset van de PSP GE; complexe shaders of grote scenes kunnen falen.
Problemen rapporteren
Raadpleeg eerst TROUBLESHOOTING.md. Een nuttig bugrapport bevat:
- PSP-model en custom firmware (bijv. "PSP-3000, ARK-4").
- Tilefinch-versie via Help & diagnostiek → Versie & systeem.
- De URL en de uitgevoerde actie.
- De crash-log uit
PSP/GAME/TILEFINCH/data/tilefinch-crash.txt (of via de Diagnostic QR-code).
Bouwen vanuit broncode
De engine kan op een computer worden gebouwd en getest met PSP-schermformaten en geheugenprofielen. cmake --preset release cmake --build build-preset-release ctest --test-dir build-preset-release
Zie docs/DEVELOPMENT.md voor de volledige workflow.
Licentie en onafhankelijkheid
Tilefinch is gelicenseerd onder de MIT-licentie. Componenten van derden behouden hun eigen licenties (zie THIRDPARTYNOTICES.md).
Tilefinch is een onafhankelijk, onofficieel homebrew-project en is niet gelieerd aan, gesponsord door of onderschreven door Sony Interactive Entertainment. PlayStation, PSP en gerelateerde merken zijn eigendom van hun respectievelijke eigenaren.