Repository navigation
Releases: jpaulobf/R2NESV2
Release list
v1.1.2
v1.1.1
Build automática gerada pelo GitHub Actions.
Mudanças nesta versão:
-
Testes de regressão para o buffer de snapshots, os 256 opcodes da CPU em oito cenários por opcode e o decaimento do barramento de I/O da PPU, incluindo vencimentos independentes por bit e restauração de save states. Integrados ao CTest também os 48 casos existentes de sprite overflow.
-
Testes de integração SDL3 com drivers de áudio/vídeo dummy, renderização por software e gamepads virtuais, permitindo execução sem sessão gráfica.
-
Bateria integrada aos Mappers004 (MMC3 e MMC6), 005 e à extensão de RAM externa do Mapper009 declarada pelo cabeçalho. MMC6 persiste 1 KiB; MMC5 guarda PRG-NVRAM do primeiro chip e ExRAM interna, mantendo RAM volátil separada nas placas ETROM. No iNES MMC5 sem tamanho explícito, o superset de 64 KiB passa a separar 32 KiB persistentes e 32 KiB voláteis quando há bateria.
-
Política de gravação ao fechar/trocar/descarregar, sem autosave periódico. Suíte CTest battery com arquivos reais e novas sessões; validação manual pendente.
-
Infraestrutura comum de bateria: contrato de memória persistente em Mapper/Mapper.cpp, leitura/gravação de arquivos em BatterySave e coordenação pelo cartucho/console. Primeiro mapper integrado: MMC1, incluindo Zelda, RAM/NVRAM explícita e segundo chip persistente de SOROM/SZROM. Arquivos binários battery/.sav são carregados ao abrir a ROM e gravados quando houver alterações ao trocar/descarregar o jogo ou fechar normalmente. Escrita temporária com substituição do destino, validação de tamanho e preservação de arquivos que falharam na leitura. Testes cobrem reinício do console, reset, bancos, save states, arquivos inválidos e falhas de gravação.
-
Suporte ao Mapper150 (Sachen SA-015 / Sachen-74LS374N), com bancos PRG/CHR, oito registradores legíveis, bits de barramento aberto, save states e espelhamentos H/V, single-screen e em L. Implementado o pad com CPU D2 conectado; o pad alternativo ligado a Vcc permanece pendente.
-
Carregamento UNIF de NES-CNROM pelo Mapper003 e de UNL-Sachen-74LS374N pelo Mapper150. Verificados os quatro ZIPs de 75 Bingo, Auto-Upturn e dos dois cartuchos 2-in-1, cada um com 201 quadros, vídeo e restauração de save state.
-
Carregamento UNIF das placas Sachen SA-016-1M e TC-U01-1.5M, incluindo arquivos com extensão .nes dentro de ZIPs e arquivos .unf/.unif. A identificação usa o conteúdo e o campo MAPR, preservando os arquivos originais.
-
Suporte ao Mapper079 (NINA-03/06 / Sachen SA-016), com bancos PRG de 32 KiB, bancos CHR de 8 KiB, espelhamento H/V fixo e seleção sem conflitos de barramento. Permite carregar as versões Sachen de Galactic Crusader e Master Chu & The Drunkard Hu.
-
Suporte ao Mapper147 (TC-U01-1.5M), variante de 72 pinos usada por Challenge of the Dragon (Sachen), com latch de bancos PRG/CHR e conflitos AND nas escritas pelo espelho da PRG-ROM. A versão JV001 de 60 pinos e a configuração de 128 KiB de PRG não estão implementadas.
-
Save states e suíte sachen no CTest para os Mappers079/147 e o parser UNIF, com verificações de bancos, endereços de registradores, ordenação e limites de chunks e rejeição de estados inválidos. Os três ZIPs Sachen avançaram 201 quadros com vídeo e restauração de estado nos testes de inicialização; partidas completas dependem de validação manual.
v1.1.0
Build automática gerada pelo GitHub Actions.
Mudanças nesta versão:
Corrigido o carregamento do dump legado de BB Car (CRC32 PRG+CHR 7F9C1DEC): o mapper 7 do cabeçalho representa NROM com CHR-ROM e espelhamento fixo de uma tela. A identificação exata preserva a rejeição de CHR-ROM no AxROM normal. Validado boot, vídeo e save/load em .nes e no ZIP original; gameplay manual pendente.
Bateria integrada aos Mappers004 (MMC3 e MMC6), 005 e à extensão de RAM externa do Mapper009 declarada pelo cabeçalho. MMC6 persiste 1 KiB; MMC5 guarda PRG-NVRAM do primeiro chip e ExRAM interna, mantendo RAM volátil separada nas placas ETROM. No iNES MMC5 sem tamanho explícito, o superset de 64 KiB passa a separar 32 KiB persistentes e 32 KiB voláteis quando há bateria.
Política de gravação ao fechar/trocar/descarregar, sem autosave periódico. Suíte CTest battery com arquivos reais e novas sessões; validação manual pendente.
v1.0.5
Build automática gerada pelo GitHub Actions.
Mudanças nesta versão:
Suporte ao Mapper189, com seleção independente de bancos PRG de 32 KiB e lógica de CHR, espelhamento e IRQ do MMC3, incluindo persistência do banco PRG em save states.
Suporte às variantes MMC6, espelhamento fixo, MC-ACC, NEC MMC3 e T9552 do Mapper004, selecionadas pelos submappers do NES 2.0, incluindo permissões de RAM específicas do MMC6 e memória adicional para espelhamento four-screen.
Testes de regressão para os Mappers001, 002, 003, 004 e 189, com integração ao CTest e verificações com ROMs de teste de IRQ do MMC3. O teste do Mapper189 também permite verificar a inicialização de uma ROM ou ZIP informado pelo usuário.
v1.0.0
Build automática gerada pelo GitHub Actions.
Mudanças nesta versão:
v.1.0.0 reached
- APU redefined, more accurated and precise
- PPU refined, hardware exceptions simulated
- CPU refined, hardware exceptions simulated
Lot of games are now running better (Dragon Warrior 4, for instance).
v0.9.9
Build automática gerada pelo GitHub Actions.
Mudanças nesta versão:
[breakthrought] cycle accurated cpu/ppu
v0.9.7
Mudanças nesta versão:
- Adicionados Hacks para Battletoads
- Adicionados Hacks para Battletoads & Double Dragon.
Funcionais agora.
v0.9.5
Mudanças nesta versão:
Adicionado:
Suporte ao Mapper005 - Castlevania 3 funciona bem.
Suporte à Rewind (CAPSLOCK por enquanto, ou L2 xinput)
v0.8.4
Build automática gerada pelo GitHub Actions.
Mudanças nesta versão:
Adicionado
Suporte ao Mapper009 - Punch-out funciona!
v0.8.1
Build automática gerada pelo GitHub Actions.
Mudanças nesta versão:
Engine Improvements (System Package)