Hello, Guest the thread was called317 times and contains 4 replays

last post from Thunderblade at the

How to test my game for NTSC compatibility?

  • I will finish my first assembler game for the C64 in a few months (called Rabbit Runner) and I'm wondering if it is possible to check if my game will work on NTSC and PAL.

    I can test my game on Vice & CCS64 emulators and I have Thec64Maxi but that's all

    For event scheduling (sound, music and graphic movement) I use the standard IRQ $0314/15 that gives 60 times a second an interrupt so that shouldn't be something to worry about because on PAL and NTSC machines this is the same, or so I'm told.

    Any tips would be welcome!

  • IRQ on PAL-Systems is 50 times a second, whereas IRQ on NTSC-Systems is 60 times a second.


    (Hence your music composed on a PAL-system will play slightly faster on an NTSC-system. You can skip the Music-IRQ every 6th frame resulting in average PAL-speed, but as you're dropping a frame/call this is audible. NTSC also has slighty different frequency table for notes because of 50Hz vs 60Hz, resulting in a slightly different pitch. If you've a trainend hearing (music-/note-wise) you should be able to hear it - but this imhp can be neglected.)


    If you don't have access to a real NTSC-machine for testing you can easily set vice to NTSC-Mode in vice-settings to test your game.


    Happy coding :)

  • What kind of game is it? If it is not depending on number of cycles per rasterline you can relax. :) If it doesn't try to do a VIC interrupt on a line that doesn't exist on NTSC, you are also fine.


    Re 50hz vs. 60hz, by default the interrupt is generated by the CIA so if you did not change it, it should be the same on PAL and NTSC... But usually people change it to generate interrupts by the VIC, which as Rayden says is 50 Hz on PAL and 60 Hz on NTSC... So if your game is "frame based" it will run faster on NTSC...

  • IRQ on PAL-Systems is 50 times a second, whereas IRQ on NTSC-Systems is 60 times a second.


    Re 50hz vs. 60hz, by default the interrupt is generated by the CIA so if you did not change it, it should be the same on PAL and NTSC.

    Ok I'm not sure now if I will have problems :) I don't use the frame Interrupt just the standard IRQ.

    I will test the game in Vice-NTSC mode to determine if timing is changed and the music sounds off. I will keep you posted.


    Question: is there a routine or register where you can check on which hardware your software is running? Because than I could make some adjustments in counter values etc. to diminish the difference


    BTW the game I am making started a bit as a C64 port/look-like of Subway Surfer but became something different, Rabbit Runner. Eating carrots and avoiding stones, foxes,barriers, flesh eating plants and so on :)