Commit Graph

21 Commits

Author SHA1 Message Date
Bruno Gouveia
4aedf77e1a SOUND: delay changing duty until the next sample 2020-07-24 20:50:41 +01:00
Bruno Gouveia
984a611670 SOUND: sq1/sq2 restart timing quirk implemented 2020-07-24 16:27:22 +01:00
Bruno Gouveia
70c94e829d SOUND: write to the wave table follows the same logic as reads 2020-07-24 15:14:00 +01:00
Bruno Gouveia
3ce1f84b48 SOUND: aligned sq1 and sq2 trigger (now passed first 4 samesuite sound tests), fixed PCM12 and PCM34 2020-07-24 15:14:00 +01:00
Bruno Gouveia
56d469b0bf SOUND: implemented PCM12 and PCM34 2020-07-24 15:14:00 +01:00
Bruno Gouveia
c201cf72b4 SOUND: reset variables with the correct value, trigger zombie mode only when playing 2020-07-24 15:14:00 +01:00
Bruno Gouveia
acb4305f0d SOUND: added trigger counter to sq1 and sq2 2020-07-24 15:14:00 +01:00
Bruno Gouveia
a9aea62f1e SOUND: widened s1_addr to handle PCM12/PCM34 2020-07-24 15:14:00 +01:00
Bruno Gouveia
5d3d7d0fe3 SOUND: using negedge detection on triggers, don't reset phase for sq1/sq2 when sound is triggered, only on reset/sound off 2020-07-24 15:13:48 +01:00
Bruno Gouveia
0b796adc3e GENERAL: sync start with ~4MHz clock 2020-07-24 15:13:47 +01:00
Bruno Duarte Gouveia
bef6804c21 SOUND: multiple Wave channel fixes and GB/GBC behavior
* SOUND: channel 3 read dependent on current wave index

* SOUND: maintain wave_trigger high for longer, passes blargg sound test 9 for gbc, added is_gbc input to gbc_snd

* SOUND: added wave table access timewindow in DMG mode, outside of it the read returns 0xFF when the sound is playing

* gbc_snd.vhd whitespaces cleanup

* SOUND: refactored write process to handle reset and specific DMG behaviour (length counter writable when APU is off)
SOUND: initialized wavetable with known values, fixes aladdin and R-type now behaves the same as real hardware

* SOUND: refactored sound processing vhdl process
SOUND: sq1 and sq2 duty cycles are not accessible when the APU is off in DMG mode(only the length counters)
2020-07-06 03:53:30 +08:00
paulb-nl
a0d7e9231f SGB fixes 2020-07-05 16:47:26 +08:00
paulb-nl
4a40a8b39f PPU: fix tilemap address, SGB: Detect corrupt packet. Fix ATTR_CHR end (#91)
* PPU: fix tilemap address

* SGB: Detect corrupt packet. Fix ATTR_CHR end

Fixes Castlevania Legends and Donkey Kong score card glitch.
2020-06-27 22:09:51 +08:00
Bruno Duarte Gouveia
c5602f2fa6 T80: halt bug implemented 2020-06-27 22:06:55 +08:00
paulb-nl
c95d2f5836 Super Game Boy multiplayer support 2020-06-24 07:22:46 +08:00
sorgelig
a974e957d2 Merge branch 'master' of https://github.com/MiSTer-devel/Gameboy_MiSTer 2020-06-22 17:34:40 +08:00
paulb-nl
3fb6405ff0 PPU timing rework 2020-06-22 11:05:08 +02:00
paulb-nl
7b44195b09 RAM and HDMA fixes
-Writing to $FE00-FEFF would overwrite IRAM (Megaman Xtreme)
-HDMA should remember last source and target (Harry potter)
-Stopping a HDMA transfer with CPU at single speed would stop and
 then start a new transfer (Pokemon Crystal)
-Give IRAM time to provide valid data at the start and end of HDMA
 transfer (Donkey Kong Country fishing, Pokemon Crystal)
2020-06-21 21:46:08 +02:00
Bruno Duarte Gouveia
6602ca8795 T80: skip byte after a stop opcode, fixes the Konami Collection Startup bugs 2020-06-20 01:23:21 +08:00
sorgelig
a441996b81 Option to disable link. Super gameboy mode disable by default. 2020-05-14 01:14:16 +08:00
sorgelig
d714b89453 Update sys. Re-organizing the sources. 2020-05-10 23:22:32 +08:00