fix incorrect setting of GPU modeclock

This commit is contained in:
Colby 2016-07-31 13:10:47 +10:00
parent f9be999699
commit 5a71e8de00

View file

@ -45,7 +45,7 @@ module Waterfoul
case @mode case @mode
when H_BLANK_STATE when H_BLANK_STATE
if @modeclock >= H_BLANK_TIME if @modeclock >= H_BLANK_TIME
@modeclock = 0 @modeclock -= H_BLANK_TIME
@mode = OAM_READ_STATE @mode = OAM_READ_STATE
inc_current_line inc_current_line
compare_lylc compare_lylc
@ -102,7 +102,7 @@ module Waterfoul
end end
if @modeclock >= V_BLANK_TIME if @modeclock >= V_BLANK_TIME
@modeclock = 0 @modeclock -= V_BLANK_TIME
@mode = OAM_READ_STATE @mode = OAM_READ_STATE
update_stat update_stat
@lcd_stat = @lcd_stat & 0x7 @lcd_stat = @lcd_stat & 0x7
@ -120,7 +120,7 @@ module Waterfoul
end end
when OAM_READ_STATE when OAM_READ_STATE
if @modeclock >= OAM_SCANLINE_TIME if @modeclock >= OAM_SCANLINE_TIME
@modeclock = 0 @modeclock -= OAM_SCANLINE_TIME
@scanline_transfered = false @scanline_transfered = false
@mode = VMRAM_READ_STATE @mode = VMRAM_READ_STATE
@lcd_stat = @lcd_stat & 0x8 @lcd_stat = @lcd_stat & 0x8
@ -133,7 +133,7 @@ module Waterfoul
end end
if @modeclock >= VRAM_SCANLINE_TIME if @modeclock >= VRAM_SCANLINE_TIME
@modeclock = 0 @modeclock -= VRAM_SCANLINE_TIME
@mode = H_BLANK_STATE @mode = H_BLANK_STATE
update_stat update_stat
@lcd_stat = @lcd_stat & 0x8 @lcd_stat = @lcd_stat & 0x8