2021-04-30 15:26:46 +00:00
|
|
|
constant const byte BLACK = 0
|
|
|
|
constant byte* const CHARSET = (byte*) 8192
|
|
|
|
constant byte* const COLS = (byte*) 55296
|
|
|
|
constant word* CORDIC_ATAN2_ANGLES_16[CORDIC_ITERATIONS_16] = kickasm {{ .for (var i=0; i<CORDIC_ITERATIONS_16; i++)
|
2019-07-06 22:17:00 +00:00
|
|
|
.word 256*2*256*atan(1/pow(2,i))/PI/2
|
|
|
|
}}
|
2021-04-30 15:26:46 +00:00
|
|
|
constant const byte CORDIC_ITERATIONS_16 = $f
|
|
|
|
constant byte* const D018 = (byte*) 53272
|
|
|
|
constant byte* HEAP_TOP = (byte*) 40960
|
2020-10-05 20:58:02 +00:00
|
|
|
byte NUM_SQUARES
|
2021-04-30 15:26:46 +00:00
|
|
|
constant byte NUM_SQUARES#2 NUM_SQUARES = $30
|
|
|
|
constant byte OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL = $12
|
|
|
|
constant byte OFFSET_STRUCT_MOS6581_SID_CH3_FREQ = $e
|
|
|
|
constant byte OFFSET_STRUCT_MOS6581_SID_CH3_OSC = $1b
|
|
|
|
constant byte RADIX::BINARY = 2
|
|
|
|
constant byte RADIX::DECIMAL = $a
|
|
|
|
constant byte RADIX::HEXADECIMAL = $10
|
|
|
|
constant byte RADIX::OCTAL = 8
|
|
|
|
constant byte* const SCREEN1 = (byte*) 10240
|
|
|
|
constant byte* const SCREEN2 = (byte*) 11264
|
2020-10-05 20:58:02 +00:00
|
|
|
byte* SCREEN_ANGLE
|
|
|
|
void* SCREEN_ANGLE#0 SCREEN_ANGLE zp[2]:13 0.05405405405405406
|
|
|
|
byte* SCREEN_DIST
|
|
|
|
void* SCREEN_DIST#0 SCREEN_DIST zp[2]:11 0.05128205128205128
|
2021-04-30 15:26:46 +00:00
|
|
|
constant struct MOS6581_SID* const SID = (struct MOS6581_SID*) 54272
|
|
|
|
constant const byte SID_CONTROL_NOISE = $80
|
|
|
|
constant const byte* SINTABLE[$200] = kickasm {{ .for(var i=0;i<$200;i++)
|
2019-07-06 22:17:00 +00:00
|
|
|
.byte round(127.5+127.5*sin(2*PI*i/256))
|
|
|
|
}}
|
2021-04-30 15:26:46 +00:00
|
|
|
constant byte SIZEOF_WORD = 2
|
2020-10-05 20:58:02 +00:00
|
|
|
word* SQUARES
|
|
|
|
void* SQUARES#0 SQUARES zp[2]:2 16.14516129032258
|
|
|
|
void __start()
|
|
|
|
word atan2_16(signed word atan2_16::x , signed word atan2_16::y)
|
|
|
|
signed word~ atan2_16::$2 zp[2]:9 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]:15 200002.0
|
|
|
|
word atan2_16::angle
|
|
|
|
word atan2_16::angle#1 angle zp[2]:17 150001.5
|
|
|
|
word atan2_16::angle#11 angle zp[2]:17 200002.0
|
|
|
|
word atan2_16::angle#12 angle zp[2]:17 1.904761923809524E7
|
|
|
|
word atan2_16::angle#13 angle zp[2]:17 1.3333333466666667E8
|
|
|
|
word atan2_16::angle#2 angle zp[2]:17 2.00000002E8
|
|
|
|
word atan2_16::angle#3 angle zp[2]:17 2.00000002E8
|
|
|
|
word atan2_16::angle#4 angle zp[2]:17 200002.0
|
|
|
|
word atan2_16::angle#5 angle zp[2]:17 200002.0
|
|
|
|
word atan2_16::angle#6 angle zp[2]:17 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]:17 70001.0
|
|
|
|
word atan2_16::return#2 return zp[2]:17 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]:22 10789.605263157895
|
|
|
|
signed word atan2_16::xd
|
|
|
|
signed word atan2_16::xd#1 xd zp[2]:28 6.666666673333334E8
|
|
|
|
signed word atan2_16::xd#10 xd zp[2]:28 1.00000001E8
|
|
|
|
signed word atan2_16::xd#2 xd zp[2]:28 1.00000001E8
|
|
|
|
signed word atan2_16::xd#3 xd zp[2]:28 7.666666683333335E8
|
|
|
|
signed word atan2_16::xd#5 xd zp[2]:28 1.00000001E8
|
|
|
|
signed word atan2_16::xi
|
|
|
|
signed word atan2_16::xi#0 xi zp[2]:15 300003.0
|
|
|
|
signed word atan2_16::xi#1 xi zp[2]:15 5.00000005E7
|
|
|
|
signed word atan2_16::xi#13 xi zp[2]:15 200002.0
|
|
|
|
signed word atan2_16::xi#2 xi zp[2]:15 5.00000005E7
|
|
|
|
signed word atan2_16::xi#3 xi zp[2]:15 2.6673333666666668E7
|
|
|
|
signed word atan2_16::xi#8 xi zp[2]:15 1.00000001E8
|
|
|
|
signed word atan2_16::y
|
|
|
|
signed word atan2_16::y#0 y zp[2]:24 10250.125
|
|
|
|
signed word atan2_16::yd
|
|
|
|
signed word atan2_16::yd#1 yd zp[2]:26 1.000000001E9
|
|
|
|
signed word atan2_16::yd#10 yd zp[2]:26 2.00000002E8
|
|
|
|
signed word atan2_16::yd#2 yd zp[2]:26 2.00000002E8
|
|
|
|
signed word atan2_16::yd#3 yd zp[2]:26 4.6000000099999994E8
|
|
|
|
signed word atan2_16::yd#5 yd zp[2]:26 2.00000002E8
|
|
|
|
signed word atan2_16::yi
|
|
|
|
signed word atan2_16::yi#0 yi zp[2]:9 60000.600000000006
|
|
|
|
signed word atan2_16::yi#1 yi zp[2]:9 6.6666667333333336E7
|
|
|
|
signed word atan2_16::yi#16 yi zp[2]:9 200002.0
|
|
|
|
signed word atan2_16::yi#2 yi zp[2]:9 6.6666667333333336E7
|
|
|
|
signed word atan2_16::yi#3 yi zp[2]:9 3.53000004117647E7
|
|
|
|
signed word atan2_16::yi#8 yi zp[2]:9 1.00000001E8
|
|
|
|
word* bsearch16u(word bsearch16u::key , word* bsearch16u::items , byte bsearch16u::num)
|
|
|
|
byte~ bsearch16u::$14 reg byte a 2.000000002E9
|
|
|
|
word*~ bsearch16u::$2 zp[2]:9 2000002.0
|
|
|
|
byte~ bsearch16u::$6 reg byte a 2.000000002E9
|
|
|
|
word* bsearch16u::items
|
|
|
|
word* bsearch16u::items#0 items zp[2]:9 1.000000001E9
|
|
|
|
word* bsearch16u::items#1 items zp[2]:9 550001.0
|
|
|
|
word* bsearch16u::items#2 items zp[2]:9 3.337777785555556E8
|
|
|
|
word* bsearch16u::items#8 items zp[2]:9 1.5000000015E9
|
|
|
|
word bsearch16u::key
|
|
|
|
word bsearch16u::key#0 key zp[2]:17 73333.46666666667
|
|
|
|
byte bsearch16u::num
|
|
|
|
byte bsearch16u::num#0 reg byte x 2.000000002E9
|
|
|
|
byte bsearch16u::num#1 reg byte x 2.000000002E9
|
|
|
|
byte bsearch16u::num#3 reg byte x 5.555555561111112E8
|
|
|
|
byte bsearch16u::num#5 reg byte x 3.000000003E9
|
|
|
|
word* bsearch16u::pivot
|
|
|
|
word* bsearch16u::pivot#0 pivot zp[2]:26 5.0025000075E8
|
|
|
|
signed word bsearch16u::result
|
|
|
|
signed word bsearch16u::result#0 result zp[2]:28 1.5000000015E9
|
|
|
|
word* bsearch16u::return
|
|
|
|
word* bsearch16u::return#1 return zp[2]:9 700001.0
|
|
|
|
word* bsearch16u::return#2 return zp[2]:9 3000003.0
|
|
|
|
word* bsearch16u::return#3 return zp[2]:9 200002.0
|
|
|
|
word* bsearch16u::return#7 return zp[2]:9 2000002.0
|
|
|
|
void doplasma(byte* doplasma::screen)
|
|
|
|
byte~ doplasma::$2 reg byte a 2000002.0
|
|
|
|
byte* doplasma::angle
|
|
|
|
byte* doplasma::angle#0 angle zp[2]:7 500.5
|
|
|
|
byte* doplasma::angle#1 angle zp[2]:7 50000.5
|
|
|
|
byte* doplasma::angle#4 angle zp[2]:7 171571.99999999997
|
|
|
|
byte* doplasma::dist
|
|
|
|
byte* doplasma::dist#0 dist zp[2]:9 667.3333333333334
|
|
|
|
byte* doplasma::dist#1 dist zp[2]:9 66667.33333333333
|
|
|
|
byte* doplasma::dist#4 dist zp[2]:9 150125.5
|
|
|
|
byte* doplasma::screen
|
|
|
|
byte* doplasma::screen#2 screen zp[2]:15 40000.4
|
|
|
|
byte* doplasma::screen#5 screen zp[2]:15 200167.33333333334
|
|
|
|
byte* doplasma::screen#6 screen zp[2]:15 200.2
|
|
|
|
byte* doplasma::sin_x
|
|
|
|
byte* doplasma::sin_x#0 sin_x zp[2]:22 77000.15384615384
|
|
|
|
byte* doplasma::sin_y
|
|
|
|
byte* doplasma::sin_y#0 sin_y zp[2]:24 83416.83333333334
|
|
|
|
byte doplasma::x
|
|
|
|
byte doplasma::x#1 reg byte x 1500001.5
|
|
|
|
byte doplasma::x#2 reg byte x 1666668.3333333335
|
|
|
|
byte doplasma::y
|
|
|
|
byte doplasma::y#1 y zp[1]:20 150001.5
|
|
|
|
byte doplasma::y#4 y zp[1]:20 22222.444444444445
|
|
|
|
byte* heap_head
|
|
|
|
byte* heap_head#0 heap_head zp[2]:7 1100.4
|
|
|
|
byte* heap_head#13 heap_head zp[2]:7 11004.0
|
|
|
|
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]:17 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]:19 8334.166666666666
|
|
|
|
word init_angle_screen::angle_w
|
|
|
|
word init_angle_screen::angle_w#0 angle_w zp[2]:17 20002.0
|
|
|
|
byte* init_angle_screen::screen
|
|
|
|
byte* init_angle_screen::screen#0 screen zp[2]:4 112.0
|
|
|
|
byte* init_angle_screen::screen_bottomline
|
|
|
|
byte* init_angle_screen::screen_bottomline#0 screen_bottomline zp[2]:4 151.5
|
|
|
|
byte* init_angle_screen::screen_bottomline#1 screen_bottomline zp[2]:4 667.3333333333334
|
|
|
|
byte* init_angle_screen::screen_bottomline#6 screen_bottomline zp[2]:4 884.2
|
|
|
|
byte* init_angle_screen::screen_topline
|
|
|
|
byte* init_angle_screen::screen_topline#1 screen_topline zp[2]:2 500.5
|
|
|
|
byte* init_angle_screen::screen_topline#6 screen_topline zp[2]:2 921.0416666666666
|
|
|
|
byte* init_angle_screen::screen_topline#7 screen_topline zp[2]:2 202.0
|
|
|
|
byte init_angle_screen::x
|
|
|
|
byte init_angle_screen::x#1 x zp[1]:20 10001.0
|
|
|
|
byte init_angle_screen::x#2 x zp[1]:20 2857.4285714285716
|
|
|
|
byte init_angle_screen::xb
|
|
|
|
byte init_angle_screen::xb#1 xb zp[1]:21 20002.0
|
|
|
|
byte init_angle_screen::xb#2 xb zp[1]:21 1818.3636363636363
|
|
|
|
signed word init_angle_screen::xw
|
|
|
|
word init_angle_screen::xw#0 xw zp[2]:22 3333.6666666666665
|
|
|
|
byte init_angle_screen::y
|
|
|
|
byte init_angle_screen::y#1 y zp[1]:6 1501.5
|
|
|
|
byte init_angle_screen::y#5 y zp[1]:6 461.65384615384613
|
|
|
|
signed word init_angle_screen::yw
|
|
|
|
word init_angle_screen::yw#0 yw zp[2]:24 5000.5
|
|
|
|
void init_dist_screen(byte* init_dist_screen::screen)
|
|
|
|
byte~ init_dist_screen::$14 reg byte a 20002.0
|
|
|
|
byte~ init_dist_screen::$16 reg byte a 20002.0
|
|
|
|
byte~ init_dist_screen::$5 reg byte a 2002.0
|
|
|
|
byte~ init_dist_screen::$7 reg byte a 2002.0
|
|
|
|
byte init_dist_screen::d
|
|
|
|
byte init_dist_screen::d#0 reg byte a 12501.25
|
|
|
|
word init_dist_screen::ds
|
|
|
|
word init_dist_screen::ds#0 ds zp[2]:17 20002.0
|
|
|
|
byte* init_dist_screen::screen
|
|
|
|
byte* init_dist_screen::screen#0 screen zp[2]:4 53.25
|
|
|
|
byte* init_dist_screen::screen_bottomline
|
|
|
|
byte* init_dist_screen::screen_bottomline#0 screen_bottomline zp[2]:7 202.0
|
|
|
|
byte* init_dist_screen::screen_bottomline#1 screen_bottomline zp[2]:7 667.3333333333334
|
|
|
|
byte* init_dist_screen::screen_bottomline#11 screen_bottomline zp[2]:7 669.8484848484848
|
|
|
|
byte* init_dist_screen::screen_topline
|
|
|
|
byte* init_dist_screen::screen_topline#1 screen_topline zp[2]:4 500.5
|
|
|
|
byte* init_dist_screen::screen_topline#11 screen_topline zp[2]:4 690.78125
|
|
|
|
byte init_dist_screen::x
|
|
|
|
byte init_dist_screen::x#1 x zp[1]:20 10001.0
|
|
|
|
byte init_dist_screen::x#2 x zp[1]:20 3000.3
|
|
|
|
byte init_dist_screen::x2
|
|
|
|
byte init_dist_screen::x2#0 reg byte a 20002.0
|
|
|
|
byte init_dist_screen::xb
|
|
|
|
byte init_dist_screen::xb#1 xb zp[1]:21 20002.0
|
|
|
|
byte init_dist_screen::xb#2 xb zp[1]:21 1904.952380952381
|
|
|
|
byte init_dist_screen::xd
|
|
|
|
byte init_dist_screen::xd#0 reg byte a 30003.0
|
|
|
|
word init_dist_screen::xds
|
|
|
|
word init_dist_screen::xds#0 xds zp[2]:17 20002.0
|
|
|
|
byte init_dist_screen::y
|
|
|
|
byte init_dist_screen::y#1 y zp[1]:6 1501.5
|
|
|
|
byte init_dist_screen::y#10 y zp[1]:6 88.32352941176471
|
|
|
|
byte init_dist_screen::y2
|
|
|
|
byte init_dist_screen::y2#0 reg byte a 2002.0
|
|
|
|
byte init_dist_screen::yd
|
|
|
|
byte init_dist_screen::yd#0 reg byte a 3003.0
|
|
|
|
word init_dist_screen::yds
|
|
|
|
word init_dist_screen::yds#0 yds zp[2]:15 478.3478260869565
|
|
|
|
void init_squares()
|
|
|
|
byte~ init_squares::$3 reg byte a 20002.0
|
|
|
|
byte~ init_squares::$4 reg byte a 20002.0
|
|
|
|
byte init_squares::i
|
|
|
|
byte init_squares::i#1 reg byte x 20002.0
|
|
|
|
byte init_squares::i#2 reg byte x 5714.857142857143
|
|
|
|
word init_squares::sqr
|
|
|
|
word init_squares::sqr#1 sqr zp[2]:9 10001.0
|
|
|
|
word init_squares::sqr#2 sqr zp[2]:9 5000.5
|
|
|
|
word* init_squares::squares
|
|
|
|
word* init_squares::squares#0 squares zp[2]:15 2002.0
|
|
|
|
word* init_squares::squares#1 squares zp[2]:15 4000.4
|
|
|
|
word* init_squares::squares#2 squares zp[2]:15 10334.666666666666
|
|
|
|
void main()
|
|
|
|
byte* main::toD0181_gfx
|
|
|
|
byte main::toD0181_return
|
2021-04-30 15:26:46 +00:00
|
|
|
constant byte main::toD0181_return#0 toD0181_return = >(word)SCREEN1&$3fff*4|>(word)CHARSET/4&$f
|
2020-10-05 20:58:02 +00:00
|
|
|
byte* main::toD0181_screen
|
|
|
|
byte* main::toD0182_gfx
|
|
|
|
byte main::toD0182_return
|
2021-04-30 15:26:46 +00:00
|
|
|
constant byte main::toD0182_return#0 toD0182_return = >(word)SCREEN2&$3fff*4|>(word)CHARSET/4&$f
|
2020-10-05 20:58:02 +00:00
|
|
|
byte* main::toD0182_screen
|
|
|
|
void make_plasma_charset(byte* make_plasma_charset::charset)
|
|
|
|
word~ make_plasma_charset::$10 zp[2]:26 20002.0
|
|
|
|
word~ make_plasma_charset::$11 zp[2]:26 20002.0
|
|
|
|
byte~ make_plasma_charset::$12 reg byte a 2002.0
|
|
|
|
byte*~ make_plasma_charset::$16 zp[2]:26 20002.0
|
|
|
|
byte~ make_plasma_charset::$3 reg byte x 2002.0
|
|
|
|
byte~ make_plasma_charset::$7 zp[1]:21 200002.0
|
|
|
|
byte make_plasma_charset::b
|
|
|
|
byte make_plasma_charset::b#1 reg byte y 200002.0
|
|
|
|
byte make_plasma_charset::b#2 reg byte y 38750.5
|
|
|
|
byte make_plasma_charset::b#6 reg byte y 150001.5
|
2021-04-30 15:26:46 +00:00
|
|
|
constant const byte* make_plasma_charset::bittab[8] = { 1, 2, 4, 8, $10, $20, $40, $80 }
|
2020-10-05 20:58:02 +00:00
|
|
|
word make_plasma_charset::c
|
|
|
|
word make_plasma_charset::c#1 c zp[2]:7 2002.0
|
|
|
|
word make_plasma_charset::c#2 c zp[2]:7 625.25
|
|
|
|
byte* make_plasma_charset::charset
|
|
|
|
byte make_plasma_charset::i
|
|
|
|
byte make_plasma_charset::i#1 i zp[1]:6 20002.0
|
|
|
|
byte make_plasma_charset::i#2 i zp[1]:6 2857.4285714285716
|
|
|
|
byte make_plasma_charset::ii
|
|
|
|
byte make_plasma_charset::ii#1 reg byte x 200002.0
|
|
|
|
byte make_plasma_charset::ii#2 reg byte x 57143.42857142857
|
|
|
|
byte make_plasma_charset::s
|
|
|
|
byte make_plasma_charset::s#0 s zp[1]:20 6312.625
|
|
|
|
byte make_plasma_charset::sid_rnd1_return
|
|
|
|
byte make_plasma_charset::sid_rnd1_return#0 reg byte a 200002.0
|
|
|
|
void* malloc(word malloc::size)
|
|
|
|
byte* malloc::mem
|
|
|
|
byte* malloc::mem#0 mem zp[2]:2 3333.6666666666665
|
|
|
|
void* malloc::return
|
|
|
|
word malloc::size
|
|
|
|
word malloc::size#3 size zp[2]:2 10001.0
|
|
|
|
void* memset(void* memset::str , byte memset::c , word memset::num)
|
|
|
|
byte memset::c
|
|
|
|
byte memset::c#4 reg byte x 14285.857142857143
|
|
|
|
byte* memset::dst
|
|
|
|
byte* memset::dst#1 dst zp[2]:4 200002.0
|
|
|
|
byte* memset::dst#2 dst zp[2]:4 136668.3333333333
|
|
|
|
byte* memset::dst#4 dst zp[2]:4 20002.0
|
|
|
|
byte* memset::end
|
|
|
|
byte* memset::end#0 end zp[2]:28 18333.666666666664
|
|
|
|
word memset::num
|
|
|
|
void* memset::return
|
|
|
|
void* memset::str
|
|
|
|
void* memset::str#3 str zp[2]:4
|
|
|
|
void print_char(byte print_char::ch)
|
|
|
|
byte print_char::ch
|
2021-04-30 15:26:46 +00:00
|
|
|
constant byte print_char::ch#0 ch = '.'
|
2020-10-05 20:58:02 +00:00
|
|
|
byte* print_char_cursor
|
|
|
|
byte* print_char_cursor#0 print_char_cursor zp[2]:4 3667.333333333333
|
|
|
|
byte* print_char_cursor#19 print_char_cursor zp[2]:4 956.695652173913
|
|
|
|
byte* print_char_cursor#32 print_char_cursor zp[2]:4 1501.5
|
|
|
|
void print_cls()
|
|
|
|
byte* print_line_cursor
|
|
|
|
byte* print_screen
|
2021-04-30 15:26:46 +00:00
|
|
|
constant byte* print_screen#0 print_screen = (byte*) 1024
|
2020-10-05 20:58:02 +00:00
|
|
|
byte sin_offset_x
|
|
|
|
byte sin_offset_x#10 sin_offset_x zp[1]:6 101.0
|
|
|
|
byte sin_offset_x#11 sin_offset_x zp[1]:6 137.75
|
|
|
|
byte sin_offset_x#13 sin_offset_x zp[1]:6 133.66666666666669
|
|
|
|
byte sin_offset_y
|
|
|
|
byte sin_offset_y#10 sin_offset_y zp[1]:19 101.0
|
|
|
|
byte sin_offset_y#11 sin_offset_y zp[1]:19 129.64705882352942
|
|
|
|
byte sin_offset_y#13 sin_offset_y zp[1]:19 150.375
|
|
|
|
word sqr(byte sqr::val)
|
|
|
|
byte~ sqr::$0 reg byte a 200002.0
|
|
|
|
word sqr::return
|
|
|
|
word sqr::return#0 return zp[2]:17 27750.75
|
|
|
|
word sqr::return#2 return_1 zp[2]:15 2002.0
|
|
|
|
word sqr::return#3 return zp[2]:17 20002.0
|
|
|
|
byte sqr::val
|
|
|
|
byte sqr::val#0 reg byte a 2002.0
|
|
|
|
byte sqr::val#1 reg byte a 20002.0
|
|
|
|
byte sqr::val#2 reg byte a 111003.0
|
|
|
|
byte sqrt(word sqrt::val)
|
|
|
|
word~ sqrt::$1 zp[2]:9 100001.0
|
|
|
|
word~ sqrt::$2 zp[2]:9 200002.0
|
|
|
|
word* sqrt::found
|
|
|
|
word* sqrt::found#0 found zp[2]:9 200002.0
|
|
|
|
byte sqrt::return
|
|
|
|
byte sqrt::return#0 reg byte a 36667.33333333333
|
|
|
|
byte sqrt::return#2 reg byte a 20002.0
|
|
|
|
byte sqrt::sq
|
|
|
|
word sqrt::val
|
|
|
|
word sqrt::val#0 val zp[2]:17 110002.0
|
2019-07-06 22:17:00 +00:00
|
|
|
|
2020-06-27 21:26:57 +00:00
|
|
|
reg byte a [ init_dist_screen::yd#0 init_dist_screen::$7 init_dist_screen::$5 ]
|
|
|
|
reg byte a [ init_dist_screen::xd#0 init_dist_screen::$16 init_dist_screen::$14 ]
|
2020-10-04 19:43:41 +00:00
|
|
|
zp[2]:2 [ init_angle_screen::screen_topline#6 init_angle_screen::screen_topline#7 init_angle_screen::screen_topline#1 malloc::size#3 malloc::mem#0 SQUARES#0 ]
|
2019-08-25 20:21:56 +00:00
|
|
|
reg byte x [ make_plasma_charset::ii#2 make_plasma_charset::ii#1 ]
|
|
|
|
reg byte y [ make_plasma_charset::b#2 make_plasma_charset::b#6 make_plasma_charset::b#1 ]
|
2020-06-27 21:26:57 +00:00
|
|
|
zp[2]:4 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 print_char_cursor#19 print_char_cursor#32 print_char_cursor#0 init_angle_screen::screen_bottomline#6 init_angle_screen::screen_bottomline#0 init_angle_screen::screen_bottomline#1 init_angle_screen::screen#0 init_dist_screen::screen_topline#11 init_dist_screen::screen#0 init_dist_screen::screen_topline#1 ]
|
|
|
|
reg byte x [ memset::c#4 ]
|
|
|
|
zp[1]:6 [ sin_offset_x#11 sin_offset_x#10 sin_offset_x#13 make_plasma_charset::i#2 make_plasma_charset::i#1 init_angle_screen::y#5 init_angle_screen::y#1 init_dist_screen::y#10 init_dist_screen::y#1 ]
|
|
|
|
zp[2]:7 [ doplasma::angle#4 doplasma::angle#0 doplasma::angle#1 make_plasma_charset::c#2 make_plasma_charset::c#1 init_dist_screen::screen_bottomline#11 init_dist_screen::screen_bottomline#0 init_dist_screen::screen_bottomline#1 heap_head#13 heap_head#0 ]
|
|
|
|
reg byte x [ doplasma::x#2 doplasma::x#1 ]
|
|
|
|
reg byte x [ init_squares::i#2 init_squares::i#1 ]
|
|
|
|
reg byte a [ sqr::val#2 sqr::val#1 sqr::val#0 ]
|
2019-07-06 22:17:00 +00:00
|
|
|
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 ]
|
2020-06-27 21:26:57 +00:00
|
|
|
zp[2]:9 [ bsearch16u::return#1 bsearch16u::return#2 bsearch16u::items#2 bsearch16u::items#1 bsearch16u::items#8 bsearch16u::$2 bsearch16u::return#7 bsearch16u::items#0 bsearch16u::return#3 sqrt::found#0 sqrt::$2 sqrt::$1 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 init_squares::sqr#2 init_squares::sqr#1 doplasma::dist#4 doplasma::dist#0 doplasma::dist#1 ]
|
2019-08-25 20:21:56 +00:00
|
|
|
reg byte x [ bsearch16u::num#5 bsearch16u::num#1 bsearch16u::num#3 bsearch16u::num#0 ]
|
2020-06-27 19:18:00 +00:00
|
|
|
zp[2]:11 [ SCREEN_DIST#0 ]
|
|
|
|
zp[2]:13 [ SCREEN_ANGLE#0 ]
|
2020-06-27 21:26:57 +00:00
|
|
|
reg byte a [ init_dist_screen::y2#0 ]
|
|
|
|
zp[2]:15 [ sqr::return#2 init_dist_screen::yds#0 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 init_squares::squares#2 init_squares::squares#1 init_squares::squares#0 doplasma::screen#5 doplasma::screen#6 doplasma::screen#2 ]
|
|
|
|
reg byte a [ init_dist_screen::x2#0 ]
|
|
|
|
zp[2]:17 [ sqr::return#3 init_dist_screen::xds#0 sqr::return#0 init_dist_screen::ds#0 sqrt::val#0 bsearch16u::key#0 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 [ sqrt::return#2 ]
|
|
|
|
reg byte a [ init_dist_screen::d#0 ]
|
2019-07-06 22:17:00 +00:00
|
|
|
reg byte a [ init_angle_screen::$3 ]
|
2019-08-07 09:27:55 +00:00
|
|
|
reg byte a [ init_angle_screen::$4 ]
|
2020-04-19 09:05:54 +00:00
|
|
|
reg byte a [ init_angle_screen::$5 ]
|
2020-06-27 21:26:57 +00:00
|
|
|
zp[1]:19 [ init_angle_screen::ang_w#0 sin_offset_y#11 sin_offset_y#10 sin_offset_y#13 ]
|
2020-04-19 09:05:54 +00:00
|
|
|
reg byte a [ init_angle_screen::$9 ]
|
|
|
|
reg byte a [ init_angle_screen::$10 ]
|
|
|
|
reg byte a [ init_angle_screen::$11 ]
|
2020-06-27 21:26:57 +00:00
|
|
|
reg byte x [ make_plasma_charset::$3 ]
|
|
|
|
zp[1]:20 [ make_plasma_charset::s#0 doplasma::y#4 doplasma::y#1 init_angle_screen::x#2 init_angle_screen::x#1 init_dist_screen::x#2 init_dist_screen::x#1 ]
|
|
|
|
reg byte a [ make_plasma_charset::$12 ]
|
|
|
|
reg byte a [ make_plasma_charset::sid_rnd1_return#0 ]
|
|
|
|
zp[1]:21 [ make_plasma_charset::$7 init_angle_screen::xb#2 init_angle_screen::xb#1 init_dist_screen::xb#2 init_dist_screen::xb#1 ]
|
|
|
|
zp[2]:22 [ doplasma::sin_x#0 init_angle_screen::xw#0 atan2_16::x#0 ]
|
|
|
|
zp[2]:24 [ doplasma::sin_y#0 init_angle_screen::yw#0 atan2_16::y#0 ]
|
|
|
|
reg byte a [ doplasma::$2 ]
|
|
|
|
reg byte a [ init_squares::$3 ]
|
|
|
|
reg byte a [ init_squares::$4 ]
|
|
|
|
reg byte a [ sqr::$0 ]
|
|
|
|
reg byte a [ sqrt::return#0 ]
|
2019-07-06 22:17:00 +00:00
|
|
|
reg byte a [ atan2_16::$23 ]
|
2019-11-03 16:05:55 +00:00
|
|
|
reg byte a [ atan2_16::$22 ]
|
2019-07-06 22:17:00 +00:00
|
|
|
reg byte a [ bsearch16u::$6 ]
|
2020-04-19 09:05:54 +00:00
|
|
|
reg byte a [ bsearch16u::$14 ]
|
2020-06-27 21:26:57 +00:00
|
|
|
zp[2]:26 [ bsearch16u::pivot#0 make_plasma_charset::$10 make_plasma_charset::$11 make_plasma_charset::$16 atan2_16::yd#5 atan2_16::yd#3 atan2_16::yd#10 atan2_16::yd#1 atan2_16::yd#2 ]
|
|
|
|
zp[2]:28 [ bsearch16u::result#0 memset::end#0 atan2_16::xd#5 atan2_16::xd#3 atan2_16::xd#10 atan2_16::xd#1 atan2_16::xd#2 ]
|