Wat is het ROM-bestandsformaat?
.rom-bestanden zijn spel-imagebestanden die door emulators worden gebruikt om console- en computerspellen uit te voeren. Een .rom-bestand is een byte-voor-byte dump van een spelcassette of ROM-chip - de term „ROM” staat voor Read-Only Memory, verwijzend naar de originele alleen-lezen hardware waarvan de gegevens zijn gekopieerd.
In tegenstelling tot specifieke formaten zoals .n64 of .smc, is de .rom-extensie een generiek label zonder vaste interne structuur of magic bytes. De interne lay-out hangt volledig af van de console of computer waar de dump vandaan kwam - een N64-spel, een MSX-computertitel, een ColecoVision-cassette en een Game Boy-spel produceren allemaal zeer verschillende binaire lay-outs, ook al worden ze elk opgeslagen als .rom.
Games voor Nintendo 64 gebruiken verschillende nauw verwante formaten naast .rom:
.n64- little-endian bytevolgorde.v64- byte-swapped (interleaved) bytevolgorde.z64- big-endian bytevolgorde (het native N64-formaat)
Om een .rom-bestand te openen heeft u een emulator voor het juiste systeem nodig. Voor N64-spellen zijn Project64 en Mupen64Plus populaire keuzes. RetroArch en OpenEmu ondersteunen .rom-bestanden van veel verschillende systemen via hun core-plug-insystemen.
Omdat .rom geen ingebedde systeemidentificatie bevat, kunnen sommige emulators mogelijk niet automatisch detecteren bij welke console het bestand hoort en is handmatige configuratie vereist.
Beveiliging & veiligheid
RISICO: MEDIUMEen spel-ROM is passieve data die de emulator interpreteert, dus het bestand draait zelden op uw echte besturingssysteem - maar er bestaan reële risico's. ROM-downloadsites zijn een beruchte bron van malware en valse „roms.exe”-bestanden, dus gebruik alleen betrouwbare bronnen en scan downloads. Cruciaal is dat een .rom die feitelijk firmware/BIOS is, op een andere manier gevaarlijk is: het flashen van de verkeerde firmware-image naar een moederbord, GPU of router kan het apparaat permanent onbruikbaar maken - controleer of het exact overeenkomt met uw hardware voordat u flasht. Juridisch gezien is het downloaden van auteursrechtelijk beschermde ROM's die u niet bezit over het algemeen een inbreuk; het dumpen van uw eigen cassettes en homebrew/public-domain ROM's zijn de veiligere paden.
Formaatdetails
in een notendop- Firmware / BIOS-image - Moederbord BIOS/UEFI, GPU video BIOS (vBIOS), router- en apparaatfirmware worden vaak gedistribueerd als .rom-bestanden die op de chip worden geflasht - geen spellen.
- Option ROM / expansion ROM - PC-uitbreidingskaarten (netwerk, RAID, GPU) bevatten een option ROM-image, soms .rom genoemd, die bij het opstarten door de systeemfirmware wordt geladen.
Programma's die ROM-bestanden openen
Technische details
diepe specificaties| Binaire codering | Raw binary - ongecomprimeerde, byte-voor-byte kopie van de originele cassette- of chipgegevens |
| Interne structuur | Systeemafhankelijk; geen universele header of vaste lay-out - de binaire lay-out wordt volledig bepaald door de bronconsole of computer |
| Magic bytes / bestandsidentificatie | Geen; de `.rom`-extensie heeft geen vaste identificerende handtekening - identificatie is afhankelijk van de emulator of gebruiker |
| N64 bytevolgorde-varianten | Big-endian `.z64` (native MIPS R4300i formaat), byte-swapped `.v64`, en little-endian `.n64` - emulators converteren hiertussen tijdens het laden |
| MIME-type | `application/octet-stream` |
| Typische bestandsgrootte | 256 KB - 64 MB afhankelijk van de cassette; de meeste N64-titels variëren van 8 MB tot 64 MB |
| Inhoudsdekking | Volledige uitvoerbare spelcode, graphics, audio en levelgegevens precies zoals opgeslagen op de originele ROM-chip |
| Compressie | Geen binnen het bestand; gebruikers archiveren `.rom`-bestanden vaak extern in ZIP- of 7z-containers |
| Gerelateerd ecosysteem van extensies | `.z64`, `.n64`, `.v64` (N64); `.smc` / `.sfc` (SNES); `.nes` (NES); `.gba` (GBA); `.gb` (Game Boy) |
| Ondersteuning voor ROM-hacking | Het bestand kan worden aangepast met hex-editors of gepatcht met IPS/BPS-patchhulpmiddelen zoals Floating IPS of beat |
| Systeemidentificatie | Bepaald door emulatorconfiguratie of gebruikersselectie - niet ingebed in het `.rom`-bestand zelf |
| N64 cassette-header | De eerste 64 bytes coderen PI BSD-registers, kloksnelheid, opstartadres, spelnaam (20 bytes), cassette-ID (2 bytes) en landcode |
| N64 CRC-integriteitscontrole | N64 ROM's bevatten twee 32-bit CRC-waarden op offsets 0x10 (CRC1) and 0x14 (CRC2), geverifieerd door de console-boot-ROM bij het opstarten |
| Juridische context | Persoonlijke cassette-dumps zijn in veel rechtsgebieden over het algemeen toegestaan; het distribueren of downloaden van ROM's van derden is doorgaans een schending van het auteursrecht |
| Uitgebracht | with console/computer emulation (1990s onward) |
| Specificatie | emulation.gametechwiki.com |