Releases: redacted173/sd2snes
Releases · redacted173/sd2snes
sgb07
- Fixed another save state hang by added IME state to dbg src.
- Fixed PBD hang by pushing off H-Blank another bus clock.
- Added better MBC1M detection.
- Added support for SGB1 frequency.
- Fixed row buffer read/write conflict at SGB1 frequency.
- Fixed partially flashing scanline by giving SNES early notification of a scanline and row buffer completing.
- Removed checks for disabling in-game hooks and associated override cfg option. User responsible for setting enable/disable correctly and running with functioning boot and bios file.
This is the final version unless major bugs are found and there is time to fix them.
sgb06
- Fixed MBC2 register write bug.
- Fixed several games hanging on save state due to serial state machine not going idle.
- Fixed another hang on save state issue with ICD2 idle.
- Fixed joypad data bus bug when both lines asserted.
- Added a few (partially implemented) mappers. See readme.txt.
- Added back brightness patch with MSU on classic.
- Fixed save state audio regression by always allowing dbg src to read/write wave RAM.
sgb05
- Updated reset state of P1 to handle code that relies on uninitialized value.
- Added experimental sprite per scanline increase for pro.
- Added DMA stall on HALT.
- Updated REG logic to separate read and write buffers.
- Added DMA from VRAM support.
- Added config value to allow SGB ingame hooks without needing to enable the existing ingame hooks.
- Added a few more hashes of supported boot and bios files to avoid disabling hooks.
- Changed BOOT register to set on write independent of value.
- Added volume boosting and debug feature to disable SGB enhancements.
sgb04
- Added another envelope register write side effect.
- Fixed APU length (enable) counter bug.
- Added wave RAM protection while channel enabled.
- Updated audio CIC rates and precision. Removed hack to filter one case of noise which is now handled by CIC.
- Changed MSU CIC to reduce accumulator precision. Simplified CIC accumulator logic.
- Fixed duplicate interrupts by removing double trigger on LYC==0 in favor of STAT write spurious int during V-Blank (and other conditions).
- Added single cycle H-Blank status update on LY==0.
- Fixed LY early transition to 0 bug for when it is read during scanline 153.
- Added support for LSDj (128KB SaveRAM). Change from ikari01.
sgb03
- Fixed GB RTC. Known bugs are fixed, but it is not well tested. See readme.txt.
- Updated initial WAV RAM values to match a SGB2.
- Fixed end of frame line match interrupt.
- Added extra line of OAM interrupt.
- Fixed problem with hidden sprites still getting rendered.
- Fixed some cases of partially flashing scanlines by masking OAM LUT reads/writes when DMA is active.
- Fixed interrupt related problems by rewriting STAT interrupt generation logic. Removed hack where OAM interrupt was masked using sprite disable flag.
sgb02
- Fixed stack overflows due to delayed interrupts by masking OAM STAT interrupt when sprites are disabled.
- Updated STAT interrupt code to make match/oam coincident.
- Added MBC1M support. The detection is a hack. It's possible a MBC1 cart is incorrectly detected as MBC1M.
- Fixed popping noises and some other APU bugs by rewriting output and handling unsigned->signed conversion better. Hopefully this is better than before.
- Updated wave sample buffer to only update on timer expiration.
- Updated audio output volume scaling to a closer but still crude approximation of the original SGB2.
- Added square channel register write side effects involving duty position. Sometimes used to creating ringing in output.
- Changed square channel duty cycle relative phase and inversion but may not matter.
- Added some of the APU envelope register write volume corner cases.
- Fixed RETI setting of IME by adding bypass. Exposes bugs in some games.
- Changed PPU pipeline to remove DRN wait.
- Changed interrupts to clean up code a bit.
- Added serial link transfer interrupt.
- Changed MCU bus availability to add more clocks. Speeds up save states a little bit.
- Fixed save state audio glitches by forcing APU writes to disable channels during HLT. There is a tradeoff between forcing all silent channels vs enabling channels with incorrect state.
sgb01
- Fixed window overlay to be per-pixel rather than per-tile. Addresses window graphics problems with CAW bosses and likely many other games.
- Fixed several dynamic range and popping/clicking APU bugs.
- Changed in-game hooks to be fpga-only. Hook is no longer run on SNES NMI or IRQ.
- Added save states (Save=X+R, Load=X+L) for development. To enable, modify sd2snes/config.yml sgb_* settings after booting new firmware. In-game hooks and buttons must be enabled for them to work. One state is recorded in the SRM file. Does not work with MSU audio on SD2SNES classic.
- Changed SD2SNES classic to only load MSU bit file for enabled ROMs to make development easier. The MSU bit file may lag in development.
sgb00
- Initial Release