1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-03 07:29:37 +00:00
kickc/src/test/ref/complex/clearscreen/clearscreen.sym
2020-12-30 01:55:04 +01:00

440 lines
22 KiB
Plaintext

const struct ProcessingSprite $0 = { x: 0, y: 0, vx: 0, vy: 0, id: 0, ptr: 0, col: 0, status: STATUS_FREE, screenPtr: (byte*) 0 }
const nomodify byte BORDER_XPOS_LEFT = $18
const nomodify word BORDER_XPOS_RIGHT = $158
const nomodify byte BORDER_YPOS_BOTTOM = $fa
const nomodify byte BORDER_YPOS_TOP = $32
const nomodify byte* CHARGEN = (byte*) 53248
const nomodify struct MOS6526_CIA* CIA1 = (struct MOS6526_CIA*) 56320
const nomodify byte CIA_INTERRUPT_CLEAR = $7f
const nomodify byte* COLS = (byte*) 55296
const word* CORDIC_ATAN2_ANGLES_16[CORDIC_ITERATIONS_16] = kickasm {{ .for (var i=0; i<CORDIC_ITERATIONS_16; i++)
.word 256*2*256*atan(1/pow(2,i))/PI/2
}}
const nomodify byte CORDIC_ITERATIONS_16 = $f
const nomodify void()** HARDWARE_IRQ = (void()**) 65534
const byte* HEAP_TOP = (byte*) 40960
const nomodify byte* IRQ_ENABLE = (byte*) 53274
const nomodify byte IRQ_RASTER = 1
const nomodify byte* IRQ_STATUS = (byte*) 53273
const nomodify byte LIGHT_BLUE = $e
const nomodify byte NOT_FOUND = $ff
const nomodify byte NUM_PROCESSING = 8
const nomodify word OFFSET_SPRITE_PTRS = $3f8
const byte OFFSET_STRUCT_MOS6526_CIA_INTERRUPT = $d
const byte OFFSET_STRUCT_PROCESSINGSPRITE_COL = $a
const byte OFFSET_STRUCT_PROCESSINGSPRITE_ID = 8
const byte OFFSET_STRUCT_PROCESSINGSPRITE_PTR = 9
const byte OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR = $c
const byte OFFSET_STRUCT_PROCESSINGSPRITE_STATUS = $b
const byte OFFSET_STRUCT_PROCESSINGSPRITE_VX = 4
const byte OFFSET_STRUCT_PROCESSINGSPRITE_VY = 6
const byte OFFSET_STRUCT_PROCESSINGSPRITE_Y = 2
const struct ProcessingSprite* PROCESSING[NUM_PROCESSING] = { fill( NUM_PROCESSING, 0) }
const nomodify byte* PROCPORT = (byte*) 1
const nomodify byte* PROCPORT_DDR = (byte*) 0
const nomodify byte PROCPORT_DDR_MEMORY_MASK = 7
const nomodify byte PROCPORT_RAM_CHARROM = 1
const nomodify byte PROCPORT_RAM_IO = 5
const byte RADIX::BINARY = 2
const byte RADIX::DECIMAL = $a
const byte RADIX::HEXADECIMAL = $10
const byte RADIX::OCTAL = 8
const nomodify byte* RASTER = (byte*) 53266
const nomodify byte RASTER_IRQ_MIDDLE = $ff
const nomodify byte RASTER_IRQ_TOP = $30
const nomodify byte* SCREEN = (byte*) 1024
byte* SCREEN_COPY
void* SCREEN_COPY#0 SCREEN_COPY zp[2]:14 0.03076923076923077
byte* SCREEN_DIST
void* SCREEN_DIST#0 SCREEN_DIST zp[2]:16 0.031746031746031744
const byte SIZEOF_STRUCT_PROCESSINGSPRITE = $e
const nomodify byte* SPRITES_COLOR = (byte*) 53287
const nomodify byte* SPRITES_ENABLE = (byte*) 53269
const nomodify byte* SPRITES_EXPAND_X = (byte*) 53277
const nomodify byte* SPRITES_EXPAND_Y = (byte*) 53271
const nomodify byte* SPRITES_MC = (byte*) 53276
const nomodify byte* SPRITES_XMSB = (byte*) 53264
const nomodify byte* SPRITES_XPOS = (byte*) 53248
const nomodify byte* SPRITES_YPOS = (byte*) 53249
const nomodify byte* SPRITE_DATA = (byte*) 8192
const byte STATUS_FREE = 0
const byte STATUS_NEW = 1
const byte STATUS_PROCESSING = 2
const nomodify byte* VICII_CONTROL = (byte*) 53265
const to_nomodify word* VXSIN[$28] = kickasm {{ .for(var i=0; i<40; i++) {
.word -sin(toRadians([i*360]/40))*4
}
}}
const to_nomodify word* VYSIN[$19] = kickasm {{ .for(var i=0; i<25; i++) {
.word -sin(toRadians([i*360]/25))*4
}
}}
const nomodify word XPOS_LEFTMOST = (word)BORDER_XPOS_LEFT-8<<4
const nomodify word XPOS_RIGHTMOST = BORDER_XPOS_RIGHT<<4
const nomodify word YPOS_BOTTOMMOST = (word)BORDER_YPOS_BOTTOM<<4
const nomodify word YPOS_TOPMOST = (word)BORDER_YPOS_TOP-8<<4
void __start()
word atan2_16(signed word atan2_16::x , signed word atan2_16::y)
signed word~ atan2_16::$2 zp[2]:12 200002.0
byte~ atan2_16::$22 reg byte a 2.00000002E8
byte~ atan2_16::$23 reg byte a 2.00000002E8
signed word~ atan2_16::$7 zp[2]:42 200002.0
word atan2_16::angle
word atan2_16::angle#1 angle zp[2]:31 150001.5
word atan2_16::angle#11 angle zp[2]:31 200002.0
word atan2_16::angle#12 angle zp[2]:31 1.904761923809524E7
word atan2_16::angle#13 angle zp[2]:31 1.3333333466666667E8
word atan2_16::angle#2 angle zp[2]:31 2.00000002E8
word atan2_16::angle#3 angle zp[2]:31 2.00000002E8
word atan2_16::angle#4 angle zp[2]:31 200002.0
word atan2_16::angle#5 angle zp[2]:31 200002.0
word atan2_16::angle#6 angle zp[2]:31 2.00100003E8
byte atan2_16::i
byte atan2_16::i#1 reg byte x 1.500000015E8
byte atan2_16::i#2 reg byte x 2.0833333541666668E7
word atan2_16::return
word atan2_16::return#0 return zp[2]:31 70001.0
word atan2_16::return#2 return zp[2]:31 20002.0
byte atan2_16::shift
byte atan2_16::shift#1 reg byte y 2.000000002E9
byte atan2_16::shift#2 reg byte y 8.0000000125E8
byte atan2_16::shift#5 reg byte y 6.6666667333333336E7
signed word atan2_16::x
signed word atan2_16::x#0 x zp[2]:37 10789.605263157895
signed word atan2_16::xd
signed word atan2_16::xd#1 xd zp[2]:35 6.666666673333334E8
signed word atan2_16::xd#10 xd zp[2]:35 1.00000001E8
signed word atan2_16::xd#2 xd zp[2]:35 1.00000001E8
signed word atan2_16::xd#3 xd zp[2]:35 7.666666683333335E8
signed word atan2_16::xd#5 xd zp[2]:35 1.00000001E8
signed word atan2_16::xi
signed word atan2_16::xi#0 xi zp[2]:42 300003.0
signed word atan2_16::xi#1 xi zp[2]:42 5.00000005E7
signed word atan2_16::xi#13 xi zp[2]:42 200002.0
signed word atan2_16::xi#2 xi zp[2]:42 5.00000005E7
signed word atan2_16::xi#3 xi zp[2]:42 2.6673333666666668E7
signed word atan2_16::xi#8 xi zp[2]:42 1.00000001E8
signed word atan2_16::y
signed word atan2_16::y#0 y zp[2]:40 10250.125
signed word atan2_16::yd
signed word atan2_16::yd#1 yd zp[2]:33 1.000000001E9
signed word atan2_16::yd#10 yd zp[2]:33 2.00000002E8
signed word atan2_16::yd#2 yd zp[2]:33 2.00000002E8
signed word atan2_16::yd#3 yd zp[2]:33 4.6000000099999994E8
signed word atan2_16::yd#5 yd zp[2]:33 2.00000002E8
signed word atan2_16::yi
signed word atan2_16::yi#0 yi zp[2]:12 60000.600000000006
signed word atan2_16::yi#1 yi zp[2]:12 6.6666667333333336E7
signed word atan2_16::yi#16 yi zp[2]:12 200002.0
signed word atan2_16::yi#2 yi zp[2]:12 6.6666667333333336E7
signed word atan2_16::yi#3 yi zp[2]:12 3.53000004117647E7
signed word atan2_16::yi#8 yi zp[2]:12 1.00000001E8
struct ProcessingChar getCharToProcess()
word~ getCharToProcess::$11 zp[2]:42 1501.5
word~ getCharToProcess::$12 zp[2]:31 2002.0
word~ getCharToProcess::$13 zp[2]:42 2002.0
word~ getCharToProcess::$8 zp[2]:42 2002.0
byte*~ getCharToProcess::$9 zp[2]:42 2002.0
byte getCharToProcess::closest_dist
byte getCharToProcess::closest_dist#10 closest_dist zp[1]:39 200002.0
byte getCharToProcess::closest_dist#12 closest_dist zp[1]:39 2000002.0
byte getCharToProcess::closest_dist#2 closest_dist zp[1]:39 1025001.25
byte getCharToProcess::closest_dist#8 closest_dist zp[1]:39 200002.0
byte getCharToProcess::closest_x
byte getCharToProcess::closest_x#7 closest_x zp[1]:44 516667.3333333334
byte getCharToProcess::closest_x#9 closest_x zp[1]:44 200002.0
byte getCharToProcess::closest_y
byte getCharToProcess::closest_y#7 closest_y zp[1]:9 516667.3333333334
byte getCharToProcess::closest_y#9 closest_y zp[1]:9 200002.0
byte getCharToProcess::dist
byte getCharToProcess::dist#0 reg byte x 750000.75
byte* getCharToProcess::dist_line
byte* getCharToProcess::dist_line#0 dist_line zp[2]:10 2002.0
byte* getCharToProcess::dist_line#1 dist_line zp[2]:10 50000.5
byte* getCharToProcess::dist_line#6 dist_line zp[2]:10 85785.99999999999
struct ProcessingChar getCharToProcess::return
byte getCharToProcess::return_dist
byte getCharToProcess::return_dist#0 reg byte x 67.33333333333333
byte getCharToProcess::return_dist#1 reg byte x 227839.2777777778
byte getCharToProcess::return_dist#5 reg byte x 2000002.0
byte getCharToProcess::return_dist#6 reg byte x 2000002.0
byte getCharToProcess::return_x
byte getCharToProcess::return_x#0 reg byte y 67.33333333333333
byte getCharToProcess::return_x#1 return_x zp[1]:44 227839.2777777778
byte getCharToProcess::return_x#7 return_x zp[1]:44 1000001.0
byte getCharToProcess::return_y
byte getCharToProcess::return_y#0 reg byte a 67.33333333333333
byte getCharToProcess::return_y#1 return_y zp[1]:9 215795.05263157893
byte getCharToProcess::return_y#7 return_y zp[1]:9 2000002.0
byte* getCharToProcess::screen_line
byte* getCharToProcess::screen_line#0 screen_line zp[2]:18 1001.0
byte* getCharToProcess::screen_line#1 screen_line zp[2]:18 40000.4
byte* getCharToProcess::screen_line#4 screen_line zp[2]:18 92384.92307692306
byte getCharToProcess::x
byte getCharToProcess::x#1 reg byte y 1000001.0
byte getCharToProcess::x#2 reg byte y 555556.1111111111
byte getCharToProcess::y
byte getCharToProcess::y#1 y zp[1]:20 100001.0
byte getCharToProcess::y#7 y zp[1]:20 80000.20000000001
byte* heap_head
byte* heap_head#0 heap_head zp[2]:2 3.25
byte* heap_head#6 heap_head zp[2]:2 13.0
void initSprites()
byte initSprites::i
byte initSprites::i#1 reg byte x 1501.5
byte initSprites::i#2 reg byte x 1501.5
byte* initSprites::sp
byte* initSprites::sp#1 sp zp[2]:10 2002.0
byte* initSprites::sp#2 sp zp[2]:10 1334.6666666666667
void init_angle_screen(byte* init_angle_screen::screen)
byte~ init_angle_screen::$10 reg byte a 20002.0
byte~ init_angle_screen::$11 reg byte a 20002.0
byte~ init_angle_screen::$3 reg byte a 20002.0
byte~ init_angle_screen::$4 reg byte a 20002.0
byte~ init_angle_screen::$5 reg byte a 20002.0
word~ init_angle_screen::$7 zp[2]:31 20002.0
byte~ init_angle_screen::$9 reg byte a 20002.0
byte init_angle_screen::ang_w
byte init_angle_screen::ang_w#0 ang_w zp[1]:30 8334.166666666666
word init_angle_screen::angle_w
word init_angle_screen::angle_w#0 angle_w zp[2]:31 20002.0
byte* init_angle_screen::screen
byte* init_angle_screen::screen#0 screen zp[2]:18 112.0
byte* init_angle_screen::screen_bottomline
byte* init_angle_screen::screen_bottomline#0 screen_bottomline zp[2]:18 151.5
byte* init_angle_screen::screen_bottomline#1 screen_bottomline zp[2]:18 667.3333333333334
byte* init_angle_screen::screen_bottomline#6 screen_bottomline zp[2]:18 884.2
byte* init_angle_screen::screen_topline
byte* init_angle_screen::screen_topline#1 screen_topline zp[2]:10 500.5
byte* init_angle_screen::screen_topline#6 screen_topline zp[2]:10 921.0416666666666
byte* init_angle_screen::screen_topline#7 screen_topline zp[2]:10 202.0
byte init_angle_screen::x
byte init_angle_screen::x#1 x zp[1]:39 10001.0
byte init_angle_screen::x#2 x zp[1]:39 2857.4285714285716
byte init_angle_screen::xb
byte init_angle_screen::xb#1 xb zp[1]:44 20002.0
byte init_angle_screen::xb#2 xb zp[1]:44 1818.3636363636363
signed word init_angle_screen::xw
word init_angle_screen::xw#0 xw zp[2]:37 3333.6666666666665
byte init_angle_screen::y
byte init_angle_screen::y#1 y zp[1]:20 1501.5
byte init_angle_screen::y#5 y zp[1]:20 461.65384615384613
signed word init_angle_screen::yw
word init_angle_screen::yw#0 yw zp[2]:40 5000.5
__interrupt(hardware_clobber) void irqBottom()
byte irqBottom::i
__interrupt(hardware_clobber) void irqTop()
byte irqTop::i
byte irqTop::i1
void main()
byte~ main::$10 reg byte a 202.0
byte~ main::$11 reg byte a 202.0
byte~ main::$12 reg byte a 202.0
byte~ main::$13 reg byte a 202.0
byte~ main::$14 reg byte a 202.0
byte main::center_dist
byte main::center_dist#0 reg byte a 202.0
byte main::center_x
byte main::center_x#0 reg byte y 50.5
byte main::center_y
byte main::center_y#0 center_y zp[1]:20 50.5
byte* main::dst
byte* main::dst#0 dst zp[2]:4 22.0
byte* main::dst#1 dst zp[2]:4 202.0
byte* main::dst#2 dst zp[2]:4 78.5
byte main::i
byte main::i#1 i zp[1]:6 151.5
byte main::i#2 i zp[1]:6 72.14285714285714
byte* main::src
byte* main::src#1 src zp[2]:18 101.0
byte* main::src#2 src zp[2]:18 134.66666666666666
void* malloc(word malloc::size)
byte* malloc::mem
byte* malloc::mem#0 mem zp[2]:18 4.4
void* malloc::return
word malloc::size
void processChars()
byte~ processChars::$10 reg byte a 202.0
word~ processChars::$12 zp[2]:27 101.0
byte~ processChars::$13 zp[1]:21 17.565217391304348
word~ processChars::$21 zp[2]:25 101.0
byte~ processChars::$25 reg byte a 202.0
byte~ processChars::$28 reg byte a 202.0
byte~ processChars::$29 reg byte a 202.0
byte~ processChars::$30 reg byte a 202.0
byte~ processChars::$73 reg byte a 202.0
byte~ processChars::$79 reg byte a 202.0
byte~ processChars::$87 reg byte a 202.0
byte~ processChars::$88 reg byte a 202.0
byte~ processChars::$89 reg byte a 202.0
byte~ processChars::$9 reg byte a 202.0
byte processChars::bitmask
byte processChars::bitmask#0 bitmask zp[1]:24 21.956521739130434
byte processChars::i
byte processChars::i#1 i zp[1]:7 151.5
byte processChars::i#10 i zp[1]:7 11.222222222222221
byte processChars::numActive
byte processChars::numActive#1 numActive zp[1]:8 202.0
byte processChars::numActive#10 numActive zp[1]:8 7.046511627906977
byte processChars::numActive#3 numActive zp[1]:8 101.0
struct ProcessingSprite* processChars::processing
struct ProcessingSprite* processChars::processing#0 processing zp[2]:22 3.0606060606060606
byte processChars::xchar
byte processChars::xchar#0 reg byte a 202.0
word processChars::xpos
word processChars::xpos#0 xpos zp[2]:25 21.642857142857142
byte processChars::ychar
byte processChars::ychar#0 reg byte a 202.0
byte processChars::ypos
byte processChars::ypos#0 ypos zp[1]:29 25.25
void setupRasterIrq(word setupRasterIrq::raster , void()* setupRasterIrq::irqRoutine)
void()* setupRasterIrq::irqRoutine
const void()* setupRasterIrq::irqRoutine#0 irqRoutine = &irqTop
word setupRasterIrq::raster
void startProcessing(byte startProcessing::center_x , byte startProcessing::center_y , byte startProcessing::center_dist)
word~ startProcessing::$0 zp[2]:33 2002.0
word~ startProcessing::$11 zp[2]:42 2002.0
word~ startProcessing::$12 zp[2]:42 2002.0
byte~ startProcessing::$15 reg byte y 125.125
byte~ startProcessing::$21 reg byte a 2000002.0
byte~ startProcessing::$22 reg byte x 1112.222222222222
word~ startProcessing::$23 zp[2]:33 1501.5
word~ startProcessing::$24 zp[2]:12 2002.0
word~ startProcessing::$25 zp[2]:10 2002.0
word~ startProcessing::$26 zp[2]:40 2002.0
word~ startProcessing::$27 zp[2]:42 2002.0
byte~ startProcessing::$28 reg byte a 2000002.0
byte~ startProcessing::$29 reg byte a 2000002.0
byte~ startProcessing::$30 reg byte a 2000002.0
byte~ startProcessing::$31 reg byte a 2000002.0
word~ startProcessing::$33 zp[2]:35 2002.0
word~ startProcessing::$34 zp[2]:33 2002.0
byte~ startProcessing::$36 reg byte a 2002.0
byte~ startProcessing::$37 reg byte a 2002.0
byte~ startProcessing::$38 reg byte a 2002.0
byte~ startProcessing::$39 reg byte a 2002.0
word~ startProcessing::$4 zp[2]:12 2002.0
word~ startProcessing::$6 zp[2]:10 2002.0
word~ startProcessing::$8 zp[2]:40 2002.0
word~ startProcessing::$9 zp[2]:40 2002.0
struct ProcessingChar startProcessing::center
byte startProcessing::center_dist
byte startProcessing::center_x
byte startProcessing::center_x#0 center_x zp[1]:30 26.238095238095237
byte startProcessing::center_y
byte startProcessing::center_y#0 center_y zp[1]:20 2.2444444444444445
byte startProcessing::ch
byte startProcessing::ch#0 reg byte a 1001.0
byte* startProcessing::chargenData
byte* startProcessing::chargenData#0 chargenData zp[2]:10 667.3333333333334
byte* startProcessing::chargenData#1 chargenData zp[2]:10 66667.33333333333
byte* startProcessing::chargenData#2 chargenData zp[2]:10 100334.66666666666
byte* startProcessing::colPtr
byte* startProcessing::colPtr#0 colPtr zp[2]:37 2002.0
byte startProcessing::freeIdx
byte startProcessing::freeIdx#2 freeIdx zp[1]:9 28391.52173913043
byte startProcessing::freeIdx#6 reg byte x 20000.2
byte startProcessing::freeIdx#7 reg byte x 200002.0
byte startProcessing::freeIdx#8 freeIdx zp[1]:9 200002.0
byte startProcessing::i
byte startProcessing::i#1 i zp[1]:9 1500001.5
byte startProcessing::i#2 i zp[1]:9 857143.7142857142
byte startProcessing::i1
byte startProcessing::i1#1 reg byte x 150001.5
byte startProcessing::i1#2 reg byte x 50000.5
word startProcessing::offset
word startProcessing::offset#0 offset zp[2]:33 1001.0
byte* startProcessing::screenPtr
byte* startProcessing::screenPtr#0 screenPtr zp[2]:33 73.2439024390244
byte startProcessing::spriteCol
byte startProcessing::spriteCol#0 spriteCol zp[1]:39 50.05
byte* startProcessing::spriteData
byte* startProcessing::spriteData#0 spriteData zp[2]:12 286.0
byte* startProcessing::spriteData#1 spriteData zp[2]:12 50000.5
byte* startProcessing::spriteData#2 spriteData zp[2]:12 150502.0
byte startProcessing::spriteIdx
byte startProcessing::spritePtr
byte startProcessing::spritePtr#0 spritePtr zp[1]:44 166.83333333333334
word startProcessing::spriteX
word startProcessing::spriteX#0 spriteX zp[2]:40 166.83333333333334
word startProcessing::spriteY
word startProcessing::spriteY#0 spriteY zp[2]:42 222.44444444444446
zp[2]:2 [ heap_head#6 heap_head#0 ]
zp[2]:4 [ main::dst#2 main::dst#0 main::dst#1 ]
zp[1]:6 [ main::i#2 main::i#1 ]
zp[1]:7 [ processChars::i#10 processChars::i#1 ]
zp[1]:8 [ processChars::numActive#10 processChars::numActive#3 processChars::numActive#1 ]
reg byte x [ initSprites::i#2 initSprites::i#1 ]
reg byte y [ getCharToProcess::x#2 getCharToProcess::x#1 ]
reg byte x [ getCharToProcess::return_dist#1 getCharToProcess::return_dist#5 getCharToProcess::return_dist#6 getCharToProcess::dist#0 ]
reg byte x [ startProcessing::freeIdx#6 startProcessing::freeIdx#7 ]
zp[1]:9 [ startProcessing::freeIdx#2 startProcessing::freeIdx#8 startProcessing::i#2 startProcessing::i#1 getCharToProcess::closest_y#7 getCharToProcess::closest_y#9 getCharToProcess::return_y#1 getCharToProcess::return_y#7 ]
zp[2]:10 [ startProcessing::chargenData#2 startProcessing::chargenData#0 startProcessing::chargenData#1 startProcessing::$6 startProcessing::$25 getCharToProcess::dist_line#6 getCharToProcess::dist_line#0 getCharToProcess::dist_line#1 initSprites::sp#2 initSprites::sp#1 init_angle_screen::screen_topline#6 init_angle_screen::screen_topline#7 init_angle_screen::screen_topline#1 ]
reg byte x [ startProcessing::i1#2 startProcessing::i1#1 ]
zp[2]:12 [ atan2_16::yi#3 atan2_16::yi#8 atan2_16::yi#0 atan2_16::yi#16 atan2_16::$2 atan2_16::yi#1 atan2_16::yi#2 startProcessing::spriteData#2 startProcessing::spriteData#0 startProcessing::spriteData#1 startProcessing::$4 startProcessing::$24 ]
reg byte x [ atan2_16::i#2 atan2_16::i#1 ]
reg byte y [ atan2_16::shift#2 atan2_16::shift#5 atan2_16::shift#1 ]
zp[2]:14 [ SCREEN_COPY#0 ]
zp[2]:16 [ SCREEN_DIST#0 ]
zp[2]:18 [ malloc::mem#0 main::src#2 main::src#1 getCharToProcess::screen_line#4 getCharToProcess::screen_line#0 getCharToProcess::screen_line#1 init_angle_screen::screen_bottomline#6 init_angle_screen::screen_bottomline#0 init_angle_screen::screen_bottomline#1 init_angle_screen::screen#0 ]
reg byte a [ main::$11 ]
reg byte a [ main::$12 ]
reg byte a [ main::$13 ]
reg byte a [ main::$14 ]
reg byte a [ main::$10 ]
reg byte y [ getCharToProcess::return_x#0 ]
reg byte a [ getCharToProcess::return_y#0 ]
reg byte x [ getCharToProcess::return_dist#0 ]
reg byte y [ main::center_x#0 ]
zp[1]:20 [ main::center_y#0 startProcessing::center_y#0 getCharToProcess::y#7 getCharToProcess::y#1 init_angle_screen::y#5 init_angle_screen::y#1 ]
reg byte a [ main::center_dist#0 ]
zp[1]:21 [ processChars::$13 ]
reg byte a [ processChars::$87 ]
reg byte a [ processChars::$88 ]
reg byte a [ processChars::$89 ]
reg byte a [ processChars::$28 ]
zp[2]:22 [ processChars::processing#0 ]
zp[1]:24 [ processChars::bitmask#0 ]
zp[2]:25 [ processChars::xpos#0 processChars::$21 ]
reg byte a [ processChars::$9 ]
reg byte a [ processChars::$10 ]
zp[2]:27 [ processChars::$12 ]
zp[1]:29 [ processChars::ypos#0 ]
reg byte a [ processChars::$73 ]
reg byte a [ processChars::xchar#0 ]
reg byte a [ processChars::$29 ]
reg byte a [ processChars::$79 ]
reg byte a [ processChars::ychar#0 ]
reg byte a [ processChars::$30 ]
reg byte a [ processChars::$25 ]
reg byte a [ init_angle_screen::$3 ]
reg byte a [ init_angle_screen::$4 ]
reg byte a [ init_angle_screen::$5 ]
zp[1]:30 [ init_angle_screen::ang_w#0 startProcessing::center_x#0 ]
reg byte a [ init_angle_screen::$9 ]
reg byte a [ init_angle_screen::$10 ]
reg byte a [ init_angle_screen::$11 ]
zp[2]:31 [ getCharToProcess::$12 atan2_16::angle#6 atan2_16::angle#12 atan2_16::angle#13 atan2_16::angle#2 atan2_16::angle#3 atan2_16::return#0 atan2_16::angle#11 atan2_16::angle#1 atan2_16::angle#4 atan2_16::angle#5 atan2_16::return#2 init_angle_screen::angle_w#0 init_angle_screen::$7 ]
reg byte a [ startProcessing::$28 ]
reg byte a [ startProcessing::$29 ]
reg byte a [ startProcessing::$30 ]
reg byte a [ startProcessing::$31 ]
reg byte a [ startProcessing::$21 ]
zp[2]:33 [ startProcessing::$23 startProcessing::$34 startProcessing::$0 startProcessing::offset#0 startProcessing::screenPtr#0 atan2_16::yd#5 atan2_16::yd#3 atan2_16::yd#10 atan2_16::yd#1 atan2_16::yd#2 ]
zp[2]:35 [ startProcessing::$33 atan2_16::xd#5 atan2_16::xd#3 atan2_16::xd#10 atan2_16::xd#1 atan2_16::xd#2 ]
zp[2]:37 [ startProcessing::colPtr#0 init_angle_screen::xw#0 atan2_16::x#0 ]
zp[1]:39 [ startProcessing::spriteCol#0 getCharToProcess::closest_dist#2 getCharToProcess::closest_dist#8 getCharToProcess::closest_dist#10 getCharToProcess::closest_dist#12 init_angle_screen::x#2 init_angle_screen::x#1 ]
reg byte a [ startProcessing::ch#0 ]
zp[2]:40 [ startProcessing::$26 startProcessing::$8 startProcessing::$9 startProcessing::spriteX#0 init_angle_screen::yw#0 atan2_16::y#0 ]
zp[2]:42 [ startProcessing::$27 startProcessing::$11 startProcessing::$12 startProcessing::spriteY#0 getCharToProcess::$11 getCharToProcess::$13 getCharToProcess::$8 getCharToProcess::$9 atan2_16::xi#3 atan2_16::xi#8 atan2_16::xi#0 atan2_16::xi#13 atan2_16::$7 atan2_16::xi#1 atan2_16::xi#2 ]
zp[1]:44 [ startProcessing::spritePtr#0 getCharToProcess::closest_x#7 getCharToProcess::closest_x#9 getCharToProcess::return_x#1 getCharToProcess::return_x#7 init_angle_screen::xb#2 init_angle_screen::xb#1 ]
reg byte y [ startProcessing::$15 ]
reg byte a [ startProcessing::$36 ]
reg byte a [ startProcessing::$37 ]
reg byte a [ startProcessing::$38 ]
reg byte a [ startProcessing::$39 ]
reg byte x [ startProcessing::$22 ]
reg byte a [ atan2_16::$23 ]
reg byte a [ atan2_16::$22 ]