Skip to content

Releases: redacted173/sd2snes

sgb07

17 Aug 23:24
Compare
Choose a tag to compare
sgb07 Pre-release
Pre-release
  • 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

26 Jul 03:45
Compare
Choose a tag to compare
sgb06 Pre-release
Pre-release
  • 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

23 Jul 02:33
Compare
Choose a tag to compare
sgb05 Pre-release
Pre-release
  • 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

16 Jul 01:40
Compare
Choose a tag to compare
sgb04 Pre-release
Pre-release
  • 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

10 Jul 12:38
Compare
Choose a tag to compare
sgb03 Pre-release
Pre-release
  • 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

03 Jul 22:37
Compare
Choose a tag to compare
sgb02 Pre-release
Pre-release
  • 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

27 Jun 19:36
Compare
Choose a tag to compare
sgb01 Pre-release
Pre-release
  • 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

27 Jun 19:34
Compare
Choose a tag to compare
sgb00 Pre-release
Pre-release
  • Initial Release