2019-07-06 22:17:00 +00:00
|
|
|
(label) @1
|
|
|
|
(label) @2
|
|
|
|
(label) @3
|
|
|
|
(label) @4
|
|
|
|
(label) @begin
|
|
|
|
(label) @end
|
2019-11-03 16:05:55 +00:00
|
|
|
(const byte) BLACK = (number) 0
|
2019-10-13 22:51:15 +00:00
|
|
|
(const byte*) CHARSET = (byte*) 8192
|
|
|
|
(const byte*) COLS = (byte*) 55296
|
|
|
|
(const word[CORDIC_ITERATIONS_16]) CORDIC_ATAN2_ANGLES_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
|
|
|
|
}}
|
2019-11-03 16:05:55 +00:00
|
|
|
(const byte) CORDIC_ITERATIONS_16 = (number) $f
|
2019-10-13 22:51:15 +00:00
|
|
|
(const byte*) D018 = (byte*) 53272
|
|
|
|
(const byte*) HEAP_TOP = (byte*) 40960
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) NUM_SQUARES
|
|
|
|
(const byte) NUM_SQUARES#3 NUM_SQUARES = (byte) $30
|
2019-10-13 22:51:15 +00:00
|
|
|
(const byte) RADIX::BINARY = (number) 2
|
|
|
|
(const byte) RADIX::DECIMAL = (number) $a
|
|
|
|
(const byte) RADIX::HEXADECIMAL = (number) $10
|
|
|
|
(const byte) RADIX::OCTAL = (number) 8
|
|
|
|
(const byte*) SCREEN1 = (byte*) 10240
|
|
|
|
(const byte*) SCREEN2 = (byte*) 11264
|
|
|
|
(void*) SCREEN_ANGLE zp[2]:13 0.05405405405405406
|
|
|
|
(void*) SCREEN_DIST zp[2]:11 0.05128205128205128
|
2019-11-03 16:05:55 +00:00
|
|
|
(const byte) SID_CONTROL_NOISE = (number) $80
|
2019-10-13 22:51:15 +00:00
|
|
|
(const byte*) SID_VOICE3_CONTROL = (byte*) 54290
|
|
|
|
(const word*) SID_VOICE3_FREQ = (word*) 54286
|
|
|
|
(const byte*) SID_VOICE3_OSC = (byte*) 54299
|
|
|
|
(const byte[$200]) SINTABLE = 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))
|
|
|
|
}}
|
2019-10-13 22:51:15 +00:00
|
|
|
(const byte) SIZEOF_WORD = (byte) 2
|
2019-07-06 22:17:00 +00:00
|
|
|
(word*) SQUARES
|
2019-10-12 09:40:36 +00:00
|
|
|
(void*) SQUARES#1 SQUARES zp[2]:9 0.03225806451612903
|
2019-07-06 22:17:00 +00:00
|
|
|
(word()) atan2_16((signed word) atan2_16::x , (signed word) atan2_16::y)
|
2019-10-13 22:51:15 +00:00
|
|
|
(signed word~) atan2_16::$2 zp[2]:7 4.0
|
2019-11-03 16:05:55 +00:00
|
|
|
(byte~) atan2_16::$22 reg byte a 2002.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte~) atan2_16::$23 reg byte a 2002.0
|
2019-10-13 22:51:15 +00:00
|
|
|
(signed word~) atan2_16::$7 zp[2]:26 4.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(label) atan2_16::@1
|
|
|
|
(label) atan2_16::@10
|
|
|
|
(label) atan2_16::@11
|
|
|
|
(label) atan2_16::@12
|
|
|
|
(label) atan2_16::@13
|
|
|
|
(label) atan2_16::@14
|
|
|
|
(label) atan2_16::@15
|
|
|
|
(label) atan2_16::@16
|
|
|
|
(label) atan2_16::@17
|
|
|
|
(label) atan2_16::@18
|
|
|
|
(label) atan2_16::@19
|
|
|
|
(label) atan2_16::@2
|
|
|
|
(label) atan2_16::@20
|
|
|
|
(label) atan2_16::@21
|
|
|
|
(label) atan2_16::@3
|
|
|
|
(label) atan2_16::@4
|
|
|
|
(label) atan2_16::@5
|
|
|
|
(label) atan2_16::@6
|
|
|
|
(label) atan2_16::@7
|
|
|
|
(label) atan2_16::@8
|
|
|
|
(label) atan2_16::@9
|
|
|
|
(label) atan2_16::@return
|
|
|
|
(word) atan2_16::angle
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) atan2_16::angle#1 angle zp[2]:16 3.0
|
|
|
|
(word) atan2_16::angle#11 angle zp[2]:16 4.0
|
|
|
|
(word) atan2_16::angle#12 angle zp[2]:16 190.66666666666666
|
|
|
|
(word) atan2_16::angle#13 angle zp[2]:16 1334.6666666666667
|
|
|
|
(word) atan2_16::angle#2 angle zp[2]:16 2002.0
|
|
|
|
(word) atan2_16::angle#3 angle zp[2]:16 2002.0
|
|
|
|
(word) atan2_16::angle#4 angle zp[2]:16 4.0
|
|
|
|
(word) atan2_16::angle#5 angle zp[2]:16 4.0
|
|
|
|
(word) atan2_16::angle#6 angle zp[2]:16 2004.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) atan2_16::i
|
|
|
|
(byte) atan2_16::i#1 reg byte x 1501.5
|
|
|
|
(byte) atan2_16::i#2 reg byte x 208.54166666666669
|
|
|
|
(word) atan2_16::return
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) atan2_16::return#0 return zp[2]:16 34.99999999999999
|
|
|
|
(word) atan2_16::return#2 return zp[2]:16 202.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) atan2_16::shift
|
|
|
|
(byte) atan2_16::shift#1 reg byte y 20002.0
|
|
|
|
(byte) atan2_16::shift#2 reg byte y 8001.25
|
|
|
|
(byte~) atan2_16::shift#5 reg byte y 667.3333333333334
|
|
|
|
(signed word) atan2_16::x
|
2019-10-12 09:40:36 +00:00
|
|
|
(signed word) atan2_16::x#0 x zp[2]:20 2.8684210526315796
|
2019-07-06 22:17:00 +00:00
|
|
|
(signed word) atan2_16::xd
|
2019-10-12 09:40:36 +00:00
|
|
|
(signed word) atan2_16::xd#1 xd zp[2]:9 6667.333333333333
|
|
|
|
(signed word~) atan2_16::xd#10 xd zp[2]:9 1001.0
|
|
|
|
(signed word) atan2_16::xd#2 xd zp[2]:9 1001.0
|
|
|
|
(signed word) atan2_16::xd#3 xd zp[2]:9 7668.333333333332
|
|
|
|
(signed word) atan2_16::xd#5 xd zp[2]:9 1001.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(signed word) atan2_16::xi
|
2019-10-12 09:40:36 +00:00
|
|
|
(signed word) atan2_16::xi#0 xi zp[2]:26 6.0
|
|
|
|
(signed word) atan2_16::xi#1 xi zp[2]:26 500.5
|
|
|
|
(signed word~) atan2_16::xi#13 xi zp[2]:26 4.0
|
|
|
|
(signed word) atan2_16::xi#2 xi zp[2]:26 500.5
|
|
|
|
(signed word) atan2_16::xi#3 xi zp[2]:26 267.0666666666667
|
|
|
|
(signed word) atan2_16::xi#8 xi zp[2]:26 1001.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(signed word) atan2_16::y
|
2019-10-12 09:40:36 +00:00
|
|
|
(signed word) atan2_16::y#0 y zp[2]:22 2.724999999999999
|
2019-07-06 22:17:00 +00:00
|
|
|
(signed word) atan2_16::yd
|
2019-10-12 09:40:36 +00:00
|
|
|
(signed word) atan2_16::yd#1 yd zp[2]:24 10001.0
|
|
|
|
(signed word~) atan2_16::yd#10 yd zp[2]:24 2002.0
|
|
|
|
(signed word) atan2_16::yd#2 yd zp[2]:24 2002.0
|
|
|
|
(signed word) atan2_16::yd#3 yd zp[2]:24 4601.0
|
|
|
|
(signed word) atan2_16::yd#5 yd zp[2]:24 2002.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(signed word) atan2_16::yi
|
2019-10-12 09:40:36 +00:00
|
|
|
(signed word) atan2_16::yi#0 yi zp[2]:7 1.2000000000000002
|
|
|
|
(signed word) atan2_16::yi#1 yi zp[2]:7 667.3333333333334
|
|
|
|
(signed word~) atan2_16::yi#16 yi zp[2]:7 4.0
|
|
|
|
(signed word) atan2_16::yi#2 yi zp[2]:7 667.3333333333334
|
|
|
|
(signed word) atan2_16::yi#3 yi zp[2]:7 353.4117647058823
|
|
|
|
(signed word) atan2_16::yi#8 yi zp[2]:7 1001.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(word*()) bsearch16u((word) bsearch16u::key , (word*) bsearch16u::items , (byte) bsearch16u::num)
|
|
|
|
(byte~) bsearch16u::$16 reg byte a 2002.0
|
2019-10-13 22:51:15 +00:00
|
|
|
(word*~) bsearch16u::$2 zp[2]:7 4.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte~) bsearch16u::$6 reg byte a 2002.0
|
|
|
|
(label) bsearch16u::@1
|
|
|
|
(label) bsearch16u::@2
|
|
|
|
(label) bsearch16u::@3
|
|
|
|
(label) bsearch16u::@4
|
|
|
|
(label) bsearch16u::@5
|
|
|
|
(label) bsearch16u::@6
|
|
|
|
(label) bsearch16u::@7
|
|
|
|
(label) bsearch16u::@8
|
|
|
|
(label) bsearch16u::@9
|
|
|
|
(label) bsearch16u::@return
|
|
|
|
(word*) bsearch16u::items
|
2019-10-12 09:40:36 +00:00
|
|
|
(word*) bsearch16u::items#0 items zp[2]:7 1001.0
|
|
|
|
(word*) bsearch16u::items#1 items zp[2]:7 2.0
|
|
|
|
(word*) bsearch16u::items#2 items zp[2]:7 334.5555555555556
|
|
|
|
(word*) bsearch16u::items#8 items zp[2]:7 1501.5
|
2019-07-06 22:17:00 +00:00
|
|
|
(word) bsearch16u::key
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) bsearch16u::key#0 key zp[2]:22 0.26666666666666666
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) bsearch16u::num
|
2019-08-25 20:21:56 +00:00
|
|
|
(byte) bsearch16u::num#0 reg byte x 2002.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) bsearch16u::num#1 reg byte x 2002.0
|
2019-08-25 20:21:56 +00:00
|
|
|
(byte) bsearch16u::num#3 reg byte x 556.1111111111111
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) bsearch16u::num#5 reg byte x 3003.0
|
|
|
|
(word*) bsearch16u::pivot
|
2019-10-12 09:40:36 +00:00
|
|
|
(word*) bsearch16u::pivot#0 pivot zp[2]:24 501.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(signed word) bsearch16u::result
|
2019-10-12 09:40:36 +00:00
|
|
|
(signed word) bsearch16u::result#0 result zp[2]:26 1501.5
|
2019-07-06 22:17:00 +00:00
|
|
|
(word*) bsearch16u::return
|
2019-10-12 09:40:36 +00:00
|
|
|
(word*) bsearch16u::return#1 return zp[2]:7 2.0
|
|
|
|
(word*) bsearch16u::return#2 return zp[2]:7 6.0
|
|
|
|
(word*) bsearch16u::return#3 return zp[2]:7 4.0
|
|
|
|
(word*~) bsearch16u::return#6 return zp[2]:7 4.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(void()) doplasma((byte*) doplasma::screen)
|
|
|
|
(byte~) doplasma::$2 reg byte a 2002.0
|
|
|
|
(label) doplasma::@1
|
|
|
|
(label) doplasma::@2
|
|
|
|
(label) doplasma::@3
|
|
|
|
(label) doplasma::@4
|
|
|
|
(label) doplasma::@return
|
|
|
|
(byte*) doplasma::angle
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) doplasma::angle#0 angle zp[2]:3 1.0
|
|
|
|
(byte*) doplasma::angle#1 angle zp[2]:3 50.5
|
|
|
|
(byte*) doplasma::angle#4 angle zp[2]:3 172.14285714285714
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) doplasma::dist
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) doplasma::dist#0 dist zp[2]:5 1.3333333333333333
|
|
|
|
(byte*) doplasma::dist#1 dist zp[2]:5 67.33333333333333
|
|
|
|
(byte*) doplasma::dist#4 dist zp[2]:5 150.625
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) doplasma::screen
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) doplasma::screen#2 screen zp[2]:7 40.4
|
|
|
|
(byte*) doplasma::screen#5 screen zp[2]:7 200.83333333333334
|
|
|
|
(byte*) doplasma::screen#6 screen zp[2]:7 0.4
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) doplasma::sin_x
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) doplasma::sin_x#0 sin_x zp[2]:26 77.15384615384616
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) doplasma::sin_y
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) doplasma::sin_y#0 sin_y zp[2]:16 83.58333333333334
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) doplasma::x
|
|
|
|
(byte) doplasma::x#1 reg byte x 1501.5
|
|
|
|
(byte) doplasma::x#2 reg byte x 1668.3333333333335
|
|
|
|
(byte) doplasma::y
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) doplasma::y#1 y zp[1]:18 151.5
|
|
|
|
(byte) doplasma::y#4 y zp[1]:18 22.444444444444443
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) heap_head
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) heap_head#1 heap_head zp[2]:24 0.6000000000000001
|
|
|
|
(byte*) heap_head#12 heap_head zp[2]:24 6.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(void()) init_angle_screen((byte*) init_angle_screen::screen)
|
2019-10-13 22:51:15 +00:00
|
|
|
(word~) init_angle_screen::$11 zp[2]:16 202.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte~) init_angle_screen::$13 reg byte a 202.0
|
|
|
|
(byte~) init_angle_screen::$14 reg byte a 202.0
|
2019-08-07 09:27:55 +00:00
|
|
|
(byte~) init_angle_screen::$15 reg byte a 202.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte~) init_angle_screen::$3 reg byte a 202.0
|
2019-08-07 09:27:55 +00:00
|
|
|
(byte~) init_angle_screen::$4 reg byte a 202.0
|
|
|
|
(byte~) init_angle_screen::$7 reg byte a 202.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(label) init_angle_screen::@1
|
|
|
|
(label) init_angle_screen::@2
|
|
|
|
(label) init_angle_screen::@3
|
|
|
|
(label) init_angle_screen::@4
|
2019-08-07 09:27:55 +00:00
|
|
|
(label) init_angle_screen::@5
|
2019-07-06 22:17:00 +00:00
|
|
|
(label) init_angle_screen::@return
|
|
|
|
(byte) init_angle_screen::ang_w
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) init_angle_screen::ang_w#0 ang_w zp[1]:19 84.16666666666666
|
2019-07-06 22:17:00 +00:00
|
|
|
(word) init_angle_screen::angle_w
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) init_angle_screen::angle_w#0 angle_w zp[2]:16 202.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) init_angle_screen::screen
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) init_angle_screen::screen#0 screen zp[2]:5 3.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) init_angle_screen::screen_bottomline
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) init_angle_screen::screen_bottomline#0 screen_bottomline zp[2]:5 4.0
|
|
|
|
(byte*) init_angle_screen::screen_bottomline#1 screen_bottomline zp[2]:5 7.333333333333333
|
|
|
|
(byte*) init_angle_screen::screen_bottomline#6 screen_bottomline zp[2]:5 9.04
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) init_angle_screen::screen_topline
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) init_angle_screen::screen_topline#0 screen_topline zp[2]:3 2.0
|
|
|
|
(byte*) init_angle_screen::screen_topline#1 screen_topline zp[2]:3 5.5
|
|
|
|
(byte*) init_angle_screen::screen_topline#6 screen_topline zp[2]:3 9.416666666666666
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) init_angle_screen::x
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) init_angle_screen::x#1 x zp[1]:18 101.0
|
|
|
|
(byte) init_angle_screen::x#2 x zp[1]:18 28.857142857142858
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) init_angle_screen::xb
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) init_angle_screen::xb#1 xb zp[1]:2 202.0
|
|
|
|
(byte) init_angle_screen::xb#2 xb zp[1]:2 18.363636363636363
|
2019-07-06 22:17:00 +00:00
|
|
|
(signed word) init_angle_screen::xw
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) init_angle_screen::xw#0 xw zp[2]:20 33.666666666666664
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) init_angle_screen::y
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) init_angle_screen::y#1 y zp[1]:15 16.5
|
|
|
|
(byte) init_angle_screen::y#5 y zp[1]:15 4.730769230769231
|
2019-07-06 22:17:00 +00:00
|
|
|
(signed word) init_angle_screen::yw
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) init_angle_screen::yw#0 yw zp[2]:22 50.5
|
2019-07-06 22:17:00 +00:00
|
|
|
(void()) init_dist_screen((byte*) init_dist_screen::screen)
|
2019-08-07 09:27:55 +00:00
|
|
|
(byte~) init_dist_screen::$14 reg byte a 202.0
|
|
|
|
(byte~) init_dist_screen::$16 reg byte a 202.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte~) init_dist_screen::$5 reg byte a 22.0
|
|
|
|
(byte~) init_dist_screen::$7 reg byte a 22.0
|
|
|
|
(label) init_dist_screen::@1
|
|
|
|
(label) init_dist_screen::@10
|
|
|
|
(label) init_dist_screen::@11
|
|
|
|
(label) init_dist_screen::@12
|
|
|
|
(label) init_dist_screen::@13
|
2019-08-07 09:27:55 +00:00
|
|
|
(label) init_dist_screen::@14
|
2019-07-06 22:17:00 +00:00
|
|
|
(label) init_dist_screen::@2
|
|
|
|
(label) init_dist_screen::@3
|
|
|
|
(label) init_dist_screen::@4
|
|
|
|
(label) init_dist_screen::@5
|
|
|
|
(label) init_dist_screen::@6
|
|
|
|
(label) init_dist_screen::@7
|
|
|
|
(label) init_dist_screen::@8
|
|
|
|
(label) init_dist_screen::@9
|
|
|
|
(label) init_dist_screen::@return
|
|
|
|
(byte) init_dist_screen::d
|
|
|
|
(byte) init_dist_screen::d#0 reg byte a 126.25
|
|
|
|
(word) init_dist_screen::ds
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) init_dist_screen::ds#0 ds zp[2]:22 202.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) init_dist_screen::screen
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) init_dist_screen::screen#0 screen zp[2]:3 1.5
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) init_dist_screen::screen_bottomline
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) init_dist_screen::screen_bottomline#0 screen_bottomline zp[2]:5 4.0
|
|
|
|
(byte*) init_dist_screen::screen_bottomline#1 screen_bottomline zp[2]:5 7.333333333333333
|
|
|
|
(byte*) init_dist_screen::screen_bottomline#11 screen_bottomline zp[2]:5 6.848484848484849
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) init_dist_screen::screen_topline
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) init_dist_screen::screen_topline#1 screen_topline zp[2]:3 5.5
|
|
|
|
(byte*) init_dist_screen::screen_topline#11 screen_topline zp[2]:3 7.0625
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) init_dist_screen::x
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) init_dist_screen::x#1 x zp[1]:15 101.0
|
|
|
|
(byte) init_dist_screen::x#2 x zp[1]:15 30.3
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) init_dist_screen::x2
|
|
|
|
(byte) init_dist_screen::x2#0 reg byte a 202.0
|
|
|
|
(byte) init_dist_screen::xb
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) init_dist_screen::xb#1 xb zp[1]:18 202.0
|
|
|
|
(byte) init_dist_screen::xb#2 xb zp[1]:18 19.238095238095237
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) init_dist_screen::xd
|
|
|
|
(byte) init_dist_screen::xd#0 reg byte a 303.0
|
|
|
|
(word) init_dist_screen::xds
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) init_dist_screen::xds#0 xds zp[2]:22 202.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) init_dist_screen::y
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) init_dist_screen::y#1 y zp[1]:2 16.5
|
|
|
|
(byte) init_dist_screen::y#10 y zp[1]:2 0.9705882352941178
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) init_dist_screen::y2
|
|
|
|
(byte) init_dist_screen::y2#0 reg byte a 22.0
|
|
|
|
(byte) init_dist_screen::yd
|
|
|
|
(byte) init_dist_screen::yd#0 reg byte a 33.0
|
|
|
|
(word) init_dist_screen::yds
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) init_dist_screen::yds#0 yds zp[2]:20 4.869565217391305
|
2019-07-06 22:17:00 +00:00
|
|
|
(void()) init_squares()
|
|
|
|
(byte~) init_squares::$3 reg byte a 22.0
|
|
|
|
(byte~) init_squares::$4 reg byte a 22.0
|
|
|
|
(label) init_squares::@1
|
|
|
|
(label) init_squares::@2
|
|
|
|
(label) init_squares::@return
|
|
|
|
(byte) init_squares::i
|
|
|
|
(byte) init_squares::i#1 reg byte x 16.5
|
|
|
|
(byte) init_squares::i#2 reg byte x 5.5
|
|
|
|
(word) init_squares::sqr
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) init_squares::sqr#1 sqr zp[2]:26 7.333333333333333
|
|
|
|
(word) init_squares::sqr#2 sqr zp[2]:26 6.6000000000000005
|
2019-07-06 22:17:00 +00:00
|
|
|
(word*) init_squares::squares
|
2019-10-12 09:40:36 +00:00
|
|
|
(word*) init_squares::squares#0 squares zp[2]:16 4.0
|
|
|
|
(word*) init_squares::squares#1 squares zp[2]:16 3.6666666666666665
|
|
|
|
(word*) init_squares::squares#2 squares zp[2]:16 17.5
|
2019-07-06 22:17:00 +00:00
|
|
|
(void()) main()
|
|
|
|
(label) main::@1
|
|
|
|
(label) main::@2
|
|
|
|
(label) main::@3
|
|
|
|
(label) main::@4
|
|
|
|
(label) main::@5
|
|
|
|
(label) main::@6
|
|
|
|
(label) main::@7
|
|
|
|
(label) main::toD0181
|
|
|
|
(byte*) main::toD0181_gfx
|
|
|
|
(byte) main::toD0181_return
|
2019-09-29 18:57:23 +00:00
|
|
|
(const byte) main::toD0181_return#0 toD0181_return = >(word)(const byte*) SCREEN1&(word) $3fff*(byte) 4|>(word)(const byte*) CHARSET/(byte) 4&(byte) $f
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) main::toD0181_screen
|
|
|
|
(label) main::toD0182
|
|
|
|
(byte*) main::toD0182_gfx
|
|
|
|
(byte) main::toD0182_return
|
2019-09-29 18:57:23 +00:00
|
|
|
(const byte) main::toD0182_return#0 toD0182_return = >(word)(const byte*) SCREEN2&(word) $3fff*(byte) 4|>(word)(const byte*) CHARSET/(byte) 4&(byte) $f
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) main::toD0182_screen
|
|
|
|
(void()) make_plasma_charset((byte*) make_plasma_charset::charset)
|
2019-10-13 22:51:15 +00:00
|
|
|
(word~) make_plasma_charset::$10 zp[2]:16 202.0
|
|
|
|
(word~) make_plasma_charset::$11 zp[2]:16 202.0
|
2019-08-07 09:27:55 +00:00
|
|
|
(byte~) make_plasma_charset::$12 reg byte a 22.0
|
2019-10-13 22:51:15 +00:00
|
|
|
(byte*~) make_plasma_charset::$16 zp[2]:16 202.0
|
2019-08-07 09:27:55 +00:00
|
|
|
(byte~) make_plasma_charset::$3 reg byte a 22.0
|
|
|
|
(byte~) make_plasma_charset::$6 reg byte a 2002.0
|
2019-10-13 22:51:15 +00:00
|
|
|
(byte~) make_plasma_charset::$7 zp[1]:18 2002.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(label) make_plasma_charset::@1
|
|
|
|
(label) make_plasma_charset::@10
|
|
|
|
(label) make_plasma_charset::@11
|
2019-08-07 09:27:55 +00:00
|
|
|
(label) make_plasma_charset::@12
|
|
|
|
(label) make_plasma_charset::@13
|
2019-07-06 22:17:00 +00:00
|
|
|
(label) make_plasma_charset::@2
|
|
|
|
(label) make_plasma_charset::@3
|
|
|
|
(label) make_plasma_charset::@4
|
|
|
|
(label) make_plasma_charset::@5
|
|
|
|
(label) make_plasma_charset::@6
|
|
|
|
(label) make_plasma_charset::@7
|
|
|
|
(label) make_plasma_charset::@8
|
|
|
|
(label) make_plasma_charset::@9
|
|
|
|
(label) make_plasma_charset::@return
|
|
|
|
(byte) make_plasma_charset::b
|
|
|
|
(byte) make_plasma_charset::b#1 reg byte y 2002.0
|
2019-08-25 20:21:56 +00:00
|
|
|
(byte) make_plasma_charset::b#2 reg byte y 282.1818181818182
|
|
|
|
(byte) make_plasma_charset::b#6 reg byte y 1501.5
|
2019-10-13 22:51:15 +00:00
|
|
|
(const byte[8]) make_plasma_charset::bittab = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 }
|
2019-07-06 22:17:00 +00:00
|
|
|
(word) make_plasma_charset::c
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) make_plasma_charset::c#1 c zp[2]:5 22.0
|
|
|
|
(word) make_plasma_charset::c#2 c zp[2]:5 5.777777777777778
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) make_plasma_charset::charset
|
|
|
|
(byte) make_plasma_charset::i
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) make_plasma_charset::i#1 i zp[1]:2 202.0
|
|
|
|
(byte) make_plasma_charset::i#2 i zp[1]:2 23.764705882352942
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) make_plasma_charset::ii
|
2019-08-25 20:21:56 +00:00
|
|
|
(byte) make_plasma_charset::ii#1 reg byte x 2002.0
|
|
|
|
(byte) make_plasma_charset::ii#2 reg byte x 400.4
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) make_plasma_charset::s
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) make_plasma_charset::s#0 s zp[1]:15 53.26315789473684
|
2019-07-06 22:17:00 +00:00
|
|
|
(void*()) malloc((word) malloc::size)
|
|
|
|
(label) malloc::@return
|
|
|
|
(byte*) malloc::mem
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) malloc::mem#0 mem zp[2]:9 0.6666666666666666
|
2019-07-06 22:17:00 +00:00
|
|
|
(void*) malloc::return
|
|
|
|
(word) malloc::size
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) malloc::size#3 size zp[2]:9 2.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
|
|
|
|
(label) memset::@1
|
2019-07-17 23:54:16 +00:00
|
|
|
(label) memset::@2
|
2019-08-07 09:27:55 +00:00
|
|
|
(label) memset::@3
|
2019-07-06 22:17:00 +00:00
|
|
|
(label) memset::@return
|
|
|
|
(byte) memset::c
|
2019-08-07 09:27:55 +00:00
|
|
|
(byte) memset::c#4 reg byte x 1.5714285714285714
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) memset::dst
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) memset::dst#1 dst zp[2]:3 22.0
|
|
|
|
(byte*) memset::dst#2 dst zp[2]:3 15.333333333333332
|
|
|
|
(byte*~) memset::dst#4 dst zp[2]:3 4.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte*) memset::end
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) memset::end#0 end zp[2]:26 2.1666666666666665
|
2019-07-06 22:17:00 +00:00
|
|
|
(word) memset::num
|
|
|
|
(void*) memset::return
|
|
|
|
(void*) memset::str
|
2019-10-12 09:40:36 +00:00
|
|
|
(void*) memset::str#3 str zp[2]:3
|
2019-07-06 22:17:00 +00:00
|
|
|
(void()) print_char((byte) print_char::ch)
|
|
|
|
(label) print_char::@return
|
|
|
|
(byte) print_char::ch
|
|
|
|
(const byte) print_char::ch#0 ch = (byte) '.'
|
|
|
|
(byte*) print_char_cursor
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte*) print_char_cursor#1 print_char_cursor zp[2]:7 4.333333333333333
|
|
|
|
(byte*) print_char_cursor#18 print_char_cursor zp[2]:7 1.0
|
|
|
|
(byte*) print_char_cursor#30 print_char_cursor zp[2]:7 16.5
|
2019-07-06 22:17:00 +00:00
|
|
|
(void()) print_cls()
|
|
|
|
(label) print_cls::@return
|
|
|
|
(byte*) print_line_cursor
|
|
|
|
(const byte*) print_line_cursor#0 print_line_cursor = (byte*) 1024
|
|
|
|
(byte*) print_screen
|
|
|
|
(byte()) sid_rnd()
|
|
|
|
(label) sid_rnd::@return
|
|
|
|
(byte) sid_rnd::return
|
|
|
|
(byte) sid_rnd::return#0 reg byte a 334.33333333333337
|
|
|
|
(byte) sid_rnd::return#2 reg byte a 2002.0
|
|
|
|
(void()) sid_rnd_init()
|
|
|
|
(label) sid_rnd_init::@return
|
|
|
|
(byte) sin_offset_x
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) sin_offset_x#10 sin_offset_x zp[1]:2 1.625
|
|
|
|
(byte) sin_offset_x#12 sin_offset_x zp[1]:2 2.666666666666667
|
|
|
|
(byte) sin_offset_x#14 sin_offset_x zp[1]:2 11.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) sin_offset_y
|
2019-10-12 09:40:36 +00:00
|
|
|
(byte) sin_offset_y#10 sin_offset_y zp[1]:15 1.5294117647058825
|
|
|
|
(byte) sin_offset_y#12 sin_offset_y zp[1]:15 3.0
|
|
|
|
(byte) sin_offset_y#14 sin_offset_y zp[1]:15 11.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(word()) sqr((byte) sqr::val)
|
|
|
|
(byte~) sqr::$0 reg byte a 4.0
|
|
|
|
(label) sqr::@return
|
|
|
|
(word) sqr::return
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) sqr::return#0 return zp[2]:22 28.5
|
2019-10-19 23:43:51 +00:00
|
|
|
(word) sqr::return#2 return_1 zp[2]:20 22.0
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) sqr::return#3 return zp[2]:22 202.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) sqr::val
|
|
|
|
(byte) sqr::val#0 reg byte a 22.0
|
|
|
|
(byte) sqr::val#1 reg byte a 202.0
|
|
|
|
(byte) sqr::val#2 reg byte a 114.0
|
|
|
|
(byte()) sqrt((word) sqrt::val)
|
2019-10-13 22:51:15 +00:00
|
|
|
(word~) sqrt::$1 zp[2]:7 2.0
|
|
|
|
(word~) sqrt::$3 zp[2]:7 4.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(label) sqrt::@1
|
|
|
|
(label) sqrt::@return
|
|
|
|
(word*) sqrt::found
|
2019-10-12 09:40:36 +00:00
|
|
|
(word*) sqrt::found#0 found zp[2]:7 4.0
|
2019-07-06 22:17:00 +00:00
|
|
|
(byte) sqrt::return
|
|
|
|
(byte) sqrt::return#0 reg byte a 34.33333333333333
|
|
|
|
(byte) sqrt::return#2 reg byte a 202.0
|
|
|
|
(byte) sqrt::sq
|
|
|
|
(word) sqrt::val
|
2019-10-12 09:40:36 +00:00
|
|
|
(word) sqrt::val#0 val zp[2]:22 103.0
|
2019-07-06 22:17:00 +00:00
|
|
|
|
|
|
|
reg byte x [ doplasma::x#2 doplasma::x#1 ]
|
2019-08-07 09:27:55 +00:00
|
|
|
reg byte x [ memset::c#4 ]
|
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 ]
|
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 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[1]:2 [ init_dist_screen::y#10 init_dist_screen::y#1 init_angle_screen::xb#2 init_angle_screen::xb#1 make_plasma_charset::i#2 make_plasma_charset::i#1 sin_offset_x#10 sin_offset_x#14 sin_offset_x#12 ]
|
|
|
|
zp[2]:3 [ init_dist_screen::screen_topline#11 init_dist_screen::screen#0 init_dist_screen::screen_topline#1 init_angle_screen::screen_topline#6 init_angle_screen::screen_topline#0 init_angle_screen::screen_topline#1 memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 doplasma::angle#4 doplasma::angle#0 doplasma::angle#1 ]
|
|
|
|
zp[2]:5 [ init_dist_screen::screen_bottomline#11 init_dist_screen::screen_bottomline#0 init_dist_screen::screen_bottomline#1 init_angle_screen::screen_bottomline#6 init_angle_screen::screen_bottomline#0 init_angle_screen::screen_bottomline#1 init_angle_screen::screen#0 make_plasma_charset::c#2 make_plasma_charset::c#1 doplasma::dist#4 doplasma::dist#0 doplasma::dist#1 ]
|
2019-07-06 22:17:00 +00:00
|
|
|
reg byte a [ init_dist_screen::yd#0 init_dist_screen::$7 init_dist_screen::$5 ]
|
2019-08-07 09:27:55 +00:00
|
|
|
reg byte a [ init_dist_screen::xd#0 init_dist_screen::$16 init_dist_screen::$14 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[2]:7 [ bsearch16u::return#1 bsearch16u::return#6 bsearch16u::return#2 bsearch16u::items#2 bsearch16u::items#1 bsearch16u::items#8 bsearch16u::$2 bsearch16u::items#0 bsearch16u::return#3 sqrt::found#0 sqrt::$3 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 print_char_cursor#18 print_char_cursor#30 print_char_cursor#1 doplasma::screen#5 doplasma::screen#6 doplasma::screen#2 ]
|
2019-08-25 20:21:56 +00:00
|
|
|
reg byte x [ bsearch16u::num#5 bsearch16u::num#1 bsearch16u::num#3 bsearch16u::num#0 ]
|
2019-08-07 09:27:55 +00:00
|
|
|
reg byte a [ sqr::val#2 sqr::val#1 sqr::val#0 ]
|
2019-07-06 22:17:00 +00:00
|
|
|
reg byte x [ init_squares::i#2 init_squares::i#1 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[2]:9 [ malloc::size#3 malloc::mem#0 SQUARES#1 atan2_16::xd#5 atan2_16::xd#3 atan2_16::xd#10 atan2_16::xd#1 atan2_16::xd#2 ]
|
|
|
|
zp[2]:11 [ SCREEN_DIST ]
|
|
|
|
zp[2]:13 [ SCREEN_ANGLE ]
|
2019-07-06 22:17:00 +00:00
|
|
|
reg byte a [ doplasma::$2 ]
|
|
|
|
reg byte a [ make_plasma_charset::$3 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[1]:15 [ make_plasma_charset::s#0 init_dist_screen::x#2 init_dist_screen::x#1 init_angle_screen::y#5 init_angle_screen::y#1 sin_offset_y#10 sin_offset_y#14 sin_offset_y#12 ]
|
2019-08-25 20:21:56 +00:00
|
|
|
reg byte a [ make_plasma_charset::$12 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[2]:16 [ make_plasma_charset::$10 make_plasma_charset::$11 make_plasma_charset::$16 doplasma::sin_y#0 init_squares::squares#2 init_squares::squares#1 init_squares::squares#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#5 atan2_16::angle#11 atan2_16::angle#1 atan2_16::angle#4 atan2_16::return#2 init_angle_screen::angle_w#0 init_angle_screen::$11 ]
|
2019-08-07 09:27:55 +00:00
|
|
|
reg byte a [ sid_rnd::return#2 ]
|
|
|
|
reg byte a [ make_plasma_charset::$6 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[1]:18 [ make_plasma_charset::$7 init_dist_screen::xb#2 init_dist_screen::xb#1 init_angle_screen::x#2 init_angle_screen::x#1 doplasma::y#4 doplasma::y#1 ]
|
2019-07-06 22:17:00 +00:00
|
|
|
reg byte a [ sid_rnd::return#0 ]
|
|
|
|
reg byte a [ init_angle_screen::$3 ]
|
2019-08-07 09:27:55 +00:00
|
|
|
reg byte a [ init_angle_screen::$4 ]
|
|
|
|
reg byte a [ init_angle_screen::$7 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[1]:19 [ init_angle_screen::ang_w#0 ]
|
2019-07-06 22:17:00 +00:00
|
|
|
reg byte a [ init_angle_screen::$13 ]
|
|
|
|
reg byte a [ init_angle_screen::$14 ]
|
2019-08-07 09:27:55 +00:00
|
|
|
reg byte a [ init_angle_screen::$15 ]
|
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 [ init_dist_screen::y2#0 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[2]:20 [ sqr::return#2 init_dist_screen::yds#0 init_angle_screen::xw#0 atan2_16::x#0 ]
|
2019-07-06 22:17:00 +00:00
|
|
|
reg byte a [ init_dist_screen::x2#0 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[2]:22 [ sqr::return#3 init_dist_screen::xds#0 sqr::return#0 init_dist_screen::ds#0 sqrt::val#0 bsearch16u::key#0 init_angle_screen::yw#0 atan2_16::y#0 ]
|
2019-07-06 22:17:00 +00:00
|
|
|
reg byte a [ sqrt::return#2 ]
|
|
|
|
reg byte a [ init_dist_screen::d#0 ]
|
|
|
|
reg byte a [ sqrt::return#0 ]
|
|
|
|
reg byte a [ bsearch16u::$6 ]
|
|
|
|
reg byte a [ bsearch16u::$16 ]
|
2019-10-12 09:40:36 +00:00
|
|
|
zp[2]:24 [ bsearch16u::pivot#0 heap_head#12 heap_head#1 atan2_16::yd#5 atan2_16::yd#3 atan2_16::yd#10 atan2_16::yd#1 atan2_16::yd#2 ]
|
|
|
|
zp[2]:26 [ bsearch16u::result#0 memset::end#0 doplasma::sin_x#0 init_squares::sqr#2 init_squares::sqr#1 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 ]
|
2019-07-06 22:17:00 +00:00
|
|
|
reg byte a [ sqr::$0 ]
|
|
|
|
reg byte a [ init_squares::$3 ]
|
|
|
|
reg byte a [ init_squares::$4 ]
|