O que é o formato de ficheiro BPS?
.bps é um formato de patch delta binário usado na comunidade de retro gaming para distribuir hacks de ROM e traduções de fãs sem distribuir dados de ROM protegidos por direitos autorais. O formato foi criado por byuu (Near), autor do emulador de SNES bsnes, por volta de 2012, e sua especificação foi lançada em domínio público.
Um arquivo .bps começa com o cabeçalho ASCII de quatro bytes BPS1 no deslocamento zero - o 1 é um número de versão do formato - seguido por inteiros de comprimento variável que codificam o tamanho do arquivo de origem, o tamanho do arquivo de destino e um bloco de metadados opcional (texto UTF-8). O corpo do patch usa quatro tipos de comando: SourceRead (copiar bytes inalterados da origem), TargetRead (escrever novos bytes), SourceCopy (copiar de um deslocamento de origem arbitrário) e TargetCopy (copiar da saída já escrita). O arquivo termina com três somas de verificação CRC32 (4 bytes cada, little-endian): uma para a ROM de origem, uma para a ROM de saída esperada e uma cobrindo o próprio arquivo de patch. Um patcher se recusa a aplicar se o checksum de origem não corresponder, evitando uma saída corrompida.
O BPS sucedeu o antigo formato IPS ao remover seu teto de tamanho de arquivo de 16 MB e adicionar verificação de integridade incorporada. É amplamente utilizado para hacks de ROM de SNES, GBA e NDS.
Ferramentas comuns incluem flips (Floating IPS, Windows/Linux), MultiPatch (macOS), UniPatcher (Android) e patchers baseados em navegador como o RomPatcher.js.
Segurança e proteção
RISCO: MEDIUMArquivos BPS em si são apenas dados de patch e não podem executar código - eles exigem uma ferramenta de patch separada e uma ROM. O risco vem do download de ferramentas de patch de fontes não oficiais (algumas acompanhadas de adware) e da legalidade da distribuição de ROMs em sua jurisdição. Patchers recomendados (Floating IPS, RomPatcher.js) são ferramentas de código aberto limpas.
Detalhes do formato
em resumo- Arquivo de Backup do Microsoft Works - Entradas mais antigas em alguns sites de informações de arquivos afirmam que .bps = backup de documento do Microsoft Works; esta é uma identificação incorreta - não há evidências de que essa associação seja real ou amplamente utilizada.
Programas que abrem arquivos BPS
Detalhes técnicos
especificação profunda| Magic bytes | `42 50 53 31` (`BPS1`) no deslocamento 0 - `1` denota a versão do formato |
| Ordem dos bytes | Little-endian (inteiros de comprimento variável e somas de verificação CRC32) |
| Contêiner | Formato binário linear personalizado (sem wrapper padrão) |
| Codificação | Binário |
| Codificação de inteiros | Inteiros não assinados de comprimento variável (7 bits por byte, MSB como sinalizador de continuação) |
| Comandos de patch | SourceRead, TargetRead, SourceCopy, TargetCopy |
| Esquema de checksum | Três somas de verificação CRC32 (ROM de origem, ROM de destino, arquivo de patch) - 4 bytes cada, little-endian |
| Validação de origem | O patcher aborta se o CRC32 de origem não corresponder ao checksum incorporado - evita a aplicação na ROM errada |
| Tamanho de arquivo típico | De alguns KB a vários MB (proporcional ao tamanho da diferença da ROM) |
| Especificação | Domínio público (publicado por byuu/Near, cerca de 2012); versão única BPS1 |
| Plataformas de destino | SNES, GBA, NDS e outros alvos de hacks de ROM retrô |
| Formatos predecessores | IPS (sem checksums, limite de 16 MB), UPS |
| Lançado | circa 2012 (byuu/beat tool) |
| Versão mais recente | BPS1 (single version in spec) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | github.com |
Conversões de BPS
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos BPS.