Interesting issue with Balatro GBA (GBALATRO/balatro-gba#118)
As per the link, in gpsp the background behind the cards is black when it should simply be the background with a shadow effect applied.
Debugging this so far in gpsp shows that the problem appears to be with Window 0. The coordinates when in-game for Window 0 should be 72-200 on the x-axis (REG_WIN0H) and 2-128 on the y-axis (REG_WIN0V) (according to mgba)
But debugging by displaying both register values via printf in gpsp when we hit scanline 120 appears to show that the y-axis values are replicated (128-128 for REG_WIN0V).
I can't immediately see any issues with the code in video.cc which calculates the values, nor with the macro that takes winnum as a parameter to get the appropriate REG_WINxH / REG_WINxV values. If I hard code the REG_WIN0V register to be 2-128 then everything displays correctly.
EDIT: When first starting the ROM, Window 0 and Window 1 coords are set on the title screen, and these appear to be correct. Just when it gets in game the value is duplicated. I am comparing values against what I see when viewing the registers whilst in-game in mgba.
EDIT 2: This might actually be a Balatro issue - although it's puzzling why mgba works. Window 0 Y values in the Balatro code do look like they become 128-128 briefly after startup, then from there should alternate between 160-128 and 128-160. Seems odd, trying to clarify.
Interesting issue with Balatro GBA (GBALATRO/balatro-gba#118)
As per the link, in gpsp the background behind the cards is black when it should simply be the background with a shadow effect applied.
Debugging this so far in gpsp shows that the problem appears to be with Window 0. The coordinates when in-game for Window 0 should be 72-200 on the x-axis (REG_WIN0H) and 2-128 on the y-axis (REG_WIN0V) (according to mgba)
But debugging by displaying both register values via printf in gpsp when we hit scanline 120 appears to show that the y-axis values are replicated (128-128 for REG_WIN0V).
I can't immediately see any issues with the code in video.cc which calculates the values, nor with the macro that takes winnum as a parameter to get the appropriate REG_WINxH / REG_WINxV values. If I hard code the REG_WIN0V register to be 2-128 then everything displays correctly.
EDIT: When first starting the ROM, Window 0 and Window 1 coords are set on the title screen, and these appear to be correct. Just when it gets in game the value is duplicated. I am comparing values against what I see when viewing the registers whilst in-game in mgba.
EDIT 2: This might actually be a Balatro issue - although it's puzzling why mgba works. Window 0 Y values in the Balatro code do look like they become 128-128 briefly after startup, then from there should alternate between 160-128 and 128-160. Seems odd, trying to clarify.