Was ist das BPS-Dateiformat?
.bps ist ein binäres Delta-Patch-Format, das in der Retro-Gaming-Community verwendet wird, um ROM-Hacks und Fan-Übersetzungen zu verbreiten, ohne urheberrechtlich geschützte ROM-Daten zu verteilen. Das Format wurde um 2012 von byuu (Near), dem Autor des SNES-Emulators bsnes, erstellt und seine Spezifikation wurde als Gemeingut (Public Domain) veröffentlicht.
Eine .bps-Datei beginnt mit dem vier Byte langen ASCII-Header BPS1 bei Offset Null - die 1 ist eine Versionsnummer des Formats - gefolgt von Ganzzahlen variabler Länge, die die Quell-Dateigröße, die Ziel-Dateigröße und einen optionalen Metadatenblock (UTF-8-Text) kodieren. Der Patch-Körper verwendet vier Befehlstypen: SourceRead (unveränderte Bytes von der Quelle kopieren), TargetRead (neue Bytes schreiben), SourceCopy (von einem beliebigen Quell-Offset kopieren) und TargetCopy (von der bereits geschriebenen Ausgabe kopieren). Die Datei endet mit drei CRC32-Prüfsummen (jeweils 4 Byte, Little-Endian): eine für das Quell-ROM, eine für das erwartete Ziel-ROM und eine, die die Patch-Datei selbst abdeckt. Ein Patcher verweigert die Anwendung, wenn die Quell-Prüfsumme nicht übereinstimmt, was eine fehlerhafte Ausgabe verhindert.
BPS löste das ältere IPS-Format ab, indem es die Dateigrößenbeschränkung von 16 MB aufhob und eine eingebettete Integritätsprüfung hinzufügte. Es wird häufig für SNES-, GBA- und NDS-ROM-Hacks verwendet.
Gängige Werkzeuge sind flips (Floating IPS, Windows/Linux), MultiPatch (macOS), UniPatcher (Android) und browserbasierte Patcher wie RomPatcher.js.
Sicherheit
RISIKO: MEDIUMBPS-Dateien selbst sind nur Patch-Daten und können keinen Code ausführen - sie erfordern ein separates Patcher-Tool und ein ROM. Risiken entstehen durch das Herunterladen von Patch-Tools aus inoffiziellen Quellen (einige sind mit Adware gebündelt) und durch die Rechtmäßigkeit der ROM-Verbreitung in Ihrer Gerichtsbarkeit. Empfohlene Patcher (Floating IPS, RomPatcher.js) sind saubere Open-Source-Tools.
Formatdetails
kurz gefasst- Microsoft Works Backup File - Ältere Einträge auf einigen Datei-Info-Seiten behaupten, .bps sei ein Microsoft Works Dokument-Backup; dies ist eine Fehlidentifikation - es gibt keine Beweise, dass diese Zuordnung real oder weit verbreitet ist.
Programme zum Öffnen von BPS-Dateien
Technische Details
technische Spezifikation| Magic Bytes | `42 50 53 31` (`BPS1`) bei Offset 0 - `1` bezeichnet die Formatversion |
| Byte-Reihenfolge | Little-endian (Ganzzahlen variabler Länge und CRC32-Prüfsummen) |
| Container | Benutzerdefiniertes lineares Binärformat (kein Standard-Wrapper) |
| Kodierung | Binär |
| Ganzzahl-Kodierung | Vorzeichenlose Ganzzahlen variabler Länge (7 Bits pro Byte, MSB als Fortsetzungsflag) |
| Patch-Befehle | SourceRead, TargetRead, SourceCopy, TargetCopy |
| Prüfsummen-Schema | Drei CRC32-Prüfsummen (Quell-ROM, Ziel-ROM, Patch-Datei) - jeweils 4 Byte, Little-endian |
| Quell-Validierung | Patcher bricht ab, wenn Quell-CRC32 nicht mit der eingebetteten Prüfsumme übereinstimmt - verhindert Anwendung auf falsches ROM |
| Typische Dateigröße | Einige KB bis mehrere MB (proportional zur Größe der ROM-Differenz) |
| Spezifikation | Gemeingut (veröffentlicht von byuu/Near, ca. 2012); einzige Version BPS1 |
| Zielplattformen | SNES, GBA, NDS und andere Retro-ROM-Hack-Ziele |
| Vorgängerformate | IPS (keine Prüfsummen, 16 MB Größenlimit), UPS |
| Veröffentlicht | circa 2012 (byuu/beat tool) |
| Neueste Version | BPS1 (single version in spec) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | github.com |
BPS-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu BPS-Dateien.