BIOS Kernel Timer/Event Functions
From CPCWiki - THE Amstrad CPC encyclopedia!
Interrupt Vectors
0038 300HZ INTERRUPT (RST7) 003B EXT_INTERRUPT_VECTOR 0066 GARBAGE (THERE'S NO NMI HANDLER IN ROM)
Kernel Timer/Event Functions
B921 KL_POLL_SYNCHRONOUS B92A KL_SCAN_NEEDED_664 ;force ticker on next IRQ (664 and up only) BCD7 KL_NEW_FRAME_FLY ;in: HL=kaffc, DE=proc,B=prio,C=ROMcfg ;\vsync BCDA KL_ADD_FRAME_FLY ;in: HL=kaffc ; 50Hz/60Hz BCDD KL_DELETE_FRAME_FLY ;in: HL=kaffc, out: CY=0=failed ;/ BCE0 KL_NEW_FAST_TICKER ;in: HL=kaftc, DE=proc,B=prio,C=ROMcfg ;\fast BCE3 KL_ADD_FAST_TICKER ;in: HL=kaftc ; 300Hz BCE6 KL_DELETE_FAST_TICKER ;in: HL=kaftc, out: CY=0=failed ;/ BCE9 KL_ADD_TICKER ;in: HL=katc, DE=count, BC=reload ;\50Hz div BCEC KL_DELETE_TICKER ;in: HL=katc, out: DE=count, CY=0=fail ;/count BCEF KL_INIT_EVENT BCF2 KL_EVENT BCF5 KL_SYNC_RESET BCF8 KL_DEL_SYNCHRONOUS BCFB KL_NEXT_SYNC BCFE KL_DO_SYNC BD01 KL_DONE_SYNC BD04 KL_EVENT_DISABLE BD07 KL_EVENT_ENABLE BD0A KL_DISARM_EVENT BD0D KL_TIME_PLEASE ;out: hl=low, de=high (32 bits, incremented at 300Hz) BD10 KL_TIME_SET ;in: hl=low, de=high (32 bits, incremented at 300Hz)