Commit Graph

44 Commits

Author SHA1 Message Date
Robert Peip
6d941d76af add option for raw colors 2021-01-07 23:35:24 +01:00
Alexey Melnikov
0c1cf87cec Merge pull request #128 from paulb-nl/stat_irq
STAT IRQ bug, fine X scroll, IRQ edge case
2021-01-07 04:29:50 +08:00
paulb-nl
5025b66c28 Fix IRQ acknowledge edge case
The wrong IRQ could be acknowledged if a higher priority IRQ was
asserted at the second cycle.
2021-01-06 11:56:34 +01:00
paulb-nl
0355ecb458 STAT IRQ bug and fine X scroll improvement 2021-01-06 11:54:48 +01:00
RobertPeip
31563c2ef6 improved rewind capture performance (#127)
fixed random fastforward crash
fixed fastforward Video glitches(HDMA)
added fastforward toggle (short button press)
added savestate OSD entry and multiple slots using keyboard(F1-F4)
add MBC detection and address translation to simulation
2021-01-06 15:33:24 +08:00
RobertPeip
ca8b55dfb3 added savestates and rewind feature (#123) 2020-12-29 23:38:30 +08:00
paulb-nl
c26731fcab Interrupt fixes (Pinball Fantasies)
- CPU: Acknowledge IRQ between high & low byte stack push
  (ie_push, Pinball Fantasies)

- CPU: Remove delay from INT_n signal, tweak STAT IRQs.
  (hblank_ly_scx_timing, intr_2_0)
2020-12-22 13:23:42 +08:00
RobertPeip
65d6e59cc2 redone fastforward and pause handling to fix sdram access and refresh bugs and increase fastforward speed, some fixes to simulation 2020-12-19 19:28:19 +08:00
Robert Peip
2d965da323 add fastforward and OSD-Pause feature 2020-12-15 15:24:33 +01:00
Robert Peip
0cf89076ad rearranged code to meet Verilog/VHDL standards
add testbench
2020-12-15 15:23:28 +01:00
paulb-nl
f9f6f66bbc Add frame blend option 2020-12-15 00:37:17 +01:00
paulb-nl
f89cc5c0bb Fix Serial Link
There was a typo in link.v preventing internal clock from working
properly
2020-12-15 00:34:10 +01:00
paulb-nl
45679e5068 Pass some more PPU tests
Mooneye intr_2_mode0, intr_2_mode3, intr_2_oam_ok, vblank_stat_intr
2020-12-15 00:24:46 +01:00
paulb-nl
fd0f6ce5c5 Fix Elevator Action line glitch 2020-12-13 16:19:23 +01:00
sorgelig
beb66d2f66 sound: use synchronous reset. 2020-12-04 18:37:35 +08:00
paulb-nl
7fff2e2d36 Output blank image when LCD is off
The screen stays blank until 1 frame after the LCD is turned on.
Fixes glitches during transitions in some games.
2020-12-03 01:04:25 +01:00
paulb-nl
11ca7142a0 Clear found sprites every line
Fixes glitched top line of Tenjin Kaisen
2020-12-03 00:58:57 +01:00
paulb-nl
5fd81a5ae0 Video: Window fixes for WX=A6, no sprite fetching if sprites are disabled on DMG
* Video: Window fixes for WX=A6

* Video: no sprite fetching if sprites are disabled on DMG
2020-11-27 00:59:29 +08:00
Bruno Gouveia
42b2889232 SOUND: fixed zombie mode, follows sameboy's logic 2020-08-15 22:44:24 +01:00
Bruno Gouveia
090dd5b42c SOUND: using posedge for s1_write signal
SOUND: sq1,sq2,wav frequency changes only after the current sample is finished (even in currently supressed)
SOUND: keeping frequency after trigger to avoid change while delaying
2020-08-15 22:44:15 +01:00
Bruno Gouveia
81553d322c SOUND: fixed wav index (channel 3) , now shifts correctly for the highest frequency 2020-08-15 22:11:39 +01:00
Bruno Gouveia
56b3046b49 SOUND: Wave channel (CH3) delay, first sample , frequency change and restart behaviour implemented 2020-08-15 22:11:39 +01:00
Bruno Gouveia
9d6d7e95ca SOUND: added noise channel trigger delay back and aligned it correctly 2020-08-15 22:11:39 +01:00
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