ares icon indicating copy to clipboard operation
ares copied to clipboard

[32X] Yet Another Tilemap and Super Scaler Demo Bugs

Open Lion-Lawliet opened this issue 1 year ago • 6 comments

I came across two bugs from the homebrew/demo https://github.com/viciious/yatssd: 1 - Horizontal scrolling is very choppy, vertical scrolling is fine. 2 - After commit md: fix sync logic - 2ed64ef, the demo freezes shortly after moving the camera and/or activating sprites.

ROM works fine on hardware, I tested on my Model 2 Sega Genesis with 32X.

Rom Information Specify the impacted rom filename and any associated hashes (sha256 preferred)

file: yatssd.32x
sha256: 53e38c7ae5f44f5c6d8419c1d37ec5589b51a7ef138569c67de3eca2aa89e0a4

Once compiled, the ROM above will be generated with the specified hash based on the latest commit done by the author.

Lion-Lawliet avatar Mar 28 '23 00:03 Lion-Lawliet

The demo works in v132, but horizontal scrolling is still very choppy.

Also, the screen shift register seems to be bugged: quite often the leftmost column is missing (see the pic below). I believe both issues are related.

image

viciious avatar May 22 '23 16:05 viciious

I fixed the scrolling issue by replacing the scanlineMode1 from m32x vdp.cpp with this code in my offline version of the code.

auto M32X::VDP::scanlineMode1(u32 pixels[1280], u32 y) -> void { u16 address = fbram[y]; for(u32 x : range(320)) { u8 color = fbram[address + (x + dotshift >> 1) & 0xffff].byte(!(x + dotshift & 1)); plot(&pixels[x * 4], cram[color]);

Lion-Lawliet avatar Jun 11 '23 04:06 Lion-Lawliet

fixed in 1c876d8bf6

LukeUsher avatar Mar 31 '24 10:03 LukeUsher

(x + dotshift >> 1) & 0xffff this code construct looks a bit iffy to me, typically it'd cause a compiler warning due to the missing parenthesis

same for !(x + dotshift & 1)

viciious avatar Mar 31 '24 10:03 viciious

Referenced test ROM attached.

yatssd.zip

remutro avatar Mar 31 '24 18:03 remutro

Re-opening as this demo still appears to have issues, although the line scrolling (far left) aspect is fixed

LukeUsher avatar Mar 31 '24 18:03 LukeUsher