mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-09-08 17:54:40 +00:00
109 lines
6.7 KiB
INI
109 lines
6.7 KiB
INI
@begin: scope:[] from
|
|
[0] phi()
|
|
to:@1
|
|
@1: scope:[] from @begin
|
|
[1] phi()
|
|
[2] call main
|
|
to:@end
|
|
@end: scope:[] from @1
|
|
[3] phi()
|
|
main: scope:[main] from @1
|
|
asm { sei }
|
|
[5] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0
|
|
[6] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0
|
|
[7] call gfx_init_chunky
|
|
to:main::@6
|
|
main::@6: scope:[main] from main
|
|
[8] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0
|
|
[9] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_HIGHCOLOR#0|(const byte) DTV_LINEAR#0|(const byte) DTV_COLORRAM_OFF#0|(const byte) DTV_CHUNKY#0|(const byte) DTV_BADLINE_OFF#0
|
|
[10] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_DEN#0|(const byte) VIC_ECM#0|(const byte) VIC_RSEL#0|(byte) 3
|
|
[11] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_MCM#0|(const byte) VIC_CSEL#0
|
|
[12] *((const byte*) DTV_PLANEB_START_LO#0) ← (byte) 0
|
|
[13] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) CHUNKY#0
|
|
[14] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte) 0
|
|
[15] *((const byte*) DTV_PLANEB_STEP#0) ← (byte) 8
|
|
[16] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte) 0
|
|
[17] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte) 0
|
|
[18] *((const byte*) CIA2_PORT_A_DDR#0) ← (byte) 3
|
|
[19] *((const byte*) CIA2_PORT_A#0) ← (byte) 3^(byte)(word)(const byte*) CHUNKY#0/(word) $4000
|
|
[20] *((const byte*) VIC_MEMORY#0) ← (byte) 0
|
|
to:main::@1
|
|
main::@1: scope:[main] from main::@1 main::@6
|
|
[21] (byte) main::j#2 ← phi( main::@1/(byte) main::j#1 main::@6/(byte) 0 )
|
|
[22] *((const byte*) DTV_PALETTE#0 + (byte) main::j#2) ← (byte) main::j#2
|
|
[23] (byte) main::j#1 ← ++ (byte) main::j#2
|
|
[24] if((byte) main::j#1!=(byte) $10) goto main::@1
|
|
to:main::@2
|
|
main::@2: scope:[main] from main::@1 main::@5
|
|
asm { ldx#$ff rff: cpxRASTER bnerff stabilize: nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop cpxRASTER beqeat+0 eat: inx cpx#$08 bnestabilize }
|
|
[26] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_DEN#0|(const byte) VIC_ECM#0|(const byte) VIC_RSEL#0|(byte) 3
|
|
[27] *((const byte*) BORDERCOL#0) ← (byte) 0
|
|
to:main::@3
|
|
main::@3: scope:[main] from main::@2 main::@3
|
|
[28] if(*((const byte*) RASTER#0)!=(byte) $42) goto main::@3
|
|
to:main::@4
|
|
main::@4: scope:[main] from main::@3
|
|
asm { nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop }
|
|
to:main::@5
|
|
main::@5: scope:[main] from main::@4 main::@5
|
|
[30] (byte) main::rst#1 ← *((const byte*) RASTER#0)
|
|
[31] (byte~) main::$31 ← (byte) main::rst#1 & (byte) 7
|
|
[32] (byte~) main::$32 ← (const byte) VIC_DEN#0|(const byte) VIC_ECM#0|(const byte) VIC_RSEL#0 | (byte~) main::$31
|
|
[33] *((const byte*) VIC_CONTROL#0) ← (byte~) main::$32
|
|
[34] (byte~) main::$33 ← (byte) main::rst#1 << (byte) 4
|
|
[35] *((const byte*) BORDERCOL#0) ← (byte~) main::$33
|
|
asm { nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop }
|
|
[37] if((byte) main::rst#1!=(byte) $f2) goto main::@5
|
|
to:main::@2
|
|
gfx_init_chunky: scope:[gfx_init_chunky] from main
|
|
[38] phi()
|
|
[39] call dtvSetCpuBankSegment1
|
|
to:gfx_init_chunky::@1
|
|
gfx_init_chunky::@1: scope:[gfx_init_chunky] from gfx_init_chunky gfx_init_chunky::@5
|
|
[40] (byte) gfx_init_chunky::gfxbCpuBank#7 ← phi( gfx_init_chunky::@5/(byte) gfx_init_chunky::gfxbCpuBank#8 gfx_init_chunky/++(byte)(const byte*) CHUNKY#0/(word) $4000 )
|
|
[40] (byte) gfx_init_chunky::y#6 ← phi( gfx_init_chunky::@5/(byte) gfx_init_chunky::y#1 gfx_init_chunky/(byte) 0 )
|
|
[40] (byte*) gfx_init_chunky::gfxb#5 ← phi( gfx_init_chunky::@5/(byte*) gfx_init_chunky::gfxb#1 gfx_init_chunky/(byte*) 16384 )
|
|
to:gfx_init_chunky::@2
|
|
gfx_init_chunky::@2: scope:[gfx_init_chunky] from gfx_init_chunky::@1 gfx_init_chunky::@3
|
|
[41] (byte) gfx_init_chunky::gfxbCpuBank#4 ← phi( gfx_init_chunky::@1/(byte) gfx_init_chunky::gfxbCpuBank#7 gfx_init_chunky::@3/(byte) gfx_init_chunky::gfxbCpuBank#8 )
|
|
[41] (word) gfx_init_chunky::x#2 ← phi( gfx_init_chunky::@1/(word) 0 gfx_init_chunky::@3/(word) gfx_init_chunky::x#1 )
|
|
[41] (byte*) gfx_init_chunky::gfxb#3 ← phi( gfx_init_chunky::@1/(byte*) gfx_init_chunky::gfxb#5 gfx_init_chunky::@3/(byte*) gfx_init_chunky::gfxb#1 )
|
|
[42] if((byte*) gfx_init_chunky::gfxb#3!=(word) $8000) goto gfx_init_chunky::@3
|
|
to:gfx_init_chunky::@4
|
|
gfx_init_chunky::@4: scope:[gfx_init_chunky] from gfx_init_chunky::@2
|
|
[43] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_chunky::gfxbCpuBank#4
|
|
[44] call dtvSetCpuBankSegment1
|
|
to:gfx_init_chunky::@7
|
|
gfx_init_chunky::@7: scope:[gfx_init_chunky] from gfx_init_chunky::@4
|
|
[45] (byte) gfx_init_chunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_chunky::gfxbCpuBank#4
|
|
to:gfx_init_chunky::@3
|
|
gfx_init_chunky::@3: scope:[gfx_init_chunky] from gfx_init_chunky::@2 gfx_init_chunky::@7
|
|
[46] (byte) gfx_init_chunky::gfxbCpuBank#8 ← phi( gfx_init_chunky::@2/(byte) gfx_init_chunky::gfxbCpuBank#4 gfx_init_chunky::@7/(byte) gfx_init_chunky::gfxbCpuBank#2 )
|
|
[46] (byte*) gfx_init_chunky::gfxb#4 ← phi( gfx_init_chunky::@2/(byte*) gfx_init_chunky::gfxb#3 gfx_init_chunky::@7/(byte*) 16384 )
|
|
[47] (word~) gfx_init_chunky::$8 ← (word) gfx_init_chunky::x#2 + (byte) gfx_init_chunky::y#6
|
|
[48] (byte) gfx_init_chunky::c#0 ← (byte)(word~) gfx_init_chunky::$8
|
|
[49] *((byte*) gfx_init_chunky::gfxb#4) ← (byte) gfx_init_chunky::c#0
|
|
[50] (byte*) gfx_init_chunky::gfxb#1 ← ++ (byte*) gfx_init_chunky::gfxb#4
|
|
[51] (word) gfx_init_chunky::x#1 ← ++ (word) gfx_init_chunky::x#2
|
|
[52] if((word) gfx_init_chunky::x#1!=(word) $140) goto gfx_init_chunky::@2
|
|
to:gfx_init_chunky::@5
|
|
gfx_init_chunky::@5: scope:[gfx_init_chunky] from gfx_init_chunky::@3
|
|
[53] (byte) gfx_init_chunky::y#1 ← ++ (byte) gfx_init_chunky::y#6
|
|
[54] if((byte) gfx_init_chunky::y#1!=(byte) $33) goto gfx_init_chunky::@1
|
|
to:gfx_init_chunky::@6
|
|
gfx_init_chunky::@6: scope:[gfx_init_chunky] from gfx_init_chunky::@5
|
|
[55] phi()
|
|
[56] call dtvSetCpuBankSegment1
|
|
to:gfx_init_chunky::@return
|
|
gfx_init_chunky::@return: scope:[gfx_init_chunky] from gfx_init_chunky::@6
|
|
[57] return
|
|
to:@return
|
|
dtvSetCpuBankSegment1: scope:[dtvSetCpuBankSegment1] from gfx_init_chunky gfx_init_chunky::@4 gfx_init_chunky::@6
|
|
[58] (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 ← phi( gfx_init_chunky/(byte)(const byte*) CHUNKY#0/(word) $4000 gfx_init_chunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_chunky::@6/(byte)(number) $4000/(number) $4000 )
|
|
[59] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#3
|
|
asm { .byte$32,$dd lda$ff .byte$32,$00 }
|
|
to:dtvSetCpuBankSegment1::@return
|
|
dtvSetCpuBankSegment1::@return: scope:[dtvSetCpuBankSegment1] from dtvSetCpuBankSegment1
|
|
[61] return
|
|
to:@return
|