Skip to content

Repository files navigation

RONICAT

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.

Estat Actual

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, asar o quickbms si estan instal·lats.

Punt Important

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.

Manual d’Ús

1. Preparació

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.

2. Arrencada

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.sh

Des 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 --open

Si el navegador no s’obre sol, visita http://127.0.0.1:8765.

3. Ingesta d’una ROM

  1. Prem Tria una ROM i selecciona el teu dump.
  2. Escull la consola o deixa la detecció automàtica.
  3. Escull l’idioma d’origen que es substituirà en construir la ROM. RONICAT prioritza l’anglès quan és disponible.
  4. A Eina, deixa Automàtic o tria l’escàner intern, un executable extern, totes les fonts locals o un repositori concret.
  5. Ajusta la longitud mínima només si vols afinar l’escaneig genèric o les taules candidates.
  6. 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.

4. Revisió i Traducció

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:

  1. Escriu o revisa el català al camp de traducció.
  2. Prem Desa a l’entrada; RONICAT actualitza els fitxers transferibles del projecte.
  3. Usa Suggereix per obtenir una proposta només per aquella entrada.
  4. Usa Pretradueix per omplir un lot, amb un límit i l’opció de sobreescriure.
  5. 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.

5. Fitxers del Projecte

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.

6. Construcció i Pedaç

  1. Revisa que el projecte indiqui un perfil compatible i l’idioma d’origen correcte.
  2. Prem Genera patch.
  3. Consulta la ROM reconstruïda a projects/<projecte>/build/ i els pedaços a projects/<projecte>/patches/.
  4. 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.

7. Aplicació del Pedaç

  1. Prem Aplica patch a la barra superior.
  2. Tria la ROM original compatible amb el pedaç.
  3. Tria el fitxer .bps o .ips.
  4. Prem Aplica i descarrega.
  5. 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ç.

8. Eliminació i Recuperació

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.

Formats de Traducció

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.

Generar un Patch

Des de la web:

  1. Obre un projecte.
  2. Revisa o edita traduccions.
  3. Prem Genera patch.

RONICAT generarà sortides dins:

projects/<projecte>/build/
projects/<projecte>/patches/

El format preferent és BPS.

Aplicar un Patch

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.

Executable Standalone

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.

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.ps1

El 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.ps1

El 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.ps1

El paquet generat queda a:

dist/RONICAT-windows-standalone.zip

Linux i macOS

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.sh

La 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/ i projects/.

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.

Línia de Comandes

Inventariar ROMs:

python scripts\romtextforge_entry.py inventory --rom-root roms --out projects/inventory.json

Extreure una ROM:

python scripts\romtextforge_entry.py extract roms/exemple.gba --platform gba --out projects

Escanejar compressió GBA LZ77:

python scripts\romtextforge_entry.py scan-compression roms/exemple.gba --format gba_lz77

Veure adaptadors externs:

python scripts\romtextforge_entry.py adapters

Aplicar 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.gba

Perfils de Joc

Un 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.

Com Es Construeixen Els Perfils

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 perfils

tools/verify_profiles.py retorna codi d’error si algun perfil falla, de manera que es pot usar com a comprovació d’integració contínua.

Codis De Control

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.

Adaptadors Externs

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_dumper
  • abcde
  • Cartographer
  • Atlas
  • n64split
  • retrodisasm
  • asar
  • RGBDS
  • quickbms

En aquest entorn de desenvolupament ja s'han deixat instal·lats i provats:

  • gba_dumper per GBA;
  • abcde per scripts avançats;
  • Cartographer per extracció amb taules i fitxers de comandes;
  • n64split per N64;
  • retrodisasm per NES;
  • asar per SNES;
  • RGBDS per GB/GBC;
  • QuickBMS per arxius interns i compressions;
  • Atlas per 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.

Repositoris De Desassemblatge

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-Disassembly associa el nom de la ROM amb un dels 26 jocs, copia les .tbl disponibles i escaneja la ROM amb la codificació real. Els resultats queden marcats com repository-table-candidate i 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

Compressió i Expansió

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.

Proves Amb ROMs Locals

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-matrix

Paquets, Eines i Crèdits

El 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.

Base del Sistema

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.

Eines de ROM Hacking

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

Fonts De Desassemblatge Integrades

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.

Llicència i Responsabilitat

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.

About

És una eina local per **extreure, revisar, traduir, reconstruir i generar pedaços** de textos de videojocs de consoles Nintendo clàssiques, pensada especialment per facilitar projectes de traducció al català. RONICAT ha estat realitzat per Júlia Rosell Saldaña com a regal per a Projecte Ce Trencada. Descendent de Fractalis.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages