Closed msheehan79 closed 6 years ago
I tried to add the option for the property switch, it made no difference. I forced the option directly into the VDP part and tried MSX, MSX2, SG1000 games... no difference, sprites flicker. So it's probably not working at all sadly.
Are you sure it did not work, on the nes only 8 sprites could be on one scanline or the others just wouldnt show up, so some nes games actually rendered half the sprites on one frame and the other half on the next when there where a lot onscreen, they traded flickering for sprites that always displayed onscreen, if your test game does that you will see no difference even if it is working because the game is doing the flickering not the hardware.
I could see it work playing Flicky on SG1000. The chicks disappear right from the start if it's OFF and flicker a lot. Changing the properties wasn't working, I used a setter from VDP.c. https://github.com/libretro/blueMSX-libretro/pull/52
I saw no improvement in MSX2 games such as Aleste 2.
The variables are likely only read on reset where as the vdp functions act whenever you call them. Have you tried reseting or reloading the core after changing the variable. If you already have I will just merge with the function.
Yes I've tried and it was ignored even with a restart, while the way it's done in the PR works real time.
Just recompiled from source and confirmed on M36 - A Life Planet that this change absolutely had an effect. Before the flicker could get very bad as soon as more than one enemy was on the screen, now no noticeable flicker. Thanks for looking into this!!!
Indeed it's easy to spot in that game! Great to see it works for some MSX games too.
Not really an issue so much as a question/feature request. Posted this to the LR forums a few days ago but as it's pretty core-specific it may make more sense to post/ask here.
I saw mention in the 2.9 release notes for BlueMSX (standalone) a "No sprite limit" option. Has anyone ever tried this feature out to see how well it works, can it be added as a core option to the LR core?
Looking at the code, I thought it might be as simple as enabling it on the properties object in Src\Emulator\Properties.c (line 247), but I tried enabling it there and recompiling and I notice no difference in some testing on my RPI3. Not sure if the feature just isn't fully implemented or there is more work to enable it.
To test I was mainly trying M36 - A Life Planet ROM, this game looks interesting but the flickering is so bad that I don't know how anyone could play it. Was hoping No Sprite Limits would alleviate this at least somewhat. Also tried Valis as that game has some pretty bad sprite flickering too.