Che cos'è il formato di file BPS?
.bps è un formato di patch delta binario utilizzato nella comunità del retro gaming per distribuire hack di ROM e traduzioni amatoriali senza distribuire dati ROM protetti da copyright. Il formato è stato creato da byuu (Near), autore dell'emulatore SNES bsnes, intorno al 2012, e la sua specifica è stata rilasciata nel pubblico dominio.
Un file .bps inizia con l'intestazione ASCII di quattro byte BPS1 all'offset zero - l' 1 è il numero di versione del formato - seguito da interi a lunghezza variabile che codificano la dimensione del file sorgente, la dimensione del file di destinazione e un blocco di metadati opzionale (testo UTF-8). Il corpo della patch utilizza quattro tipi di comando: SourceRead (copia i byte invariati dal sorgente), TargetRead (scrive nuovi byte), SourceCopy (copia da un offset sorgente arbitrario) e TargetCopy (copia dall'output già scritto). Il file termina con tre checksum CRC32 (4 byte ciascuno, little-endian): uno per la ROM sorgente, uno per la ROM di output prevista e uno che copre il file patch stesso. Un programma di patching si rifiuta di applicare la patch se il checksum sorgente non corrisponde, prevenendo output corrotti.
BPS ha sostituito il vecchio formato IPS eliminando il limite di dimensione del file di 16 MB e aggiungendo la verifica dell'integrità integrata. È ampiamente utilizzato per hack di ROM SNES, GBA e NDS.
Gli strumenti comuni includent flips (Floating IPS, Windows/Linux), MultiPatch (macOS), UniPatcher (Android) e patcher basati su browser come RomPatcher.js.
Sicurezza e incolumità
RISCHIO: MEDIUMI file BPS stessi sono solo dati di patch e non possono eseguire codice - richiedono uno strumento patcher separato e una ROM. Il rischio deriva dallo scaricare strumenti di patching da fonti non ufficiali (alcuni forniti con adware) e dalla legalità della distribuzione di ROM nella propria giurisdizione. I patcher consigliati (Floating IPS, RomPatcher.js) sono strumenti open-source puliti.
Dettagli del formato
in sintesi- Microsoft Works Backup File - Voci più vecchie su alcuni siti di informazioni sui file sostengono che .bps = backup di documenti Microsoft Works; si tratta di un'identificazione errata - non ci sono prove che questa associazione sia reale o ampiamente utilizzata.
Programmi che aprono file BPS
Dettagli tecnici
specifiche approfondite| Magic bytes | `42 50 53 31` (`BPS1`) all'offset 0 - `1` indica la versione del formato |
| Ordine dei byte | Little-endian (interi a lunghezza variabile e checksum CRC32) |
| Contenitore | Formato binario lineare personalizzato (nessun wrapper standard) |
| Codifica | Binario |
| Codifica degli interi | Interi senza segno a lunghezza variabile (7 bit per byte, MSB come flag di continuazione) |
| Comandi patch | SourceRead, TargetRead, SourceCopy, TargetCopy |
| Schema checksum | Tre checksum CRC32 (ROM sorgente, ROM di destinazione, file patch) - 4 byte ciascuno, little-endian |
| Validazione sorgente | Il patcher si interrompe se il CRC32 sorgente non corrisponde al checksum integrato - impedisce l'applicazione alla ROM errata |
| Dimensione tipica del file | Da pochi KB a diversi MB (proporzionale alla dimensione delle differenze della ROM) |
| Specifica | Pubblico dominio (pubblicato da byuu/Near, circa 2012); versione singola BPS1 |
| Piattaforme di destinazione | SNES, GBA, NDS e altri target di hack per ROM retro |
| Formati precedenti | IPS (nessun checksum, limite di 16 MB), UPS |
| Rilasciato | circa 2012 (byuu/beat tool) |
| Ultima versione | BPS1 (single version in spec) |
| Standard aperto | Sì · royalty-free |
| Specifica | github.com |
Conversioni BPS
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file BPS.