RONICAT vol dir Rom Nintendo Català.
És una eina local per extreure, revisar, traduir i reconstruir textos de ROMs de consoles Nintendo clàssiques, pensada especialment per facilitar traduccions al català.
Realitzat per Júlia Rosell Saldaña. Regal per a Projecte Ce Trencada.
RONICAT és descendent de Fractalis: n'hereta la idea d'una interfície local de traducció assistida i la porta al terreny de les ROMs de Nintendo.
RONICAT no inclou, no descarrega i no distribueix ROMs. L’usuari ha d’aportar còpies pròpies, legítimes i compatibles dels jocs.
RONICAT ja pot:
- detectar ROMs de Game Boy / Game Boy Color, Game Boy Advance, NES, Super Nintendo i Nintendo 64;
- calcular hashes i validar metadades bàsiques;
- ingerir ROMs des de la interfície web;
- mostrar en un diàleg el progrés real de validació, perfil, extracció, eina externa i exportació;
- copiar ROMs triades per l’usuari dins
roms/imported/; - extreure textos o candidats de text;
- detectar alfabets A-Z codificats com índexs de rajoles i generar-ne una taula reutilitzable;
- generar fitxers JSON, CSV i PO;
- editar traduccions des de la web;
- fer pretraducció opcional amb Softcatalà, Google Translate o Ollama;
- conservar traduccions quan es reingesta una ROM;
- generar ROM modificada i pedaços BPS;
- generar IPS quan el format ho permet;
- usar perfils de joc quan el hash de la ROM coincideix, amb 37 perfils verificats i 20 767 entrades per a les cinc plataformes;
- construir perfils nous derivant-los d’un desassemblatge o per escaneig verificat, i comprovar-los tots contra les ROMs locals amb una sola ordre;
- eliminar projectes des de la interfície, movent-los a una paperera recuperable;
- associar fonts tècniques públiques a la versió del joc per facilitar perfils nous;
- detectar adaptadors externs com
gba_dumper,n64split,retrodisasm,asaroquickbmssi estan instal·lats.
En aquestes consoles no existeix una extracció perfecta per plataforma.
Cada joc pot tenir:
- codificació pròpia;
- taules de caràcters personalitzades;
- punters diferents;
- bancs de memòria;
- compressió;
- text barrejat amb codi o gràfics;
- fonts limitades.
Per això RONICAT treballa en tres capes:
- Ingesta genèrica: troba candidats de text quan hi ha dades llegibles.
- Taules inferides: detecta paraules conegudes quan A-Z són valors consecutius, conserva la longitud i genera una taula del projecte.
- Perfils de joc: indiquen exactament on són els textos, com es descodifiquen i com es reconstrueixen.
Els projectes seriosos de traducció han d’acabar fent servir perfils.
Treballa sempre amb una còpia de seguretat de la ROM. RONICAT admet fitxers de Game Boy i Game Boy Color (.gb, .gbc), Game Boy Advance (.gba), NES (.nes), Super Nintendo (.sfc, .smc) i Nintendo 64 (.z64, .n64, .v64).
RONICAT no necessita que la ROM sigui europea. Els perfils i les fitxes tècniques poden provenir de versions USA, Europa, Japó o altres regions. La regió sí que importa tècnicament: els hashes, offsets, idiomes i recursos poden canviar, per això RONICAT indica quan una font és exacta i quan només serveix de base per adaptar-la.
En el paquet de Windows, executa:
start_ronicat_windows.bat
En Linux o macOS, després de generar o descarregar el paquet corresponent:
chmod +x start_ronicat.sh ronicat
./start_ronicat.shDes del codi font, l’ordre és la mateixa a totes les plataformes:
python scripts\romtextforge_entry.py serve --root . --host 127.0.0.1 --port 8765 --openSi el navegador no s’obre sol, visita http://127.0.0.1:8765.
- Prem Tria una ROM i selecciona el teu dump.
- Escull la consola o deixa la detecció automàtica.
- Escull l’idioma d’origen que es substituirà en construir la ROM. RONICAT prioritza l’anglès quan és disponible.
- A Eina, deixa Automàtic o tria l’escàner intern, un executable extern, totes les fonts locals o un repositori concret.
- Ajusta la longitud mínima només si vols afinar l’escaneig genèric o les taules candidates.
- Confirma la ingesta i segueix el diàleg de procés.
El procés valida el fitxer, resol la consola, cerca un perfil compatible, extreu el text, analitza scripts i repositoris, prova les eines externes aplicables, genera JSON/CSV/PO i crea el projecte. La ROM seleccionada es copia a roms/imported/; l’original no es modifica.
Si hi ha un perfil amb hash compatible, el resultat pot contenir text fiable i reconstruïble. Si no n’hi ha, RONICAT marca el resultat com a candidat genèric: és material de recerca i pot incloure dades il·legibles o falsos positius.
Els projectes apareixen a la barra lateral agrupats per consola. En obrir-ne un, la franja de qualitat indica el mètode d’extracció i les fitxes tècniques disponibles.
El camp Cerca als textos filtra tot el projecte, no només la pàgina visible. Cerca dins el text original, la traducció, el context, les notes, la font, l'identificador i l'offset. El selector Estat permet combinar la cerca amb textos pendents o ja traduïts.
Per treballar una entrada:
- Escriu o revisa el català al camp de traducció.
- Prem Desa a l’entrada; RONICAT actualitza els fitxers transferibles del projecte.
- Usa Suggereix per obtenir una proposta només per aquella entrada.
- Usa Pretradueix per omplir un lot, amb un límit i l’opció de sobreescriure.
- Usa Corregeix per passar les traduccions pel corrector de Softcatalà.
Softcatalà i Google necessiten connexió a Internet. Google funciona mitjançant deep-translator, inclòs al standalone de Windows i instal·lable des de requirements-optional.txt quan es treballa amb el codi font. Ollama és opcional i local: arrenca Ollama, tria Models i selecciona un model detectat. Cap proposta automàtica substitueix la revisió humana.
RONICAT manté sincronitzats aquests formats:
projects/<projecte>/extracted/texts.json
projects/<projecte>/extracted/texts.csv
projects/<projecte>/extracted/texts.po
projects/<projecte>/translated/texts.json
projects/<projecte>/translated/texts.csv
projects/<projecte>/translated/texts.po
El JSON conserva les dades tècniques; PO és el format recomanat per traduir; CSV facilita el treball amb fulls de càlcul.
- Revisa que el projecte indiqui un perfil compatible i l’idioma d’origen correcte.
- Prem Genera patch.
- Consulta la ROM reconstruïda a
projects/<projecte>/build/i els pedaços aprojects/<projecte>/patches/. - Prova el resultat en un emulador abans de compartir-lo.
El format preferent és BPS; IPS només es genera quan les seves limitacions ho permeten. El pack complet valida cada BPS internament i també amb Floating IPS, comparant el resultat byte per byte abans de donar-lo per bo. Comparteix el pedaç, no la ROM.
En projectes SNES, RONICAT recalcula automàticament el checksum i el complement de la capçalera abans de generar la ROM i els pedaços. Això evita avisos de checksum incorrecte i incompatibilitats amb emuladors o dispositius estrictes.
- Prem Aplica patch a la barra superior.
- Tria la ROM original compatible amb el pedaç.
- Tria el fitxer
.bpso.ips. - Prem Aplica i descarrega.
- Desa i prova la ROM nova, que rep el sufix
.patched.
RONICAT no modifica la ROM original. Els pedaços BPS comproven la mida i el CRC de la ROM base i rebutgen una versió incorrecta. Si no coincideix, RONICAT mostra la mida i el CRC32 esperats i els de la ROM seleccionada; també detecta si el pedaç ja estava aplicat. IPS no incorpora un hash estàndard de la ROM original, per això cal verificar manualment que la regió i la revisió siguin les indicades per l'autor del pedaç.
El botó Elimina mou el projecte i la còpia importada de la ROM a .ronicat-trash/. És una paperera recuperable i evita l’eliminació definitiva accidental.
RONICAT genera tres formats:
- JSON: format intern canònic, conserva offsets, punters, límits i metadades.
- PO: format recomanat per traduir amb eines de localització.
- CSV: format senzill per obrir amb fulls de càlcul.
La columna o camp translation és on va la traducció.
Si queda buit, RONICAT manté el text original.
Des de la web:
- Obre un projecte.
- Revisa o edita traduccions.
- Prem Genera patch.
RONICAT generarà sortides dins:
projects/<projecte>/build/
projects/<projecte>/patches/
El format preferent és BPS.
L'opció Aplica patch funciona sense crear cap projecte: selecciona una ROM de l'usuari i un pedaç BPS o IPS, aplica els canvis en memòria i descarrega una ROM nova. L'original no se sobreescriu ni s'ingesta automàticament.
Per compartir una traducció, distribueix només el pedaç i indica la regió, revisió i hash de la ROM base compatible. No distribueixis la ROM original ni la ROM modificada.
Els executables s’han de construir al sistema operatiu de destinació: PyInstaller no genera de manera creuada un .exe de Windows des de Linux o un binari de macOS des de Windows.
Per generar l’executable i el paquet de Windows:
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements-build.txt
.\scripts\build_executable.ps1El resultat és una carpeta executable autocontinguda:
build/executable/ronicat/
├── ronicat.exe
└── _internal/
Cal conservar ronicat.exe i _internal/ junts. El ZIP standalone ja ho deixa preparat i l'usuari només ha d'executar start_ronicat_windows.bat.
Per generar els dos lliuraments finals d'una sola vegada:
.\scripts\prepare_deliverables.ps1El procés crea:
GitHub/RONICAT/ codi font publicable, sense material privat ni binaris de tercers
GitHub/RONICAT-GitHub.zip la mateixa còpia preparada per pujar
GitHub/Releases/ standalone públic de Windows i el seu SHA-256
Ce Trencada/RONICAT/ executable complet amb eines i fonts tècniques
Ce Trencada/INICIAR_RONICAT.bat
Per a Projecte Ce Trencada només cal conservar tota la carpeta Ce Trencada, fer doble clic a INICIAR_RONICAT.bat i treballar des del navegador que s'obre. No cal instal·lar Python ni utilitzar una terminal.
Per preparar un paquet .zip per publicar a GitHub:
.\scripts\package_standalone.ps1El paquet generat queda a:
dist/RONICAT-windows-standalone.zip
Per generar el binari i el paquet al mateix Linux o Mac on es distribuirà:
python3 -m venv .venv
./.venv/bin/python -m pip install -r requirements-build.txt
./scripts/build_executable.sh
./scripts/package_standalone.shLa sortida executable queda a build/executable/ronicat/ i el paquet a dist/RONICAT-standalone.zip. En macOS pot caldre autoritzar localment l’executable no signat la primera vegada.
El paquet públic inclou:
- executable;
- README;
- interfície web;
- perfils;
- documentació;
- una carpeta
tools/external/buida perquè cada usuari hi instal·li legalment les eines opcionals; - catàleg de fonts públiques dins
research/; - carpetes buides preparades per a
roms/iprojects/.
Les eines externes, els repositoris clonats, les ROMs, els projectes locals i els patches de prova s'exclouen del ZIP públic. El lliurament privat de Ce Trencada sí que incorpora les eines i les fonts tècniques disponibles, però elimina els historials .git, les ROMs de prova i qualsevol dada de projecte. Consulta docs/PUBLICAR_A_GITHUB.md i THIRD_PARTY_NOTICES.md abans de crear el repositori o una release.
Inventariar ROMs:
python scripts\romtextforge_entry.py inventory --rom-root roms --out projects/inventory.jsonExtreure una ROM:
python scripts\romtextforge_entry.py extract roms/exemple.gba --platform gba --out projectsEscanejar compressió GBA LZ77:
python scripts\romtextforge_entry.py scan-compression roms/exemple.gba --format gba_lz77Veure adaptadors externs:
python scripts\romtextforge_entry.py adaptersAplicar un pedaç des de la línia d'ordres:
python scripts\romtextforge_entry.py apply-patch --source roms/original.gba --patch traduccio.bps --out build/joc.patched.gbaUn perfil descriu com s’extreu i es reconstrueix text d’un joc concret.
Exemple simplificat:
{
"game": "Exemple",
"platform": "gba",
"rom_sha256": "...",
"encoding": "ascii",
"text_blocks": [
{
"name": "dialogues",
"type": "pointer_table",
"pointer_table": "0x123400",
"pointer_count": 850,
"pointer_format": "gba_32bit",
"base_address": "0x08000000",
"terminator_hex": "00"
}
]
}RONICAT pot aplicar perfils automàticament quan el rom_sha256 coincideix.
Actualment hi ha 37 perfils reals verificats per hash, amb 20 767 entrades de text, repartits així:
| Plataforma | Perfils | Entrades | Jocs |
|---|---|---|---|
| NES | 5 | 181 | Zelda, Zelda II, Metroid, Super Mario Bros. 1 i 2 |
| Game Boy | 6 | 227 | Tetris, Super Mario Land 1 i 2, Wario Land 1 i 2, Street Fighter II |
| GBA | 6 | 8 706 | Pokémon Mystery Dungeon, Mario & Luigi, Final Fantasy I & II, Mario vs. Donkey Kong, Metal Slug Advance, Earthworm Jim 2 |
| SNES | 9 | 3 203 | Terranigma, EarthBound, Yoshi's Island, Super Mario All-Stars, Street Fighter II, Starwing, X-Kaliber 2097, Tiny Toon, Tetris & Dr. Mario |
| N64 | 11 | 8 450 | Ocarina of Time, Majora's Mask, Super Mario 64, Pokémon Stadium 1 i 2, Pokémon Snap, Turok 2 i 3, Jet Force Gemini, Quake, Quake II |
Quatre d'aquests perfils estan derivats directament d'un desassemblatge o decompilació, que és el mètode preferent:
| Joc | Entrades | Font | Què n'aporta |
|---|---|---|---|
| Ocarina of Time | 2 625 | zeldaret/oot |
Charmap i MESSAGE_END per delimitar cada missatge |
| Majora's Mask | 2 317 | zeldaret/mm |
Estructura MessageTableEntry, amb el textId real |
| Super Mario 64 | 100 | n64decomp/sm64 |
Charmap amb compressió per paraules i terminador |
| The Legend of Zelda | 38 | cyneprepou4uk/NES-Games-Disassembly |
Taula oficial i límits de missatge |
Cada perfil declara el rom_sha256 de la ROM exacta amb què s’ha verificat, i
conté només ofsets, mides i metadades: el text s’extreu sempre de la ROM que
aporta la persona usuària.
Hi ha dos mètodes, i el primer sempre és preferible:
1. Derivats d’una font tècnica (tools/build_from_disasm.py). Quan el joc té
un desassemblatge o una decompilació al catàleg, els límits dels missatges, la
taula d’encoding i els codis de control surten de la font, no d’una deducció. És
el cas de Zelda 1, que fa servir la taula oficial del desassemblatge i els
límits que marca el codi, i de Majora’s Mask, on s’ha localitzat la taula de
missatges real del joc i cada missatge queda identificat pel seu textId.
2. Per escaneig verificat (tools/build_profiles.py). Per als jocs sense
font tècnica. A NES, GB i SNES la taula d’encoding es dedueix per cerca
relativa: es busca una paraula coneguda comparant els increments entre bytes
consecutius en lloc dels valors absoluts, cosa que permet trobar l’alfabet
encara que no sigui ASCII. A GBA i N64 el text sí que és ASCII, però la major
part de les cadenes imprimibles són noms de variables i símbols de depuració, i
cal un filtre que exigeixi que el tram sembli escrit per a jugadors.
Un tram només entra al perfil si cau dins la ROM, es descodifica sencer amb la taula i dona text llegible. Als perfils derivats de fonts tècniques s’hi afegeix una comprovació de round-trip exacte: el text descodificat s’ha de tornar a codificar als mateixos bytes, perquè altrament una reinserció podria corrompre bytes que ningú no ha tocat.
python -m tools.build_from_disasm # perfils derivats de fonts tècniques
python tools/build_profiles.py # perfils per escaneig
python tools/build_profiles.py nes gb # només aquestes plataformes
python tools/verify_profiles.py # verifica tots els perfilstools/verify_profiles.py retorna codi d’error si algun perfil falla, de manera
que es pot usar com a comprovació d’integració contínua.
Alguns jocs no guarden els salts de línia com a bytes independents. A Zelda 1 el
salt se suma a l’últim caràcter de la línia, de manera que la O final d’una
paraula pot ser 0x98 en lloc de 0x18. Els perfils afectats mapen aquestes
combinacions a testimonis llegibles com [n1], [n2] i [fi], i els bytes que
no són text apareixen com a <XX>. Tots dos formats es reinsereixen sense
canvis, de manera que les marques s’han de conservar a la traducció.
RONICAT també manté research/profile_sources.json, un catàleg de 137 desassemblatges, decompilacions, eines i recopilatoris per a GB/GBC, GBA, NES, SNES i N64. Les fitxes poden ser de qualsevol regió si aporten coneixement útil. Quan una font coincideix amb el nom o amb el hash de la ROM, apareix dins el projecte, inclosos jocs que encara no s'han ingestat mai en aquella instal·lació. Els recursos generals marcats amb * apareixen en qualsevol projecte de la consola corresponent. Això deixa preparada una biblioteca tècnica reutilitzable per a projectes futurs.
Una font de recerca no es considera automàticament un perfil: primer cal convertir-ne i verificar-ne taules, offsets, punters i compressió per a la versió exacta. Cada fitxa indica si és una base prioritària, una referència de recerca o un perfil ja integrat, i conserva l’enllaç al projecte original. El catàleg inclou repositoris per sagues com Pokémon, Zelda, Final Fantasy, Mother, Mario Party, Banjo-Kazooie i altres jocs de les cinc plataformes.
RONICAT pot detectar i executar eines externes si són al sistema, a tools/bin/, a tools/external/ o en una carpeta indicada amb la variable RONICAT_TOOLS.
Adaptadors integrats actualment:
gba_dumperabcdeCartographerAtlasn64splitretrodisasmasarRGBDSquickbms
En aquest entorn de desenvolupament ja s'han deixat instal·lats i provats:
gba_dumperper GBA;abcdeper scripts avançats;Cartographerper extracció amb taules i fitxers de comandes;n64splitper N64;retrodisasmper NES;asarper SNES;RGBDSper GB/GBC;QuickBMSper arxius interns i compressions;Atlasper reinserció de scripts.
En la ingesta automàtica actual, RONICAT pot executar gba_dumper en GBA, retrodisasm en NES i n64split en N64. En GB/GBC i SNES, les eines disponibles necessiten taules o scripts específics del joc; quan hi ha un perfil verificat, RONICAT l’aplica directament.
abcde i Cartographer necessiten fitxers de comandes i taules per joc. RONICAT els detecta i els pot executar, però la feina fiable continua vivint als perfils de joc.
RONICAT detecta 26 repositoris locals mitjançant src/romtextforge/repository_tools.py. La interfície els presenta com a opcions d’ingesta i registra dins tooling/repository_sources.json els scripts, configuracions, taules i fitxers rellevants trobats.
Hi ha dos nivells d’integració:
- Automàtic amb taula:
NES-Games-Disassemblyassocia el nom de la ROM amb un dels 26 jocs, copia les.tbldisponibles i escaneja la ROM amb la codificació real. Els resultats queden marcats comrepository-table-candidatei continuen requerint revisió. - Assistit: les decompilacions N64 s’associen per joc i RONICAT n’inventaria scripts de split, Splat, descompressió, missatges, fonts i actius. No s’executen ordres de construcció que puguin modificar el repositori ni s’afirma que el resultat sigui un perfil verificat.
La instal·lació de desenvolupament incorpora fonts per Super Mario 64, Ocarina of Time, Majora’s Mask, GoldenEye 007, Perfect Dark, Jet Force Gemini, Kirby 64, Pokémon Snap, Pokémon Stadium 1/2, Yoshi’s Story, Turok 1/3, Star Fox 64/Lylat Wars, Aidyn Chronicles, Blast Corps, Mischief Makers, Snowboard Kids, Space Station Silicon Valley, Superman 64 i eines de RetroReversing. Cada repositori conserva la seva autoria, llicència i enllaç original.
Prova real completada amb Legend of Zelda, The (Europe) (Rev 1).nes: 97 candidats no ASCII extrets amb la taula comunitària, una traducció reconstruïda i el BPS verificat correctament.
Informe detallat:
docs/EINES_EXTERNES_2026-07-22.md
El nucli ja inclou:
- detecció i descompressió de blocs GBA LZ77;
- compressió literal GBA LZ77 per proves;
- reconstrucció fixa quan la traducció cap al lloc original;
- reubicació de text amb actualització de punter quan un perfil defineix una zona lliure.
La compressió específica de cada joc encara s’ha d’anar afegint per perfil.
S’ha fet una prova completa i no destructiva amb 65 ROMs locals. Per a cada joc s'ha extret una entrada, s'ha canviat una paraula al català, s'ha generat un BPS, s'ha aplicat sobre una còpia en memòria i s'ha comprovat que la ROM original no canviava:
GB/GBC: 7/7 correctes
GBA: 22/22 correctes
NES: 6/6 correctes
SNES: 11/11 correctes
N64: 19/19 correctes
Total: 65/65 correctes
També s'ha repetit un joc representatiu de cada consola en mode Automàtic. gba_dumper, retrodisasm i n64split han acabat amb codi 0. Aquest resultat valida el circuit tècnic d'extracció, edició, reinserció i patch; els candidats genèrics o de taula inferida encara requereixen revisió humana i perfils específics per extreure tot el diàleg del joc.
Informes:
docs/QA_ROM_INGEST_2026-07-22.md
build/qa-rom-matrix/qa_report.md
La prova es pot repetir sense modificar cap ROM original:
python scripts\qa_rom_matrix.py --out-root build\qa-rom-matrixEl nucli i la interfície de RONICAT han estat realitzats per Júlia Rosell Saldaña com a regal per a Projecte Ce Trencada. RONICAT és descendent de Fractalis.
RONICAT no reclama l’autoria de les eines externes ni dels projectes de desassemblatge i decompilació. Cada component manté la seva llicència i autoria originals. El paquet standalone conserva els fitxers LICENSE, manuals i avisos inclosos pels seus creadors.
| Component | Autoria o projecte | Ús dins RONICAT | Enllaç |
|---|---|---|---|
| Python | Python Software Foundation i contribuïdors | Nucli multiplataforma | python.org |
| Biblioteca estàndard de Python | Python Software Foundation i contribuïdors | Web local, JSON, CSV, xarxa, fitxers i processos | Documentació |
| setuptools | Python Packaging Authority i contribuïdors | Construcció del paquet Python | setuptools |
| PyInstaller | equip de PyInstaller i contribuïdors | Executables standalone | PyInstaller |
| deep-translator | Nidhal Baccouri i contribuïdors | Connexió opcional amb Google Translate | deep-translator |
| Softcatalà | Softcatalà | Traducció anglès/castellà-català i correcció | Softcatalà |
| Google Translate | Google; accés mitjançant deep-translator |
Pretraducció opcional | Google Translate |
| Ollama | Ollama i contribuïdors | Assistència local opcional amb models instal·lats per l’usuari | Ollama |
| HTML, CSS i JavaScript nadius | Estàndards web | Interfície web, sense framework extern | MDN Web Docs |
Les dependències obligatòries del paquet Python són buides. requirements-build.txt instal·la PyInstaller per construir executables i requirements-optional.txt instal·la deep-translator per habilitar Google Translate. Aquest últim incorpora les dependències pròpies Requests, Beautiful Soup, urllib3, certifi, charset-normalizer, idna, Soup Sieve i typing_extensions, creades i mantingudes pels seus autors i contribuïdors respectius.
| Eina | Autoria o projecte original | Funció | Enllaç |
|---|---|---|---|
| gba_dumper | creadors de gba_dumper |
Cerca i bolcat de text de GBA | Fitxa original |
| abcde | autor d’abcde i comunitat de ROM hacking | Extracció i inserció avançada basada en taules | abcde |
| Cartographer | RedComet | Extracció de scripts amb taules i ordres | Cartographer |
| Atlas | Klarth; repositori modern mantingut per stevemonaco i contribuïdors | Reinserció de scripts i actualització de punters | Atlas |
| n64split | Q / queueRAM i contribuïdors | Separació, anàlisi i reconstrucció de recursos N64 | sm64tools |
| retrodisasm | retroenv i contribuïdors | Desassemblatge traçat de NES | retrodisasm |
| Asar | Alcaro i contribuïdors d’Asar | Assemblatge de pedaços 65C816 per SNES | Asar |
| RGBDS | equip RGBDS i contribuïdors | Assemblatge, enllaç i gràfics de GB/GBC | RGBDS |
| QuickBMS | Luigi Auriemma | Extracció i reinserció amb scripts de formats | QuickBMS |
| Floating IPS | Alcaro i contribuïdors | Validació externa i aplicació independent de BPS/IPS | Flips |
| Projecte o autoria | Jocs o funció aprofitada | Enllaç |
|---|---|---|
| cyneprepou4uk | Col·lecció de 26 desassemblatges NES, scripts Lua i taules. Perfil de Zelda 1 derivat directament d'aquesta font, incloent-hi la taula d'encoding oficial i els límits de missatge | NES-Games-Disassembly |
| aldonunez | Desassemblatge de The Legend of Zelda, usat per contrastar l'estructura de la taula de diàlegs | zelda1-disassembly |
| n64decomp i contribuïdors | Super Mario 64, GoldenEye 007, Perfect Dark i eines SDK. Perfil de Super Mario 64 derivat del seu charmap.txt, incloent-hi la compressió per paraules |
n64decomp |
| zeldaret i contribuïdors | Ocarina of Time i Majora’s Mask. Perfil de Majora's Mask derivat de l'estructura MessageTableEntry documentada al projecte |
zeldaret |
| pret i contribuïdors | Pokémon Stadium i Pokémon Stadium 2 | pret |
| RetroReversing i contribuïdors | Ghidra loaders, libRetroReversing i Mupen64Plus Reversing | RetroReversing |
| blackgamma7, retroplastic, Drahsid, tenry92 i mkst | Aidyn, Blast Corps, Mischief Makers, Snowboard Kids, SSSV i Turok 3 | Índex de fonts de RONICAT |
| farisawan-2000, ethteck, decompals i ryan-myers | Kirby 64, Superman 64, Pokémon Snap, Yoshi’s Story i Jet Force Gemini | Índex de fonts de RONICAT |
| HarbourMasters | Starship, recerca de Star Fox 64 / Lylat Wars i recursos d’idioma europeus | Starship |
| svkaiser | Eines i formats del motor Turok | TurokEX |
Els repositoris mantenen les seves llicències i autoria. El pack complet de Ce Trencada els conserva com a fonts tècniques locals, sense l'historial .git ni ROMs de prova. La carpeta GitHub, en canvi, només en conserva el catàleg i els enllaços: abans de publicar binaris o còpies de tercers cal revisar individualment les seves llicències.
Les 137 fonts tècniques tenen el nom i l’enllaç originals dins research/profile_sources.json. Entre altres, RONICAT acredita els equips de pret, n64decomp, zeldaret, pmret, metroidret, snesrev, mariopartyrd, RetroReversing, els autors dels desassemblatges i els creadors de les eines de compressió que fan possible aquesta recerca. El catàleg també incorpora els índexs awesome-game-decompilations i awesome-game-file-format-reversing, sempre com a referències externes i respectant-ne l'autoria original.
RONICAT és una eina de traducció i modificació per a dumps aportats per l’usuari.
No inclou jocs, ROMs, BIOS, claus, recursos comercials ni contingut amb copyright.
L’usuari és responsable de:
- usar dumps legítims;
- conservar còpies originals;
- verificar que el hash de la ROM coincideix amb el perfil;
- distribuir només pedaços quan legalment sigui possible.