1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-02 00:41:42 +00:00
kickc/src/test/ref/examples/c64/nmisamples/nmisamples.cfg
2024-01-02 19:21:16 +01:00

65 lines
2.2 KiB
INI

void __start()
__start: scope:[__start] from
[0] phi()
to:__start::__init1
__start::__init1: scope:[__start] from __start
[1] sample = SAMPLE
to:__start::@1
__start::@1: scope:[__start] from __start::__init1
[2] phi()
[3] call main
to:__start::@return
__start::@return: scope:[__start] from __start::@1
[4] return
to:@return
__interrupt(hardware_clobber) void nmi2()
nmi2: scope:[nmi2] from
[5] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
asm { ldaCIA2_INTERRUPT }
[7] nmi2::$1 = *sample >> 4
[8] *((char *)SID+OFFSET_STRUCT_MOS6581_SID_VOLUME_FILTER_MODE) = nmi2::$1
[9] sample = ++ sample
[10] nmi2::$2 = byte1 sample
[11] if(nmi2::$2!=byte1 SAMPLE+$6100) goto nmi2::@1
to:nmi2::@2
nmi2::@2: scope:[nmi2] from nmi2
[12] sample = SAMPLE
to:nmi2::@1
nmi2::@1: scope:[nmi2] from nmi2 nmi2::@2
[13] *KERNEL_NMI = &nmi
[14] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = -- *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
to:nmi2::@return
nmi2::@return: scope:[nmi2] from nmi2::@1
[15] return
to:@return
__interrupt(hardware_clobber) void nmi()
nmi: scope:[nmi] from
[16] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
asm { ldaCIA2_INTERRUPT }
[18] nmi::$1 = *sample & $f
[19] *((char *)SID+OFFSET_STRUCT_MOS6581_SID_VOLUME_FILTER_MODE) = nmi::$1
[20] *KERNEL_NMI = &nmi2
[21] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = -- *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
to:nmi::@return
nmi::@return: scope:[nmi] from nmi
[22] return
to:@return
void main()
main: scope:[main] from __start::@1
asm { lda#$ff sta$d406 sta$d40d sta$d414 lda#$49 sta$d404 sta$d40b sta$d412 }
asm { sei }
[25] *((char *)CIA2+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) = CIA_INTERRUPT_CLEAR_ALL
[26] *KERNEL_NMI = &nmi
[27] *((unsigned int *)CIA2+OFFSET_STRUCT_MOS6526_CIA_TIMER_A) = $88
[28] *((char *)CIA2+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) = $81
[29] *((char *)CIA2+OFFSET_STRUCT_MOS6526_CIA_TIMER_A_CONTROL) = 1
asm { cli }
to:main::@return
main::@return: scope:[main] from main
[31] return
to:@return