mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-06-02 00:41:42 +00:00
65 lines
2.2 KiB
INI
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
|