[Coco] Timer interrupt frequency (50Hz vs 60 Hz)

RETRO Innovations go4retro at go4retro.com
Thu Mar 20 21:16:52 EDT 2025


On 3/20/2025 7:51 PM, Alex Evans via Coco wrote:
> The trouble I see is that both hsync and hsync are IRQ though you can check
> the pia to see which one fired.
Apologies, I thought one was IRQ and the other FIRQ.  But yes, you could
check PIA.
> There is also the issue that servicing an
> IRQ is not really fast because all of the registers are preserved.

Well, my thought is that this code would only run once for at most 1/25
of a second (worst case situation is that fsync irq is enabled
immediately following an FSYNC IRQ, so it would run one frame without
counting, and then the next it would count.  But, the below code can be
optimized if needed.

My main is whether it would give different values on NTSC versus PAL.  I
assume so, since there would be 262 or 263 hsyncs in NTSC, but 312/313
in PAL.

>
> On Thu, Mar 20, 2025, 20:33 RETRO Innovations via Coco <coco at maltedmedia.com>
> wrote:
>
>> On 3/20/2025 7:07 PM, Alex Evans via Coco wrote:
>>> Yes, you can interrupt (IRQ) on hsync on any coco.
>> So if you write:
>>
>> prep:
>>
>> //put 0 in NUM
>>
>> // put 0 in START
>>
>> //enable fsync
>>
>> // wait for START to equal 2
>>
>> // use NUM value to calc PAL or NTSC
>>
>>
>> fsync_IRQ
>>
>> // increment START
>>
>> // if START = 1
>>
>> // zero out NUM, enable hsync, and return
>>
>> // else disable fsync and hsync and return
>>
>> hsync_IRQ:
>>
>> // increment NUM
>>
>> // return
>>
>> Would the above give you different numbers in NUM you could use to
>> determine PAL/NTSC?
>>
>> Jim
>>
>> --
>> RETRO Innovations, Contemporary Gear for Classic Systems
>> www.go4retro.com
>> store.go4retro.com
>>
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> https://pairlist5.pair.net/mailman/listinfo/coco
>>

--
RETRO Innovations, Contemporary Gear for Classic Systems
www.go4retro.com
store.go4retro.com



More information about the Coco mailing list