Your videos are helpful. Unusual beast. They all seem to be sprites towards top of screen; flamethrower one appears to palette flicker instead of vanishing like others.
I'll likely have to create some test candidates since emulators don't emulate enough PPU hardware glitches (there's lots of weird triggers).
Changes from wip2 to wip3 would be:
- VBlank rewritten for faster response (important)
- Double scanline IRQs which maybe could be a trigger also (hud bounce)
October 23, 2021, 10:42:59 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Here's my best guesshttps://github.com/minucce/workbox/raw/f9475651b15a06a8df78729ba431ecbcda2d14c4/box3/wip4.ips
- Bottom hud will re-align based on level and room
- Try to avoid OAM corruption bug (*)http://archive.nes.science/nesdev-forums/f2/t15818.xhtmlhttps://wiki.nesdev.org/w/index.php/Errata
Wip2/3/4 disables full rendering to avoid corruption lines from showing. This is actually very timing sensitive and can cause game to lose a few sprites every frame when done wrong.
Wip2 should've suffered from sprite flashing bug but I think real hardware pushed off timing long enough to avoid it, instead producing incredibly bothersome hud bounce
Wip3 used double irq technique to not go past time boundary, but this I think created the flashing as it was turning off too early now (to avoid bounce)
Wip4 keeps screen on to avoid OAM corruption; I now do a 4th hud split to draw some extra blank lines on top / bottom to avoid garbage lines from appearing
October 23, 2021, 10:57:12 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
In the goofball chance wip4 flashes,https://github.com/minucce/workbox/raw/d3d514d3da89ecfab19ac12bb6c606064d103320/box3/wip4a.ips
which does normal split at very bottom also. Then I feel like I can release the source code properly.