You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After fixing that you'll have to move the bunit checks one cycle, which will also fix opening the left/right border.
There'll be a DMA delay/VSP offset of 1 already if triggering a badline in cycle 15 (even though incrementing VC only happens in the G access in cycle 16). VICE etc. do the badline check after G accesses. I fixed this by introducing next_vc = vc + 1 in C accesses, then doing vc = next_vc at the end of G accesses, which is a bit of a hack, but it avoids doing badline checks every single cycle. - See https://sourceforge.net/p/vice-emu/code/HEAD/tree/testprogs/VICII/dmadelay/ for tests.
XSCROLL can get updated in any cycle (and will be visible with one cycle delay). At the moment, m6569.h latches XSCROLL in cycle 16.
Sprite Crunch support is missing/inaccurate (see VICE code).
If you want some more test programs, let me know. I recommend testing with Mayhem in Monsterland as its title screen has pretty tight timing.
The text was updated successfully, but these errors were encountered:
Very cool, thanks for the investigations @c1570, I don't know yet when I'll get around to work on the C64 emulation again, but when I do I'll try to implement your findings.
While working on https://github.com/c1570/Connomore64 I found some VIC-II emulation issues in chips. On the real VIC-II...
next_vc = vc + 1
in C accesses, then doingvc = next_vc
at the end of G accesses, which is a bit of a hack, but it avoids doing badline checks every single cycle. - See https://sourceforge.net/p/vice-emu/code/HEAD/tree/testprogs/VICII/dmadelay/ for tests.If you want some more test programs, let me know. I recommend testing with Mayhem in Monsterland as its title screen has pretty tight timing.
The text was updated successfully, but these errors were encountered: