Sprite position bug with NTSC emulation
Posted: Wed Feb 27, 2008 1:36 am
Hi,
I've been using c64's PAL mode for over 20 years. Recently, a scener from USA offered me to code an intro for him and I accepted. So, I started to code my first NTSC (65x263) compitable intro.
Since I didn't have the original machine, Vice and CCS64 were my only test platforms. But both of them had the same bug with a little bit difference.
I got in touch with Vice team and they solved the bug. Now I'm reporting the same bug to CCS64 team as well.
In PAL mode when you open the side-borders and start shifting sprites on the left border, horizontal sprite coordinates jumps to $f8 after $00 instead of $ff (of course with $d010 bit set). I thought it should have work in the same way with NTSC machines. CCS64's NTSC (65x263) emulation is also like that. But no, a real NTSC machine jumps to $ff, not to $f8 after $00 like PAL. I think this has something to do with 2 cycles difference. Currently my intro runs fine with both machines but on the left border I used a workaround (PAL mode uses an additional SBC #$07).
If you need more information or my English is not clear for you, feel free to contact me from:
e m i r ( a t ) a k a y d i n ( d o t ) c o m
I've been using c64's PAL mode for over 20 years. Recently, a scener from USA offered me to code an intro for him and I accepted. So, I started to code my first NTSC (65x263) compitable intro.
Since I didn't have the original machine, Vice and CCS64 were my only test platforms. But both of them had the same bug with a little bit difference.
I got in touch with Vice team and they solved the bug. Now I'm reporting the same bug to CCS64 team as well.
In PAL mode when you open the side-borders and start shifting sprites on the left border, horizontal sprite coordinates jumps to $f8 after $00 instead of $ff (of course with $d010 bit set). I thought it should have work in the same way with NTSC machines. CCS64's NTSC (65x263) emulation is also like that. But no, a real NTSC machine jumps to $ff, not to $f8 after $00 like PAL. I think this has something to do with 2 cycles difference. Currently my intro runs fine with both machines but on the left border I used a workaround (PAL mode uses an additional SBC #$07).
If you need more information or my English is not clear for you, feel free to contact me from:
e m i r ( a t ) a k a y d i n ( d o t ) c o m