1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-20 03:29:32 +00:00
kickc/src/test/ref/bitmap-line-anim-1.log

4452 lines
270 KiB
Plaintext
Raw Normal View History

2020-10-05 20:58:02 +00:00
Inlined call vicSelectGfxBank::$0 = call toDd00 vicSelectGfxBank::gfx
Inlined call call __init
CONTROL FLOW GRAPH SSA
2020-10-05 20:58:02 +00:00
void bitmap_init(byte* bitmap_init::bitmap)
bitmap_init: scope:[bitmap_init] from main
2020-10-05 20:58:02 +00:00
bitmap_init::bitmap#2 = phi( main/bitmap_init::bitmap#0 )
bitmap_init::bits#0 = $80
bitmap_init::x#0 = 0
to:bitmap_init::@1
bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2
2020-10-05 20:58:02 +00:00
bitmap_init::bits#3 = phi( bitmap_init/bitmap_init::bits#0, bitmap_init::@2/bitmap_init::bits#4 )
bitmap_init::bitmap#1 = phi( bitmap_init/bitmap_init::bitmap#2, bitmap_init::@2/bitmap_init::bitmap#3 )
bitmap_init::x#2 = phi( bitmap_init/bitmap_init::x#0, bitmap_init::@2/bitmap_init::x#1 )
bitmap_init::$0 = bitmap_init::x#2 & $f8
bitmap_plot_xlo[bitmap_init::x#2] = bitmap_init::$0
bitmap_init::$1 = > bitmap_init::bitmap#1
bitmap_plot_xhi[bitmap_init::x#2] = bitmap_init::$1
bitmap_plot_bit[bitmap_init::x#2] = bitmap_init::bits#3
bitmap_init::$2 = bitmap_init::bits#3 >> 1
bitmap_init::bits#1 = bitmap_init::$2
bitmap_init::$3 = bitmap_init::bits#1 == 0
bitmap_init::$4 = ! bitmap_init::$3
if(bitmap_init::$4) goto bitmap_init::@2
to:bitmap_init::@3
bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@3
2020-10-05 20:58:02 +00:00
bitmap_init::bits#4 = phi( bitmap_init::@1/bitmap_init::bits#1, bitmap_init::@3/bitmap_init::bits#2 )
bitmap_init::bitmap#3 = phi( bitmap_init::@1/bitmap_init::bitmap#1, bitmap_init::@3/bitmap_init::bitmap#4 )
bitmap_init::x#3 = phi( bitmap_init::@1/bitmap_init::x#2, bitmap_init::@3/bitmap_init::x#4 )
bitmap_init::x#1 = bitmap_init::x#3 + rangenext(0,$ff)
bitmap_init::$5 = bitmap_init::x#1 != rangelast(0,$ff)
if(bitmap_init::$5) goto bitmap_init::@1
to:bitmap_init::@4
bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@1
2020-10-05 20:58:02 +00:00
bitmap_init::bitmap#4 = phi( bitmap_init::@1/bitmap_init::bitmap#1 )
bitmap_init::x#4 = phi( bitmap_init::@1/bitmap_init::x#2 )
bitmap_init::bits#2 = $80
to:bitmap_init::@2
bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@2
2020-10-05 20:58:02 +00:00
bitmap_init::yoffs#0 = (byte*)0
bitmap_init::y#0 = 0
to:bitmap_init::@5
bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@4 bitmap_init::@6
2020-10-05 20:58:02 +00:00
bitmap_init::yoffs#2 = phi( bitmap_init::@4/bitmap_init::yoffs#0, bitmap_init::@6/bitmap_init::yoffs#4 )
bitmap_init::y#2 = phi( bitmap_init::@4/bitmap_init::y#0, bitmap_init::@6/bitmap_init::y#1 )
bitmap_init::$6 = bitmap_init::y#2 & 7
bitmap_init::$7 = < bitmap_init::yoffs#2
bitmap_init::$8 = bitmap_init::$6 | bitmap_init::$7
bitmap_plot_ylo[bitmap_init::y#2] = bitmap_init::$8
bitmap_init::$9 = > bitmap_init::yoffs#2
bitmap_plot_yhi[bitmap_init::y#2] = bitmap_init::$9
bitmap_init::$10 = bitmap_init::y#2 & 7
bitmap_init::$11 = bitmap_init::$10 == 7
bitmap_init::$12 = ! bitmap_init::$11
if(bitmap_init::$12) goto bitmap_init::@6
to:bitmap_init::@7
bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@5 bitmap_init::@7
2020-10-05 20:58:02 +00:00
bitmap_init::yoffs#4 = phi( bitmap_init::@5/bitmap_init::yoffs#2, bitmap_init::@7/bitmap_init::yoffs#1 )
bitmap_init::y#3 = phi( bitmap_init::@5/bitmap_init::y#2, bitmap_init::@7/bitmap_init::y#4 )
bitmap_init::y#1 = bitmap_init::y#3 + rangenext(0,$ff)
bitmap_init::$14 = bitmap_init::y#1 != rangelast(0,$ff)
if(bitmap_init::$14) goto bitmap_init::@5
to:bitmap_init::@return
bitmap_init::@7: scope:[bitmap_init] from bitmap_init::@5
2020-10-05 20:58:02 +00:00
bitmap_init::y#4 = phi( bitmap_init::@5/bitmap_init::y#2 )
bitmap_init::yoffs#3 = phi( bitmap_init::@5/bitmap_init::yoffs#2 )
bitmap_init::$13 = bitmap_init::yoffs#3 + $28*8
bitmap_init::yoffs#1 = bitmap_init::$13
to:bitmap_init::@6
bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@6
return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_clear()
bitmap_clear: scope:[bitmap_clear] from main::@2
2020-10-05 20:58:02 +00:00
bitmap_clear::bitmap#0 = (byte*){ bitmap_plot_xhi[0], bitmap_plot_xlo[0] }
bitmap_clear::y#0 = 0
to:bitmap_clear::@1
bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear bitmap_clear::@3
2020-10-05 20:58:02 +00:00
bitmap_clear::y#4 = phi( bitmap_clear/bitmap_clear::y#0, bitmap_clear::@3/bitmap_clear::y#1 )
bitmap_clear::bitmap#3 = phi( bitmap_clear/bitmap_clear::bitmap#0, bitmap_clear::@3/bitmap_clear::bitmap#4 )
bitmap_clear::x#0 = 0
to:bitmap_clear::@2
bitmap_clear::@2: scope:[bitmap_clear] from bitmap_clear::@1 bitmap_clear::@2
2020-10-05 20:58:02 +00:00
bitmap_clear::y#3 = phi( bitmap_clear::@1/bitmap_clear::y#4, bitmap_clear::@2/bitmap_clear::y#3 )
bitmap_clear::x#2 = phi( bitmap_clear::@1/bitmap_clear::x#0, bitmap_clear::@2/bitmap_clear::x#1 )
bitmap_clear::bitmap#2 = phi( bitmap_clear::@1/bitmap_clear::bitmap#3, bitmap_clear::@2/bitmap_clear::bitmap#1 )
*bitmap_clear::bitmap#2 = 0
bitmap_clear::bitmap#1 = ++ bitmap_clear::bitmap#2
bitmap_clear::x#1 = bitmap_clear::x#2 + rangenext(0,$c7)
bitmap_clear::$0 = bitmap_clear::x#1 != rangelast(0,$c7)
if(bitmap_clear::$0) goto bitmap_clear::@2
to:bitmap_clear::@3
bitmap_clear::@3: scope:[bitmap_clear] from bitmap_clear::@2
2020-10-05 20:58:02 +00:00
bitmap_clear::bitmap#4 = phi( bitmap_clear::@2/bitmap_clear::bitmap#1 )
bitmap_clear::y#2 = phi( bitmap_clear::@2/bitmap_clear::y#3 )
bitmap_clear::y#1 = bitmap_clear::y#2 + rangenext(0,$27)
bitmap_clear::$1 = bitmap_clear::y#1 != rangelast(0,$27)
if(bitmap_clear::$1) goto bitmap_clear::@1
to:bitmap_clear::@return
bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@3
return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_plot(byte bitmap_plot::x , byte bitmap_plot::y)
bitmap_plot: scope:[bitmap_plot] from bitmap_line_xdyd::@1 bitmap_line_xdyi::@1 bitmap_line_ydxd::@1 bitmap_line_ydxi::@1
2020-10-05 20:58:02 +00:00
bitmap_plot::y#4 = phi( bitmap_line_xdyd::@1/bitmap_plot::y#1, bitmap_line_xdyi::@1/bitmap_plot::y#0, bitmap_line_ydxd::@1/bitmap_plot::y#3, bitmap_line_ydxi::@1/bitmap_plot::y#2 )
bitmap_plot::x#4 = phi( bitmap_line_xdyd::@1/bitmap_plot::x#1, bitmap_line_xdyi::@1/bitmap_plot::x#0, bitmap_line_ydxd::@1/bitmap_plot::x#3, bitmap_line_ydxi::@1/bitmap_plot::x#2 )
bitmap_plot::plotter_x#0 = (word){ bitmap_plot_xhi[bitmap_plot::x#4], bitmap_plot_xlo[bitmap_plot::x#4] }
bitmap_plot::plotter_y#0 = (word){ bitmap_plot_yhi[bitmap_plot::y#4], bitmap_plot_ylo[bitmap_plot::y#4] }
bitmap_plot::$0 = bitmap_plot::plotter_x#0 + bitmap_plot::plotter_y#0
bitmap_plot::plotter#0 = ((byte*)) bitmap_plot::$0
bitmap_plot::$1 = *bitmap_plot::plotter#0 | bitmap_plot_bit[bitmap_plot::x#4]
*bitmap_plot::plotter#0 = bitmap_plot::$1
to:bitmap_plot::@return
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_line(byte bitmap_line::x0 , byte bitmap_line::x1 , byte bitmap_line::y0 , byte bitmap_line::y1)
bitmap_line: scope:[bitmap_line] from main::@1
2020-10-05 20:58:02 +00:00
bitmap_line::y1#13 = phi( main::@1/bitmap_line::y1#0 )
bitmap_line::y0#13 = phi( main::@1/bitmap_line::y0#0 )
bitmap_line::x1#1 = phi( main::@1/bitmap_line::x1#0 )
bitmap_line::x0#1 = phi( main::@1/bitmap_line::x0#0 )
bitmap_line::xd#0 = 0
bitmap_line::yd#0 = 0
bitmap_line::$0 = bitmap_line::x0#1 < bitmap_line::x1#1
if(bitmap_line::$0) goto bitmap_line::@1
to:bitmap_line::@2
bitmap_line::@1: scope:[bitmap_line] from bitmap_line
2020-10-05 20:58:02 +00:00
bitmap_line::y1#1 = phi( bitmap_line/bitmap_line::y1#13 )
bitmap_line::y0#1 = phi( bitmap_line/bitmap_line::y0#13 )
bitmap_line::x0#2 = phi( bitmap_line/bitmap_line::x0#1 )
bitmap_line::x1#2 = phi( bitmap_line/bitmap_line::x1#1 )
bitmap_line::$11 = bitmap_line::x1#2 - bitmap_line::x0#2
bitmap_line::xd#1 = bitmap_line::$11
bitmap_line::$12 = bitmap_line::y0#1 < bitmap_line::y1#1
if(bitmap_line::$12) goto bitmap_line::@11
to:bitmap_line::@5
bitmap_line::@2: scope:[bitmap_line] from bitmap_line
2020-10-05 20:58:02 +00:00
bitmap_line::y1#2 = phi( bitmap_line/bitmap_line::y1#13 )
bitmap_line::y0#2 = phi( bitmap_line/bitmap_line::y0#13 )
bitmap_line::x1#3 = phi( bitmap_line/bitmap_line::x1#1 )
bitmap_line::x0#3 = phi( bitmap_line/bitmap_line::x0#1 )
bitmap_line::$1 = bitmap_line::x0#3 - bitmap_line::x1#3
bitmap_line::xd#2 = bitmap_line::$1
bitmap_line::$2 = bitmap_line::y0#2 < bitmap_line::y1#2
if(bitmap_line::$2) goto bitmap_line::@7
to:bitmap_line::@3
bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@2
2020-10-05 20:58:02 +00:00
bitmap_line::x0#11 = phi( bitmap_line::@2/bitmap_line::x0#3 )
bitmap_line::x1#11 = phi( bitmap_line::@2/bitmap_line::x1#3 )
bitmap_line::xd#3 = phi( bitmap_line::@2/bitmap_line::xd#2 )
bitmap_line::y0#3 = phi( bitmap_line::@2/bitmap_line::y0#2 )
bitmap_line::y1#3 = phi( bitmap_line::@2/bitmap_line::y1#2 )
bitmap_line::$7 = bitmap_line::y1#3 - bitmap_line::y0#3
bitmap_line::yd#1 = bitmap_line::$7
bitmap_line::$8 = bitmap_line::yd#1 < bitmap_line::xd#3
if(bitmap_line::$8) goto bitmap_line::@9
to:bitmap_line::@10
bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@2
2020-10-05 20:58:02 +00:00
bitmap_line::x0#10 = phi( bitmap_line::@2/bitmap_line::x0#3 )
bitmap_line::x1#10 = phi( bitmap_line::@2/bitmap_line::x1#3 )
bitmap_line::xd#4 = phi( bitmap_line::@2/bitmap_line::xd#2 )
bitmap_line::y1#4 = phi( bitmap_line::@2/bitmap_line::y1#2 )
bitmap_line::y0#4 = phi( bitmap_line::@2/bitmap_line::y0#2 )
bitmap_line::$3 = bitmap_line::y0#4 - bitmap_line::y1#4
bitmap_line::yd#2 = bitmap_line::$3
bitmap_line::$4 = bitmap_line::yd#2 < bitmap_line::xd#4
if(bitmap_line::$4) goto bitmap_line::@8
to:bitmap_line::@4
bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@3
2020-10-05 20:58:02 +00:00
bitmap_line::yd#5 = phi( bitmap_line::@3/bitmap_line::yd#2 )
bitmap_line::xd#5 = phi( bitmap_line::@3/bitmap_line::xd#4 )
bitmap_line::x0#4 = phi( bitmap_line::@3/bitmap_line::x0#10 )
bitmap_line::y1#5 = phi( bitmap_line::@3/bitmap_line::y1#4 )
bitmap_line::x1#4 = phi( bitmap_line::@3/bitmap_line::x1#10 )
bitmap_line_xdyi::x#0 = bitmap_line::x1#4
bitmap_line_xdyi::y#0 = bitmap_line::y1#5
bitmap_line_xdyi::x1#0 = bitmap_line::x0#4
bitmap_line_xdyi::xd#0 = bitmap_line::xd#5
bitmap_line_xdyi::yd#0 = bitmap_line::yd#5
call bitmap_line_xdyi
to:bitmap_line::@15
bitmap_line::@15: scope:[bitmap_line] from bitmap_line::@8
to:bitmap_line::@return
bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@3
2020-10-05 20:58:02 +00:00
bitmap_line::xd#6 = phi( bitmap_line::@3/bitmap_line::xd#4 )
bitmap_line::yd#6 = phi( bitmap_line::@3/bitmap_line::yd#2 )
bitmap_line::y0#5 = phi( bitmap_line::@3/bitmap_line::y0#4 )
bitmap_line::x1#5 = phi( bitmap_line::@3/bitmap_line::x1#10 )
bitmap_line::y1#6 = phi( bitmap_line::@3/bitmap_line::y1#4 )
bitmap_line_ydxi::y#0 = bitmap_line::y1#6
bitmap_line_ydxi::x#0 = bitmap_line::x1#5
bitmap_line_ydxi::y1#0 = bitmap_line::y0#5
bitmap_line_ydxi::yd#0 = bitmap_line::yd#6
bitmap_line_ydxi::xd#0 = bitmap_line::xd#6
call bitmap_line_ydxi
to:bitmap_line::@16
bitmap_line::@16: scope:[bitmap_line] from bitmap_line::@4
to:bitmap_line::@return
bitmap_line::@9: scope:[bitmap_line] from bitmap_line::@7
2020-10-05 20:58:02 +00:00
bitmap_line::yd#7 = phi( bitmap_line::@7/bitmap_line::yd#1 )
bitmap_line::xd#7 = phi( bitmap_line::@7/bitmap_line::xd#3 )
bitmap_line::x0#5 = phi( bitmap_line::@7/bitmap_line::x0#11 )
bitmap_line::y1#7 = phi( bitmap_line::@7/bitmap_line::y1#3 )
bitmap_line::x1#6 = phi( bitmap_line::@7/bitmap_line::x1#11 )
bitmap_line_xdyd::x#0 = bitmap_line::x1#6
bitmap_line_xdyd::y#0 = bitmap_line::y1#7
bitmap_line_xdyd::x1#0 = bitmap_line::x0#5
bitmap_line_xdyd::xd#0 = bitmap_line::xd#7
bitmap_line_xdyd::yd#0 = bitmap_line::yd#7
call bitmap_line_xdyd
to:bitmap_line::@17
bitmap_line::@17: scope:[bitmap_line] from bitmap_line::@9
to:bitmap_line::@return
bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@7
2020-10-05 20:58:02 +00:00
bitmap_line::xd#8 = phi( bitmap_line::@7/bitmap_line::xd#3 )
bitmap_line::yd#8 = phi( bitmap_line::@7/bitmap_line::yd#1 )
bitmap_line::y1#8 = phi( bitmap_line::@7/bitmap_line::y1#3 )
bitmap_line::x0#6 = phi( bitmap_line::@7/bitmap_line::x0#11 )
bitmap_line::y0#6 = phi( bitmap_line::@7/bitmap_line::y0#3 )
bitmap_line_ydxd::y#0 = bitmap_line::y0#6
bitmap_line_ydxd::x#0 = bitmap_line::x0#6
bitmap_line_ydxd::y1#0 = bitmap_line::y1#8
bitmap_line_ydxd::yd#0 = bitmap_line::yd#8
bitmap_line_ydxd::xd#0 = bitmap_line::xd#8
call bitmap_line_ydxd
to:bitmap_line::@18
bitmap_line::@18: scope:[bitmap_line] from bitmap_line::@10
to:bitmap_line::@return
bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@1
2020-10-05 20:58:02 +00:00
bitmap_line::x1#13 = phi( bitmap_line::@1/bitmap_line::x1#2 )
bitmap_line::x0#13 = phi( bitmap_line::@1/bitmap_line::x0#2 )
bitmap_line::xd#9 = phi( bitmap_line::@1/bitmap_line::xd#1 )
bitmap_line::y0#7 = phi( bitmap_line::@1/bitmap_line::y0#1 )
bitmap_line::y1#9 = phi( bitmap_line::@1/bitmap_line::y1#1 )
bitmap_line::$17 = bitmap_line::y1#9 - bitmap_line::y0#7
bitmap_line::yd#3 = bitmap_line::$17
bitmap_line::$18 = bitmap_line::yd#3 < bitmap_line::xd#9
if(bitmap_line::$18) goto bitmap_line::@13
to:bitmap_line::@14
bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@1
2020-10-05 20:58:02 +00:00
bitmap_line::x1#12 = phi( bitmap_line::@1/bitmap_line::x1#2 )
bitmap_line::x0#12 = phi( bitmap_line::@1/bitmap_line::x0#2 )
bitmap_line::xd#10 = phi( bitmap_line::@1/bitmap_line::xd#1 )
bitmap_line::y1#10 = phi( bitmap_line::@1/bitmap_line::y1#1 )
bitmap_line::y0#8 = phi( bitmap_line::@1/bitmap_line::y0#1 )
bitmap_line::$13 = bitmap_line::y0#8 - bitmap_line::y1#10
bitmap_line::yd#4 = bitmap_line::$13
bitmap_line::$14 = bitmap_line::yd#4 < bitmap_line::xd#10
if(bitmap_line::$14) goto bitmap_line::@12
to:bitmap_line::@6
bitmap_line::@12: scope:[bitmap_line] from bitmap_line::@5
2020-10-05 20:58:02 +00:00
bitmap_line::yd#9 = phi( bitmap_line::@5/bitmap_line::yd#4 )
bitmap_line::xd#11 = phi( bitmap_line::@5/bitmap_line::xd#10 )
bitmap_line::x1#7 = phi( bitmap_line::@5/bitmap_line::x1#12 )
bitmap_line::y0#9 = phi( bitmap_line::@5/bitmap_line::y0#8 )
bitmap_line::x0#7 = phi( bitmap_line::@5/bitmap_line::x0#12 )
bitmap_line_xdyd::x#1 = bitmap_line::x0#7
bitmap_line_xdyd::y#1 = bitmap_line::y0#9
bitmap_line_xdyd::x1#1 = bitmap_line::x1#7
bitmap_line_xdyd::xd#1 = bitmap_line::xd#11
bitmap_line_xdyd::yd#1 = bitmap_line::yd#9
call bitmap_line_xdyd
to:bitmap_line::@19
bitmap_line::@19: scope:[bitmap_line] from bitmap_line::@12
to:bitmap_line::@return
bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@5
2020-10-05 20:58:02 +00:00
bitmap_line::xd#12 = phi( bitmap_line::@5/bitmap_line::xd#10 )
bitmap_line::yd#10 = phi( bitmap_line::@5/bitmap_line::yd#4 )
bitmap_line::y0#10 = phi( bitmap_line::@5/bitmap_line::y0#8 )
bitmap_line::x1#8 = phi( bitmap_line::@5/bitmap_line::x1#12 )
bitmap_line::y1#11 = phi( bitmap_line::@5/bitmap_line::y1#10 )
bitmap_line_ydxd::y#1 = bitmap_line::y1#11
bitmap_line_ydxd::x#1 = bitmap_line::x1#8
bitmap_line_ydxd::y1#1 = bitmap_line::y0#10
bitmap_line_ydxd::yd#1 = bitmap_line::yd#10
bitmap_line_ydxd::xd#1 = bitmap_line::xd#12
call bitmap_line_ydxd
to:bitmap_line::@20
bitmap_line::@20: scope:[bitmap_line] from bitmap_line::@6
to:bitmap_line::@return
bitmap_line::@13: scope:[bitmap_line] from bitmap_line::@11
2020-10-05 20:58:02 +00:00
bitmap_line::yd#11 = phi( bitmap_line::@11/bitmap_line::yd#3 )
bitmap_line::xd#13 = phi( bitmap_line::@11/bitmap_line::xd#9 )
bitmap_line::x1#9 = phi( bitmap_line::@11/bitmap_line::x1#13 )
bitmap_line::y0#11 = phi( bitmap_line::@11/bitmap_line::y0#7 )
bitmap_line::x0#8 = phi( bitmap_line::@11/bitmap_line::x0#13 )
bitmap_line_xdyi::x#1 = bitmap_line::x0#8
bitmap_line_xdyi::y#1 = bitmap_line::y0#11
bitmap_line_xdyi::x1#1 = bitmap_line::x1#9
bitmap_line_xdyi::xd#1 = bitmap_line::xd#13
bitmap_line_xdyi::yd#1 = bitmap_line::yd#11
call bitmap_line_xdyi
to:bitmap_line::@21
bitmap_line::@21: scope:[bitmap_line] from bitmap_line::@13
to:bitmap_line::@return
bitmap_line::@14: scope:[bitmap_line] from bitmap_line::@11
2020-10-05 20:58:02 +00:00
bitmap_line::xd#14 = phi( bitmap_line::@11/bitmap_line::xd#9 )
bitmap_line::yd#12 = phi( bitmap_line::@11/bitmap_line::yd#3 )
bitmap_line::y1#12 = phi( bitmap_line::@11/bitmap_line::y1#9 )
bitmap_line::x0#9 = phi( bitmap_line::@11/bitmap_line::x0#13 )
bitmap_line::y0#12 = phi( bitmap_line::@11/bitmap_line::y0#7 )
bitmap_line_ydxi::y#1 = bitmap_line::y0#12
bitmap_line_ydxi::x#1 = bitmap_line::x0#9
bitmap_line_ydxi::y1#1 = bitmap_line::y1#12
bitmap_line_ydxi::yd#1 = bitmap_line::yd#12
bitmap_line_ydxi::xd#1 = bitmap_line::xd#14
call bitmap_line_ydxi
to:bitmap_line::@22
bitmap_line::@22: scope:[bitmap_line] from bitmap_line::@14
to:bitmap_line::@return
bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@15 bitmap_line::@16 bitmap_line::@17 bitmap_line::@18 bitmap_line::@19 bitmap_line::@20 bitmap_line::@21 bitmap_line::@22
return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_line_xdyi(byte bitmap_line_xdyi::x , byte bitmap_line_xdyi::y , byte bitmap_line_xdyi::x1 , byte bitmap_line_xdyi::xd , byte bitmap_line_xdyi::yd)
bitmap_line_xdyi: scope:[bitmap_line_xdyi] from bitmap_line::@13 bitmap_line::@8
2020-10-05 20:58:02 +00:00
bitmap_line_xdyi::x1#6 = phi( bitmap_line::@13/bitmap_line_xdyi::x1#1, bitmap_line::@8/bitmap_line_xdyi::x1#0 )
bitmap_line_xdyi::xd#5 = phi( bitmap_line::@13/bitmap_line_xdyi::xd#1, bitmap_line::@8/bitmap_line_xdyi::xd#0 )
bitmap_line_xdyi::y#5 = phi( bitmap_line::@13/bitmap_line_xdyi::y#1, bitmap_line::@8/bitmap_line_xdyi::y#0 )
bitmap_line_xdyi::x#6 = phi( bitmap_line::@13/bitmap_line_xdyi::x#1, bitmap_line::@8/bitmap_line_xdyi::x#0 )
bitmap_line_xdyi::yd#2 = phi( bitmap_line::@13/bitmap_line_xdyi::yd#1, bitmap_line::@8/bitmap_line_xdyi::yd#0 )
bitmap_line_xdyi::$0 = bitmap_line_xdyi::yd#2 >> 1
bitmap_line_xdyi::e#0 = bitmap_line_xdyi::$0
to:bitmap_line_xdyi::@1
bitmap_line_xdyi::@1: scope:[bitmap_line_xdyi] from bitmap_line_xdyi bitmap_line_xdyi::@2
2020-10-05 20:58:02 +00:00
bitmap_line_xdyi::x1#5 = phi( bitmap_line_xdyi/bitmap_line_xdyi::x1#6, bitmap_line_xdyi::@2/bitmap_line_xdyi::x1#2 )
bitmap_line_xdyi::xd#4 = phi( bitmap_line_xdyi/bitmap_line_xdyi::xd#5, bitmap_line_xdyi::@2/bitmap_line_xdyi::xd#6 )
bitmap_line_xdyi::yd#4 = phi( bitmap_line_xdyi/bitmap_line_xdyi::yd#2, bitmap_line_xdyi::@2/bitmap_line_xdyi::yd#5 )
bitmap_line_xdyi::e#5 = phi( bitmap_line_xdyi/bitmap_line_xdyi::e#0, bitmap_line_xdyi::@2/bitmap_line_xdyi::e#6 )
bitmap_line_xdyi::y#3 = phi( bitmap_line_xdyi/bitmap_line_xdyi::y#5, bitmap_line_xdyi::@2/bitmap_line_xdyi::y#6 )
bitmap_line_xdyi::x#3 = phi( bitmap_line_xdyi/bitmap_line_xdyi::x#6, bitmap_line_xdyi::@2/bitmap_line_xdyi::x#5 )
bitmap_plot::x#0 = bitmap_line_xdyi::x#3
bitmap_plot::y#0 = bitmap_line_xdyi::y#3
call bitmap_plot
to:bitmap_line_xdyi::@4
bitmap_line_xdyi::@4: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@1
2020-10-05 20:58:02 +00:00
bitmap_line_xdyi::y#7 = phi( bitmap_line_xdyi::@1/bitmap_line_xdyi::y#3 )
bitmap_line_xdyi::x1#4 = phi( bitmap_line_xdyi::@1/bitmap_line_xdyi::x1#5 )
bitmap_line_xdyi::xd#2 = phi( bitmap_line_xdyi::@1/bitmap_line_xdyi::xd#4 )
bitmap_line_xdyi::yd#3 = phi( bitmap_line_xdyi::@1/bitmap_line_xdyi::yd#4 )
bitmap_line_xdyi::e#3 = phi( bitmap_line_xdyi::@1/bitmap_line_xdyi::e#5 )
bitmap_line_xdyi::x#4 = phi( bitmap_line_xdyi::@1/bitmap_line_xdyi::x#3 )
bitmap_line_xdyi::x#2 = ++ bitmap_line_xdyi::x#4
bitmap_line_xdyi::$2 = bitmap_line_xdyi::e#3 + bitmap_line_xdyi::yd#3
bitmap_line_xdyi::e#1 = bitmap_line_xdyi::$2
bitmap_line_xdyi::$3 = bitmap_line_xdyi::xd#2 < bitmap_line_xdyi::e#1
bitmap_line_xdyi::$4 = ! bitmap_line_xdyi::$3
if(bitmap_line_xdyi::$4) goto bitmap_line_xdyi::@2
to:bitmap_line_xdyi::@3
bitmap_line_xdyi::@2: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4
2020-10-05 20:58:02 +00:00
bitmap_line_xdyi::xd#6 = phi( bitmap_line_xdyi::@3/bitmap_line_xdyi::xd#3, bitmap_line_xdyi::@4/bitmap_line_xdyi::xd#2 )
bitmap_line_xdyi::yd#5 = phi( bitmap_line_xdyi::@3/bitmap_line_xdyi::yd#6, bitmap_line_xdyi::@4/bitmap_line_xdyi::yd#3 )
bitmap_line_xdyi::e#6 = phi( bitmap_line_xdyi::@3/bitmap_line_xdyi::e#2, bitmap_line_xdyi::@4/bitmap_line_xdyi::e#1 )
bitmap_line_xdyi::y#6 = phi( bitmap_line_xdyi::@3/bitmap_line_xdyi::y#2, bitmap_line_xdyi::@4/bitmap_line_xdyi::y#7 )
bitmap_line_xdyi::x#5 = phi( bitmap_line_xdyi::@3/bitmap_line_xdyi::x#7, bitmap_line_xdyi::@4/bitmap_line_xdyi::x#2 )
bitmap_line_xdyi::x1#2 = phi( bitmap_line_xdyi::@3/bitmap_line_xdyi::x1#3, bitmap_line_xdyi::@4/bitmap_line_xdyi::x1#4 )
bitmap_line_xdyi::$6 = bitmap_line_xdyi::x1#2 + 1
bitmap_line_xdyi::$7 = bitmap_line_xdyi::x#5 != bitmap_line_xdyi::$6
if(bitmap_line_xdyi::$7) goto bitmap_line_xdyi::@1
to:bitmap_line_xdyi::@return
bitmap_line_xdyi::@3: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@4
2020-10-05 20:58:02 +00:00
bitmap_line_xdyi::yd#6 = phi( bitmap_line_xdyi::@4/bitmap_line_xdyi::yd#3 )
bitmap_line_xdyi::x#7 = phi( bitmap_line_xdyi::@4/bitmap_line_xdyi::x#2 )
bitmap_line_xdyi::x1#3 = phi( bitmap_line_xdyi::@4/bitmap_line_xdyi::x1#4 )
bitmap_line_xdyi::xd#3 = phi( bitmap_line_xdyi::@4/bitmap_line_xdyi::xd#2 )
bitmap_line_xdyi::e#4 = phi( bitmap_line_xdyi::@4/bitmap_line_xdyi::e#1 )
bitmap_line_xdyi::y#4 = phi( bitmap_line_xdyi::@4/bitmap_line_xdyi::y#7 )
bitmap_line_xdyi::y#2 = ++ bitmap_line_xdyi::y#4
bitmap_line_xdyi::$5 = bitmap_line_xdyi::e#4 - bitmap_line_xdyi::xd#3
bitmap_line_xdyi::e#2 = bitmap_line_xdyi::$5
to:bitmap_line_xdyi::@2
bitmap_line_xdyi::@return: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@2
return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_line_xdyd(byte bitmap_line_xdyd::x , byte bitmap_line_xdyd::y , byte bitmap_line_xdyd::x1 , byte bitmap_line_xdyd::xd , byte bitmap_line_xdyd::yd)
bitmap_line_xdyd: scope:[bitmap_line_xdyd] from bitmap_line::@12 bitmap_line::@9
2020-10-05 20:58:02 +00:00
bitmap_line_xdyd::x1#6 = phi( bitmap_line::@12/bitmap_line_xdyd::x1#1, bitmap_line::@9/bitmap_line_xdyd::x1#0 )
bitmap_line_xdyd::xd#5 = phi( bitmap_line::@12/bitmap_line_xdyd::xd#1, bitmap_line::@9/bitmap_line_xdyd::xd#0 )
bitmap_line_xdyd::y#5 = phi( bitmap_line::@12/bitmap_line_xdyd::y#1, bitmap_line::@9/bitmap_line_xdyd::y#0 )
bitmap_line_xdyd::x#6 = phi( bitmap_line::@12/bitmap_line_xdyd::x#1, bitmap_line::@9/bitmap_line_xdyd::x#0 )
bitmap_line_xdyd::yd#2 = phi( bitmap_line::@12/bitmap_line_xdyd::yd#1, bitmap_line::@9/bitmap_line_xdyd::yd#0 )
bitmap_line_xdyd::$0 = bitmap_line_xdyd::yd#2 >> 1
bitmap_line_xdyd::e#0 = bitmap_line_xdyd::$0
to:bitmap_line_xdyd::@1
bitmap_line_xdyd::@1: scope:[bitmap_line_xdyd] from bitmap_line_xdyd bitmap_line_xdyd::@2
2020-10-05 20:58:02 +00:00
bitmap_line_xdyd::x1#5 = phi( bitmap_line_xdyd/bitmap_line_xdyd::x1#6, bitmap_line_xdyd::@2/bitmap_line_xdyd::x1#2 )
bitmap_line_xdyd::xd#4 = phi( bitmap_line_xdyd/bitmap_line_xdyd::xd#5, bitmap_line_xdyd::@2/bitmap_line_xdyd::xd#6 )
bitmap_line_xdyd::yd#4 = phi( bitmap_line_xdyd/bitmap_line_xdyd::yd#2, bitmap_line_xdyd::@2/bitmap_line_xdyd::yd#5 )
bitmap_line_xdyd::e#5 = phi( bitmap_line_xdyd/bitmap_line_xdyd::e#0, bitmap_line_xdyd::@2/bitmap_line_xdyd::e#6 )
bitmap_line_xdyd::y#3 = phi( bitmap_line_xdyd/bitmap_line_xdyd::y#5, bitmap_line_xdyd::@2/bitmap_line_xdyd::y#6 )
bitmap_line_xdyd::x#3 = phi( bitmap_line_xdyd/bitmap_line_xdyd::x#6, bitmap_line_xdyd::@2/bitmap_line_xdyd::x#5 )
bitmap_plot::x#1 = bitmap_line_xdyd::x#3
bitmap_plot::y#1 = bitmap_line_xdyd::y#3
call bitmap_plot
to:bitmap_line_xdyd::@4
bitmap_line_xdyd::@4: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@1
2020-10-05 20:58:02 +00:00
bitmap_line_xdyd::y#7 = phi( bitmap_line_xdyd::@1/bitmap_line_xdyd::y#3 )
bitmap_line_xdyd::x1#4 = phi( bitmap_line_xdyd::@1/bitmap_line_xdyd::x1#5 )
bitmap_line_xdyd::xd#2 = phi( bitmap_line_xdyd::@1/bitmap_line_xdyd::xd#4 )
bitmap_line_xdyd::yd#3 = phi( bitmap_line_xdyd::@1/bitmap_line_xdyd::yd#4 )
bitmap_line_xdyd::e#3 = phi( bitmap_line_xdyd::@1/bitmap_line_xdyd::e#5 )
bitmap_line_xdyd::x#4 = phi( bitmap_line_xdyd::@1/bitmap_line_xdyd::x#3 )
bitmap_line_xdyd::x#2 = ++ bitmap_line_xdyd::x#4
bitmap_line_xdyd::$2 = bitmap_line_xdyd::e#3 + bitmap_line_xdyd::yd#3
bitmap_line_xdyd::e#1 = bitmap_line_xdyd::$2
bitmap_line_xdyd::$3 = bitmap_line_xdyd::xd#2 < bitmap_line_xdyd::e#1
bitmap_line_xdyd::$4 = ! bitmap_line_xdyd::$3
if(bitmap_line_xdyd::$4) goto bitmap_line_xdyd::@2
to:bitmap_line_xdyd::@3
bitmap_line_xdyd::@2: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4
2020-10-05 20:58:02 +00:00
bitmap_line_xdyd::xd#6 = phi( bitmap_line_xdyd::@3/bitmap_line_xdyd::xd#3, bitmap_line_xdyd::@4/bitmap_line_xdyd::xd#2 )
bitmap_line_xdyd::yd#5 = phi( bitmap_line_xdyd::@3/bitmap_line_xdyd::yd#6, bitmap_line_xdyd::@4/bitmap_line_xdyd::yd#3 )
bitmap_line_xdyd::e#6 = phi( bitmap_line_xdyd::@3/bitmap_line_xdyd::e#2, bitmap_line_xdyd::@4/bitmap_line_xdyd::e#1 )
bitmap_line_xdyd::y#6 = phi( bitmap_line_xdyd::@3/bitmap_line_xdyd::y#2, bitmap_line_xdyd::@4/bitmap_line_xdyd::y#7 )
bitmap_line_xdyd::x#5 = phi( bitmap_line_xdyd::@3/bitmap_line_xdyd::x#7, bitmap_line_xdyd::@4/bitmap_line_xdyd::x#2 )
bitmap_line_xdyd::x1#2 = phi( bitmap_line_xdyd::@3/bitmap_line_xdyd::x1#3, bitmap_line_xdyd::@4/bitmap_line_xdyd::x1#4 )
bitmap_line_xdyd::$6 = bitmap_line_xdyd::x1#2 + 1
bitmap_line_xdyd::$7 = bitmap_line_xdyd::x#5 != bitmap_line_xdyd::$6
if(bitmap_line_xdyd::$7) goto bitmap_line_xdyd::@1
to:bitmap_line_xdyd::@return
bitmap_line_xdyd::@3: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@4
2020-10-05 20:58:02 +00:00
bitmap_line_xdyd::yd#6 = phi( bitmap_line_xdyd::@4/bitmap_line_xdyd::yd#3 )
bitmap_line_xdyd::x#7 = phi( bitmap_line_xdyd::@4/bitmap_line_xdyd::x#2 )
bitmap_line_xdyd::x1#3 = phi( bitmap_line_xdyd::@4/bitmap_line_xdyd::x1#4 )
bitmap_line_xdyd::xd#3 = phi( bitmap_line_xdyd::@4/bitmap_line_xdyd::xd#2 )
bitmap_line_xdyd::e#4 = phi( bitmap_line_xdyd::@4/bitmap_line_xdyd::e#1 )
bitmap_line_xdyd::y#4 = phi( bitmap_line_xdyd::@4/bitmap_line_xdyd::y#7 )
bitmap_line_xdyd::y#2 = -- bitmap_line_xdyd::y#4
bitmap_line_xdyd::$5 = bitmap_line_xdyd::e#4 - bitmap_line_xdyd::xd#3
bitmap_line_xdyd::e#2 = bitmap_line_xdyd::$5
to:bitmap_line_xdyd::@2
bitmap_line_xdyd::@return: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@2
return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_line_ydxi(byte bitmap_line_ydxi::y , byte bitmap_line_ydxi::x , byte bitmap_line_ydxi::y1 , byte bitmap_line_ydxi::yd , byte bitmap_line_ydxi::xd)
bitmap_line_ydxi: scope:[bitmap_line_ydxi] from bitmap_line::@14 bitmap_line::@4
2020-10-05 20:58:02 +00:00
bitmap_line_ydxi::y1#6 = phi( bitmap_line::@14/bitmap_line_ydxi::y1#1, bitmap_line::@4/bitmap_line_ydxi::y1#0 )
bitmap_line_ydxi::yd#5 = phi( bitmap_line::@14/bitmap_line_ydxi::yd#1, bitmap_line::@4/bitmap_line_ydxi::yd#0 )
bitmap_line_ydxi::y#6 = phi( bitmap_line::@14/bitmap_line_ydxi::y#1, bitmap_line::@4/bitmap_line_ydxi::y#0 )
bitmap_line_ydxi::x#5 = phi( bitmap_line::@14/bitmap_line_ydxi::x#1, bitmap_line::@4/bitmap_line_ydxi::x#0 )
bitmap_line_ydxi::xd#2 = phi( bitmap_line::@14/bitmap_line_ydxi::xd#1, bitmap_line::@4/bitmap_line_ydxi::xd#0 )
bitmap_line_ydxi::$0 = bitmap_line_ydxi::xd#2 >> 1
bitmap_line_ydxi::e#0 = bitmap_line_ydxi::$0
to:bitmap_line_ydxi::@1
bitmap_line_ydxi::@1: scope:[bitmap_line_ydxi] from bitmap_line_ydxi bitmap_line_ydxi::@2
2020-10-05 20:58:02 +00:00
bitmap_line_ydxi::y1#5 = phi( bitmap_line_ydxi/bitmap_line_ydxi::y1#6, bitmap_line_ydxi::@2/bitmap_line_ydxi::y1#2 )
bitmap_line_ydxi::yd#4 = phi( bitmap_line_ydxi/bitmap_line_ydxi::yd#5, bitmap_line_ydxi::@2/bitmap_line_ydxi::yd#6 )
bitmap_line_ydxi::xd#4 = phi( bitmap_line_ydxi/bitmap_line_ydxi::xd#2, bitmap_line_ydxi::@2/bitmap_line_ydxi::xd#5 )
bitmap_line_ydxi::e#5 = phi( bitmap_line_ydxi/bitmap_line_ydxi::e#0, bitmap_line_ydxi::@2/bitmap_line_ydxi::e#6 )
bitmap_line_ydxi::y#3 = phi( bitmap_line_ydxi/bitmap_line_ydxi::y#6, bitmap_line_ydxi::@2/bitmap_line_ydxi::y#5 )
bitmap_line_ydxi::x#3 = phi( bitmap_line_ydxi/bitmap_line_ydxi::x#5, bitmap_line_ydxi::@2/bitmap_line_ydxi::x#6 )
bitmap_plot::x#2 = bitmap_line_ydxi::x#3
bitmap_plot::y#2 = bitmap_line_ydxi::y#3
call bitmap_plot
to:bitmap_line_ydxi::@4
bitmap_line_ydxi::@4: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@1
2020-10-05 20:58:02 +00:00
bitmap_line_ydxi::x#7 = phi( bitmap_line_ydxi::@1/bitmap_line_ydxi::x#3 )
bitmap_line_ydxi::y1#4 = phi( bitmap_line_ydxi::@1/bitmap_line_ydxi::y1#5 )
bitmap_line_ydxi::yd#2 = phi( bitmap_line_ydxi::@1/bitmap_line_ydxi::yd#4 )
bitmap_line_ydxi::xd#3 = phi( bitmap_line_ydxi::@1/bitmap_line_ydxi::xd#4 )
bitmap_line_ydxi::e#3 = phi( bitmap_line_ydxi::@1/bitmap_line_ydxi::e#5 )
bitmap_line_ydxi::y#4 = phi( bitmap_line_ydxi::@1/bitmap_line_ydxi::y#3 )
bitmap_line_ydxi::y#2 = ++ bitmap_line_ydxi::y#4
bitmap_line_ydxi::$2 = bitmap_line_ydxi::e#3 + bitmap_line_ydxi::xd#3
bitmap_line_ydxi::e#1 = bitmap_line_ydxi::$2
bitmap_line_ydxi::$3 = bitmap_line_ydxi::yd#2 < bitmap_line_ydxi::e#1
bitmap_line_ydxi::$4 = ! bitmap_line_ydxi::$3
if(bitmap_line_ydxi::$4) goto bitmap_line_ydxi::@2
to:bitmap_line_ydxi::@3
bitmap_line_ydxi::@2: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4
2020-10-05 20:58:02 +00:00
bitmap_line_ydxi::yd#6 = phi( bitmap_line_ydxi::@3/bitmap_line_ydxi::yd#3, bitmap_line_ydxi::@4/bitmap_line_ydxi::yd#2 )
bitmap_line_ydxi::xd#5 = phi( bitmap_line_ydxi::@3/bitmap_line_ydxi::xd#6, bitmap_line_ydxi::@4/bitmap_line_ydxi::xd#3 )
bitmap_line_ydxi::e#6 = phi( bitmap_line_ydxi::@3/bitmap_line_ydxi::e#2, bitmap_line_ydxi::@4/bitmap_line_ydxi::e#1 )
bitmap_line_ydxi::x#6 = phi( bitmap_line_ydxi::@3/bitmap_line_ydxi::x#2, bitmap_line_ydxi::@4/bitmap_line_ydxi::x#7 )
bitmap_line_ydxi::y#5 = phi( bitmap_line_ydxi::@3/bitmap_line_ydxi::y#7, bitmap_line_ydxi::@4/bitmap_line_ydxi::y#2 )
bitmap_line_ydxi::y1#2 = phi( bitmap_line_ydxi::@3/bitmap_line_ydxi::y1#3, bitmap_line_ydxi::@4/bitmap_line_ydxi::y1#4 )
bitmap_line_ydxi::$6 = bitmap_line_ydxi::y1#2 + 1
bitmap_line_ydxi::$7 = bitmap_line_ydxi::y#5 != bitmap_line_ydxi::$6
if(bitmap_line_ydxi::$7) goto bitmap_line_ydxi::@1
to:bitmap_line_ydxi::@return
bitmap_line_ydxi::@3: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@4
2020-10-05 20:58:02 +00:00
bitmap_line_ydxi::xd#6 = phi( bitmap_line_ydxi::@4/bitmap_line_ydxi::xd#3 )
bitmap_line_ydxi::y#7 = phi( bitmap_line_ydxi::@4/bitmap_line_ydxi::y#2 )
bitmap_line_ydxi::y1#3 = phi( bitmap_line_ydxi::@4/bitmap_line_ydxi::y1#4 )
bitmap_line_ydxi::yd#3 = phi( bitmap_line_ydxi::@4/bitmap_line_ydxi::yd#2 )
bitmap_line_ydxi::e#4 = phi( bitmap_line_ydxi::@4/bitmap_line_ydxi::e#1 )
bitmap_line_ydxi::x#4 = phi( bitmap_line_ydxi::@4/bitmap_line_ydxi::x#7 )
bitmap_line_ydxi::x#2 = ++ bitmap_line_ydxi::x#4
bitmap_line_ydxi::$5 = bitmap_line_ydxi::e#4 - bitmap_line_ydxi::yd#3
bitmap_line_ydxi::e#2 = bitmap_line_ydxi::$5
to:bitmap_line_ydxi::@2
bitmap_line_ydxi::@return: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@2
return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_line_ydxd(byte bitmap_line_ydxd::y , byte bitmap_line_ydxd::x , byte bitmap_line_ydxd::y1 , byte bitmap_line_ydxd::yd , byte bitmap_line_ydxd::xd)
bitmap_line_ydxd: scope:[bitmap_line_ydxd] from bitmap_line::@10 bitmap_line::@6
2020-10-05 20:58:02 +00:00
bitmap_line_ydxd::y1#6 = phi( bitmap_line::@10/bitmap_line_ydxd::y1#0, bitmap_line::@6/bitmap_line_ydxd::y1#1 )
bitmap_line_ydxd::yd#5 = phi( bitmap_line::@10/bitmap_line_ydxd::yd#0, bitmap_line::@6/bitmap_line_ydxd::yd#1 )
bitmap_line_ydxd::y#7 = phi( bitmap_line::@10/bitmap_line_ydxd::y#0, bitmap_line::@6/bitmap_line_ydxd::y#1 )
bitmap_line_ydxd::x#5 = phi( bitmap_line::@10/bitmap_line_ydxd::x#0, bitmap_line::@6/bitmap_line_ydxd::x#1 )
bitmap_line_ydxd::xd#2 = phi( bitmap_line::@10/bitmap_line_ydxd::xd#0, bitmap_line::@6/bitmap_line_ydxd::xd#1 )
bitmap_line_ydxd::$0 = bitmap_line_ydxd::xd#2 >> 1
bitmap_line_ydxd::e#0 = bitmap_line_ydxd::$0
to:bitmap_line_ydxd::@1
bitmap_line_ydxd::@1: scope:[bitmap_line_ydxd] from bitmap_line_ydxd bitmap_line_ydxd::@2
2020-10-05 20:58:02 +00:00
bitmap_line_ydxd::y1#5 = phi( bitmap_line_ydxd/bitmap_line_ydxd::y1#6, bitmap_line_ydxd::@2/bitmap_line_ydxd::y1#2 )
bitmap_line_ydxd::yd#4 = phi( bitmap_line_ydxd/bitmap_line_ydxd::yd#5, bitmap_line_ydxd::@2/bitmap_line_ydxd::yd#6 )
bitmap_line_ydxd::xd#4 = phi( bitmap_line_ydxd/bitmap_line_ydxd::xd#2, bitmap_line_ydxd::@2/bitmap_line_ydxd::xd#5 )
bitmap_line_ydxd::e#5 = phi( bitmap_line_ydxd/bitmap_line_ydxd::e#0, bitmap_line_ydxd::@2/bitmap_line_ydxd::e#6 )
bitmap_line_ydxd::y#4 = phi( bitmap_line_ydxd/bitmap_line_ydxd::y#7, bitmap_line_ydxd::@2/bitmap_line_ydxd::y#6 )
bitmap_line_ydxd::x#3 = phi( bitmap_line_ydxd/bitmap_line_ydxd::x#5, bitmap_line_ydxd::@2/bitmap_line_ydxd::x#6 )
bitmap_plot::x#3 = bitmap_line_ydxd::x#3
bitmap_plot::y#3 = bitmap_line_ydxd::y#4
call bitmap_plot
to:bitmap_line_ydxd::@4
bitmap_line_ydxd::@4: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@1
2020-10-05 20:58:02 +00:00
bitmap_line_ydxd::x#7 = phi( bitmap_line_ydxd::@1/bitmap_line_ydxd::x#3 )
bitmap_line_ydxd::y1#4 = phi( bitmap_line_ydxd::@1/bitmap_line_ydxd::y1#5 )
bitmap_line_ydxd::yd#2 = phi( bitmap_line_ydxd::@1/bitmap_line_ydxd::yd#4 )
bitmap_line_ydxd::xd#3 = phi( bitmap_line_ydxd::@1/bitmap_line_ydxd::xd#4 )
bitmap_line_ydxd::e#3 = phi( bitmap_line_ydxd::@1/bitmap_line_ydxd::e#5 )
bitmap_line_ydxd::y#5 = phi( bitmap_line_ydxd::@1/bitmap_line_ydxd::y#4 )
bitmap_line_ydxd::y#2 = bitmap_line_ydxd::y#5
bitmap_line_ydxd::y#3 = ++ bitmap_line_ydxd::y#2
bitmap_line_ydxd::$2 = bitmap_line_ydxd::e#3 + bitmap_line_ydxd::xd#3
bitmap_line_ydxd::e#1 = bitmap_line_ydxd::$2
bitmap_line_ydxd::$3 = bitmap_line_ydxd::yd#2 < bitmap_line_ydxd::e#1
bitmap_line_ydxd::$4 = ! bitmap_line_ydxd::$3
if(bitmap_line_ydxd::$4) goto bitmap_line_ydxd::@2
to:bitmap_line_ydxd::@3
bitmap_line_ydxd::@2: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4
2020-10-05 20:58:02 +00:00
bitmap_line_ydxd::yd#6 = phi( bitmap_line_ydxd::@3/bitmap_line_ydxd::yd#3, bitmap_line_ydxd::@4/bitmap_line_ydxd::yd#2 )
bitmap_line_ydxd::xd#5 = phi( bitmap_line_ydxd::@3/bitmap_line_ydxd::xd#6, bitmap_line_ydxd::@4/bitmap_line_ydxd::xd#3 )
bitmap_line_ydxd::e#6 = phi( bitmap_line_ydxd::@3/bitmap_line_ydxd::e#2, bitmap_line_ydxd::@4/bitmap_line_ydxd::e#1 )
bitmap_line_ydxd::x#6 = phi( bitmap_line_ydxd::@3/bitmap_line_ydxd::x#2, bitmap_line_ydxd::@4/bitmap_line_ydxd::x#7 )
bitmap_line_ydxd::y#6 = phi( bitmap_line_ydxd::@3/bitmap_line_ydxd::y#8, bitmap_line_ydxd::@4/bitmap_line_ydxd::y#3 )
bitmap_line_ydxd::y1#2 = phi( bitmap_line_ydxd::@3/bitmap_line_ydxd::y1#3, bitmap_line_ydxd::@4/bitmap_line_ydxd::y1#4 )
bitmap_line_ydxd::$6 = bitmap_line_ydxd::y1#2 + 1
bitmap_line_ydxd::$7 = bitmap_line_ydxd::y#6 != bitmap_line_ydxd::$6
if(bitmap_line_ydxd::$7) goto bitmap_line_ydxd::@1
to:bitmap_line_ydxd::@return
bitmap_line_ydxd::@3: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@4
2020-10-05 20:58:02 +00:00
bitmap_line_ydxd::xd#6 = phi( bitmap_line_ydxd::@4/bitmap_line_ydxd::xd#3 )
bitmap_line_ydxd::y#8 = phi( bitmap_line_ydxd::@4/bitmap_line_ydxd::y#3 )
bitmap_line_ydxd::y1#3 = phi( bitmap_line_ydxd::@4/bitmap_line_ydxd::y1#4 )
bitmap_line_ydxd::yd#3 = phi( bitmap_line_ydxd::@4/bitmap_line_ydxd::yd#2 )
bitmap_line_ydxd::e#4 = phi( bitmap_line_ydxd::@4/bitmap_line_ydxd::e#1 )
bitmap_line_ydxd::x#4 = phi( bitmap_line_ydxd::@4/bitmap_line_ydxd::x#7 )
bitmap_line_ydxd::x#2 = -- bitmap_line_ydxd::x#4
bitmap_line_ydxd::$5 = bitmap_line_ydxd::e#4 - bitmap_line_ydxd::yd#3
bitmap_line_ydxd::e#2 = bitmap_line_ydxd::$5
to:bitmap_line_ydxd::@2
bitmap_line_ydxd::@return: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@2
return
to:@return
2020-10-05 20:58:02 +00:00
void main()
main: scope:[main] from __start::@1
2020-10-05 20:58:02 +00:00
next#14 = phi( __start::@1/next#11 )
*BORDER_COLOR = 0
*BG_COLOR = 0
2020-12-29 18:37:32 +00:00
*D011 = VICII_BMM|VICII_DEN|VICII_RSEL|3
*VICII_MEMORY = (byte)(word)SCREEN&$3fff/$40|(word)BITMAP&$3fff/$400
2020-10-05 20:58:02 +00:00
bitmap_init::bitmap#0 = BITMAP
call bitmap_init
to:main::@2
main::@2: scope:[main] from main
2020-10-05 20:58:02 +00:00
next#13 = phi( main/next#14 )
call bitmap_clear
to:main::@3
main::@3: scope:[main] from main::@2
2020-10-05 20:58:02 +00:00
next#12 = phi( main::@2/next#13 )
call init_screen
to:main::@4
main::@4: scope:[main] from main::@3
2020-10-05 20:58:02 +00:00
next#10 = phi( main::@3/next#12 )
to:main::@1
main::@1: scope:[main] from main::@4 main::@5
2020-10-05 20:58:02 +00:00
next#5 = phi( main::@4/next#10, main::@5/next#0 )
bitmap_line::x0#0 = 0
bitmap_line::x1#0 = next#5
bitmap_line::y0#0 = 0
bitmap_line::y1#0 = $64
call bitmap_line
to:main::@5
main::@5: scope:[main] from main::@1
2020-10-05 20:58:02 +00:00
next#6 = phi( main::@1/next#5 )
next#0 = ++ next#6
if(true) goto main::@1
to:main::@return
main::@return: scope:[main] from main::@5
2020-10-05 20:58:02 +00:00
next#7 = phi( main::@5/next#0 )
next#1 = next#7
return
to:@return
2020-10-05 20:58:02 +00:00
void init_screen()
init_screen: scope:[init_screen] from main::@3
2020-10-05 20:58:02 +00:00
init_screen::c#0 = SCREEN
to:init_screen::@1
init_screen::@1: scope:[init_screen] from init_screen init_screen::@2
2020-10-05 20:58:02 +00:00
init_screen::c#2 = phi( init_screen/init_screen::c#0, init_screen::@2/init_screen::c#1 )
init_screen::$0 = init_screen::c#2 != SCREEN+$400
if(init_screen::$0) goto init_screen::@2
to:init_screen::@return
init_screen::@2: scope:[init_screen] from init_screen::@1
2020-10-05 20:58:02 +00:00
init_screen::c#3 = phi( init_screen::@1/init_screen::c#2 )
*init_screen::c#3 = $14
init_screen::c#1 = ++ init_screen::c#3
to:init_screen::@1
init_screen::@return: scope:[init_screen] from init_screen::@1
return
to:@return
2020-06-27 19:18:00 +00:00
2020-10-05 20:58:02 +00:00
void __start()
__start: scope:[__start] from
to:__start::__init1
__start::__init1: scope:[__start] from __start
2020-10-05 20:58:02 +00:00
next#2 = 0
to:__start::@1
__start::@1: scope:[__start] from __start::__init1
2020-10-05 20:58:02 +00:00
next#11 = phi( __start::__init1/next#2 )
call main
to:__start::@2
__start::@2: scope:[__start] from __start::@1
2020-10-05 20:58:02 +00:00
next#8 = phi( __start::@1/next#1 )
next#3 = next#8
to:__start::@return
__start::@return: scope:[__start] from __start::@2
2020-10-05 20:58:02 +00:00
next#9 = phi( __start::@2/next#3 )
next#4 = next#9
2020-06-27 19:18:00 +00:00
return
to:@return
SYMBOL TABLE SSA
2020-10-05 20:58:02 +00:00
const nomodify byte* BG_COLOR = (byte*)$d021
const nomodify byte* BITMAP = (byte*)$2000
const nomodify byte* BORDER_COLOR = (byte*)$d020
const nomodify byte* D011 = (byte*)$d011
const nomodify byte* SCREEN = (byte*)$400
2020-12-29 18:37:32 +00:00
const nomodify byte VICII_BMM = $20
const nomodify byte VICII_DEN = $10
const nomodify byte* VICII_MEMORY = (byte*)$d018
const nomodify byte VICII_RSEL = 8
2020-10-05 20:58:02 +00:00
void __start()
void bitmap_clear()
bool~ bitmap_clear::$0
bool~ bitmap_clear::$1
byte* bitmap_clear::bitmap
byte* bitmap_clear::bitmap#0
byte* bitmap_clear::bitmap#1
byte* bitmap_clear::bitmap#2
byte* bitmap_clear::bitmap#3
byte* bitmap_clear::bitmap#4
byte bitmap_clear::x
byte bitmap_clear::x#0
byte bitmap_clear::x#1
byte bitmap_clear::x#2
byte bitmap_clear::y
byte bitmap_clear::y#0
byte bitmap_clear::y#1
byte bitmap_clear::y#2
byte bitmap_clear::y#3
byte bitmap_clear::y#4
void bitmap_init(byte* bitmap_init::bitmap)
number~ bitmap_init::$0
byte~ bitmap_init::$1
number~ bitmap_init::$10
bool~ bitmap_init::$11
bool~ bitmap_init::$12
byte*~ bitmap_init::$13
bool~ bitmap_init::$14
byte~ bitmap_init::$2
bool~ bitmap_init::$3
bool~ bitmap_init::$4
bool~ bitmap_init::$5
number~ bitmap_init::$6
byte~ bitmap_init::$7
number~ bitmap_init::$8
byte~ bitmap_init::$9
byte* bitmap_init::bitmap
byte* bitmap_init::bitmap#0
byte* bitmap_init::bitmap#1
byte* bitmap_init::bitmap#2
byte* bitmap_init::bitmap#3
byte* bitmap_init::bitmap#4
byte bitmap_init::bits
byte bitmap_init::bits#0
byte bitmap_init::bits#1
byte bitmap_init::bits#2
byte bitmap_init::bits#3
byte bitmap_init::bits#4
byte bitmap_init::x
byte bitmap_init::x#0
byte bitmap_init::x#1
byte bitmap_init::x#2
byte bitmap_init::x#3
byte bitmap_init::x#4
byte bitmap_init::y
byte bitmap_init::y#0
byte bitmap_init::y#1
byte bitmap_init::y#2
byte bitmap_init::y#3
byte bitmap_init::y#4
byte* bitmap_init::yoffs
byte* bitmap_init::yoffs#0
byte* bitmap_init::yoffs#1
byte* bitmap_init::yoffs#2
byte* bitmap_init::yoffs#3
byte* bitmap_init::yoffs#4
void bitmap_line(byte bitmap_line::x0 , byte bitmap_line::x1 , byte bitmap_line::y0 , byte bitmap_line::y1)
bool~ bitmap_line::$0
byte~ bitmap_line::$1
byte~ bitmap_line::$11
bool~ bitmap_line::$12
byte~ bitmap_line::$13
bool~ bitmap_line::$14
byte~ bitmap_line::$17
bool~ bitmap_line::$18
bool~ bitmap_line::$2
byte~ bitmap_line::$3
bool~ bitmap_line::$4
byte~ bitmap_line::$7
bool~ bitmap_line::$8
byte bitmap_line::x0
byte bitmap_line::x0#0
byte bitmap_line::x0#1
byte bitmap_line::x0#10
byte bitmap_line::x0#11
byte bitmap_line::x0#12
byte bitmap_line::x0#13
byte bitmap_line::x0#2
byte bitmap_line::x0#3
byte bitmap_line::x0#4
byte bitmap_line::x0#5
byte bitmap_line::x0#6
byte bitmap_line::x0#7
byte bitmap_line::x0#8
byte bitmap_line::x0#9
byte bitmap_line::x1
byte bitmap_line::x1#0
byte bitmap_line::x1#1
byte bitmap_line::x1#10
byte bitmap_line::x1#11
byte bitmap_line::x1#12
byte bitmap_line::x1#13
byte bitmap_line::x1#2
byte bitmap_line::x1#3
byte bitmap_line::x1#4
byte bitmap_line::x1#5
byte bitmap_line::x1#6
byte bitmap_line::x1#7
byte bitmap_line::x1#8
byte bitmap_line::x1#9
byte bitmap_line::xd
byte bitmap_line::xd#0
byte bitmap_line::xd#1
byte bitmap_line::xd#10
byte bitmap_line::xd#11
byte bitmap_line::xd#12
byte bitmap_line::xd#13
byte bitmap_line::xd#14
byte bitmap_line::xd#2
byte bitmap_line::xd#3
byte bitmap_line::xd#4
byte bitmap_line::xd#5
byte bitmap_line::xd#6
byte bitmap_line::xd#7
byte bitmap_line::xd#8
byte bitmap_line::xd#9
byte bitmap_line::y0
byte bitmap_line::y0#0
byte bitmap_line::y0#1
byte bitmap_line::y0#10
byte bitmap_line::y0#11
byte bitmap_line::y0#12
byte bitmap_line::y0#13
byte bitmap_line::y0#2
byte bitmap_line::y0#3
byte bitmap_line::y0#4
byte bitmap_line::y0#5
byte bitmap_line::y0#6
byte bitmap_line::y0#7
byte bitmap_line::y0#8
byte bitmap_line::y0#9
byte bitmap_line::y1
byte bitmap_line::y1#0
byte bitmap_line::y1#1
byte bitmap_line::y1#10
byte bitmap_line::y1#11
byte bitmap_line::y1#12
byte bitmap_line::y1#13
byte bitmap_line::y1#2
byte bitmap_line::y1#3
byte bitmap_line::y1#4
byte bitmap_line::y1#5
byte bitmap_line::y1#6
byte bitmap_line::y1#7
byte bitmap_line::y1#8
byte bitmap_line::y1#9
byte bitmap_line::yd
byte bitmap_line::yd#0
byte bitmap_line::yd#1
byte bitmap_line::yd#10
byte bitmap_line::yd#11
byte bitmap_line::yd#12
byte bitmap_line::yd#2
byte bitmap_line::yd#3
byte bitmap_line::yd#4
byte bitmap_line::yd#5
byte bitmap_line::yd#6
byte bitmap_line::yd#7
byte bitmap_line::yd#8
byte bitmap_line::yd#9
void bitmap_line_xdyd(byte bitmap_line_xdyd::x , byte bitmap_line_xdyd::y , byte bitmap_line_xdyd::x1 , byte bitmap_line_xdyd::xd , byte bitmap_line_xdyd::yd)
byte~ bitmap_line_xdyd::$0
byte~ bitmap_line_xdyd::$2
bool~ bitmap_line_xdyd::$3
bool~ bitmap_line_xdyd::$4
byte~ bitmap_line_xdyd::$5
number~ bitmap_line_xdyd::$6
bool~ bitmap_line_xdyd::$7
byte bitmap_line_xdyd::e
byte bitmap_line_xdyd::e#0
byte bitmap_line_xdyd::e#1
byte bitmap_line_xdyd::e#2
byte bitmap_line_xdyd::e#3
byte bitmap_line_xdyd::e#4
byte bitmap_line_xdyd::e#5
byte bitmap_line_xdyd::e#6
byte bitmap_line_xdyd::x
byte bitmap_line_xdyd::x#0
byte bitmap_line_xdyd::x#1
byte bitmap_line_xdyd::x#2
byte bitmap_line_xdyd::x#3
byte bitmap_line_xdyd::x#4
byte bitmap_line_xdyd::x#5
byte bitmap_line_xdyd::x#6
byte bitmap_line_xdyd::x#7
byte bitmap_line_xdyd::x1
byte bitmap_line_xdyd::x1#0
byte bitmap_line_xdyd::x1#1
byte bitmap_line_xdyd::x1#2
byte bitmap_line_xdyd::x1#3
byte bitmap_line_xdyd::x1#4
byte bitmap_line_xdyd::x1#5
byte bitmap_line_xdyd::x1#6
byte bitmap_line_xdyd::xd
byte bitmap_line_xdyd::xd#0
byte bitmap_line_xdyd::xd#1
byte bitmap_line_xdyd::xd#2
byte bitmap_line_xdyd::xd#3
byte bitmap_line_xdyd::xd#4
byte bitmap_line_xdyd::xd#5
byte bitmap_line_xdyd::xd#6
byte bitmap_line_xdyd::y
byte bitmap_line_xdyd::y#0
byte bitmap_line_xdyd::y#1
byte bitmap_line_xdyd::y#2
byte bitmap_line_xdyd::y#3
byte bitmap_line_xdyd::y#4
byte bitmap_line_xdyd::y#5
byte bitmap_line_xdyd::y#6
byte bitmap_line_xdyd::y#7
byte bitmap_line_xdyd::yd
byte bitmap_line_xdyd::yd#0
byte bitmap_line_xdyd::yd#1
byte bitmap_line_xdyd::yd#2
byte bitmap_line_xdyd::yd#3
byte bitmap_line_xdyd::yd#4
byte bitmap_line_xdyd::yd#5
byte bitmap_line_xdyd::yd#6
void bitmap_line_xdyi(byte bitmap_line_xdyi::x , byte bitmap_line_xdyi::y , byte bitmap_line_xdyi::x1 , byte bitmap_line_xdyi::xd , byte bitmap_line_xdyi::yd)
byte~ bitmap_line_xdyi::$0
byte~ bitmap_line_xdyi::$2
bool~ bitmap_line_xdyi::$3
bool~ bitmap_line_xdyi::$4
byte~ bitmap_line_xdyi::$5
number~ bitmap_line_xdyi::$6
bool~ bitmap_line_xdyi::$7
byte bitmap_line_xdyi::e
byte bitmap_line_xdyi::e#0
byte bitmap_line_xdyi::e#1
byte bitmap_line_xdyi::e#2
byte bitmap_line_xdyi::e#3
byte bitmap_line_xdyi::e#4
byte bitmap_line_xdyi::e#5
byte bitmap_line_xdyi::e#6
byte bitmap_line_xdyi::x
byte bitmap_line_xdyi::x#0
byte bitmap_line_xdyi::x#1
byte bitmap_line_xdyi::x#2
byte bitmap_line_xdyi::x#3
byte bitmap_line_xdyi::x#4
byte bitmap_line_xdyi::x#5
byte bitmap_line_xdyi::x#6
byte bitmap_line_xdyi::x#7
byte bitmap_line_xdyi::x1
byte bitmap_line_xdyi::x1#0
byte bitmap_line_xdyi::x1#1
byte bitmap_line_xdyi::x1#2
byte bitmap_line_xdyi::x1#3
byte bitmap_line_xdyi::x1#4
byte bitmap_line_xdyi::x1#5
byte bitmap_line_xdyi::x1#6
byte bitmap_line_xdyi::xd
byte bitmap_line_xdyi::xd#0
byte bitmap_line_xdyi::xd#1
byte bitmap_line_xdyi::xd#2
byte bitmap_line_xdyi::xd#3
byte bitmap_line_xdyi::xd#4
byte bitmap_line_xdyi::xd#5
byte bitmap_line_xdyi::xd#6
byte bitmap_line_xdyi::y
byte bitmap_line_xdyi::y#0
byte bitmap_line_xdyi::y#1
byte bitmap_line_xdyi::y#2
byte bitmap_line_xdyi::y#3
byte bitmap_line_xdyi::y#4
byte bitmap_line_xdyi::y#5
byte bitmap_line_xdyi::y#6
byte bitmap_line_xdyi::y#7
byte bitmap_line_xdyi::yd
byte bitmap_line_xdyi::yd#0
byte bitmap_line_xdyi::yd#1
byte bitmap_line_xdyi::yd#2
byte bitmap_line_xdyi::yd#3
byte bitmap_line_xdyi::yd#4
byte bitmap_line_xdyi::yd#5
byte bitmap_line_xdyi::yd#6
void bitmap_line_ydxd(byte bitmap_line_ydxd::y , byte bitmap_line_ydxd::x , byte bitmap_line_ydxd::y1 , byte bitmap_line_ydxd::yd , byte bitmap_line_ydxd::xd)
byte~ bitmap_line_ydxd::$0
byte~ bitmap_line_ydxd::$2
bool~ bitmap_line_ydxd::$3
bool~ bitmap_line_ydxd::$4
byte~ bitmap_line_ydxd::$5
number~ bitmap_line_ydxd::$6
bool~ bitmap_line_ydxd::$7
byte bitmap_line_ydxd::e
byte bitmap_line_ydxd::e#0
byte bitmap_line_ydxd::e#1
byte bitmap_line_ydxd::e#2
byte bitmap_line_ydxd::e#3
byte bitmap_line_ydxd::e#4
byte bitmap_line_ydxd::e#5
byte bitmap_line_ydxd::e#6
byte bitmap_line_ydxd::x
byte bitmap_line_ydxd::x#0
byte bitmap_line_ydxd::x#1
byte bitmap_line_ydxd::x#2
byte bitmap_line_ydxd::x#3
byte bitmap_line_ydxd::x#4
byte bitmap_line_ydxd::x#5
byte bitmap_line_ydxd::x#6
byte bitmap_line_ydxd::x#7
byte bitmap_line_ydxd::xd
byte bitmap_line_ydxd::xd#0
byte bitmap_line_ydxd::xd#1
byte bitmap_line_ydxd::xd#2
byte bitmap_line_ydxd::xd#3
byte bitmap_line_ydxd::xd#4
byte bitmap_line_ydxd::xd#5
byte bitmap_line_ydxd::xd#6
byte bitmap_line_ydxd::y
byte bitmap_line_ydxd::y#0
byte bitmap_line_ydxd::y#1
byte bitmap_line_ydxd::y#2
byte bitmap_line_ydxd::y#3
byte bitmap_line_ydxd::y#4
byte bitmap_line_ydxd::y#5
byte bitmap_line_ydxd::y#6
byte bitmap_line_ydxd::y#7
byte bitmap_line_ydxd::y#8
byte bitmap_line_ydxd::y1
byte bitmap_line_ydxd::y1#0
byte bitmap_line_ydxd::y1#1
byte bitmap_line_ydxd::y1#2
byte bitmap_line_ydxd::y1#3
byte bitmap_line_ydxd::y1#4
byte bitmap_line_ydxd::y1#5
byte bitmap_line_ydxd::y1#6
byte bitmap_line_ydxd::yd
byte bitmap_line_ydxd::yd#0
byte bitmap_line_ydxd::yd#1
byte bitmap_line_ydxd::yd#2
byte bitmap_line_ydxd::yd#3
byte bitmap_line_ydxd::yd#4
byte bitmap_line_ydxd::yd#5
byte bitmap_line_ydxd::yd#6
void bitmap_line_ydxi(byte bitmap_line_ydxi::y , byte bitmap_line_ydxi::x , byte bitmap_line_ydxi::y1 , byte bitmap_line_ydxi::yd , byte bitmap_line_ydxi::xd)
byte~ bitmap_line_ydxi::$0
byte~ bitmap_line_ydxi::$2
bool~ bitmap_line_ydxi::$3
bool~ bitmap_line_ydxi::$4
byte~ bitmap_line_ydxi::$5
number~ bitmap_line_ydxi::$6
bool~ bitmap_line_ydxi::$7
byte bitmap_line_ydxi::e
byte bitmap_line_ydxi::e#0
byte bitmap_line_ydxi::e#1
byte bitmap_line_ydxi::e#2
byte bitmap_line_ydxi::e#3
byte bitmap_line_ydxi::e#4
byte bitmap_line_ydxi::e#5
byte bitmap_line_ydxi::e#6
byte bitmap_line_ydxi::x
byte bitmap_line_ydxi::x#0
byte bitmap_line_ydxi::x#1
byte bitmap_line_ydxi::x#2
byte bitmap_line_ydxi::x#3
byte bitmap_line_ydxi::x#4
byte bitmap_line_ydxi::x#5
byte bitmap_line_ydxi::x#6
byte bitmap_line_ydxi::x#7
byte bitmap_line_ydxi::xd
byte bitmap_line_ydxi::xd#0
byte bitmap_line_ydxi::xd#1
byte bitmap_line_ydxi::xd#2
byte bitmap_line_ydxi::xd#3
byte bitmap_line_ydxi::xd#4
byte bitmap_line_ydxi::xd#5
byte bitmap_line_ydxi::xd#6
byte bitmap_line_ydxi::y
byte bitmap_line_ydxi::y#0
byte bitmap_line_ydxi::y#1
byte bitmap_line_ydxi::y#2
byte bitmap_line_ydxi::y#3
byte bitmap_line_ydxi::y#4
byte bitmap_line_ydxi::y#5
byte bitmap_line_ydxi::y#6
byte bitmap_line_ydxi::y#7
byte bitmap_line_ydxi::y1
byte bitmap_line_ydxi::y1#0
byte bitmap_line_ydxi::y1#1
byte bitmap_line_ydxi::y1#2
byte bitmap_line_ydxi::y1#3
byte bitmap_line_ydxi::y1#4
byte bitmap_line_ydxi::y1#5
byte bitmap_line_ydxi::y1#6
byte bitmap_line_ydxi::yd
byte bitmap_line_ydxi::yd#0
byte bitmap_line_ydxi::yd#1
byte bitmap_line_ydxi::yd#2
byte bitmap_line_ydxi::yd#3
byte bitmap_line_ydxi::yd#4
byte bitmap_line_ydxi::yd#5
byte bitmap_line_ydxi::yd#6
void bitmap_plot(byte bitmap_plot::x , byte bitmap_plot::y)
word~ bitmap_plot::$0
byte~ bitmap_plot::$1
byte* bitmap_plot::plotter
byte* bitmap_plot::plotter#0
word bitmap_plot::plotter_x
word bitmap_plot::plotter_x#0
word bitmap_plot::plotter_y
word bitmap_plot::plotter_y#0
byte bitmap_plot::x
byte bitmap_plot::x#0
byte bitmap_plot::x#1
byte bitmap_plot::x#2
byte bitmap_plot::x#3
byte bitmap_plot::x#4
byte bitmap_plot::y
byte bitmap_plot::y#0
byte bitmap_plot::y#1
byte bitmap_plot::y#2
byte bitmap_plot::y#3
byte bitmap_plot::y#4
const to_nomodify byte* bitmap_plot_bit[$100] = { fill( $100, 0) }
const to_nomodify byte* bitmap_plot_xhi[$100] = { fill( $100, 0) }
const to_nomodify byte* bitmap_plot_xlo[$100] = { fill( $100, 0) }
const to_nomodify byte* bitmap_plot_yhi[$100] = { fill( $100, 0) }
const to_nomodify byte* bitmap_plot_ylo[$100] = { fill( $100, 0) }
void init_screen()
bool~ init_screen::$0
byte* init_screen::c
byte* init_screen::c#0
byte* init_screen::c#1
byte* init_screen::c#2
byte* init_screen::c#3
void main()
byte next
byte next#0
byte next#1
byte next#10
byte next#11
byte next#12
byte next#13
byte next#14
byte next#2
byte next#3
byte next#4
byte next#5
byte next#6
byte next#7
byte next#8
byte next#9
2020-10-05 20:58:02 +00:00
Fixing inline constructor with bitmap_clear::$2 = (byte)bitmap_plot_xhi[0] w= (byte)bitmap_plot_xlo[0]
Fixing inline constructor with bitmap_plot::$2 = (byte)bitmap_plot_xhi[bitmap_plot::x#4] w= (byte)bitmap_plot_xlo[bitmap_plot::x#4]
Fixing inline constructor with bitmap_plot::$3 = (byte)bitmap_plot_yhi[bitmap_plot::y#4] w= (byte)bitmap_plot_ylo[bitmap_plot::y#4]
Successful SSA optimization Pass2FixInlineConstructors
2020-10-05 20:58:02 +00:00
Adding number conversion cast (unumber) $f8 in bitmap_init::$0 = bitmap_init::x#2 & $f8
Adding number conversion cast (unumber) bitmap_init::$0 in bitmap_init::$0 = bitmap_init::x#2 & (unumber)$f8
Adding number conversion cast (unumber) 1 in bitmap_init::$2 = bitmap_init::bits#3 >> 1
Adding number conversion cast (unumber) 0 in bitmap_init::$3 = bitmap_init::bits#1 == 0
Adding number conversion cast (unumber) $80 in bitmap_init::bits#2 = $80
Adding number conversion cast (unumber) 7 in bitmap_init::$6 = bitmap_init::y#2 & 7
Adding number conversion cast (unumber) bitmap_init::$6 in bitmap_init::$6 = bitmap_init::y#2 & (unumber)7
Adding number conversion cast (unumber) bitmap_init::$8 in bitmap_init::$8 = bitmap_init::$6 | bitmap_init::$7
Adding number conversion cast (unumber) 7 in bitmap_init::$10 = bitmap_init::y#2 & 7
Adding number conversion cast (unumber) bitmap_init::$10 in bitmap_init::$10 = bitmap_init::y#2 & (unumber)7
Adding number conversion cast (unumber) 7 in bitmap_init::$11 = bitmap_init::$10 == 7
Adding number conversion cast (unumber) $28*8 in bitmap_init::$13 = bitmap_init::yoffs#3 + $28*8
Adding number conversion cast (unumber) 0 in bitmap_clear::$2 = (byte)bitmap_plot_xhi[0] w= (byte)bitmap_plot_xlo[0]
Adding number conversion cast (unumber) 0 in bitmap_clear::$2 = (byte)bitmap_plot_xhi[(unumber)0] w= (byte)bitmap_plot_xlo[0]
Adding number conversion cast (unumber) 0 in *bitmap_clear::bitmap#2 = 0
Adding number conversion cast (unumber) 1 in bitmap_line_xdyi::$0 = bitmap_line_xdyi::yd#2 >> 1
Adding number conversion cast (unumber) 1 in bitmap_line_xdyi::$6 = bitmap_line_xdyi::x1#2 + 1
Adding number conversion cast (unumber) bitmap_line_xdyi::$6 in bitmap_line_xdyi::$6 = bitmap_line_xdyi::x1#2 + (unumber)1
Adding number conversion cast (unumber) 1 in bitmap_line_xdyd::$0 = bitmap_line_xdyd::yd#2 >> 1
Adding number conversion cast (unumber) 1 in bitmap_line_xdyd::$6 = bitmap_line_xdyd::x1#2 + 1
Adding number conversion cast (unumber) bitmap_line_xdyd::$6 in bitmap_line_xdyd::$6 = bitmap_line_xdyd::x1#2 + (unumber)1
Adding number conversion cast (unumber) 1 in bitmap_line_ydxi::$0 = bitmap_line_ydxi::xd#2 >> 1
Adding number conversion cast (unumber) 1 in bitmap_line_ydxi::$6 = bitmap_line_ydxi::y1#2 + 1
Adding number conversion cast (unumber) bitmap_line_ydxi::$6 in bitmap_line_ydxi::$6 = bitmap_line_ydxi::y1#2 + (unumber)1
Adding number conversion cast (unumber) 1 in bitmap_line_ydxd::$0 = bitmap_line_ydxd::xd#2 >> 1
Adding number conversion cast (unumber) 1 in bitmap_line_ydxd::$6 = bitmap_line_ydxd::y1#2 + 1
Adding number conversion cast (unumber) bitmap_line_ydxd::$6 in bitmap_line_ydxd::$6 = bitmap_line_ydxd::y1#2 + (unumber)1
Adding number conversion cast (unumber) 0 in *BORDER_COLOR = 0
Adding number conversion cast (unumber) 0 in *BG_COLOR = 0
2020-12-29 18:37:32 +00:00
Adding number conversion cast (unumber) VICII_BMM|VICII_DEN|VICII_RSEL|3 in *D011 = VICII_BMM|VICII_DEN|VICII_RSEL|3
Adding number conversion cast (unumber) 3 in *D011 = ((unumber)) VICII_BMM|VICII_DEN|VICII_RSEL|3
Adding number conversion cast (unumber) $3fff in *VICII_MEMORY = (byte)(word)SCREEN&$3fff/$40|(word)BITMAP&$3fff/$400
Adding number conversion cast (unumber) $3fff in *VICII_MEMORY = (byte)(word)SCREEN&(unumber)$3fff/$40|(word)BITMAP&$3fff/$400
2020-10-05 20:58:02 +00:00
Adding number conversion cast (unumber) 0 in bitmap_line::x0#0 = 0
Adding number conversion cast (unumber) 0 in bitmap_line::y0#0 = 0
Adding number conversion cast (unumber) $64 in bitmap_line::y1#0 = $64
Adding number conversion cast (unumber) $400 in init_screen::$0 = init_screen::c#2 != SCREEN+$400
Adding number conversion cast (unumber) $14 in *init_screen::c#3 = $14
Successful SSA optimization PassNAddNumberTypeConversions
2020-12-29 18:37:32 +00:00
Adding number conversion cast (unumber) $40 in *VICII_MEMORY = (byte)(word)SCREEN&(unumber)$3fff/$40|(word)BITMAP&(unumber)$3fff/$400
Adding number conversion cast (unumber) $400 in *VICII_MEMORY = (byte)(word)SCREEN&(unumber)$3fff/(unumber)$40|(word)BITMAP&(unumber)$3fff/$400
Successful SSA optimization PassNAddNumberTypeConversions
2020-10-05 20:58:02 +00:00
Inlining cast bitmap_init::bits#2 = (unumber)$80
Inlining cast *bitmap_clear::bitmap#2 = (unumber)0
Inlining cast bitmap_plot::plotter#0 = (byte*)bitmap_plot::$0
Inlining cast *BORDER_COLOR = (unumber)0
Inlining cast *BG_COLOR = (unumber)0
2020-12-29 18:37:32 +00:00
Inlining cast *D011 = (unumber)VICII_BMM|VICII_DEN|VICII_RSEL|(unumber)3
2020-10-05 20:58:02 +00:00
Inlining cast bitmap_line::x0#0 = (unumber)0
Inlining cast bitmap_line::y0#0 = (unumber)0
Inlining cast bitmap_line::y1#0 = (unumber)$64
Inlining cast *init_screen::c#3 = (unumber)$14
Successful SSA optimization Pass2InlineCast
Simplifying constant pointer cast (byte*) 53280
Simplifying constant pointer cast (byte*) 53281
Simplifying constant pointer cast (byte*) 53265
Simplifying constant pointer cast (byte*) 53272
Simplifying constant pointer cast (byte*) 1024
Simplifying constant pointer cast (byte*) 8192
Simplifying constant integer cast $f8
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast $80
Simplifying constant pointer cast (byte*) 0
Simplifying constant integer cast 7
Simplifying constant integer cast 7
Simplifying constant integer cast 7
2020-10-05 20:58:02 +00:00
Simplifying constant integer cast bitmap_plot_xhi[(unumber)0]
Simplifying constant integer cast 0
2020-10-05 20:58:02 +00:00
Simplifying constant integer cast bitmap_plot_xlo[(unumber)0]
Simplifying constant integer cast 0
Simplifying constant integer cast 0
2020-10-05 20:58:02 +00:00
Simplifying constant integer cast bitmap_plot_xhi[bitmap_plot::x#4]
Simplifying constant integer cast bitmap_plot_xlo[bitmap_plot::x#4]
Simplifying constant integer cast bitmap_plot_yhi[bitmap_plot::y#4]
Simplifying constant integer cast bitmap_plot_ylo[bitmap_plot::y#4]
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
2020-12-29 18:37:32 +00:00
Simplifying constant integer cast VICII_BMM|VICII_DEN|VICII_RSEL|(unumber)3
Simplifying constant integer cast 3
Simplifying constant integer cast $3fff
Simplifying constant integer cast $40
Simplifying constant integer cast $3fff
Simplifying constant integer cast $400
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $64
Simplifying constant integer cast $400
Simplifying constant integer cast $14
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (byte) $f8
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $80
Finalized unsigned number type (byte) 7
Finalized unsigned number type (byte) 7
Finalized unsigned number type (byte) 7
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 3
Finalized unsigned number type (word) $3fff
Finalized unsigned number type (byte) $40
Finalized unsigned number type (word) $3fff
Finalized unsigned number type (word) $400
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $64
Finalized unsigned number type (word) $400
Finalized unsigned number type (byte) $14
Successful SSA optimization PassNFinalizeNumberTypeConversions
2020-10-05 20:58:02 +00:00
Inferred type updated to byte in bitmap_init::$0 = bitmap_init::x#2 & $f8
Inferred type updated to byte in bitmap_init::$6 = bitmap_init::y#2 & 7
Inferred type updated to byte in bitmap_init::$8 = bitmap_init::$6 | bitmap_init::$7
Inferred type updated to byte in bitmap_init::$10 = bitmap_init::y#2 & 7
Inferred type updated to byte in bitmap_line_xdyi::$6 = bitmap_line_xdyi::x1#2 + 1
Inferred type updated to byte in bitmap_line_xdyd::$6 = bitmap_line_xdyd::x1#2 + 1
Inferred type updated to byte in bitmap_line_ydxi::$6 = bitmap_line_ydxi::y1#2 + 1
Inferred type updated to byte in bitmap_line_ydxd::$6 = bitmap_line_ydxd::y1#2 + 1
Adding pointer type conversion cast (byte*) bitmap_clear::$2 in bitmap_clear::$2 = bitmap_plot_xhi[0] w= bitmap_plot_xlo[0]
Successful SSA optimization PassNAddTypeConversionAssignment
2020-10-05 20:58:02 +00:00
Inversing boolean not [12] bitmap_init::$4 = bitmap_init::bits#1 != 0 from [11] bitmap_init::$3 = bitmap_init::bits#1 == 0
Inversing boolean not [31] bitmap_init::$12 = bitmap_init::$10 != 7 from [30] bitmap_init::$11 = bitmap_init::$10 == 7
Inversing boolean not [172] bitmap_line_xdyi::$4 = bitmap_line_xdyi::xd#2 >= bitmap_line_xdyi::e#1 from [171] bitmap_line_xdyi::$3 = bitmap_line_xdyi::xd#2 < bitmap_line_xdyi::e#1
Inversing boolean not [195] bitmap_line_xdyd::$4 = bitmap_line_xdyd::xd#2 >= bitmap_line_xdyd::e#1 from [194] bitmap_line_xdyd::$3 = bitmap_line_xdyd::xd#2 < bitmap_line_xdyd::e#1
Inversing boolean not [218] bitmap_line_ydxi::$4 = bitmap_line_ydxi::yd#2 >= bitmap_line_ydxi::e#1 from [217] bitmap_line_ydxi::$3 = bitmap_line_ydxi::yd#2 < bitmap_line_ydxi::e#1
Inversing boolean not [242] bitmap_line_ydxd::$4 = bitmap_line_ydxd::yd#2 >= bitmap_line_ydxd::e#1 from [241] bitmap_line_ydxd::$3 = bitmap_line_ydxd::yd#2 < bitmap_line_ydxd::e#1
Successful SSA optimization Pass2UnaryNotSimplification
Alias bitmap_init::bits#1 = bitmap_init::$2
Alias bitmap_init::x#2 = bitmap_init::x#4
Alias bitmap_init::bitmap#1 = bitmap_init::bitmap#4
Alias bitmap_init::yoffs#2 = bitmap_init::yoffs#3
Alias bitmap_init::y#2 = bitmap_init::y#4
Alias bitmap_init::yoffs#1 = bitmap_init::$13
Alias bitmap_clear::bitmap#0 = bitmap_clear::$2
Alias bitmap_clear::y#2 = bitmap_clear::y#3
Alias bitmap_clear::bitmap#1 = bitmap_clear::bitmap#4
Alias bitmap_plot::plotter_x#0 = bitmap_plot::$2
Alias bitmap_plot::plotter_y#0 = bitmap_plot::$3
Alias bitmap_line::x1#1 = bitmap_line::x1#2 bitmap_line::x1#3 bitmap_line::x1#11 bitmap_line::x1#10 bitmap_line::x1#4 bitmap_line::x1#5 bitmap_line::x1#6 bitmap_line::x1#13 bitmap_line::x1#12 bitmap_line::x1#7 bitmap_line::x1#8 bitmap_line::x1#9
Alias bitmap_line::x0#1 = bitmap_line::x0#2 bitmap_line::x0#3 bitmap_line::x0#11 bitmap_line::x0#10 bitmap_line::x0#4 bitmap_line::x0#5 bitmap_line::x0#6 bitmap_line::x0#13 bitmap_line::x0#12 bitmap_line::x0#7 bitmap_line::x0#8 bitmap_line::x0#9
Alias bitmap_line::y0#1 = bitmap_line::y0#13 bitmap_line::y0#2 bitmap_line::y0#3 bitmap_line::y0#4 bitmap_line::y0#5 bitmap_line::y0#6 bitmap_line::y0#7 bitmap_line::y0#8 bitmap_line::y0#9 bitmap_line::y0#10 bitmap_line::y0#11 bitmap_line::y0#12
Alias bitmap_line::y1#1 = bitmap_line::y1#13 bitmap_line::y1#2 bitmap_line::y1#3 bitmap_line::y1#4 bitmap_line::y1#5 bitmap_line::y1#6 bitmap_line::y1#7 bitmap_line::y1#8 bitmap_line::y1#9 bitmap_line::y1#10 bitmap_line::y1#11 bitmap_line::y1#12
Alias bitmap_line::xd#1 = bitmap_line::$11 bitmap_line::xd#9 bitmap_line::xd#10 bitmap_line::xd#11 bitmap_line::xd#12 bitmap_line::xd#13 bitmap_line::xd#14
Alias bitmap_line::xd#2 = bitmap_line::$1 bitmap_line::xd#3 bitmap_line::xd#4 bitmap_line::xd#5 bitmap_line::xd#6 bitmap_line::xd#7 bitmap_line::xd#8
Alias bitmap_line::yd#1 = bitmap_line::$7 bitmap_line::yd#7 bitmap_line::yd#8
Alias bitmap_line::yd#2 = bitmap_line::$3 bitmap_line::yd#5 bitmap_line::yd#6
Alias bitmap_line::yd#11 = bitmap_line::yd#3 bitmap_line::$17 bitmap_line::yd#12
Alias bitmap_line::yd#10 = bitmap_line::yd#4 bitmap_line::$13 bitmap_line::yd#9
Alias bitmap_line_xdyi::e#0 = bitmap_line_xdyi::$0
Alias bitmap_line_xdyi::x#3 = bitmap_line_xdyi::x#4
Alias bitmap_line_xdyi::e#3 = bitmap_line_xdyi::e#5
Alias bitmap_line_xdyi::yd#3 = bitmap_line_xdyi::yd#4 bitmap_line_xdyi::yd#6
Alias bitmap_line_xdyi::xd#2 = bitmap_line_xdyi::xd#4 bitmap_line_xdyi::xd#3
Alias bitmap_line_xdyi::x1#3 = bitmap_line_xdyi::x1#4 bitmap_line_xdyi::x1#5
Alias bitmap_line_xdyi::y#3 = bitmap_line_xdyi::y#7 bitmap_line_xdyi::y#4
Alias bitmap_line_xdyi::e#1 = bitmap_line_xdyi::$2 bitmap_line_xdyi::e#4
Alias bitmap_line_xdyi::x#2 = bitmap_line_xdyi::x#7
Alias bitmap_line_xdyi::e#2 = bitmap_line_xdyi::$5
Alias bitmap_line_xdyd::e#0 = bitmap_line_xdyd::$0
Alias bitmap_line_xdyd::x#3 = bitmap_line_xdyd::x#4
Alias bitmap_line_xdyd::e#3 = bitmap_line_xdyd::e#5
Alias bitmap_line_xdyd::yd#3 = bitmap_line_xdyd::yd#4 bitmap_line_xdyd::yd#6
Alias bitmap_line_xdyd::xd#2 = bitmap_line_xdyd::xd#4 bitmap_line_xdyd::xd#3
Alias bitmap_line_xdyd::x1#3 = bitmap_line_xdyd::x1#4 bitmap_line_xdyd::x1#5
Alias bitmap_line_xdyd::y#3 = bitmap_line_xdyd::y#7 bitmap_line_xdyd::y#4
Alias bitmap_line_xdyd::e#1 = bitmap_line_xdyd::$2 bitmap_line_xdyd::e#4
Alias bitmap_line_xdyd::x#2 = bitmap_line_xdyd::x#7
Alias bitmap_line_xdyd::e#2 = bitmap_line_xdyd::$5
Alias bitmap_line_ydxi::e#0 = bitmap_line_ydxi::$0
Alias bitmap_line_ydxi::y#3 = bitmap_line_ydxi::y#4
Alias bitmap_line_ydxi::e#3 = bitmap_line_ydxi::e#5
Alias bitmap_line_ydxi::xd#3 = bitmap_line_ydxi::xd#4 bitmap_line_ydxi::xd#6
Alias bitmap_line_ydxi::yd#2 = bitmap_line_ydxi::yd#4 bitmap_line_ydxi::yd#3
Alias bitmap_line_ydxi::y1#3 = bitmap_line_ydxi::y1#4 bitmap_line_ydxi::y1#5
Alias bitmap_line_ydxi::x#3 = bitmap_line_ydxi::x#7 bitmap_line_ydxi::x#4
Alias bitmap_line_ydxi::e#1 = bitmap_line_ydxi::$2 bitmap_line_ydxi::e#4
Alias bitmap_line_ydxi::y#2 = bitmap_line_ydxi::y#7
Alias bitmap_line_ydxi::e#2 = bitmap_line_ydxi::$5
Alias bitmap_line_ydxd::e#0 = bitmap_line_ydxd::$0
Alias bitmap_line_ydxd::y#2 = bitmap_line_ydxd::y#5 bitmap_line_ydxd::y#4
Alias bitmap_line_ydxd::e#3 = bitmap_line_ydxd::e#5
Alias bitmap_line_ydxd::xd#3 = bitmap_line_ydxd::xd#4 bitmap_line_ydxd::xd#6
Alias bitmap_line_ydxd::yd#2 = bitmap_line_ydxd::yd#4 bitmap_line_ydxd::yd#3
Alias bitmap_line_ydxd::y1#3 = bitmap_line_ydxd::y1#4 bitmap_line_ydxd::y1#5
Alias bitmap_line_ydxd::x#3 = bitmap_line_ydxd::x#7 bitmap_line_ydxd::x#4
Alias bitmap_line_ydxd::e#1 = bitmap_line_ydxd::$2 bitmap_line_ydxd::e#4
Alias bitmap_line_ydxd::y#3 = bitmap_line_ydxd::y#8
Alias bitmap_line_ydxd::e#2 = bitmap_line_ydxd::$5
2020-06-27 19:18:00 +00:00
Alias next#10 = next#13 next#14 next#12
Alias next#5 = next#6
Alias next#0 = next#7 next#1
Alias init_screen::c#2 = init_screen::c#3
2020-06-27 19:18:00 +00:00
Alias next#11 = next#2
Alias next#3 = next#8 next#9 next#4
Successful SSA optimization Pass2AliasElimination
Alias bitmap_init::x#2 = bitmap_init::x#3
Alias bitmap_init::bitmap#1 = bitmap_init::bitmap#3
Alias bitmap_init::y#2 = bitmap_init::y#3
Alias bitmap_line_xdyi::x1#2 = bitmap_line_xdyi::x1#3
Alias bitmap_line_xdyi::x#2 = bitmap_line_xdyi::x#5
Alias bitmap_line_xdyi::yd#3 = bitmap_line_xdyi::yd#5
Alias bitmap_line_xdyi::xd#2 = bitmap_line_xdyi::xd#6
Alias bitmap_line_xdyd::x1#2 = bitmap_line_xdyd::x1#3
Alias bitmap_line_xdyd::x#2 = bitmap_line_xdyd::x#5
Alias bitmap_line_xdyd::yd#3 = bitmap_line_xdyd::yd#5
Alias bitmap_line_xdyd::xd#2 = bitmap_line_xdyd::xd#6
Alias bitmap_line_ydxi::y1#2 = bitmap_line_ydxi::y1#3
Alias bitmap_line_ydxi::y#2 = bitmap_line_ydxi::y#5
Alias bitmap_line_ydxi::xd#3 = bitmap_line_ydxi::xd#5
Alias bitmap_line_ydxi::yd#2 = bitmap_line_ydxi::yd#6
Alias bitmap_line_ydxd::y1#2 = bitmap_line_ydxd::y1#3
Alias bitmap_line_ydxd::y#3 = bitmap_line_ydxd::y#6
Alias bitmap_line_ydxd::xd#3 = bitmap_line_ydxd::xd#5
Alias bitmap_line_ydxd::yd#2 = bitmap_line_ydxd::yd#6
Successful SSA optimization Pass2AliasElimination
2020-10-05 20:58:02 +00:00
Identical Phi Values bitmap_init::bitmap#2 bitmap_init::bitmap#0
Identical Phi Values bitmap_init::bitmap#1 bitmap_init::bitmap#2
Identical Phi Values bitmap_clear::y#2 bitmap_clear::y#4
Identical Phi Values bitmap_line::x0#1 bitmap_line::x0#0
Identical Phi Values bitmap_line::x1#1 bitmap_line::x1#0
Identical Phi Values bitmap_line::y0#1 bitmap_line::y0#0
Identical Phi Values bitmap_line::y1#1 bitmap_line::y1#0
Identical Phi Values bitmap_line_xdyi::yd#3 bitmap_line_xdyi::yd#2
Identical Phi Values bitmap_line_xdyi::xd#2 bitmap_line_xdyi::xd#5
Identical Phi Values bitmap_line_xdyi::x1#2 bitmap_line_xdyi::x1#6
Identical Phi Values bitmap_line_xdyd::yd#3 bitmap_line_xdyd::yd#2
Identical Phi Values bitmap_line_xdyd::xd#2 bitmap_line_xdyd::xd#5
Identical Phi Values bitmap_line_xdyd::x1#2 bitmap_line_xdyd::x1#6
Identical Phi Values bitmap_line_ydxi::xd#3 bitmap_line_ydxi::xd#2
Identical Phi Values bitmap_line_ydxi::yd#2 bitmap_line_ydxi::yd#5
Identical Phi Values bitmap_line_ydxi::y1#2 bitmap_line_ydxi::y1#6
Identical Phi Values bitmap_line_ydxd::xd#3 bitmap_line_ydxd::xd#2
Identical Phi Values bitmap_line_ydxd::yd#2 bitmap_line_ydxd::yd#5
Identical Phi Values bitmap_line_ydxd::y1#2 bitmap_line_ydxd::y1#6
Identical Phi Values next#10 next#11
Identical Phi Values next#3 next#0
Successful SSA optimization Pass2IdenticalPhiElimination
2020-10-05 20:58:02 +00:00
Identified duplicate assignment right side [29] bitmap_init::$10 = bitmap_init::y#2 & 7
Successful SSA optimization Pass2DuplicateRValueIdentification
2020-10-05 20:58:02 +00:00
Simple Condition bitmap_init::$4 [11] if(bitmap_init::bits#1!=0) goto bitmap_init::@2
Simple Condition bitmap_init::$5 [15] if(bitmap_init::x#1!=rangelast(0,$ff)) goto bitmap_init::@1
Simple Condition bitmap_init::$12 [28] if(bitmap_init::$10!=7) goto bitmap_init::@6
Simple Condition bitmap_init::$14 [32] if(bitmap_init::y#1!=rangelast(0,$ff)) goto bitmap_init::@5
Simple Condition bitmap_clear::$0 [45] if(bitmap_clear::x#1!=rangelast(0,$c7)) goto bitmap_clear::@2
Simple Condition bitmap_clear::$1 [48] if(bitmap_clear::y#1!=rangelast(0,$27)) goto bitmap_clear::@1
Simple Condition bitmap_line::$0 [62] if(bitmap_line::x0#0<bitmap_line::x1#0) goto bitmap_line::@1
Simple Condition bitmap_line::$12 [65] if(bitmap_line::y0#0<bitmap_line::y1#0) goto bitmap_line::@11
Simple Condition bitmap_line::$2 [68] if(bitmap_line::y0#0<bitmap_line::y1#0) goto bitmap_line::@7
Simple Condition bitmap_line::$8 [71] if(bitmap_line::yd#1<bitmap_line::xd#2) goto bitmap_line::@9
Simple Condition bitmap_line::$4 [74] if(bitmap_line::yd#2<bitmap_line::xd#2) goto bitmap_line::@8
Simple Condition bitmap_line::$18 [101] if(bitmap_line::yd#11<bitmap_line::xd#1) goto bitmap_line::@13
Simple Condition bitmap_line::$14 [104] if(bitmap_line::yd#10<bitmap_line::xd#1) goto bitmap_line::@12
Simple Condition bitmap_line_xdyi::$4 [139] if(bitmap_line_xdyi::xd#5>=bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2
Simple Condition bitmap_line_xdyi::$7 [143] if(bitmap_line_xdyi::x#2!=bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1
Simple Condition bitmap_line_xdyd::$4 [156] if(bitmap_line_xdyd::xd#5>=bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2
Simple Condition bitmap_line_xdyd::$7 [160] if(bitmap_line_xdyd::x#2!=bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1
Simple Condition bitmap_line_ydxi::$4 [173] if(bitmap_line_ydxi::yd#5>=bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2
Simple Condition bitmap_line_ydxi::$7 [177] if(bitmap_line_ydxi::y#2!=bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1
Simple Condition bitmap_line_ydxd::$4 [190] if(bitmap_line_ydxd::yd#5>=bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2
Simple Condition bitmap_line_ydxd::$7 [194] if(bitmap_line_ydxd::y#3!=bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1
Simple Condition init_screen::$0 [219] if(init_screen::c#2!=SCREEN+$400) goto init_screen::@2
Successful SSA optimization Pass2ConditionalJumpSimplification
2020-10-05 20:58:02 +00:00
Constant bitmap_init::bits#0 = $80
Constant bitmap_init::x#0 = 0
Constant bitmap_init::bits#2 = $80
Constant bitmap_init::yoffs#0 = (byte*) 0
Constant bitmap_init::y#0 = 0
Constant bitmap_clear::y#0 = 0
Constant bitmap_clear::x#0 = 0
Constant bitmap_line::xd#0 = 0
Constant bitmap_line::yd#0 = 0
Constant bitmap_init::bitmap#0 = BITMAP
Constant bitmap_line::x0#0 = 0
Constant bitmap_line::y0#0 = 0
Constant bitmap_line::y1#0 = $64
Constant init_screen::c#0 = SCREEN
Constant next#11 = 0
Successful SSA optimization Pass2ConstantIdentification
2020-10-05 20:58:02 +00:00
Constant bitmap_line_xdyi::y#0 = bitmap_line::y1#0
Constant bitmap_line_xdyi::x1#0 = bitmap_line::x0#0
Constant bitmap_line_ydxi::y#0 = bitmap_line::y1#0
Constant bitmap_line_ydxi::y1#0 = bitmap_line::y0#0
Constant bitmap_line_xdyd::y#0 = bitmap_line::y1#0
Constant bitmap_line_xdyd::x1#0 = bitmap_line::x0#0
Constant bitmap_line_ydxd::y#0 = bitmap_line::y0#0
Constant bitmap_line_ydxd::x#0 = bitmap_line::x0#0
Constant bitmap_line_ydxd::y1#0 = bitmap_line::y1#0
Constant bitmap_line_xdyd::x#1 = bitmap_line::x0#0
Constant bitmap_line_xdyd::y#1 = bitmap_line::y0#0
Constant bitmap_line_ydxd::y#1 = bitmap_line::y1#0
Constant bitmap_line_ydxd::y1#1 = bitmap_line::y0#0
Constant bitmap_line_xdyi::x#1 = bitmap_line::x0#0
Constant bitmap_line_xdyi::y#1 = bitmap_line::y0#0
Constant bitmap_line_ydxi::y#1 = bitmap_line::y0#0
Constant bitmap_line_ydxi::x#1 = bitmap_line::x0#0
Constant bitmap_line_ydxi::y1#1 = bitmap_line::y1#0
Successful SSA optimization Pass2ConstantIdentification
2020-10-05 20:58:02 +00:00
if() condition always true - replacing block destination [65] if(bitmap_line::y0#0<bitmap_line::y1#0) goto bitmap_line::@11
if() condition always true - replacing block destination [68] if(bitmap_line::y0#0<bitmap_line::y1#0) goto bitmap_line::@7
2020-06-27 19:18:00 +00:00
if() condition always true - replacing block destination [214] if(true) goto main::@1
Successful SSA optimization Pass2ConstantIfs
2020-10-05 20:58:02 +00:00
Resolved ranged next value [13] bitmap_init::x#1 = ++ bitmap_init::x#2 to ++
Resolved ranged comparison value [15] if(bitmap_init::x#1!=rangelast(0,$ff)) goto bitmap_init::@1 to 0
Resolved ranged next value [30] bitmap_init::y#1 = ++ bitmap_init::y#2 to ++
Resolved ranged comparison value [32] if(bitmap_init::y#1!=rangelast(0,$ff)) goto bitmap_init::@5 to 0
Resolved ranged next value [43] bitmap_clear::x#1 = ++ bitmap_clear::x#2 to ++
Resolved ranged comparison value [45] if(bitmap_clear::x#1!=rangelast(0,$c7)) goto bitmap_clear::@2 to $c8
Resolved ranged next value [46] bitmap_clear::y#1 = ++ bitmap_clear::y#4 to ++
Resolved ranged comparison value [48] if(bitmap_clear::y#1!=rangelast(0,$27)) goto bitmap_clear::@1 to $28
Simplifying expression containing zero bitmap_plot_xhi in [35] bitmap_clear::$3 = bitmap_plot_xhi[0] w= bitmap_plot_xlo[0]
Simplifying expression containing zero bitmap_plot_xlo in [35] bitmap_clear::$3 = *bitmap_plot_xhi w= bitmap_plot_xlo[0]
Simplifying expression containing zero bitmap_line::x1#0 in [63] bitmap_line::xd#1 = bitmap_line::x1#0 - bitmap_line::x0#0
Simplifying expression containing zero bitmap_line::x1#0 in [66] bitmap_line::xd#2 = bitmap_line::x0#0 - bitmap_line::x1#0
Simplifying expression containing zero bitmap_line::y1#0 in [69] bitmap_line::yd#1 = bitmap_line::y1#0 - bitmap_line::y0#0
Simplifying expression containing zero bitmap_line::y1#0 in [72] bitmap_line::yd#2 = bitmap_line::y0#0 - bitmap_line::y1#0
Simplifying expression containing zero bitmap_line::y1#0 in [99] bitmap_line::yd#11 = bitmap_line::y1#0 - bitmap_line::y0#0
Simplifying expression containing zero bitmap_line::y1#0 in [102] bitmap_line::yd#10 = bitmap_line::y0#0 - bitmap_line::y1#0
Successful SSA optimization PassNSimplifyExpressionWithZero
2020-10-05 20:58:02 +00:00
Eliminating unused constant bitmap_line::xd#0
Eliminating unused constant bitmap_line::yd#0
Successful SSA optimization PassNEliminateUnusedVars
2020-10-05 20:58:02 +00:00
Eliminating variable bitmap_line::yd#2 from unused block bitmap_line::@3
Eliminating variable bitmap_line_xdyi::x#0 from unused block bitmap_line::@8
Eliminating variable bitmap_line_xdyi::xd#0 from unused block bitmap_line::@8
Eliminating variable bitmap_line_xdyi::yd#0 from unused block bitmap_line::@8
Eliminating variable bitmap_line_ydxi::x#0 from unused block bitmap_line::@4
Eliminating variable bitmap_line_ydxi::yd#0 from unused block bitmap_line::@4
Eliminating variable bitmap_line_ydxi::xd#0 from unused block bitmap_line::@4
Eliminating variable bitmap_line::yd#10 from unused block bitmap_line::@5
Eliminating variable bitmap_line_xdyd::x1#1 from unused block bitmap_line::@12
Eliminating variable bitmap_line_xdyd::xd#1 from unused block bitmap_line::@12
Eliminating variable bitmap_line_xdyd::yd#1 from unused block bitmap_line::@12
Eliminating variable bitmap_line_ydxd::x#1 from unused block bitmap_line::@6
Eliminating variable bitmap_line_ydxd::yd#1 from unused block bitmap_line::@6
Eliminating variable bitmap_line_ydxd::xd#1 from unused block bitmap_line::@6
Removing unused block bitmap_line::@3
Removing PHI-reference to removed block (bitmap_line::@8) in block bitmap_line_xdyi
Removing PHI-reference to removed block (bitmap_line::@8) in block bitmap_line_xdyi
Removing PHI-reference to removed block (bitmap_line::@8) in block bitmap_line_xdyi
Removing PHI-reference to removed block (bitmap_line::@8) in block bitmap_line_xdyi
Removing PHI-reference to removed block (bitmap_line::@8) in block bitmap_line_xdyi
Removing unused block bitmap_line::@8
Removing unused block bitmap_line::@15
Removing PHI-reference to removed block (bitmap_line::@4) in block bitmap_line_ydxi
Removing PHI-reference to removed block (bitmap_line::@4) in block bitmap_line_ydxi
Removing PHI-reference to removed block (bitmap_line::@4) in block bitmap_line_ydxi
Removing PHI-reference to removed block (bitmap_line::@4) in block bitmap_line_ydxi
Removing PHI-reference to removed block (bitmap_line::@4) in block bitmap_line_ydxi
Removing unused block bitmap_line::@4
Removing unused block bitmap_line::@16
Removing unused block bitmap_line::@5
Removing PHI-reference to removed block (bitmap_line::@12) in block bitmap_line_xdyd
Removing PHI-reference to removed block (bitmap_line::@12) in block bitmap_line_xdyd
Removing PHI-reference to removed block (bitmap_line::@12) in block bitmap_line_xdyd
Removing PHI-reference to removed block (bitmap_line::@12) in block bitmap_line_xdyd
Removing PHI-reference to removed block (bitmap_line::@12) in block bitmap_line_xdyd
Removing unused block bitmap_line::@12
Removing unused block bitmap_line::@19
Removing PHI-reference to removed block (bitmap_line::@6) in block bitmap_line_ydxd
Removing PHI-reference to removed block (bitmap_line::@6) in block bitmap_line_ydxd
Removing PHI-reference to removed block (bitmap_line::@6) in block bitmap_line_ydxd
Removing PHI-reference to removed block (bitmap_line::@6) in block bitmap_line_ydxd
Removing PHI-reference to removed block (bitmap_line::@6) in block bitmap_line_ydxd
Removing unused block bitmap_line::@6
Removing unused block bitmap_line::@20
Removing unused block main::@return
Successful SSA optimization Pass2EliminateUnusedBlocks
Removing unused procedure __start
Removing unused procedure block __start
Removing unused procedure block __start::__init1
Removing unused procedure block __start::@1
Removing unused procedure block __start::@2
Removing unused procedure block __start::@return
2020-06-27 19:18:00 +00:00
Successful SSA optimization PassNEliminateEmptyStart
2020-10-05 20:58:02 +00:00
Adding number conversion cast (unumber) 0 in [10] if(bitmap_init::x#1!=0) goto bitmap_init::@1
Adding number conversion cast (unumber) 0 in [22] if(bitmap_init::y#1!=0) goto bitmap_init::@5
Adding number conversion cast (unumber) $c8 in [32] if(bitmap_clear::x#1!=$c8) goto bitmap_clear::@2
Adding number conversion cast (unumber) $28 in [34] if(bitmap_clear::y#1!=$28) goto bitmap_clear::@1
Successful SSA optimization PassNAddNumberTypeConversions
2020-10-05 20:58:02 +00:00
Inlining cast [26] bitmap_clear::bitmap#0 = (byte*)bitmap_clear::$3
Successful SSA optimization Pass2InlineCast
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $c8
Simplifying constant integer cast $28
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $c8
Finalized unsigned number type (byte) $28
Successful SSA optimization PassNFinalizeNumberTypeConversions
Alias bitmap_init::$10 = bitmap_init::$6
Successful SSA optimization Pass2AliasElimination
2020-10-05 20:58:02 +00:00
Identical Phi Values bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1
Identical Phi Values bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1
Identical Phi Values bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#1
Identical Phi Values bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1
Identical Phi Values bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1
Identical Phi Values bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0
Identical Phi Values bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0
Identical Phi Values bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0
Identical Phi Values bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0
Identical Phi Values bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0
Identical Phi Values bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1
Identical Phi Values bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1
Identical Phi Values bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1
Identical Phi Values bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1
Identical Phi Values bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1
Identical Phi Values bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0
Identical Phi Values bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0
Identical Phi Values bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0
Identical Phi Values bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0
Identical Phi Values bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0
Successful SSA optimization Pass2IdenticalPhiElimination
2020-10-05 20:58:02 +00:00
Constant right-side identified [3] bitmap_init::$1 = > bitmap_init::bitmap#0
Constant right-side identified [90] bitmap_line_xdyd::$6 = bitmap_line_xdyd::x1#0 + 1
Constant right-side identified [105] bitmap_line_ydxi::$6 = bitmap_line_ydxi::y1#1 + 1
Constant right-side identified [120] bitmap_line_ydxd::$6 = bitmap_line_ydxd::y1#0 + 1
Successful SSA optimization Pass2ConstantRValueConsolidation
2020-10-05 20:58:02 +00:00
Constant bitmap_init::$1 = >bitmap_init::bitmap#0
Constant bitmap_line::yd#1 = bitmap_line::y1#0
Constant bitmap_line::yd#11 = bitmap_line::y1#0
Constant bitmap_line_xdyd::$6 = bitmap_line_xdyd::x1#0+1
Constant bitmap_line_ydxi::$6 = bitmap_line_ydxi::y1#1+1
Constant bitmap_line_ydxd::$6 = bitmap_line_ydxd::y1#0+1
Successful SSA optimization Pass2ConstantIdentification
2020-10-05 20:58:02 +00:00
Constant bitmap_line_xdyd::yd#0 = bitmap_line::yd#1
Constant bitmap_line_ydxd::yd#0 = bitmap_line::yd#1
Constant bitmap_line_xdyi::yd#1 = bitmap_line::yd#11
Constant bitmap_line_ydxi::yd#1 = bitmap_line::yd#11
Successful SSA optimization Pass2ConstantIdentification
Simplifying expression containing zero 1 in
Successful SSA optimization PassNSimplifyExpressionWithZero
2020-10-05 20:58:02 +00:00
Eliminating unused constant bitmap_line_xdyi::y#0
Eliminating unused constant bitmap_line_xdyi::x1#0
Eliminating unused constant bitmap_line_xdyd::x1#0
Eliminating unused constant bitmap_line_xdyd::x#1
Eliminating unused constant bitmap_line_xdyd::y#1
Eliminating unused constant bitmap_line_ydxi::y#0
Eliminating unused constant bitmap_line_ydxi::y1#0
Eliminating unused constant bitmap_line_ydxd::y#1
Eliminating unused constant bitmap_line_ydxd::y1#1
Successful SSA optimization PassNEliminateUnusedVars
2020-10-05 20:58:02 +00:00
Constant right-side identified [58] bitmap_line_xdyi::e#0 = bitmap_line_xdyi::yd#1 >> 1
Constant right-side identified [72] bitmap_line_xdyd::e#0 = bitmap_line_xdyd::yd#0 >> 1
Successful SSA optimization Pass2ConstantRValueConsolidation
2020-10-05 20:58:02 +00:00
Constant bitmap_line_xdyi::e#0 = bitmap_line_xdyi::yd#1>>1
Constant bitmap_line_xdyd::e#0 = bitmap_line_xdyd::yd#0>>1
Successful SSA optimization Pass2ConstantIdentification
2020-10-05 20:58:02 +00:00
Inlining Noop Cast [24] bitmap_clear::bitmap#0 = (byte*)bitmap_clear::$3 keeping bitmap_clear::bitmap#0
Inlining Noop Cast [38] bitmap_plot::plotter#0 = (byte*)bitmap_plot::$0 keeping bitmap_plot::plotter#0
Successful SSA optimization Pass2NopCastInlining
2020-10-05 20:58:02 +00:00
Inlining constant with var siblings bitmap_init::bits#0
Inlining constant with var siblings bitmap_init::x#0
Inlining constant with var siblings bitmap_init::bits#2
Inlining constant with var siblings bitmap_init::yoffs#0
Inlining constant with var siblings bitmap_init::y#0
Inlining constant with var siblings bitmap_clear::y#0
Inlining constant with var siblings bitmap_clear::x#0
Inlining constant with var siblings bitmap_line_xdyi::x#1
Inlining constant with var siblings bitmap_line_xdyi::y#1
Inlining constant with var siblings bitmap_line_xdyi::e#0
Inlining constant with var siblings bitmap_line_xdyd::y#0
Inlining constant with var siblings bitmap_line_xdyd::e#0
Inlining constant with var siblings bitmap_line_ydxi::y#1
Inlining constant with var siblings bitmap_line_ydxi::x#1
Inlining constant with var siblings bitmap_line_ydxd::y#0
Inlining constant with var siblings bitmap_line_ydxd::x#0
Inlining constant with var siblings init_screen::c#0
Inlining constant with var siblings next#11
Constant inlined bitmap_line_ydxi::x#1 = bitmap_line::x0#0
Constant inlined bitmap_line::yd#1 = bitmap_line::y1#0
Constant inlined bitmap_line_xdyd::e#0 = bitmap_line::y1#0>>1
Constant inlined bitmap_line_xdyd::$6 = 1
Constant inlined bitmap_line_ydxi::$6 = bitmap_line::y1#0+1
Constant inlined bitmap_init::bits#0 = $80
Constant inlined bitmap_init::bits#2 = $80
Constant inlined bitmap_line_xdyi::e#0 = bitmap_line::y1#0>>1
Constant inlined bitmap_line_xdyd::y#0 = bitmap_line::y1#0
Constant inlined init_screen::c#0 = SCREEN
Constant inlined bitmap_line_ydxi::y#1 = bitmap_line::y0#0
Constant inlined bitmap_line_xdyi::y#1 = bitmap_line::y0#0
Constant inlined bitmap_init::yoffs#0 = (byte*) 0
2020-10-05 20:58:02 +00:00
Constant inlined next#11 = 0
Constant inlined bitmap_line_ydxd::yd#0 = bitmap_line::y1#0
Constant inlined bitmap_clear::x#0 = 0
Constant inlined bitmap_line_xdyi::yd#1 = bitmap_line::y1#0
Constant inlined bitmap_clear::y#0 = 0
Constant inlined bitmap_line::yd#11 = bitmap_line::y1#0
Constant inlined bitmap_line_xdyd::yd#0 = bitmap_line::y1#0
Constant inlined bitmap_line_ydxi::yd#1 = bitmap_line::y1#0
Constant inlined bitmap_line_ydxd::y#0 = bitmap_line::y0#0
Constant inlined bitmap_line_ydxd::x#0 = bitmap_line::x0#0
Constant inlined bitmap_line_ydxd::y1#0 = bitmap_line::y1#0
Constant inlined bitmap_init::$1 = >BITMAP
Constant inlined bitmap_line_ydxd::$6 = bitmap_line::y1#0+1
Constant inlined bitmap_init::y#0 = 0
Constant inlined bitmap_init::x#0 = 0
Constant inlined bitmap_line_ydxi::y1#1 = bitmap_line::y1#0
Constant inlined bitmap_init::bitmap#0 = BITMAP
Constant inlined bitmap_line_xdyi::x#1 = bitmap_line::x0#0
Successful SSA optimization Pass2ConstantInlining
Finalized unsigned number type (word) $100
Finalized unsigned number type (word) $100
Finalized unsigned number type (word) $100
Finalized unsigned number type (word) $100
Finalized unsigned number type (word) $100
Finalized unsigned number type (word) $100
Finalized unsigned number type (word) $100
Finalized unsigned number type (word) $100
Finalized unsigned number type (word) $100
Finalized unsigned number type (word) $100
Finalized unsigned number type (byte) $28
Finalized unsigned number type (byte) 8
Successful SSA optimization PassNFinalizeNumberTypeConversions
Added new block during phi lifting bitmap_init::@8(between bitmap_init::@2 and bitmap_init::@1)
Added new block during phi lifting bitmap_init::@9(between bitmap_init::@1 and bitmap_init::@2)
Added new block during phi lifting bitmap_init::@10(between bitmap_init::@6 and bitmap_init::@5)
Added new block during phi lifting bitmap_init::@11(between bitmap_init::@5 and bitmap_init::@6)
Added new block during phi lifting bitmap_clear::@4(between bitmap_clear::@3 and bitmap_clear::@1)
Added new block during phi lifting bitmap_clear::@5(between bitmap_clear::@2 and bitmap_clear::@2)
Added new block during phi lifting bitmap_line_xdyi::@5(between bitmap_line_xdyi::@2 and bitmap_line_xdyi::@1)
Added new block during phi lifting bitmap_line_xdyi::@6(between bitmap_line_xdyi::@4 and bitmap_line_xdyi::@2)
Added new block during phi lifting bitmap_line_xdyd::@5(between bitmap_line_xdyd::@2 and bitmap_line_xdyd::@1)
Added new block during phi lifting bitmap_line_xdyd::@6(between bitmap_line_xdyd::@4 and bitmap_line_xdyd::@2)
Added new block during phi lifting bitmap_line_ydxi::@5(between bitmap_line_ydxi::@2 and bitmap_line_ydxi::@1)
Added new block during phi lifting bitmap_line_ydxi::@6(between bitmap_line_ydxi::@4 and bitmap_line_ydxi::@2)
Added new block during phi lifting bitmap_line_ydxd::@5(between bitmap_line_ydxd::@2 and bitmap_line_ydxd::@1)
Added new block during phi lifting bitmap_line_ydxd::@6(between bitmap_line_ydxd::@4 and bitmap_line_ydxd::@2)
Adding NOP phi() at start of main::@2
Adding NOP phi() at start of main::@3
Adding NOP phi() at start of main::@4
Adding NOP phi() at start of bitmap_init
Adding NOP phi() at start of bitmap_init::@3
Adding NOP phi() at start of bitmap_init::@4
Adding NOP phi() at start of init_screen
Adding NOP phi() at start of bitmap_line::@18
Adding NOP phi() at start of bitmap_line::@17
Adding NOP phi() at start of bitmap_line::@22
Adding NOP phi() at start of bitmap_line::@21
Adding NOP phi() at start of bitmap_line_xdyi
CALL GRAPH
2020-06-27 19:18:00 +00:00
Calls in [main] to bitmap_init:4 bitmap_clear:6 init_screen:8 bitmap_line:12
Calls in [bitmap_line] to bitmap_line_ydxd:75 bitmap_line_xdyd:80 bitmap_line_ydxi:85 bitmap_line_xdyi:89
Calls in [bitmap_line_ydxd] to bitmap_plot:98
Calls in [bitmap_line_xdyd] to bitmap_plot:120
Calls in [bitmap_line_ydxi] to bitmap_plot:143
Calls in [bitmap_line_xdyi] to bitmap_plot:165
Created 34 initial phi equivalence classes
2020-10-05 20:58:02 +00:00
Coalesced [14] next#15 = next#0
Coalesced [37] bitmap_init::yoffs#7 = bitmap_init::yoffs#1
Coalesced [42] bitmap_init::y#5 = bitmap_init::y#1
Coalesced [43] bitmap_init::yoffs#5 = bitmap_init::yoffs#4
Coalesced (already) [44] bitmap_init::yoffs#6 = bitmap_init::yoffs#2
Coalesced [45] bitmap_init::x#5 = bitmap_init::x#1
Coalesced [46] bitmap_init::bits#5 = bitmap_init::bits#4
Coalesced [47] bitmap_init::bits#6 = bitmap_init::bits#1
Coalesced [51] bitmap_clear::bitmap#7 = bitmap_clear::bitmap#3
Coalesced [60] bitmap_clear::bitmap#6 = bitmap_clear::bitmap#1
Coalesced [61] bitmap_clear::y#5 = bitmap_clear::y#1
Coalesced (already) [62] bitmap_clear::bitmap#8 = bitmap_clear::bitmap#1
Coalesced [63] bitmap_clear::x#3 = bitmap_clear::x#1
Coalesced [70] init_screen::c#4 = init_screen::c#1
Coalesced [92] bitmap_line_ydxd::e#7 = bitmap_line_ydxd::e#0
Coalesced [96] bitmap_plot::x#7 = bitmap_plot::x#3
Coalesced [97] bitmap_plot::y#7 = bitmap_plot::y#3
Coalesced [104] bitmap_line_ydxd::x#9 = bitmap_line_ydxd::x#2
Coalesced [105] bitmap_line_ydxd::e#9 = bitmap_line_ydxd::e#2
Coalesced [109] bitmap_line_ydxd::x#8 = bitmap_line_ydxd::x#6
Coalesced [110] bitmap_line_ydxd::y#9 = bitmap_line_ydxd::y#3
Coalesced [111] bitmap_line_ydxd::e#8 = bitmap_line_ydxd::e#6
Coalesced (already) [112] bitmap_line_ydxd::x#10 = bitmap_line_ydxd::x#3
Coalesced [113] bitmap_line_ydxd::e#10 = bitmap_line_ydxd::e#1
Coalesced [114] bitmap_line_xdyd::x#8 = bitmap_line_xdyd::x#0
Coalesced [118] bitmap_plot::x#5 = bitmap_plot::x#1
Coalesced [119] bitmap_plot::y#5 = bitmap_plot::y#1
Coalesced [126] bitmap_line_xdyd::y#9 = bitmap_line_xdyd::y#2
Coalesced [127] bitmap_line_xdyd::e#8 = bitmap_line_xdyd::e#2
Coalesced [131] bitmap_line_xdyd::x#9 = bitmap_line_xdyd::x#2
Coalesced [132] bitmap_line_xdyd::y#8 = bitmap_line_xdyd::y#6
Coalesced [133] bitmap_line_xdyd::e#7 = bitmap_line_xdyd::e#6
Coalesced (already) [134] bitmap_line_xdyd::y#10 = bitmap_line_xdyd::y#3
Coalesced [135] bitmap_line_xdyd::e#9 = bitmap_line_xdyd::e#1
Coalesced [137] bitmap_line_ydxi::e#7 = bitmap_line_ydxi::e#0
Coalesced [141] bitmap_plot::x#8 = bitmap_plot::x#2
Coalesced [142] bitmap_plot::y#8 = bitmap_plot::y#2
Coalesced [149] bitmap_line_ydxi::x#9 = bitmap_line_ydxi::x#2
Coalesced [150] bitmap_line_ydxi::e#9 = bitmap_line_ydxi::e#2
Coalesced [154] bitmap_line_ydxi::x#8 = bitmap_line_ydxi::x#6
Coalesced [155] bitmap_line_ydxi::y#8 = bitmap_line_ydxi::y#2
Coalesced [156] bitmap_line_ydxi::e#8 = bitmap_line_ydxi::e#6
Coalesced (already) [157] bitmap_line_ydxi::x#10 = bitmap_line_ydxi::x#3
Coalesced [158] bitmap_line_ydxi::e#10 = bitmap_line_ydxi::e#1
Coalesced [163] bitmap_plot::x#6 = bitmap_plot::x#0
Coalesced [164] bitmap_plot::y#6 = bitmap_plot::y#0
Coalesced [171] bitmap_line_xdyi::y#9 = bitmap_line_xdyi::y#2
Coalesced [172] bitmap_line_xdyi::e#8 = bitmap_line_xdyi::e#2
Coalesced [177] bitmap_line_xdyi::x#8 = bitmap_line_xdyi::x#2
Coalesced [178] bitmap_line_xdyi::y#8 = bitmap_line_xdyi::y#6
Coalesced [179] bitmap_line_xdyi::e#7 = bitmap_line_xdyi::e#6
Coalesced (already) [180] bitmap_line_xdyi::y#10 = bitmap_line_xdyi::y#3
Coalesced [181] bitmap_line_xdyi::e#9 = bitmap_line_xdyi::e#1
Coalesced down to 23 phi equivalence classes
2020-10-05 20:58:02 +00:00
Culled Empty Block label main::@4
Culled Empty Block label bitmap_init::@3
Culled Empty Block label bitmap_init::@4
Culled Empty Block label bitmap_init::@10
Culled Empty Block label bitmap_init::@11
Culled Empty Block label bitmap_init::@8
Culled Empty Block label bitmap_clear::@4
Culled Empty Block label bitmap_clear::@5
Culled Empty Block label bitmap_line::@18
Culled Empty Block label bitmap_line::@17
Culled Empty Block label bitmap_line::@22
Culled Empty Block label bitmap_line::@21
Culled Empty Block label bitmap_line_ydxd::@5
Culled Empty Block label bitmap_line_ydxd::@6
Culled Empty Block label bitmap_line_xdyd::@5
Culled Empty Block label bitmap_line_xdyd::@6
Culled Empty Block label bitmap_line_ydxi::@5
Culled Empty Block label bitmap_line_ydxi::@6
Culled Empty Block label bitmap_line_xdyi::@5
Culled Empty Block label bitmap_line_xdyi::@6
Renumbering block bitmap_init::@5 to bitmap_init::@3
Renumbering block bitmap_init::@6 to bitmap_init::@4
Renumbering block bitmap_init::@7 to bitmap_init::@5
Renumbering block bitmap_init::@9 to bitmap_init::@6
Renumbering block bitmap_line::@7 to bitmap_line::@3
Renumbering block bitmap_line::@9 to bitmap_line::@4
Renumbering block bitmap_line::@10 to bitmap_line::@5
Renumbering block bitmap_line::@11 to bitmap_line::@6
Renumbering block bitmap_line::@13 to bitmap_line::@7
Renumbering block bitmap_line::@14 to bitmap_line::@8
Renumbering block main::@5 to main::@4
Adding NOP phi() at start of main::@2
Adding NOP phi() at start of main::@3
Adding NOP phi() at start of bitmap_init
Adding NOP phi() at start of bitmap_init::@6
Adding NOP phi() at start of init_screen
Adding NOP phi() at start of bitmap_line_xdyd
Adding NOP phi() at start of bitmap_line_xdyi
FINAL CONTROL FLOW GRAPH
2020-10-05 20:58:02 +00:00
void main()
2020-06-27 19:18:00 +00:00
main: scope:[main] from
2020-10-05 20:58:02 +00:00
[0] *BORDER_COLOR = 0
[1] *BG_COLOR = 0
2020-12-29 18:37:32 +00:00
[2] *D011 = VICII_BMM|VICII_DEN|VICII_RSEL|3
[3] *VICII_MEMORY = (byte)(word)SCREEN&$3fff/$40|(word)BITMAP&$3fff/$400
2020-06-27 19:18:00 +00:00
[4] call bitmap_init
to:main::@2
main::@2: scope:[main] from main
2020-06-27 19:18:00 +00:00
[5] phi()
[6] call bitmap_clear
to:main::@3
main::@3: scope:[main] from main::@2
2020-06-27 19:18:00 +00:00
[7] phi()
[8] call init_screen
to:main::@1
main::@1: scope:[main] from main::@3 main::@4
2020-10-05 20:58:02 +00:00
[9] next#5 = phi( main::@3/0, main::@4/next#0 )
[10] bitmap_line::x1#0 = next#5
2020-06-27 19:18:00 +00:00
[11] call bitmap_line
to:main::@4
main::@4: scope:[main] from main::@1
2020-10-05 20:58:02 +00:00
[12] next#0 = ++ next#5
to:main::@1
2020-10-05 20:58:02 +00:00
void bitmap_init(byte* bitmap_init::bitmap)
bitmap_init: scope:[bitmap_init] from main
[13] phi()
to:bitmap_init::@1
bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2
2020-10-05 20:58:02 +00:00
[14] bitmap_init::bits#3 = phi( bitmap_init/$80, bitmap_init::@2/bitmap_init::bits#4 )
[14] bitmap_init::x#2 = phi( bitmap_init/0, bitmap_init::@2/bitmap_init::x#1 )
[15] bitmap_init::$0 = bitmap_init::x#2 & $f8
[16] bitmap_plot_xlo[bitmap_init::x#2] = bitmap_init::$0
[17] bitmap_plot_xhi[bitmap_init::x#2] = >BITMAP
[18] bitmap_plot_bit[bitmap_init::x#2] = bitmap_init::bits#3
[19] bitmap_init::bits#1 = bitmap_init::bits#3 >> 1
[20] if(bitmap_init::bits#1!=0) goto bitmap_init::@6
to:bitmap_init::@2
bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@1
[21] phi()
to:bitmap_init::@2
bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@6
2020-10-05 20:58:02 +00:00
[22] bitmap_init::bits#4 = phi( bitmap_init::@6/bitmap_init::bits#1, bitmap_init::@1/$80 )
[23] bitmap_init::x#1 = ++ bitmap_init::x#2
[24] if(bitmap_init::x#1!=0) goto bitmap_init::@1
to:bitmap_init::@3
bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@2 bitmap_init::@4
2020-10-05 20:58:02 +00:00
[25] bitmap_init::yoffs#2 = phi( bitmap_init::@2/(byte*) 0, bitmap_init::@4/bitmap_init::yoffs#4 )
[25] bitmap_init::y#2 = phi( bitmap_init::@2/0, bitmap_init::@4/bitmap_init::y#1 )
[26] bitmap_init::$10 = bitmap_init::y#2 & 7
[27] bitmap_init::$7 = < bitmap_init::yoffs#2
[28] bitmap_init::$8 = bitmap_init::$10 | bitmap_init::$7
[29] bitmap_plot_ylo[bitmap_init::y#2] = bitmap_init::$8
[30] bitmap_init::$9 = > bitmap_init::yoffs#2
[31] bitmap_plot_yhi[bitmap_init::y#2] = bitmap_init::$9
[32] if(bitmap_init::$10!=7) goto bitmap_init::@4
to:bitmap_init::@5
bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@3
2020-10-05 20:58:02 +00:00
[33] bitmap_init::yoffs#1 = bitmap_init::yoffs#2 + (word)$28*8
to:bitmap_init::@4
bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@3 bitmap_init::@5
2020-10-05 20:58:02 +00:00
[34] bitmap_init::yoffs#4 = phi( bitmap_init::@3/bitmap_init::yoffs#2, bitmap_init::@5/bitmap_init::yoffs#1 )
[35] bitmap_init::y#1 = ++ bitmap_init::y#2
[36] if(bitmap_init::y#1!=0) goto bitmap_init::@3
to:bitmap_init::@return
bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@4
[37] return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_clear()
bitmap_clear: scope:[bitmap_clear] from main::@2
2020-10-05 20:58:02 +00:00
[38] bitmap_clear::bitmap#0 = *bitmap_plot_xhi w= *bitmap_plot_xlo
[39] bitmap_clear::bitmap#5 = (byte*)bitmap_clear::bitmap#0
to:bitmap_clear::@1
bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear bitmap_clear::@3
2020-10-05 20:58:02 +00:00
[40] bitmap_clear::y#4 = phi( bitmap_clear/0, bitmap_clear::@3/bitmap_clear::y#1 )
[40] bitmap_clear::bitmap#3 = phi( bitmap_clear/bitmap_clear::bitmap#5, bitmap_clear::@3/bitmap_clear::bitmap#1 )
to:bitmap_clear::@2
bitmap_clear::@2: scope:[bitmap_clear] from bitmap_clear::@1 bitmap_clear::@2
2020-10-05 20:58:02 +00:00
[41] bitmap_clear::x#2 = phi( bitmap_clear::@1/0, bitmap_clear::@2/bitmap_clear::x#1 )
[41] bitmap_clear::bitmap#2 = phi( bitmap_clear::@1/bitmap_clear::bitmap#3, bitmap_clear::@2/bitmap_clear::bitmap#1 )
[42] *bitmap_clear::bitmap#2 = 0
[43] bitmap_clear::bitmap#1 = ++ bitmap_clear::bitmap#2
[44] bitmap_clear::x#1 = ++ bitmap_clear::x#2
[45] if(bitmap_clear::x#1!=$c8) goto bitmap_clear::@2
to:bitmap_clear::@3
bitmap_clear::@3: scope:[bitmap_clear] from bitmap_clear::@2
2020-10-05 20:58:02 +00:00
[46] bitmap_clear::y#1 = ++ bitmap_clear::y#4
[47] if(bitmap_clear::y#1!=$28) goto bitmap_clear::@1
to:bitmap_clear::@return
bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@3
[48] return
to:@return
2020-10-05 20:58:02 +00:00
void init_screen()
init_screen: scope:[init_screen] from main::@3
[49] phi()
to:init_screen::@1
init_screen::@1: scope:[init_screen] from init_screen init_screen::@2
2020-10-05 20:58:02 +00:00
[50] init_screen::c#2 = phi( init_screen/SCREEN, init_screen::@2/init_screen::c#1 )
[51] if(init_screen::c#2!=SCREEN+$400) goto init_screen::@2
to:init_screen::@return
init_screen::@return: scope:[init_screen] from init_screen::@1
[52] return
to:@return
init_screen::@2: scope:[init_screen] from init_screen::@1
2020-10-05 20:58:02 +00:00
[53] *init_screen::c#2 = $14
[54] init_screen::c#1 = ++ init_screen::c#2
to:init_screen::@1
2020-10-05 20:58:02 +00:00
void bitmap_line(byte bitmap_line::x0 , byte bitmap_line::x1 , byte bitmap_line::y0 , byte bitmap_line::y1)
bitmap_line: scope:[bitmap_line] from main::@1
2020-10-05 20:58:02 +00:00
[55] if(bitmap_line::x0#0<bitmap_line::x1#0) goto bitmap_line::@1
to:bitmap_line::@2
bitmap_line::@2: scope:[bitmap_line] from bitmap_line
2020-10-05 20:58:02 +00:00
[56] bitmap_line::xd#2 = bitmap_line::x1#0
to:bitmap_line::@3
bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@2
2020-10-05 20:58:02 +00:00
[57] if(bitmap_line::y1#0<bitmap_line::xd#2) goto bitmap_line::@4
to:bitmap_line::@5
bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@3
2020-10-05 20:58:02 +00:00
[58] bitmap_line_ydxd::xd#0 = bitmap_line::xd#2
[59] call bitmap_line_ydxd
to:bitmap_line::@return
bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@4 bitmap_line::@5 bitmap_line::@7 bitmap_line::@8
[60] return
to:@return
bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@3
2020-10-05 20:58:02 +00:00
[61] bitmap_line_xdyd::x#0 = bitmap_line::x1#0
[62] bitmap_line_xdyd::xd#0 = bitmap_line::xd#2
[63] call bitmap_line_xdyd
to:bitmap_line::@return
bitmap_line::@1: scope:[bitmap_line] from bitmap_line
2020-10-05 20:58:02 +00:00
[64] bitmap_line::xd#1 = bitmap_line::x1#0
to:bitmap_line::@6
bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@1
2020-10-05 20:58:02 +00:00
[65] if(bitmap_line::y1#0<bitmap_line::xd#1) goto bitmap_line::@7
to:bitmap_line::@8
bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@6
2020-10-05 20:58:02 +00:00
[66] bitmap_line_ydxi::xd#1 = bitmap_line::xd#1
[67] call bitmap_line_ydxi
to:bitmap_line::@return
bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@6
2020-10-05 20:58:02 +00:00
[68] bitmap_line_xdyi::x1#1 = bitmap_line::x1#0
[69] bitmap_line_xdyi::xd#1 = bitmap_line::xd#1
[70] call bitmap_line_xdyi
to:bitmap_line::@return
2020-10-05 20:58:02 +00:00
void bitmap_line_ydxd(byte bitmap_line_ydxd::y , byte bitmap_line_ydxd::x , byte bitmap_line_ydxd::y1 , byte bitmap_line_ydxd::yd , byte bitmap_line_ydxd::xd)
bitmap_line_ydxd: scope:[bitmap_line_ydxd] from bitmap_line::@5
2020-10-05 20:58:02 +00:00
[71] bitmap_line_ydxd::e#0 = bitmap_line_ydxd::xd#0 >> 1
to:bitmap_line_ydxd::@1
bitmap_line_ydxd::@1: scope:[bitmap_line_ydxd] from bitmap_line_ydxd bitmap_line_ydxd::@2
2020-10-05 20:58:02 +00:00
[72] bitmap_line_ydxd::e#3 = phi( bitmap_line_ydxd/bitmap_line_ydxd::e#0, bitmap_line_ydxd::@2/bitmap_line_ydxd::e#6 )
[72] bitmap_line_ydxd::y#2 = phi( bitmap_line_ydxd/bitmap_line::y0#0, bitmap_line_ydxd::@2/bitmap_line_ydxd::y#3 )
[72] bitmap_line_ydxd::x#3 = phi( bitmap_line_ydxd/bitmap_line::x0#0, bitmap_line_ydxd::@2/bitmap_line_ydxd::x#6 )
[73] bitmap_plot::x#3 = bitmap_line_ydxd::x#3
[74] bitmap_plot::y#3 = bitmap_line_ydxd::y#2
[75] call bitmap_plot
to:bitmap_line_ydxd::@4
bitmap_line_ydxd::@4: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@1
2020-10-05 20:58:02 +00:00
[76] bitmap_line_ydxd::y#3 = ++ bitmap_line_ydxd::y#2
[77] bitmap_line_ydxd::e#1 = bitmap_line_ydxd::e#3 + bitmap_line_ydxd::xd#0
[78] if(bitmap_line::y1#0>=bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2
to:bitmap_line_ydxd::@3
bitmap_line_ydxd::@3: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@4
2020-10-05 20:58:02 +00:00
[79] bitmap_line_ydxd::x#2 = -- bitmap_line_ydxd::x#3
[80] bitmap_line_ydxd::e#2 = bitmap_line_ydxd::e#1 - bitmap_line::y1#0
to:bitmap_line_ydxd::@2
bitmap_line_ydxd::@2: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4
2020-10-05 20:58:02 +00:00
[81] bitmap_line_ydxd::e#6 = phi( bitmap_line_ydxd::@3/bitmap_line_ydxd::e#2, bitmap_line_ydxd::@4/bitmap_line_ydxd::e#1 )
[81] bitmap_line_ydxd::x#6 = phi( bitmap_line_ydxd::@3/bitmap_line_ydxd::x#2, bitmap_line_ydxd::@4/bitmap_line_ydxd::x#3 )
[82] if(bitmap_line_ydxd::y#3!=bitmap_line::y1#0+1) goto bitmap_line_ydxd::@1
to:bitmap_line_ydxd::@return
bitmap_line_ydxd::@return: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@2
[83] return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_line_xdyd(byte bitmap_line_xdyd::x , byte bitmap_line_xdyd::y , byte bitmap_line_xdyd::x1 , byte bitmap_line_xdyd::xd , byte bitmap_line_xdyd::yd)
bitmap_line_xdyd: scope:[bitmap_line_xdyd] from bitmap_line::@4
[84] phi()
to:bitmap_line_xdyd::@1
bitmap_line_xdyd::@1: scope:[bitmap_line_xdyd] from bitmap_line_xdyd bitmap_line_xdyd::@2
2020-10-05 20:58:02 +00:00
[85] bitmap_line_xdyd::e#3 = phi( bitmap_line_xdyd/bitmap_line::y1#0>>1, bitmap_line_xdyd::@2/bitmap_line_xdyd::e#6 )
[85] bitmap_line_xdyd::y#3 = phi( bitmap_line_xdyd/bitmap_line::y1#0, bitmap_line_xdyd::@2/bitmap_line_xdyd::y#6 )
[85] bitmap_line_xdyd::x#3 = phi( bitmap_line_xdyd/bitmap_line_xdyd::x#0, bitmap_line_xdyd::@2/bitmap_line_xdyd::x#2 )
[86] bitmap_plot::x#1 = bitmap_line_xdyd::x#3
[87] bitmap_plot::y#1 = bitmap_line_xdyd::y#3
[88] call bitmap_plot
to:bitmap_line_xdyd::@4
bitmap_line_xdyd::@4: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@1
2020-10-05 20:58:02 +00:00
[89] bitmap_line_xdyd::x#2 = ++ bitmap_line_xdyd::x#3
[90] bitmap_line_xdyd::e#1 = bitmap_line_xdyd::e#3 + bitmap_line::y1#0
[91] if(bitmap_line_xdyd::xd#0>=bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2
to:bitmap_line_xdyd::@3
bitmap_line_xdyd::@3: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@4
2020-10-05 20:58:02 +00:00
[92] bitmap_line_xdyd::y#2 = -- bitmap_line_xdyd::y#3
[93] bitmap_line_xdyd::e#2 = bitmap_line_xdyd::e#1 - bitmap_line_xdyd::xd#0
to:bitmap_line_xdyd::@2
bitmap_line_xdyd::@2: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4
2020-10-05 20:58:02 +00:00
[94] bitmap_line_xdyd::e#6 = phi( bitmap_line_xdyd::@3/bitmap_line_xdyd::e#2, bitmap_line_xdyd::@4/bitmap_line_xdyd::e#1 )
[94] bitmap_line_xdyd::y#6 = phi( bitmap_line_xdyd::@3/bitmap_line_xdyd::y#2, bitmap_line_xdyd::@4/bitmap_line_xdyd::y#3 )
[95] if(bitmap_line_xdyd::x#2!=1) goto bitmap_line_xdyd::@1
to:bitmap_line_xdyd::@return
bitmap_line_xdyd::@return: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@2
[96] return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_line_ydxi(byte bitmap_line_ydxi::y , byte bitmap_line_ydxi::x , byte bitmap_line_ydxi::y1 , byte bitmap_line_ydxi::yd , byte bitmap_line_ydxi::xd)
bitmap_line_ydxi: scope:[bitmap_line_ydxi] from bitmap_line::@8
2020-10-05 20:58:02 +00:00
[97] bitmap_line_ydxi::e#0 = bitmap_line_ydxi::xd#1 >> 1
to:bitmap_line_ydxi::@1
bitmap_line_ydxi::@1: scope:[bitmap_line_ydxi] from bitmap_line_ydxi bitmap_line_ydxi::@2
2020-10-05 20:58:02 +00:00
[98] bitmap_line_ydxi::e#3 = phi( bitmap_line_ydxi/bitmap_line_ydxi::e#0, bitmap_line_ydxi::@2/bitmap_line_ydxi::e#6 )
[98] bitmap_line_ydxi::y#3 = phi( bitmap_line_ydxi/bitmap_line::y0#0, bitmap_line_ydxi::@2/bitmap_line_ydxi::y#2 )
[98] bitmap_line_ydxi::x#3 = phi( bitmap_line_ydxi/bitmap_line::x0#0, bitmap_line_ydxi::@2/bitmap_line_ydxi::x#6 )
[99] bitmap_plot::x#2 = bitmap_line_ydxi::x#3
[100] bitmap_plot::y#2 = bitmap_line_ydxi::y#3
[101] call bitmap_plot
to:bitmap_line_ydxi::@4
bitmap_line_ydxi::@4: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@1
2020-10-05 20:58:02 +00:00
[102] bitmap_line_ydxi::y#2 = ++ bitmap_line_ydxi::y#3
[103] bitmap_line_ydxi::e#1 = bitmap_line_ydxi::e#3 + bitmap_line_ydxi::xd#1
[104] if(bitmap_line::y1#0>=bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2
to:bitmap_line_ydxi::@3
bitmap_line_ydxi::@3: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@4
2020-10-05 20:58:02 +00:00
[105] bitmap_line_ydxi::x#2 = ++ bitmap_line_ydxi::x#3
[106] bitmap_line_ydxi::e#2 = bitmap_line_ydxi::e#1 - bitmap_line::y1#0
to:bitmap_line_ydxi::@2
bitmap_line_ydxi::@2: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4
2020-10-05 20:58:02 +00:00
[107] bitmap_line_ydxi::e#6 = phi( bitmap_line_ydxi::@3/bitmap_line_ydxi::e#2, bitmap_line_ydxi::@4/bitmap_line_ydxi::e#1 )
[107] bitmap_line_ydxi::x#6 = phi( bitmap_line_ydxi::@3/bitmap_line_ydxi::x#2, bitmap_line_ydxi::@4/bitmap_line_ydxi::x#3 )
[108] if(bitmap_line_ydxi::y#2!=bitmap_line::y1#0+1) goto bitmap_line_ydxi::@1
to:bitmap_line_ydxi::@return
bitmap_line_ydxi::@return: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@2
[109] return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_line_xdyi(byte bitmap_line_xdyi::x , byte bitmap_line_xdyi::y , byte bitmap_line_xdyi::x1 , byte bitmap_line_xdyi::xd , byte bitmap_line_xdyi::yd)
bitmap_line_xdyi: scope:[bitmap_line_xdyi] from bitmap_line::@7
[110] phi()
to:bitmap_line_xdyi::@1
bitmap_line_xdyi::@1: scope:[bitmap_line_xdyi] from bitmap_line_xdyi bitmap_line_xdyi::@2
2020-10-05 20:58:02 +00:00
[111] bitmap_line_xdyi::e#3 = phi( bitmap_line_xdyi/bitmap_line::y1#0>>1, bitmap_line_xdyi::@2/bitmap_line_xdyi::e#6 )
[111] bitmap_line_xdyi::y#3 = phi( bitmap_line_xdyi/bitmap_line::y0#0, bitmap_line_xdyi::@2/bitmap_line_xdyi::y#6 )
[111] bitmap_line_xdyi::x#3 = phi( bitmap_line_xdyi/bitmap_line::x0#0, bitmap_line_xdyi::@2/bitmap_line_xdyi::x#2 )
[112] bitmap_plot::x#0 = bitmap_line_xdyi::x#3
[113] bitmap_plot::y#0 = bitmap_line_xdyi::y#3
[114] call bitmap_plot
to:bitmap_line_xdyi::@4
bitmap_line_xdyi::@4: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@1
2020-10-05 20:58:02 +00:00
[115] bitmap_line_xdyi::x#2 = ++ bitmap_line_xdyi::x#3
[116] bitmap_line_xdyi::e#1 = bitmap_line_xdyi::e#3 + bitmap_line::y1#0
[117] if(bitmap_line_xdyi::xd#1>=bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2
to:bitmap_line_xdyi::@3
bitmap_line_xdyi::@3: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@4
2020-10-05 20:58:02 +00:00
[118] bitmap_line_xdyi::y#2 = ++ bitmap_line_xdyi::y#3
[119] bitmap_line_xdyi::e#2 = bitmap_line_xdyi::e#1 - bitmap_line_xdyi::xd#1
to:bitmap_line_xdyi::@2
bitmap_line_xdyi::@2: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4
2020-10-05 20:58:02 +00:00
[120] bitmap_line_xdyi::e#6 = phi( bitmap_line_xdyi::@3/bitmap_line_xdyi::e#2, bitmap_line_xdyi::@4/bitmap_line_xdyi::e#1 )
[120] bitmap_line_xdyi::y#6 = phi( bitmap_line_xdyi::@3/bitmap_line_xdyi::y#2, bitmap_line_xdyi::@4/bitmap_line_xdyi::y#3 )
[121] bitmap_line_xdyi::$6 = bitmap_line_xdyi::x1#1 + 1
[122] if(bitmap_line_xdyi::x#2!=bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1
to:bitmap_line_xdyi::@return
bitmap_line_xdyi::@return: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@2
[123] return
to:@return
2020-10-05 20:58:02 +00:00
void bitmap_plot(byte bitmap_plot::x , byte bitmap_plot::y)
bitmap_plot: scope:[bitmap_plot] from bitmap_line_xdyd::@1 bitmap_line_xdyi::@1 bitmap_line_ydxd::@1 bitmap_line_ydxi::@1
2020-10-05 20:58:02 +00:00
[124] bitmap_plot::y#4 = phi( bitmap_line_xdyd::@1/bitmap_plot::y#1, bitmap_line_xdyi::@1/bitmap_plot::y#0, bitmap_line_ydxd::@1/bitmap_plot::y#3, bitmap_line_ydxi::@1/bitmap_plot::y#2 )
[124] bitmap_plot::x#4 = phi( bitmap_line_xdyd::@1/bitmap_plot::x#1, bitmap_line_xdyi::@1/bitmap_plot::x#0, bitmap_line_ydxd::@1/bitmap_plot::x#3, bitmap_line_ydxi::@1/bitmap_plot::x#2 )
[125] bitmap_plot::plotter_x#0 = bitmap_plot_xhi[bitmap_plot::x#4] w= bitmap_plot_xlo[bitmap_plot::x#4]
[126] bitmap_plot::plotter_y#0 = bitmap_plot_yhi[bitmap_plot::y#4] w= bitmap_plot_ylo[bitmap_plot::y#4]
[127] bitmap_plot::plotter#0 = bitmap_plot::plotter_x#0 + bitmap_plot::plotter_y#0
[128] bitmap_plot::$1 = *((byte*)bitmap_plot::plotter#0) | bitmap_plot_bit[bitmap_plot::x#4]
[129] *((byte*)bitmap_plot::plotter#0) = bitmap_plot::$1
to:bitmap_plot::@return
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
2020-06-27 19:18:00 +00:00
[130] return
to:@return
VARIABLE REGISTER WEIGHTS
2020-10-05 20:58:02 +00:00
void bitmap_clear()
byte* bitmap_clear::bitmap
word bitmap_clear::bitmap#0 11.0
byte* bitmap_clear::bitmap#1 420.59999999999997
byte* bitmap_clear::bitmap#2 1552.0
byte* bitmap_clear::bitmap#3 213.0
byte* bitmap_clear::bitmap#5 22.0
byte bitmap_clear::x
byte bitmap_clear::x#1 1501.5
byte bitmap_clear::x#2 667.3333333333334
byte bitmap_clear::y
byte bitmap_clear::y#1 151.5
byte bitmap_clear::y#4 33.666666666666664
void bitmap_init(byte* bitmap_init::bitmap)
byte~ bitmap_init::$0 202.0
byte~ bitmap_init::$10 50.5
byte~ bitmap_init::$7 202.0
byte~ bitmap_init::$8 202.0
byte~ bitmap_init::$9 202.0
byte* bitmap_init::bitmap
byte bitmap_init::bits
byte bitmap_init::bits#1 101.0
byte bitmap_init::bits#3 60.599999999999994
byte bitmap_init::bits#4 67.33333333333333
byte bitmap_init::x
byte bitmap_init::x#1 151.5
byte bitmap_init::x#2 67.33333333333333
byte bitmap_init::y
byte bitmap_init::y#1 151.5
byte bitmap_init::y#2 50.5
byte* bitmap_init::yoffs
byte* bitmap_init::yoffs#1 202.0
byte* bitmap_init::yoffs#2 63.125
byte* bitmap_init::yoffs#4 101.0
void bitmap_line(byte bitmap_line::x0 , byte bitmap_line::x1 , byte bitmap_line::y0 , byte bitmap_line::y1)
byte bitmap_line::x0
byte bitmap_line::x1
byte bitmap_line::x1#0 85.99999999999999
byte bitmap_line::xd
byte bitmap_line::xd#1 134.66666666666666
byte bitmap_line::xd#2 134.66666666666666
byte bitmap_line::y0
byte bitmap_line::y1
byte bitmap_line::yd
void bitmap_line_xdyd(byte bitmap_line_xdyd::x , byte bitmap_line_xdyd::y , byte bitmap_line_xdyd::x1 , byte bitmap_line_xdyd::xd , byte bitmap_line_xdyd::yd)
byte bitmap_line_xdyd::e
byte bitmap_line_xdyd::e#1 133334.66666666666
byte bitmap_line_xdyd::e#2 200002.0
byte bitmap_line_xdyd::e#3 40000.4
byte bitmap_line_xdyd::e#6 150001.5
byte bitmap_line_xdyd::x
byte bitmap_line_xdyd::x#0 367.33333333333337
byte bitmap_line_xdyd::x#2 42857.57142857143
byte bitmap_line_xdyd::x#3 75251.0
byte bitmap_line_xdyd::x1
byte bitmap_line_xdyd::xd
byte bitmap_line_xdyd::xd#0 15392.538461538461
byte bitmap_line_xdyd::y
byte bitmap_line_xdyd::y#2 100001.0
byte bitmap_line_xdyd::y#3 57143.42857142857
byte bitmap_line_xdyd::y#6 150001.5
byte bitmap_line_xdyd::yd
void bitmap_line_xdyi(byte bitmap_line_xdyi::x , byte bitmap_line_xdyi::y , byte bitmap_line_xdyi::x1 , byte bitmap_line_xdyi::xd , byte bitmap_line_xdyi::yd)
byte~ bitmap_line_xdyi::$6 200002.0
byte bitmap_line_xdyi::e
byte bitmap_line_xdyi::e#1 133334.66666666666
byte bitmap_line_xdyi::e#2 200002.0
byte bitmap_line_xdyi::e#3 40000.4
byte bitmap_line_xdyi::e#6 100001.0
byte bitmap_line_xdyi::x
byte bitmap_line_xdyi::x#2 37500.375
byte bitmap_line_xdyi::x#3 75000.75
byte bitmap_line_xdyi::x1
byte bitmap_line_xdyi::x1#1 6673.466666666667
byte bitmap_line_xdyi::xd
byte bitmap_line_xdyi::xd#1 14293.071428571428
byte bitmap_line_xdyi::y
byte bitmap_line_xdyi::y#2 100001.0
byte bitmap_line_xdyi::y#3 57143.42857142857
byte bitmap_line_xdyi::y#6 100001.0
byte bitmap_line_xdyi::yd
void bitmap_line_ydxd(byte bitmap_line_ydxd::y , byte bitmap_line_ydxd::x , byte bitmap_line_ydxd::y1 , byte bitmap_line_ydxd::yd , byte bitmap_line_ydxd::xd)
byte bitmap_line_ydxd::e
byte bitmap_line_ydxd::e#0 2002.0
byte bitmap_line_ydxd::e#1 133334.66666666666
byte bitmap_line_ydxd::e#2 200002.0
byte bitmap_line_ydxd::e#3 40200.600000000006
byte bitmap_line_ydxd::e#6 150001.5
byte bitmap_line_ydxd::x
byte bitmap_line_ydxd::x#2 100001.0
byte bitmap_line_ydxd::x#3 57143.42857142857
byte bitmap_line_ydxd::x#6 150001.5
byte bitmap_line_ydxd::xd
byte bitmap_line_ydxd::xd#0 7777.153846153846
byte bitmap_line_ydxd::y
byte bitmap_line_ydxd::y#2 75000.75
byte bitmap_line_ydxd::y#3 42857.57142857143
byte bitmap_line_ydxd::y1
byte bitmap_line_ydxd::yd
void bitmap_line_ydxi(byte bitmap_line_ydxi::y , byte bitmap_line_ydxi::x , byte bitmap_line_ydxi::y1 , byte bitmap_line_ydxi::yd , byte bitmap_line_ydxi::xd)
byte bitmap_line_ydxi::e
byte bitmap_line_ydxi::e#0 2002.0
byte bitmap_line_ydxi::e#1 133334.66666666666
byte bitmap_line_ydxi::e#2 200002.0
byte bitmap_line_ydxi::e#3 40200.600000000006
byte bitmap_line_ydxi::e#6 150001.5
byte bitmap_line_ydxi::x
byte bitmap_line_ydxi::x#2 100001.0
byte bitmap_line_ydxi::x#3 57143.42857142857
byte bitmap_line_ydxi::x#6 150001.5
byte bitmap_line_ydxi::xd
byte bitmap_line_ydxi::xd#1 7777.153846153846
byte bitmap_line_ydxi::y
byte bitmap_line_ydxi::y#2 42857.57142857143
byte bitmap_line_ydxi::y#3 75000.75
byte bitmap_line_ydxi::y1
byte bitmap_line_ydxi::yd
void bitmap_plot(byte bitmap_plot::x , byte bitmap_plot::y)
byte~ bitmap_plot::$1 2000002.0
byte* bitmap_plot::plotter
word bitmap_plot::plotter#0 500000.5
word bitmap_plot::plotter_x
word bitmap_plot::plotter_x#0 1000001.0
word bitmap_plot::plotter_y
word bitmap_plot::plotter_y#0 2000002.0
byte bitmap_plot::x
byte bitmap_plot::x#0 100001.0
byte bitmap_plot::x#1 100001.0
byte bitmap_plot::x#2 100001.0
byte bitmap_plot::x#3 100001.0
byte bitmap_plot::x#4 850001.75
byte bitmap_plot::y
byte bitmap_plot::y#0 200002.0
byte bitmap_plot::y#1 200002.0
byte bitmap_plot::y#2 200002.0
byte bitmap_plot::y#3 200002.0
byte bitmap_plot::y#4 1200003.0
void init_screen()
byte* init_screen::c
byte* init_screen::c#1 202.0
byte* init_screen::c#2 134.66666666666666
void main()
byte next
byte next#0 22.0
byte next#5 11.0
Initial phi equivalence classes
2020-06-27 19:18:00 +00:00
[ next#5 next#0 ]
[ bitmap_init::x#2 bitmap_init::x#1 ]
[ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
[ bitmap_init::y#2 bitmap_init::y#1 ]
[ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
[ bitmap_clear::y#4 bitmap_clear::y#1 ]
[ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ]
[ bitmap_clear::x#2 bitmap_clear::x#1 ]
[ init_screen::c#2 init_screen::c#1 ]
[ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
[ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ]
[ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
[ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ]
[ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
[ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
[ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
[ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ]
[ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
[ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ]
[ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
[ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
[ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ]
[ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ]
2019-12-08 15:04:35 +00:00
Added variable bitmap_line::x1#0 to live range equivalence class [ bitmap_line::x1#0 ]
Added variable bitmap_init::$0 to live range equivalence class [ bitmap_init::$0 ]
Added variable bitmap_init::$10 to live range equivalence class [ bitmap_init::$10 ]
Added variable bitmap_init::$7 to live range equivalence class [ bitmap_init::$7 ]
Added variable bitmap_init::$8 to live range equivalence class [ bitmap_init::$8 ]
Added variable bitmap_init::$9 to live range equivalence class [ bitmap_init::$9 ]
Added variable bitmap_clear::bitmap#0 to live range equivalence class [ bitmap_clear::bitmap#0 ]
2019-12-08 15:04:35 +00:00
Added variable bitmap_line::xd#2 to live range equivalence class [ bitmap_line::xd#2 ]
Added variable bitmap_line_ydxd::xd#0 to live range equivalence class [ bitmap_line_ydxd::xd#0 ]
Added variable bitmap_line_xdyd::xd#0 to live range equivalence class [ bitmap_line_xdyd::xd#0 ]
Added variable bitmap_line::xd#1 to live range equivalence class [ bitmap_line::xd#1 ]
Added variable bitmap_line_ydxi::xd#1 to live range equivalence class [ bitmap_line_ydxi::xd#1 ]
Added variable bitmap_line_xdyi::x1#1 to live range equivalence class [ bitmap_line_xdyi::x1#1 ]
Added variable bitmap_line_xdyi::xd#1 to live range equivalence class [ bitmap_line_xdyi::xd#1 ]
Added variable bitmap_line_xdyi::$6 to live range equivalence class [ bitmap_line_xdyi::$6 ]
Added variable bitmap_plot::plotter_x#0 to live range equivalence class [ bitmap_plot::plotter_x#0 ]
Added variable bitmap_plot::plotter_y#0 to live range equivalence class [ bitmap_plot::plotter_y#0 ]
Added variable bitmap_plot::plotter#0 to live range equivalence class [ bitmap_plot::plotter#0 ]
Added variable bitmap_plot::$1 to live range equivalence class [ bitmap_plot::$1 ]
Complete equivalence classes
2020-06-27 19:18:00 +00:00
[ next#5 next#0 ]
[ bitmap_init::x#2 bitmap_init::x#1 ]
[ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
[ bitmap_init::y#2 bitmap_init::y#1 ]
[ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
[ bitmap_clear::y#4 bitmap_clear::y#1 ]
[ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ]
[ bitmap_clear::x#2 bitmap_clear::x#1 ]
[ init_screen::c#2 init_screen::c#1 ]
[ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
[ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ]
[ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
[ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ]
[ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
[ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
[ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
[ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ]
[ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
[ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ]
[ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
[ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
[ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ]
[ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ]
[ bitmap_line::x1#0 ]
[ bitmap_init::$0 ]
[ bitmap_init::$10 ]
[ bitmap_init::$7 ]
[ bitmap_init::$8 ]
[ bitmap_init::$9 ]
[ bitmap_clear::bitmap#0 ]
[ bitmap_line::xd#2 ]
[ bitmap_line_ydxd::xd#0 ]
[ bitmap_line_xdyd::xd#0 ]
[ bitmap_line::xd#1 ]
[ bitmap_line_ydxi::xd#1 ]
[ bitmap_line_xdyi::x1#1 ]
[ bitmap_line_xdyi::xd#1 ]
[ bitmap_line_xdyi::$6 ]
[ bitmap_plot::plotter_x#0 ]
[ bitmap_plot::plotter_y#0 ]
[ bitmap_plot::plotter#0 ]
[ bitmap_plot::$1 ]
2020-06-27 19:18:00 +00:00
Allocated zp[1]:2 [ next#5 next#0 ]
Allocated zp[1]:3 [ bitmap_init::x#2 bitmap_init::x#1 ]
Allocated zp[1]:4 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
Allocated zp[1]:5 [ bitmap_init::y#2 bitmap_init::y#1 ]
Allocated zp[2]:6 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
Allocated zp[1]:8 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
Allocated zp[2]:9 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ]
Allocated zp[1]:11 [ bitmap_clear::x#2 bitmap_clear::x#1 ]
Allocated zp[2]:12 [ init_screen::c#2 init_screen::c#1 ]
2019-10-12 09:40:36 +00:00
Allocated zp[1]:14 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
Allocated zp[1]:15 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ]
Allocated zp[1]:16 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
Allocated zp[1]:17 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ]
Allocated zp[1]:18 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
Allocated zp[1]:19 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
Allocated zp[1]:20 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
Allocated zp[1]:21 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ]
Allocated zp[1]:22 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
Allocated zp[1]:23 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ]
Allocated zp[1]:24 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
Allocated zp[1]:25 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
Allocated zp[1]:26 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ]
Allocated zp[1]:27 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ]
2019-10-12 09:40:36 +00:00
Allocated zp[1]:28 [ bitmap_line::x1#0 ]
Allocated zp[1]:29 [ bitmap_init::$0 ]
Allocated zp[1]:30 [ bitmap_init::$10 ]
Allocated zp[1]:31 [ bitmap_init::$7 ]
Allocated zp[1]:32 [ bitmap_init::$8 ]
Allocated zp[1]:33 [ bitmap_init::$9 ]
Allocated zp[2]:34 [ bitmap_clear::bitmap#0 ]
Allocated zp[1]:36 [ bitmap_line::xd#2 ]
Allocated zp[1]:37 [ bitmap_line_ydxd::xd#0 ]
Allocated zp[1]:38 [ bitmap_line_xdyd::xd#0 ]
Allocated zp[1]:39 [ bitmap_line::xd#1 ]
Allocated zp[1]:40 [ bitmap_line_ydxi::xd#1 ]
Allocated zp[1]:41 [ bitmap_line_xdyi::x1#1 ]
Allocated zp[1]:42 [ bitmap_line_xdyi::xd#1 ]
Allocated zp[1]:43 [ bitmap_line_xdyi::$6 ]
Allocated zp[2]:44 [ bitmap_plot::plotter_x#0 ]
Allocated zp[2]:46 [ bitmap_plot::plotter_y#0 ]
Allocated zp[2]:48 [ bitmap_plot::plotter#0 ]
Allocated zp[1]:50 [ bitmap_plot::$1 ]
REGISTER UPLIFT POTENTIAL REGISTERS
Equivalence Class zp[1]:31 [ bitmap_init::$7 ] has ALU potential.
2020-10-05 20:58:02 +00:00
Statement [0] *BORDER_COLOR = 0 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [1] *BG_COLOR = 0 [ ] ( [ ] { } ) always clobbers reg byte a
2020-12-29 18:37:32 +00:00
Statement [2] *D011 = VICII_BMM|VICII_DEN|VICII_RSEL|3 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [3] *VICII_MEMORY = (byte)(word)SCREEN&$3fff/$40|(word)BITMAP&$3fff/$400 [ ] ( [ ] { } ) always clobbers reg byte a
2020-10-05 20:58:02 +00:00
Statement [17] bitmap_plot_xhi[bitmap_init::x#2] = >BITMAP [ bitmap_init::x#2 bitmap_init::bits#3 ] ( bitmap_init:4 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:3 [ bitmap_init::x#2 bitmap_init::x#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:4 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
2020-10-05 20:58:02 +00:00
Statement [18] bitmap_plot_bit[bitmap_init::x#2] = bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( bitmap_init:4 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a
Statement [33] bitmap_init::yoffs#1 = bitmap_init::yoffs#2 + (word)$28*8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( bitmap_init:4 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:5 [ bitmap_init::y#2 bitmap_init::y#1 ]
2020-10-05 20:58:02 +00:00
Statement [38] bitmap_clear::bitmap#0 = *bitmap_plot_xhi w= *bitmap_plot_xlo [ bitmap_clear::bitmap#0 ] ( bitmap_clear:6 [ bitmap_clear::bitmap#0 ] { } ) always clobbers reg byte a
Statement [39] bitmap_clear::bitmap#5 = (byte*)bitmap_clear::bitmap#0 [ bitmap_clear::bitmap#5 ] ( bitmap_clear:6 [ bitmap_clear::bitmap#5 ] { } ) always clobbers reg byte a
Statement [42] *bitmap_clear::bitmap#2 = 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( bitmap_clear:6 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] { } ) always clobbers reg byte a reg byte y
Removing always clobbered register reg byte a as potential for zp[1]:8 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:8 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:11 [ bitmap_clear::x#2 bitmap_clear::x#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:11 [ bitmap_clear::x#2 bitmap_clear::x#1 ]
2020-10-05 20:58:02 +00:00
Statement [51] if(init_screen::c#2!=SCREEN+$400) goto init_screen::@2 [ init_screen::c#2 ] ( init_screen:8 [ init_screen::c#2 ] { } ) always clobbers reg byte a
Statement [53] *init_screen::c#2 = $14 [ init_screen::c#2 ] ( init_screen:8 [ init_screen::c#2 ] { } ) always clobbers reg byte a reg byte y
Statement [71] bitmap_line_ydxd::e#0 = bitmap_line_ydxd::xd#0 >> 1 [ bitmap_line_ydxd::xd#0 bitmap_line_ydxd::e#0 ] ( bitmap_line:11::bitmap_line_ydxd:59 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::e#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
2020-06-27 19:18:00 +00:00
Removing always clobbered register reg byte a as potential for zp[1]:2 [ next#5 next#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:37 [ bitmap_line_ydxd::xd#0 ]
2020-10-05 20:58:02 +00:00
Statement [77] bitmap_line_ydxd::e#1 = bitmap_line_ydxd::e#3 + bitmap_line_ydxd::xd#0 [ bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( bitmap_line:11::bitmap_line_ydxd:59 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
2019-10-12 09:40:36 +00:00
Removing always clobbered register reg byte a as potential for zp[1]:14 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:15 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ]
2020-10-05 20:58:02 +00:00
Statement [80] bitmap_line_ydxd::e#2 = bitmap_line_ydxd::e#1 - bitmap_line::y1#0 [ bitmap_line_ydxd::xd#0 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( bitmap_line:11::bitmap_line_ydxd:59 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [90] bitmap_line_xdyd::e#1 = bitmap_line_xdyd::e#3 + bitmap_line::y1#0 [ bitmap_line_xdyd::xd#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( bitmap_line:11::bitmap_line_xdyd:63 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:38 [ bitmap_line_xdyd::xd#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:18 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:17 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ]
2020-10-05 20:58:02 +00:00
Statement [93] bitmap_line_xdyd::e#2 = bitmap_line_xdyd::e#1 - bitmap_line_xdyd::xd#0 [ bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( bitmap_line:11::bitmap_line_xdyd:63 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [97] bitmap_line_ydxi::e#0 = bitmap_line_ydxi::xd#1 >> 1 [ bitmap_line_ydxi::xd#1 bitmap_line_ydxi::e#0 ] ( bitmap_line:11::bitmap_line_ydxi:67 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::e#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:40 [ bitmap_line_ydxi::xd#1 ]
2020-10-05 20:58:02 +00:00
Statement [103] bitmap_line_ydxi::e#1 = bitmap_line_ydxi::e#3 + bitmap_line_ydxi::xd#1 [ bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( bitmap_line:11::bitmap_line_ydxi:67 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:20 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:21 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ]
2020-10-05 20:58:02 +00:00
Statement [106] bitmap_line_ydxi::e#2 = bitmap_line_ydxi::e#1 - bitmap_line::y1#0 [ bitmap_line_ydxi::xd#1 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( bitmap_line:11::bitmap_line_ydxi:67 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [116] bitmap_line_xdyi::e#1 = bitmap_line_xdyi::e#3 + bitmap_line::y1#0 [ bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( bitmap_line:11::bitmap_line_xdyi:70 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:41 [ bitmap_line_xdyi::x1#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:42 [ bitmap_line_xdyi::xd#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:24 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:23 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ]
2020-10-05 20:58:02 +00:00
Statement [119] bitmap_line_xdyi::e#2 = bitmap_line_xdyi::e#1 - bitmap_line_xdyi::xd#1 [ bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( bitmap_line:11::bitmap_line_xdyi:70 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [125] bitmap_plot::plotter_x#0 = bitmap_plot_xhi[bitmap_plot::x#4] w= bitmap_plot_xlo[bitmap_plot::x#4] [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a
2019-10-12 09:40:36 +00:00
Removing always clobbered register reg byte a as potential for zp[1]:16 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:26 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:27 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:19 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:22 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:25 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
2020-10-05 20:58:02 +00:00
Statement [126] bitmap_plot::plotter_y#0 = bitmap_plot_yhi[bitmap_plot::y#4] w= bitmap_plot_ylo[bitmap_plot::y#4] [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a
Statement [127] bitmap_plot::plotter#0 = bitmap_plot::plotter_x#0 + bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a
Statement [128] bitmap_plot::$1 = *((byte*)bitmap_plot::plotter#0) | bitmap_plot_bit[bitmap_plot::x#4] [ bitmap_plot::plotter#0 bitmap_plot::$1 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a reg byte y
2020-06-27 19:18:00 +00:00
Removing always clobbered register reg byte y as potential for zp[1]:2 [ next#5 next#0 ]
Removing always clobbered register reg byte y as potential for zp[1]:37 [ bitmap_line_ydxd::xd#0 ]
2019-10-12 09:40:36 +00:00
Removing always clobbered register reg byte y as potential for zp[1]:14 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
Removing always clobbered register reg byte y as potential for zp[1]:15 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ]
Removing always clobbered register reg byte y as potential for zp[1]:16 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:38 [ bitmap_line_xdyd::xd#0 ]
Removing always clobbered register reg byte y as potential for zp[1]:17 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ]
Removing always clobbered register reg byte y as potential for zp[1]:18 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
Removing always clobbered register reg byte y as potential for zp[1]:19 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:40 [ bitmap_line_ydxi::xd#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:20 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
Removing always clobbered register reg byte y as potential for zp[1]:21 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ]
Removing always clobbered register reg byte y as potential for zp[1]:22 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:41 [ bitmap_line_xdyi::x1#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:42 [ bitmap_line_xdyi::xd#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:23 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ]
Removing always clobbered register reg byte y as potential for zp[1]:24 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
Removing always clobbered register reg byte y as potential for zp[1]:25 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
2020-10-05 20:58:02 +00:00
Statement [129] *((byte*)bitmap_plot::plotter#0) = bitmap_plot::$1 [ ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte y
Statement [0] *BORDER_COLOR = 0 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [1] *BG_COLOR = 0 [ ] ( [ ] { } ) always clobbers reg byte a
2020-12-29 18:37:32 +00:00
Statement [2] *D011 = VICII_BMM|VICII_DEN|VICII_RSEL|3 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [3] *VICII_MEMORY = (byte)(word)SCREEN&$3fff/$40|(word)BITMAP&$3fff/$400 [ ] ( [ ] { } ) always clobbers reg byte a
2020-10-05 20:58:02 +00:00
Statement [15] bitmap_init::$0 = bitmap_init::x#2 & $f8 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ( bitmap_init:4 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] { } ) always clobbers reg byte a
Statement [17] bitmap_plot_xhi[bitmap_init::x#2] = >BITMAP [ bitmap_init::x#2 bitmap_init::bits#3 ] ( bitmap_init:4 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a
Statement [18] bitmap_plot_bit[bitmap_init::x#2] = bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( bitmap_init:4 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a
Statement [26] bitmap_init::$10 = bitmap_init::y#2 & 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ( bitmap_init:4 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] { } ) always clobbers reg byte a
Statement [33] bitmap_init::yoffs#1 = bitmap_init::yoffs#2 + (word)$28*8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( bitmap_init:4 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] { } ) always clobbers reg byte a
Statement [38] bitmap_clear::bitmap#0 = *bitmap_plot_xhi w= *bitmap_plot_xlo [ bitmap_clear::bitmap#0 ] ( bitmap_clear:6 [ bitmap_clear::bitmap#0 ] { } ) always clobbers reg byte a
Statement [39] bitmap_clear::bitmap#5 = (byte*)bitmap_clear::bitmap#0 [ bitmap_clear::bitmap#5 ] ( bitmap_clear:6 [ bitmap_clear::bitmap#5 ] { } ) always clobbers reg byte a
Statement [42] *bitmap_clear::bitmap#2 = 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( bitmap_clear:6 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] { } ) always clobbers reg byte a reg byte y
Statement [51] if(init_screen::c#2!=SCREEN+$400) goto init_screen::@2 [ init_screen::c#2 ] ( init_screen:8 [ init_screen::c#2 ] { } ) always clobbers reg byte a
Statement [53] *init_screen::c#2 = $14 [ init_screen::c#2 ] ( init_screen:8 [ init_screen::c#2 ] { } ) always clobbers reg byte a reg byte y
Statement [71] bitmap_line_ydxd::e#0 = bitmap_line_ydxd::xd#0 >> 1 [ bitmap_line_ydxd::xd#0 bitmap_line_ydxd::e#0 ] ( bitmap_line:11::bitmap_line_ydxd:59 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::e#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [77] bitmap_line_ydxd::e#1 = bitmap_line_ydxd::e#3 + bitmap_line_ydxd::xd#0 [ bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( bitmap_line:11::bitmap_line_ydxd:59 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [80] bitmap_line_ydxd::e#2 = bitmap_line_ydxd::e#1 - bitmap_line::y1#0 [ bitmap_line_ydxd::xd#0 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( bitmap_line:11::bitmap_line_ydxd:59 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a reg byte x
Removing always clobbered register reg byte x as potential for zp[1]:2 [ next#5 next#0 ]
Removing always clobbered register reg byte x as potential for zp[1]:37 [ bitmap_line_ydxd::xd#0 ]
Removing always clobbered register reg byte x as potential for zp[1]:15 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ]
Removing always clobbered register reg byte x as potential for zp[1]:14 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
2020-10-05 20:58:02 +00:00
Statement [82] if(bitmap_line_ydxd::y#3!=bitmap_line::y1#0+1) goto bitmap_line_ydxd::@1 [ bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#6 ] ( bitmap_line:11::bitmap_line_ydxd:59 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#6 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [90] bitmap_line_xdyd::e#1 = bitmap_line_xdyd::e#3 + bitmap_line::y1#0 [ bitmap_line_xdyd::xd#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( bitmap_line:11::bitmap_line_xdyd:63 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a reg byte x
Removing always clobbered register reg byte x as potential for zp[1]:38 [ bitmap_line_xdyd::xd#0 ]
Removing always clobbered register reg byte x as potential for zp[1]:18 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
Removing always clobbered register reg byte x as potential for zp[1]:17 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ]
2020-10-05 20:58:02 +00:00
Statement [91] if(bitmap_line_xdyd::xd#0>=bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 [ bitmap_line_xdyd::xd#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( bitmap_line:11::bitmap_line_xdyd:63 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [93] bitmap_line_xdyd::e#2 = bitmap_line_xdyd::e#1 - bitmap_line_xdyd::xd#0 [ bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( bitmap_line:11::bitmap_line_xdyd:63 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [95] if(bitmap_line_xdyd::x#2!=1) goto bitmap_line_xdyd::@1 [ bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#6 bitmap_line_xdyd::e#6 ] ( bitmap_line:11::bitmap_line_xdyd:63 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#6 bitmap_line_xdyd::e#6 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [97] bitmap_line_ydxi::e#0 = bitmap_line_ydxi::xd#1 >> 1 [ bitmap_line_ydxi::xd#1 bitmap_line_ydxi::e#0 ] ( bitmap_line:11::bitmap_line_ydxi:67 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::e#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [103] bitmap_line_ydxi::e#1 = bitmap_line_ydxi::e#3 + bitmap_line_ydxi::xd#1 [ bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( bitmap_line:11::bitmap_line_ydxi:67 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [106] bitmap_line_ydxi::e#2 = bitmap_line_ydxi::e#1 - bitmap_line::y1#0 [ bitmap_line_ydxi::xd#1 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( bitmap_line:11::bitmap_line_ydxi:67 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a reg byte x
Removing always clobbered register reg byte x as potential for zp[1]:40 [ bitmap_line_ydxi::xd#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:21 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ]
Removing always clobbered register reg byte x as potential for zp[1]:20 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
2020-10-05 20:58:02 +00:00
Statement [108] if(bitmap_line_ydxi::y#2!=bitmap_line::y1#0+1) goto bitmap_line_ydxi::@1 [ bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#6 ] ( bitmap_line:11::bitmap_line_ydxi:67 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#6 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [116] bitmap_line_xdyi::e#1 = bitmap_line_xdyi::e#3 + bitmap_line::y1#0 [ bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( bitmap_line:11::bitmap_line_xdyi:70 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a reg byte x
Removing always clobbered register reg byte x as potential for zp[1]:41 [ bitmap_line_xdyi::x1#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:42 [ bitmap_line_xdyi::xd#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:24 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
Removing always clobbered register reg byte x as potential for zp[1]:23 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ]
2020-10-05 20:58:02 +00:00
Statement [117] if(bitmap_line_xdyi::xd#1>=bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 [ bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( bitmap_line:11::bitmap_line_xdyi:70 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [119] bitmap_line_xdyi::e#2 = bitmap_line_xdyi::e#1 - bitmap_line_xdyi::xd#1 [ bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( bitmap_line:11::bitmap_line_xdyi:70 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [125] bitmap_plot::plotter_x#0 = bitmap_plot_xhi[bitmap_plot::x#4] w= bitmap_plot_xlo[bitmap_plot::x#4] [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a
Statement [126] bitmap_plot::plotter_y#0 = bitmap_plot_yhi[bitmap_plot::y#4] w= bitmap_plot_ylo[bitmap_plot::y#4] [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a
Statement [127] bitmap_plot::plotter#0 = bitmap_plot::plotter_x#0 + bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a
Statement [128] bitmap_plot::$1 = *((byte*)bitmap_plot::plotter#0) | bitmap_plot_bit[bitmap_plot::x#4] [ bitmap_plot::plotter#0 bitmap_plot::$1 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a reg byte y
Statement [129] *((byte*)bitmap_plot::plotter#0) = bitmap_plot::$1 [ ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte y
Statement [0] *BORDER_COLOR = 0 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [1] *BG_COLOR = 0 [ ] ( [ ] { } ) always clobbers reg byte a
2020-12-29 18:37:32 +00:00
Statement [2] *D011 = VICII_BMM|VICII_DEN|VICII_RSEL|3 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [3] *VICII_MEMORY = (byte)(word)SCREEN&$3fff/$40|(word)BITMAP&$3fff/$400 [ ] ( [ ] { } ) always clobbers reg byte a
2020-10-05 20:58:02 +00:00
Statement [15] bitmap_init::$0 = bitmap_init::x#2 & $f8 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ( bitmap_init:4 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] { } ) always clobbers reg byte a
Statement [17] bitmap_plot_xhi[bitmap_init::x#2] = >BITMAP [ bitmap_init::x#2 bitmap_init::bits#3 ] ( bitmap_init:4 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a
Statement [18] bitmap_plot_bit[bitmap_init::x#2] = bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( bitmap_init:4 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a
Statement [26] bitmap_init::$10 = bitmap_init::y#2 & 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ( bitmap_init:4 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] { } ) always clobbers reg byte a
Statement [33] bitmap_init::yoffs#1 = bitmap_init::yoffs#2 + (word)$28*8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( bitmap_init:4 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] { } ) always clobbers reg byte a
Statement [38] bitmap_clear::bitmap#0 = *bitmap_plot_xhi w= *bitmap_plot_xlo [ bitmap_clear::bitmap#0 ] ( bitmap_clear:6 [ bitmap_clear::bitmap#0 ] { } ) always clobbers reg byte a
Statement [39] bitmap_clear::bitmap#5 = (byte*)bitmap_clear::bitmap#0 [ bitmap_clear::bitmap#5 ] ( bitmap_clear:6 [ bitmap_clear::bitmap#5 ] { } ) always clobbers reg byte a
Statement [42] *bitmap_clear::bitmap#2 = 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( bitmap_clear:6 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] { } ) always clobbers reg byte a reg byte y
Statement [51] if(init_screen::c#2!=SCREEN+$400) goto init_screen::@2 [ init_screen::c#2 ] ( init_screen:8 [ init_screen::c#2 ] { } ) always clobbers reg byte a
Statement [53] *init_screen::c#2 = $14 [ init_screen::c#2 ] ( init_screen:8 [ init_screen::c#2 ] { } ) always clobbers reg byte a reg byte y
Statement [71] bitmap_line_ydxd::e#0 = bitmap_line_ydxd::xd#0 >> 1 [ bitmap_line_ydxd::xd#0 bitmap_line_ydxd::e#0 ] ( bitmap_line:11::bitmap_line_ydxd:59 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::e#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [77] bitmap_line_ydxd::e#1 = bitmap_line_ydxd::e#3 + bitmap_line_ydxd::xd#0 [ bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( bitmap_line:11::bitmap_line_ydxd:59 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [80] bitmap_line_ydxd::e#2 = bitmap_line_ydxd::e#1 - bitmap_line::y1#0 [ bitmap_line_ydxd::xd#0 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( bitmap_line:11::bitmap_line_ydxd:59 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a reg byte x
Statement [82] if(bitmap_line_ydxd::y#3!=bitmap_line::y1#0+1) goto bitmap_line_ydxd::@1 [ bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#6 ] ( bitmap_line:11::bitmap_line_ydxd:59 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#6 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [90] bitmap_line_xdyd::e#1 = bitmap_line_xdyd::e#3 + bitmap_line::y1#0 [ bitmap_line_xdyd::xd#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( bitmap_line:11::bitmap_line_xdyd:63 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a reg byte x
Statement [91] if(bitmap_line_xdyd::xd#0>=bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 [ bitmap_line_xdyd::xd#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( bitmap_line:11::bitmap_line_xdyd:63 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [93] bitmap_line_xdyd::e#2 = bitmap_line_xdyd::e#1 - bitmap_line_xdyd::xd#0 [ bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( bitmap_line:11::bitmap_line_xdyd:63 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [95] if(bitmap_line_xdyd::x#2!=1) goto bitmap_line_xdyd::@1 [ bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#6 bitmap_line_xdyd::e#6 ] ( bitmap_line:11::bitmap_line_xdyd:63 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#6 bitmap_line_xdyd::e#6 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } } ) always clobbers reg byte a
Statement [97] bitmap_line_ydxi::e#0 = bitmap_line_ydxi::xd#1 >> 1 [ bitmap_line_ydxi::xd#1 bitmap_line_ydxi::e#0 ] ( bitmap_line:11::bitmap_line_ydxi:67 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::e#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [103] bitmap_line_ydxi::e#1 = bitmap_line_ydxi::e#3 + bitmap_line_ydxi::xd#1 [ bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( bitmap_line:11::bitmap_line_ydxi:67 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [106] bitmap_line_ydxi::e#2 = bitmap_line_ydxi::e#1 - bitmap_line::y1#0 [ bitmap_line_ydxi::xd#1 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( bitmap_line:11::bitmap_line_ydxi:67 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a reg byte x
Statement [108] if(bitmap_line_ydxi::y#2!=bitmap_line::y1#0+1) goto bitmap_line_ydxi::@1 [ bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#6 ] ( bitmap_line:11::bitmap_line_ydxi:67 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#6 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [116] bitmap_line_xdyi::e#1 = bitmap_line_xdyi::e#3 + bitmap_line::y1#0 [ bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( bitmap_line:11::bitmap_line_xdyi:70 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a reg byte x
Statement [117] if(bitmap_line_xdyi::xd#1>=bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 [ bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( bitmap_line:11::bitmap_line_xdyi:70 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [119] bitmap_line_xdyi::e#2 = bitmap_line_xdyi::e#1 - bitmap_line_xdyi::xd#1 [ bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( bitmap_line:11::bitmap_line_xdyi:70 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } } ) always clobbers reg byte a
Statement [125] bitmap_plot::plotter_x#0 = bitmap_plot_xhi[bitmap_plot::x#4] w= bitmap_plot_xlo[bitmap_plot::x#4] [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a
Statement [126] bitmap_plot::plotter_y#0 = bitmap_plot_yhi[bitmap_plot::y#4] w= bitmap_plot_ylo[bitmap_plot::y#4] [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a
Statement [127] bitmap_plot::plotter#0 = bitmap_plot::plotter_x#0 + bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a
Statement [128] bitmap_plot::$1 = *((byte*)bitmap_plot::plotter#0) | bitmap_plot_bit[bitmap_plot::x#4] [ bitmap_plot::plotter#0 bitmap_plot::$1 ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte a reg byte y
Statement [129] *((byte*)bitmap_plot::plotter#0) = bitmap_plot::$1 [ ] ( bitmap_line:11::bitmap_line_ydxd:59::bitmap_plot:75 [ next#5 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } bitmap_line:11::bitmap_line_xdyd:63::bitmap_plot:88 [ next#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyd::x#0 } { bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } bitmap_line:11::bitmap_line_ydxi:67::bitmap_plot:101 [ next#5 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] { { next#5 = bitmap_line::x1#0 } { bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } bitmap_line:11::bitmap_line_xdyi:70::bitmap_plot:114 [ next#5 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] { { next#5 = bitmap_line::x1#0 bitmap_line_xdyi::x1#1 } { bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } ) always clobbers reg byte y
2020-06-27 19:18:00 +00:00
Potential registers zp[1]:2 [ next#5 next#0 ] : zp[1]:2 ,
Potential registers zp[1]:3 [ bitmap_init::x#2 bitmap_init::x#1 ] : zp[1]:3 , reg byte x , reg byte y ,
Potential registers zp[1]:4 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] : zp[1]:4 , reg byte x , reg byte y ,
Potential registers zp[1]:5 [ bitmap_init::y#2 bitmap_init::y#1 ] : zp[1]:5 , reg byte x , reg byte y ,
Potential registers zp[2]:6 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] : zp[2]:6 ,
Potential registers zp[1]:8 [ bitmap_clear::y#4 bitmap_clear::y#1 ] : zp[1]:8 , reg byte x ,
Potential registers zp[2]:9 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] : zp[2]:9 ,
Potential registers zp[1]:11 [ bitmap_clear::x#2 bitmap_clear::x#1 ] : zp[1]:11 , reg byte x ,
Potential registers zp[2]:12 [ init_screen::c#2 init_screen::c#1 ] : zp[2]:12 ,
2019-10-12 09:40:36 +00:00
Potential registers zp[1]:14 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] : zp[1]:14 ,
Potential registers zp[1]:15 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ] : zp[1]:15 ,
Potential registers zp[1]:16 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] : zp[1]:16 , reg byte x ,
Potential registers zp[1]:17 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] : zp[1]:17 ,
Potential registers zp[1]:18 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] : zp[1]:18 ,
Potential registers zp[1]:19 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] : zp[1]:19 , reg byte x ,
Potential registers zp[1]:20 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] : zp[1]:20 ,
Potential registers zp[1]:21 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ] : zp[1]:21 ,
Potential registers zp[1]:22 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] : zp[1]:22 , reg byte x ,
Potential registers zp[1]:23 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ] : zp[1]:23 ,
Potential registers zp[1]:24 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] : zp[1]:24 ,
Potential registers zp[1]:25 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] : zp[1]:25 , reg byte x ,
Potential registers zp[1]:26 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] : zp[1]:26 , reg byte x , reg byte y ,
Potential registers zp[1]:27 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] : zp[1]:27 , reg byte x , reg byte y ,
2019-10-12 09:40:36 +00:00
Potential registers zp[1]:28 [ bitmap_line::x1#0 ] : zp[1]:28 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:29 [ bitmap_init::$0 ] : zp[1]:29 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:30 [ bitmap_init::$10 ] : zp[1]:30 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:31 [ bitmap_init::$7 ] : zp[1]:31 , reg byte a , reg byte x , reg byte y , reg byte alu ,
Potential registers zp[1]:32 [ bitmap_init::$8 ] : zp[1]:32 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:33 [ bitmap_init::$9 ] : zp[1]:33 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:34 [ bitmap_clear::bitmap#0 ] : zp[2]:34 ,
Potential registers zp[1]:36 [ bitmap_line::xd#2 ] : zp[1]:36 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:37 [ bitmap_line_ydxd::xd#0 ] : zp[1]:37 ,
Potential registers zp[1]:38 [ bitmap_line_xdyd::xd#0 ] : zp[1]:38 ,
Potential registers zp[1]:39 [ bitmap_line::xd#1 ] : zp[1]:39 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:40 [ bitmap_line_ydxi::xd#1 ] : zp[1]:40 ,
Potential registers zp[1]:41 [ bitmap_line_xdyi::x1#1 ] : zp[1]:41 ,
Potential registers zp[1]:42 [ bitmap_line_xdyi::xd#1 ] : zp[1]:42 ,
Potential registers zp[1]:43 [ bitmap_line_xdyi::$6 ] : zp[1]:43 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:44 [ bitmap_plot::plotter_x#0 ] : zp[2]:44 ,
Potential registers zp[2]:46 [ bitmap_plot::plotter_y#0 ] : zp[2]:46 ,
Potential registers zp[2]:48 [ bitmap_plot::plotter#0 ] : zp[2]:48 ,
Potential registers zp[1]:50 [ bitmap_plot::$1 ] : zp[1]:50 , reg byte a , reg byte x , reg byte y ,
REGISTER UPLIFT SCOPES
Uplift Scope [bitmap_plot] 2,000,011: zp[1]:27 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] 2,000,002: zp[2]:46 [ bitmap_plot::plotter_y#0 ] 2,000,002: zp[1]:50 [ bitmap_plot::$1 ] 1,250,005.75: zp[1]:26 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] 1,000,001: zp[2]:44 [ bitmap_plot::plotter_x#0 ] 500,000.5: zp[2]:48 [ bitmap_plot::plotter#0 ]
Uplift Scope [bitmap_line_xdyi] 473,338.07: zp[1]:25 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] 257,145.43: zp[1]:24 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] 200,002: zp[1]:43 [ bitmap_line_xdyi::$6 ] 112,501.12: zp[1]:23 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ] 14,293.07: zp[1]:42 [ bitmap_line_xdyi::xd#1 ] 6,673.47: zp[1]:41 [ bitmap_line_xdyi::x1#1 ]
Uplift Scope [bitmap_line_xdyd] 523,338.57: zp[1]:19 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] 307,145.93: zp[1]:18 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] 118,475.9: zp[1]:17 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] 15,392.54: zp[1]:38 [ bitmap_line_xdyd::xd#0 ]
Uplift Scope [bitmap_line_ydxi] 525,540.77: zp[1]:22 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] 307,145.93: zp[1]:20 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] 117,858.32: zp[1]:21 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ] 7,777.15: zp[1]:40 [ bitmap_line_ydxi::xd#1 ]
Uplift Scope [bitmap_line_ydxd] 525,540.77: zp[1]:16 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] 307,145.93: zp[1]:14 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] 117,858.32: zp[1]:15 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ] 7,777.15: zp[1]:37 [ bitmap_line_ydxd::xd#0 ]
Uplift Scope [bitmap_clear] 2,207.6: zp[2]:9 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] 2,168.83: zp[1]:11 [ bitmap_clear::x#2 bitmap_clear::x#1 ] 185.17: zp[1]:8 [ bitmap_clear::y#4 bitmap_clear::y#1 ] 11: zp[2]:34 [ bitmap_clear::bitmap#0 ]
Uplift Scope [bitmap_init] 366.12: zp[2]:6 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] 228.93: zp[1]:4 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] 218.83: zp[1]:3 [ bitmap_init::x#2 bitmap_init::x#1 ] 202: zp[1]:5 [ bitmap_init::y#2 bitmap_init::y#1 ] 202: zp[1]:29 [ bitmap_init::$0 ] 202: zp[1]:31 [ bitmap_init::$7 ] 202: zp[1]:32 [ bitmap_init::$8 ] 202: zp[1]:33 [ bitmap_init::$9 ] 50.5: zp[1]:30 [ bitmap_init::$10 ]
Uplift Scope [bitmap_line] 134.67: zp[1]:36 [ bitmap_line::xd#2 ] 134.67: zp[1]:39 [ bitmap_line::xd#1 ] 86: zp[1]:28 [ bitmap_line::x1#0 ]
Uplift Scope [init_screen] 336.67: zp[2]:12 [ init_screen::c#2 init_screen::c#1 ]
2020-06-27 19:18:00 +00:00
Uplift Scope [] 33: zp[1]:2 [ next#5 next#0 ]
Uplift Scope [MOS6526_CIA]
2020-04-28 20:58:16 +00:00
Uplift Scope [MOS6569_VICII]
Uplift Scope [MOS6581_SID]
Uplift Scope [main]
Uplifting [bitmap_plot] best 40153 combination reg byte y [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] zp[2]:46 [ bitmap_plot::plotter_y#0 ] reg byte a [ bitmap_plot::$1 ] reg byte x [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] zp[2]:44 [ bitmap_plot::plotter_x#0 ] zp[2]:48 [ bitmap_plot::plotter#0 ]
Uplifting [bitmap_line_xdyi] best 39553 combination zp[1]:25 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] zp[1]:24 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] reg byte x [ bitmap_line_xdyi::$6 ] zp[1]:23 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ] zp[1]:42 [ bitmap_line_xdyi::xd#1 ] zp[1]:41 [ bitmap_line_xdyi::x1#1 ]
Uplifting [bitmap_line_xdyd] best 39553 combination zp[1]:19 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] zp[1]:18 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] zp[1]:17 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] zp[1]:38 [ bitmap_line_xdyd::xd#0 ]
Uplifting [bitmap_line_ydxi] best 39553 combination zp[1]:22 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] zp[1]:20 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] zp[1]:21 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ] zp[1]:40 [ bitmap_line_ydxi::xd#1 ]
Uplifting [bitmap_line_ydxd] best 39553 combination zp[1]:16 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] zp[1]:14 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] zp[1]:15 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ] zp[1]:37 [ bitmap_line_ydxd::xd#0 ]
Uplifting [bitmap_clear] best 38653 combination zp[2]:9 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] reg byte x [ bitmap_clear::x#2 bitmap_clear::x#1 ] zp[1]:8 [ bitmap_clear::y#4 bitmap_clear::y#1 ] zp[2]:34 [ bitmap_clear::bitmap#0 ]
Uplifting [bitmap_init] best 38133 combination zp[2]:6 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] reg byte y [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ] reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] reg byte a [ bitmap_init::$0 ] zp[1]:31 [ bitmap_init::$7 ] zp[1]:32 [ bitmap_init::$8 ] zp[1]:33 [ bitmap_init::$9 ] zp[1]:30 [ bitmap_init::$10 ]
Limited combination testing to 100 combinations of 34560 possible.
2020-06-27 19:18:00 +00:00
Uplifting [bitmap_line] best 38077 combination reg byte x [ bitmap_line::xd#2 ] reg byte x [ bitmap_line::xd#1 ] reg byte a [ bitmap_line::x1#0 ]
Uplifting [init_screen] best 38077 combination zp[2]:12 [ init_screen::c#2 init_screen::c#1 ]
2020-06-27 19:18:00 +00:00
Uplifting [] best 38077 combination zp[1]:2 [ next#5 next#0 ]
Uplifting [MOS6526_CIA] best 38077 combination
Uplifting [MOS6569_VICII] best 38077 combination
Uplifting [MOS6581_SID] best 38077 combination
Uplifting [main] best 38077 combination
2019-10-12 09:40:36 +00:00
Attempting to uplift remaining variables inzp[1]:16 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
2020-06-27 19:18:00 +00:00
Uplifting [bitmap_line_ydxd] best 38077 combination zp[1]:16 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
Attempting to uplift remaining variables inzp[1]:22 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
Uplifting [bitmap_line_ydxi] best 38077 combination zp[1]:22 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ]
Attempting to uplift remaining variables inzp[1]:19 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
Uplifting [bitmap_line_xdyd] best 38077 combination zp[1]:19 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ]
Attempting to uplift remaining variables inzp[1]:25 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
Uplifting [bitmap_line_xdyi] best 38077 combination zp[1]:25 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ]
2019-10-12 09:40:36 +00:00
Attempting to uplift remaining variables inzp[1]:14 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
2020-06-27 19:18:00 +00:00
Uplifting [bitmap_line_ydxd] best 38077 combination zp[1]:14 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
Attempting to uplift remaining variables inzp[1]:18 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
Uplifting [bitmap_line_xdyd] best 38077 combination zp[1]:18 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ]
Attempting to uplift remaining variables inzp[1]:20 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
Uplifting [bitmap_line_ydxi] best 38077 combination zp[1]:20 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ]
Attempting to uplift remaining variables inzp[1]:24 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
Uplifting [bitmap_line_xdyi] best 38077 combination zp[1]:24 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ]
Attempting to uplift remaining variables inzp[1]:17 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ]
Uplifting [bitmap_line_xdyd] best 38077 combination zp[1]:17 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ]
2019-10-12 09:40:36 +00:00
Attempting to uplift remaining variables inzp[1]:15 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ]
2020-06-27 19:18:00 +00:00
Uplifting [bitmap_line_ydxd] best 38077 combination zp[1]:15 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ]
Attempting to uplift remaining variables inzp[1]:21 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ]
Uplifting [bitmap_line_ydxi] best 38077 combination zp[1]:21 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ]
Attempting to uplift remaining variables inzp[1]:23 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ]
Uplifting [bitmap_line_xdyi] best 38077 combination zp[1]:23 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ]
Attempting to uplift remaining variables inzp[1]:38 [ bitmap_line_xdyd::xd#0 ]
Uplifting [bitmap_line_xdyd] best 38077 combination zp[1]:38 [ bitmap_line_xdyd::xd#0 ]
Attempting to uplift remaining variables inzp[1]:42 [ bitmap_line_xdyi::xd#1 ]
Uplifting [bitmap_line_xdyi] best 38077 combination zp[1]:42 [ bitmap_line_xdyi::xd#1 ]
Attempting to uplift remaining variables inzp[1]:37 [ bitmap_line_ydxd::xd#0 ]
Uplifting [bitmap_line_ydxd] best 38077 combination zp[1]:37 [ bitmap_line_ydxd::xd#0 ]
Attempting to uplift remaining variables inzp[1]:40 [ bitmap_line_ydxi::xd#1 ]
Uplifting [bitmap_line_ydxi] best 38077 combination zp[1]:40 [ bitmap_line_ydxi::xd#1 ]
Attempting to uplift remaining variables inzp[1]:41 [ bitmap_line_xdyi::x1#1 ]
Uplifting [bitmap_line_xdyi] best 38077 combination zp[1]:41 [ bitmap_line_xdyi::x1#1 ]
Attempting to uplift remaining variables inzp[1]:31 [ bitmap_init::$7 ]
2020-06-27 19:18:00 +00:00
Uplifting [bitmap_init] best 38017 combination reg byte a [ bitmap_init::$7 ]
Attempting to uplift remaining variables inzp[1]:32 [ bitmap_init::$8 ]
2020-06-27 19:18:00 +00:00
Uplifting [bitmap_init] best 37957 combination reg byte a [ bitmap_init::$8 ]
Attempting to uplift remaining variables inzp[1]:33 [ bitmap_init::$9 ]
2020-06-27 19:18:00 +00:00
Uplifting [bitmap_init] best 37897 combination reg byte a [ bitmap_init::$9 ]
Attempting to uplift remaining variables inzp[1]:8 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
Uplifting [bitmap_clear] best 37897 combination zp[1]:8 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
Attempting to uplift remaining variables inzp[1]:30 [ bitmap_init::$10 ]
Uplifting [bitmap_init] best 37897 combination zp[1]:30 [ bitmap_init::$10 ]
2020-06-27 19:18:00 +00:00
Attempting to uplift remaining variables inzp[1]:2 [ next#5 next#0 ]
Uplifting [] best 37897 combination zp[1]:2 [ next#5 next#0 ]
Coalescing zero page register [ zp[2]:9 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] ] with [ zp[2]:34 [ bitmap_clear::bitmap#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:44 [ bitmap_plot::plotter_x#0 ] ] with [ zp[2]:48 [ bitmap_plot::plotter#0 ] ] - score: 1
Coalescing zero page register [ zp[1]:8 [ bitmap_clear::y#4 bitmap_clear::y#1 ] ] with [ zp[1]:2 [ next#5 next#0 ] ]
Coalescing zero page register [ zp[2]:9 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 ] ] with [ zp[2]:6 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] ]
Coalescing zero page register [ zp[1]:17 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] ] with [ zp[1]:14 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] ]
Coalescing zero page register [ zp[1]:18 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] ] with [ zp[1]:15 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ] ]
Coalescing zero page register [ zp[1]:19 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] ] with [ zp[1]:16 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] ]
Coalescing zero page register [ zp[1]:23 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 ] ] with [ zp[1]:20 [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] ]
Coalescing zero page register [ zp[1]:24 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] ] with [ zp[1]:21 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ] ]
Coalescing zero page register [ zp[1]:25 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] ] with [ zp[1]:22 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] ]
Coalescing zero page register [ zp[1]:37 [ bitmap_line_ydxd::xd#0 ] ] with [ zp[1]:30 [ bitmap_init::$10 ] ]
Coalescing zero page register [ zp[1]:40 [ bitmap_line_ydxi::xd#1 ] ] with [ zp[1]:38 [ bitmap_line_xdyd::xd#0 ] ]
Coalescing zero page register [ zp[2]:44 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 ] ] with [ zp[2]:12 [ init_screen::c#2 init_screen::c#1 ] ]
Coalescing zero page register [ zp[1]:23 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] ] with [ zp[1]:17 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] ]
Coalescing zero page register [ zp[1]:24 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 ] ] with [ zp[1]:18 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ] ]
Coalescing zero page register [ zp[1]:25 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] ] with [ zp[1]:19 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] ]
Coalescing zero page register [ zp[1]:40 [ bitmap_line_ydxi::xd#1 bitmap_line_xdyd::xd#0 ] ] with [ zp[1]:37 [ bitmap_line_ydxd::xd#0 bitmap_init::$10 ] ]
Coalescing zero page register [ zp[1]:41 [ bitmap_line_xdyi::x1#1 ] ] with [ zp[1]:8 [ bitmap_clear::y#4 bitmap_clear::y#1 next#5 next#0 ] ]
Coalescing zero page register [ zp[2]:44 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 init_screen::c#2 init_screen::c#1 ] ] with [ zp[2]:9 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] ]
Coalescing zero page register [ zp[1]:42 [ bitmap_line_xdyi::xd#1 ] ] with [ zp[1]:40 [ bitmap_line_ydxi::xd#1 bitmap_line_xdyd::xd#0 bitmap_line_ydxd::xd#0 bitmap_init::$10 ] ]
Allocated (was zp[1]:23) zp[1]:2 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
Allocated (was zp[1]:24) zp[1]:3 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ]
Allocated (was zp[1]:25) zp[1]:4 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
Allocated (was zp[1]:41) zp[1]:5 [ bitmap_line_xdyi::x1#1 bitmap_clear::y#4 bitmap_clear::y#1 next#5 next#0 ]
Allocated (was zp[1]:42) zp[1]:6 [ bitmap_line_xdyi::xd#1 bitmap_line_ydxi::xd#1 bitmap_line_xdyd::xd#0 bitmap_line_ydxd::xd#0 bitmap_init::$10 ]
Allocated (was zp[2]:44) zp[2]:7 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 init_screen::c#2 init_screen::c#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
Allocated (was zp[2]:46) zp[2]:9 [ bitmap_plot::plotter_y#0 ]
ASSEMBLER BEFORE OPTIMIZATION
// File Comments
// Illustrates problem with bitmap-draw.kc line()
// Reported by Janne Johansson
// Upstart
// Commodore 64 PRG executable file
.file [name="bitmap-line-anim-1.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(main)
// Global Constants & labels
2020-12-29 18:37:32 +00:00
.const VICII_BMM = $20
.const VICII_DEN = $10
.const VICII_RSEL = 8
2020-05-02 09:38:51 +00:00
.label BORDER_COLOR = $d020
.label BG_COLOR = $d021
.label D011 = $d011
2020-12-29 18:37:32 +00:00
.label VICII_MEMORY = $d018
.label SCREEN = $400
.label BITMAP = $2000
2020-06-27 19:18:00 +00:00
.label next = 5
.segment Code
// main
main: {
2020-10-05 20:58:02 +00:00
// [0] *BORDER_COLOR = 0 -- _deref_pbuc1=vbuc2
lda #0
2020-05-02 09:38:51 +00:00
sta BORDER_COLOR
2020-10-05 20:58:02 +00:00
// [1] *BG_COLOR = 0 -- _deref_pbuc1=vbuc2
lda #0
2020-05-02 09:38:51 +00:00
sta BG_COLOR
2020-12-29 18:37:32 +00:00
// [2] *D011 = VICII_BMM|VICII_DEN|VICII_RSEL|3 -- _deref_pbuc1=vbuc2
lda #VICII_BMM|VICII_DEN|VICII_RSEL|3
sta D011
2020-12-29 18:37:32 +00:00
// [3] *VICII_MEMORY = (byte)(word)SCREEN&$3fff/$40|(word)BITMAP&$3fff/$400 -- _deref_pbuc1=vbuc2
lda #(SCREEN&$3fff)/$40|(BITMAP&$3fff)/$400
2020-12-29 18:37:32 +00:00
sta VICII_MEMORY
2020-06-27 19:18:00 +00:00
// [4] call bitmap_init
// [13] phi from main to bitmap_init [phi:main->bitmap_init]
bitmap_init_from_main:
jsr bitmap_init
2020-06-27 19:18:00 +00:00
// [5] phi from main to main::@2 [phi:main->main::@2]
__b2_from_main:
jmp __b2
// main::@2
__b2:
2020-06-27 19:18:00 +00:00
// [6] call bitmap_clear
jsr bitmap_clear
2020-06-27 19:18:00 +00:00
// [7] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
__b3_from___b2:
jmp __b3
// main::@3
__b3:
2020-06-27 19:18:00 +00:00
// [8] call init_screen
// [49] phi from main::@3 to init_screen [phi:main::@3->init_screen]
init_screen_from___b3:
jsr init_screen
2020-06-27 19:18:00 +00:00
// [9] phi from main::@3 to main::@1 [phi:main::@3->main::@1]
__b1_from___b3:
2020-10-05 20:58:02 +00:00
// [9] phi next#5 = 0 [phi:main::@3->main::@1#0] -- vbuz1=vbuc1
lda #0
sta.z next
jmp __b1
// main::@1
__b1:
2020-10-05 20:58:02 +00:00
// [10] bitmap_line::x1#0 = next#5 -- vbuaa=vbuz1
lda.z next
2020-06-27 19:18:00 +00:00
// [11] call bitmap_line
jsr bitmap_line
jmp __b4
// main::@4
__b4:
2020-10-05 20:58:02 +00:00
// [12] next#0 = ++ next#5 -- vbuz1=_inc_vbuz1
inc.z next
2020-06-27 19:18:00 +00:00
// [9] phi from main::@4 to main::@1 [phi:main::@4->main::@1]
__b1_from___b4:
2020-10-05 20:58:02 +00:00
// [9] phi next#5 = next#0 [phi:main::@4->main::@1#0] -- register_copy
jmp __b1
}
// bitmap_init
// Initialize the bitmap plotter tables for a specific bitmap
bitmap_init: {
.label __10 = 6
.label yoffs = 7
// [14] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1]
__b1_from_bitmap_init:
2020-10-05 20:58:02 +00:00
// [14] phi bitmap_init::bits#3 = $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1
ldy #$80
2020-10-05 20:58:02 +00:00
// [14] phi bitmap_init::x#2 = 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1
ldx #0
jmp __b1
// [14] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1]
__b1_from___b2:
2020-10-05 20:58:02 +00:00
// [14] phi bitmap_init::bits#3 = bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy
// [14] phi bitmap_init::x#2 = bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy
jmp __b1
// bitmap_init::@1
__b1:
2020-10-05 20:58:02 +00:00
// [15] bitmap_init::$0 = bitmap_init::x#2 & $f8 -- vbuaa=vbuxx_band_vbuc1
txa
and #$f8
2020-10-05 20:58:02 +00:00
// [16] bitmap_plot_xlo[bitmap_init::x#2] = bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa
sta bitmap_plot_xlo,x
2020-10-05 20:58:02 +00:00
// [17] bitmap_plot_xhi[bitmap_init::x#2] = >BITMAP -- pbuc1_derefidx_vbuxx=vbuc2
lda #>BITMAP
sta bitmap_plot_xhi,x
2020-10-05 20:58:02 +00:00
// [18] bitmap_plot_bit[bitmap_init::x#2] = bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy
tya
sta bitmap_plot_bit,x
2020-10-05 20:58:02 +00:00
// [19] bitmap_init::bits#1 = bitmap_init::bits#3 >> 1 -- vbuyy=vbuyy_ror_1
tya
lsr
tay
2020-10-05 20:58:02 +00:00
// [20] if(bitmap_init::bits#1!=0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1
cpy #0
bne __b6_from___b1
// [22] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2]
__b2_from___b1:
2020-10-05 20:58:02 +00:00
// [22] phi bitmap_init::bits#4 = $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1
ldy #$80
jmp __b2
// [21] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6]
__b6_from___b1:
jmp __b6
// bitmap_init::@6
__b6:
// [22] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2]
__b2_from___b6:
2020-10-05 20:58:02 +00:00
// [22] phi bitmap_init::bits#4 = bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy
jmp __b2
// bitmap_init::@2
__b2:
2020-10-05 20:58:02 +00:00
// [23] bitmap_init::x#1 = ++ bitmap_init::x#2 -- vbuxx=_inc_vbuxx
inx
2020-10-05 20:58:02 +00:00
// [24] if(bitmap_init::x#1!=0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1
cpx #0
bne __b1_from___b2
// [25] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3]
__b3_from___b2:
2020-10-05 20:58:02 +00:00
// [25] phi bitmap_init::yoffs#2 = (byte*) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1
lda #<0
sta.z yoffs
lda #>0
sta.z yoffs+1
2020-10-05 20:58:02 +00:00
// [25] phi bitmap_init::y#2 = 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1
ldx #0
jmp __b3
// [25] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3]
__b3_from___b4:
2020-10-05 20:58:02 +00:00
// [25] phi bitmap_init::yoffs#2 = bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy
// [25] phi bitmap_init::y#2 = bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy
jmp __b3
// bitmap_init::@3
__b3:
2020-10-05 20:58:02 +00:00
// [26] bitmap_init::$10 = bitmap_init::y#2 & 7 -- vbuz1=vbuxx_band_vbuc1
lda #7
sax.z __10
2020-10-05 20:58:02 +00:00
// [27] bitmap_init::$7 = < bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1
lda.z yoffs
2020-10-05 20:58:02 +00:00
// [28] bitmap_init::$8 = bitmap_init::$10 | bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa
ora.z __10
2020-10-05 20:58:02 +00:00
// [29] bitmap_plot_ylo[bitmap_init::y#2] = bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa
sta bitmap_plot_ylo,x
2020-10-05 20:58:02 +00:00
// [30] bitmap_init::$9 = > bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1
lda.z yoffs+1
2020-10-05 20:58:02 +00:00
// [31] bitmap_plot_yhi[bitmap_init::y#2] = bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa
sta bitmap_plot_yhi,x
2020-10-05 20:58:02 +00:00
// [32] if(bitmap_init::$10!=7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1
lda #7
cmp.z __10
bne __b4_from___b3
jmp __b5
// bitmap_init::@5
__b5:
2020-10-05 20:58:02 +00:00
// [33] bitmap_init::yoffs#1 = bitmap_init::yoffs#2 + (word)$28*8 -- pbuz1=pbuz1_plus_vwuc1
clc
lda.z yoffs
adc #<$28*8
sta.z yoffs
lda.z yoffs+1
adc #>$28*8
sta.z yoffs+1
// [34] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4]
__b4_from___b3:
__b4_from___b5:
2020-10-05 20:58:02 +00:00
// [34] phi bitmap_init::yoffs#4 = bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy
jmp __b4
// bitmap_init::@4
__b4:
2020-10-05 20:58:02 +00:00
// [35] bitmap_init::y#1 = ++ bitmap_init::y#2 -- vbuxx=_inc_vbuxx
inx
2020-10-05 20:58:02 +00:00
// [36] if(bitmap_init::y#1!=0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1
cpx #0
bne __b3_from___b4
jmp __breturn
// bitmap_init::@return
__breturn:
// [37] return
rts
}
// bitmap_clear
// Clear all graphics on the bitmap
bitmap_clear: {
.label bitmap = 7
.label y = 5
2020-10-05 20:58:02 +00:00
// [38] bitmap_clear::bitmap#0 = *bitmap_plot_xhi w= *bitmap_plot_xlo -- vwuz1=_deref_pbuc1_word__deref_pbuc2
lda bitmap_plot_xlo
sta.z bitmap
lda bitmap_plot_xhi
sta.z bitmap+1
2020-10-05 20:58:02 +00:00
// [39] bitmap_clear::bitmap#5 = (byte*)bitmap_clear::bitmap#0
// [40] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1]
__b1_from_bitmap_clear:
2020-10-05 20:58:02 +00:00
// [40] phi bitmap_clear::y#4 = 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1
lda #0
sta.z y
2020-10-05 20:58:02 +00:00
// [40] phi bitmap_clear::bitmap#3 = bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy
jmp __b1
// [40] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1]
__b1_from___b3:
2020-10-05 20:58:02 +00:00
// [40] phi bitmap_clear::y#4 = bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy
// [40] phi bitmap_clear::bitmap#3 = bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy
jmp __b1
// bitmap_clear::@1
__b1:
// [41] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2]
__b2_from___b1:
2020-10-05 20:58:02 +00:00
// [41] phi bitmap_clear::x#2 = 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1
ldx #0
2020-10-05 20:58:02 +00:00
// [41] phi bitmap_clear::bitmap#2 = bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy
jmp __b2
// [41] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2]
__b2_from___b2:
2020-10-05 20:58:02 +00:00
// [41] phi bitmap_clear::x#2 = bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy
// [41] phi bitmap_clear::bitmap#2 = bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy
jmp __b2
// bitmap_clear::@2
__b2:
2020-10-05 20:58:02 +00:00
// [42] *bitmap_clear::bitmap#2 = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (bitmap),y
2020-10-05 20:58:02 +00:00
// [43] bitmap_clear::bitmap#1 = ++ bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1
inc.z bitmap
bne !+
inc.z bitmap+1
!:
2020-10-05 20:58:02 +00:00
// [44] bitmap_clear::x#1 = ++ bitmap_clear::x#2 -- vbuxx=_inc_vbuxx
inx
2020-10-05 20:58:02 +00:00
// [45] if(bitmap_clear::x#1!=$c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1
cpx #$c8
bne __b2_from___b2
jmp __b3
// bitmap_clear::@3
__b3:
2020-10-05 20:58:02 +00:00
// [46] bitmap_clear::y#1 = ++ bitmap_clear::y#4 -- vbuz1=_inc_vbuz1
inc.z y
2020-10-05 20:58:02 +00:00
// [47] if(bitmap_clear::y#1!=$28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1
lda #$28
cmp.z y
bne __b1_from___b3
jmp __breturn
// bitmap_clear::@return
__breturn:
// [48] return
rts
}
// init_screen
init_screen: {
.label c = 7
// [50] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1]
__b1_from_init_screen:
2020-10-05 20:58:02 +00:00
// [50] phi init_screen::c#2 = SCREEN [phi:init_screen->init_screen::@1#0] -- pbuz1=pbuc1
lda #<SCREEN
sta.z c
lda #>SCREEN
sta.z c+1
jmp __b1
// init_screen::@1
__b1:
2020-10-05 20:58:02 +00:00
// [51] if(init_screen::c#2!=SCREEN+$400) goto init_screen::@2 -- pbuz1_neq_pbuc1_then_la1
lda.z c+1
cmp #>SCREEN+$400
bne __b2
lda.z c
cmp #<SCREEN+$400
bne __b2
jmp __breturn
// init_screen::@return
__breturn:
// [52] return
rts
// init_screen::@2
__b2:
2020-10-05 20:58:02 +00:00
// [53] *init_screen::c#2 = $14 -- _deref_pbuz1=vbuc1
lda #$14
ldy #0
sta (c),y
2020-10-05 20:58:02 +00:00
// [54] init_screen::c#1 = ++ init_screen::c#2 -- pbuz1=_inc_pbuz1
inc.z c
bne !+
inc.z c+1
!:
// [50] phi from init_screen::@2 to init_screen::@1 [phi:init_screen::@2->init_screen::@1]
__b1_from___b2:
2020-10-05 20:58:02 +00:00
// [50] phi init_screen::c#2 = init_screen::c#1 [phi:init_screen::@2->init_screen::@1#0] -- register_copy
jmp __b1
}
// bitmap_line
// Draw a line on the bitmap
// bitmap_line(byte register(A) x1)
bitmap_line: {
.label x0 = 0
.label y0 = 0
.label y1 = $64
2020-10-05 20:58:02 +00:00
// [55] if(bitmap_line::x0#0<bitmap_line::x1#0) goto bitmap_line::@1 -- vbuc1_lt_vbuaa_then_la1
cmp #x0
beq !+
bcs __b1
!:
jmp __b2
// bitmap_line::@2
__b2:
2020-10-05 20:58:02 +00:00
// [56] bitmap_line::xd#2 = bitmap_line::x1#0 -- vbuxx=vbuaa
tax
jmp __b3
// bitmap_line::@3
__b3:
2020-10-05 20:58:02 +00:00
// [57] if(bitmap_line::y1#0<bitmap_line::xd#2) goto bitmap_line::@4 -- vbuc1_lt_vbuxx_then_la1
cpx #y1
beq !+
bcs __b4
!:
jmp __b5
// bitmap_line::@5
__b5:
2020-10-05 20:58:02 +00:00
// [58] bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 -- vbuz1=vbuxx
stx.z bitmap_line_ydxd.xd
// [59] call bitmap_line_ydxd
jsr bitmap_line_ydxd
jmp __breturn
// bitmap_line::@return
__breturn:
// [60] return
rts
// bitmap_line::@4
__b4:
2020-10-05 20:58:02 +00:00
// [61] bitmap_line_xdyd::x#0 = bitmap_line::x1#0 -- vbuz1=vbuaa
sta.z bitmap_line_xdyd.x
2020-10-05 20:58:02 +00:00
// [62] bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 -- vbuz1=vbuxx
stx.z bitmap_line_xdyd.xd
// [63] call bitmap_line_xdyd
// [84] phi from bitmap_line::@4 to bitmap_line_xdyd [phi:bitmap_line::@4->bitmap_line_xdyd]
bitmap_line_xdyd_from___b4:
jsr bitmap_line_xdyd
jmp __breturn
// bitmap_line::@1
__b1:
2020-10-05 20:58:02 +00:00
// [64] bitmap_line::xd#1 = bitmap_line::x1#0 -- vbuxx=vbuaa
tax
jmp __b6
// bitmap_line::@6
__b6:
2020-10-05 20:58:02 +00:00
// [65] if(bitmap_line::y1#0<bitmap_line::xd#1) goto bitmap_line::@7 -- vbuc1_lt_vbuxx_then_la1
cpx #y1
beq !+
bcs __b7
!:
jmp __b8
// bitmap_line::@8
__b8:
2020-10-05 20:58:02 +00:00
// [66] bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 -- vbuz1=vbuxx
stx.z bitmap_line_ydxi.xd
// [67] call bitmap_line_ydxi
jsr bitmap_line_ydxi
jmp __breturn
// bitmap_line::@7
__b7:
2020-10-05 20:58:02 +00:00
// [68] bitmap_line_xdyi::x1#1 = bitmap_line::x1#0 -- vbuz1=vbuaa
sta.z bitmap_line_xdyi.x1
2020-10-05 20:58:02 +00:00
// [69] bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 -- vbuz1=vbuxx
stx.z bitmap_line_xdyi.xd
// [70] call bitmap_line_xdyi
// [110] phi from bitmap_line::@7 to bitmap_line_xdyi [phi:bitmap_line::@7->bitmap_line_xdyi]
bitmap_line_xdyi_from___b7:
jsr bitmap_line_xdyi
jmp __breturn
}
// bitmap_line_ydxd
// bitmap_line_ydxd(byte zp(3) y, byte zp(2) x, byte zp(6) xd)
bitmap_line_ydxd: {
.label xd = 6
2020-06-27 19:18:00 +00:00
.label e = 4
.label y = 3
.label x = 2
2020-10-05 20:58:02 +00:00
// [71] bitmap_line_ydxd::e#0 = bitmap_line_ydxd::xd#0 >> 1 -- vbuz1=vbuz2_ror_1
lda.z xd
lsr
sta.z e
// [72] phi from bitmap_line_ydxd to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd->bitmap_line_ydxd::@1]
__b1_from_bitmap_line_ydxd:
2020-10-05 20:58:02 +00:00
// [72] phi bitmap_line_ydxd::e#3 = bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd->bitmap_line_ydxd::@1#0] -- register_copy
// [72] phi bitmap_line_ydxd::y#2 = bitmap_line::y0#0 [phi:bitmap_line_ydxd->bitmap_line_ydxd::@1#1] -- vbuz1=vbuc1
lda #bitmap_line.y0
sta.z y
2020-10-05 20:58:02 +00:00
// [72] phi bitmap_line_ydxd::x#3 = bitmap_line::x0#0 [phi:bitmap_line_ydxd->bitmap_line_ydxd::@1#2] -- vbuz1=vbuc1
lda #bitmap_line.x0
sta.z x
jmp __b1
// [72] phi from bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd::@2->bitmap_line_ydxd::@1]
__b1_from___b2:
2020-10-05 20:58:02 +00:00
// [72] phi bitmap_line_ydxd::e#3 = bitmap_line_ydxd::e#6 [phi:bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy
// [72] phi bitmap_line_ydxd::y#2 = bitmap_line_ydxd::y#3 [phi:bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy
// [72] phi bitmap_line_ydxd::x#3 = bitmap_line_ydxd::x#6 [phi:bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy
jmp __b1
// bitmap_line_ydxd::@1
__b1:
2020-10-05 20:58:02 +00:00
// [73] bitmap_plot::x#3 = bitmap_line_ydxd::x#3 -- vbuxx=vbuz1
ldx.z x
2020-10-05 20:58:02 +00:00
// [74] bitmap_plot::y#3 = bitmap_line_ydxd::y#2 -- vbuyy=vbuz1
ldy.z y
// [75] call bitmap_plot
// [124] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot]
bitmap_plot_from___b1:
2020-10-05 20:58:02 +00:00
// [124] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy
// [124] phi bitmap_plot::x#4 = bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy
jsr bitmap_plot
jmp __b4
// bitmap_line_ydxd::@4
__b4:
2020-10-05 20:58:02 +00:00
// [76] bitmap_line_ydxd::y#3 = ++ bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1
inc.z y
2020-10-05 20:58:02 +00:00
// [77] bitmap_line_ydxd::e#1 = bitmap_line_ydxd::e#3 + bitmap_line_ydxd::xd#0 -- vbuz1=vbuz1_plus_vbuz2
lda.z e
clc
adc.z xd
sta.z e
2020-10-05 20:58:02 +00:00
// [78] if(bitmap_line::y1#0>=bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuc1_ge_vbuz1_then_la1
lda #bitmap_line.y1
cmp.z e
bcs __b2_from___b4
jmp __b3
// bitmap_line_ydxd::@3
__b3:
2020-10-05 20:58:02 +00:00
// [79] bitmap_line_ydxd::x#2 = -- bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1
dec.z x
2020-10-05 20:58:02 +00:00
// [80] bitmap_line_ydxd::e#2 = bitmap_line_ydxd::e#1 - bitmap_line::y1#0 -- vbuz1=vbuz1_minus_vbuc1
lax.z e
axs #bitmap_line.y1
stx.z e
// [81] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2]
__b2_from___b3:
__b2_from___b4:
2020-10-05 20:58:02 +00:00
// [81] phi bitmap_line_ydxd::e#6 = bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy
// [81] phi bitmap_line_ydxd::x#6 = bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy
jmp __b2
// bitmap_line_ydxd::@2
__b2:
2020-10-05 20:58:02 +00:00
// [82] if(bitmap_line_ydxd::y#3!=bitmap_line::y1#0+1) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuc1_then_la1
lda #bitmap_line.y1+1
cmp.z y
bne __b1_from___b2
jmp __breturn
// bitmap_line_ydxd::@return
__breturn:
// [83] return
rts
}
// bitmap_line_xdyd
2020-06-27 19:18:00 +00:00
// bitmap_line_xdyd(byte zp(2) x, byte zp(3) y, byte zp(6) xd)
bitmap_line_xdyd: {
2020-06-27 19:18:00 +00:00
.label x = 2
.label xd = 6
2020-06-27 19:18:00 +00:00
.label e = 4
.label y = 3
// [85] phi from bitmap_line_xdyd to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd->bitmap_line_xdyd::@1]
__b1_from_bitmap_line_xdyd:
2020-10-05 20:58:02 +00:00
// [85] phi bitmap_line_xdyd::e#3 = bitmap_line::y1#0>>1 [phi:bitmap_line_xdyd->bitmap_line_xdyd::@1#0] -- vbuz1=vbuc1
lda #bitmap_line.y1>>1
sta.z e
2020-10-05 20:58:02 +00:00
// [85] phi bitmap_line_xdyd::y#3 = bitmap_line::y1#0 [phi:bitmap_line_xdyd->bitmap_line_xdyd::@1#1] -- vbuz1=vbuc1
lda #bitmap_line.y1
sta.z y
2020-10-05 20:58:02 +00:00
// [85] phi bitmap_line_xdyd::x#3 = bitmap_line_xdyd::x#0 [phi:bitmap_line_xdyd->bitmap_line_xdyd::@1#2] -- register_copy
jmp __b1
// [85] phi from bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd::@2->bitmap_line_xdyd::@1]
__b1_from___b2:
2020-10-05 20:58:02 +00:00
// [85] phi bitmap_line_xdyd::e#3 = bitmap_line_xdyd::e#6 [phi:bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy
// [85] phi bitmap_line_xdyd::y#3 = bitmap_line_xdyd::y#6 [phi:bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy
// [85] phi bitmap_line_xdyd::x#3 = bitmap_line_xdyd::x#2 [phi:bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy
jmp __b1
// bitmap_line_xdyd::@1
__b1:
2020-10-05 20:58:02 +00:00
// [86] bitmap_plot::x#1 = bitmap_line_xdyd::x#3 -- vbuxx=vbuz1
ldx.z x
2020-10-05 20:58:02 +00:00
// [87] bitmap_plot::y#1 = bitmap_line_xdyd::y#3 -- vbuyy=vbuz1
ldy.z y
// [88] call bitmap_plot
// [124] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot]
bitmap_plot_from___b1:
2020-10-05 20:58:02 +00:00
// [124] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy
// [124] phi bitmap_plot::x#4 = bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy
jsr bitmap_plot
jmp __b4
// bitmap_line_xdyd::@4
__b4:
2020-10-05 20:58:02 +00:00
// [89] bitmap_line_xdyd::x#2 = ++ bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1
inc.z x
2020-10-05 20:58:02 +00:00
// [90] bitmap_line_xdyd::e#1 = bitmap_line_xdyd::e#3 + bitmap_line::y1#0 -- vbuz1=vbuz1_plus_vbuc1
lax.z e
axs #-[bitmap_line.y1]
stx.z e
2020-10-05 20:58:02 +00:00
// [91] if(bitmap_line_xdyd::xd#0>=bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1
lda.z xd
cmp.z e
bcs __b2_from___b4
jmp __b3
// bitmap_line_xdyd::@3
__b3:
2020-10-05 20:58:02 +00:00
// [92] bitmap_line_xdyd::y#2 = -- bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1
dec.z y
2020-10-05 20:58:02 +00:00
// [93] bitmap_line_xdyd::e#2 = bitmap_line_xdyd::e#1 - bitmap_line_xdyd::xd#0 -- vbuz1=vbuz1_minus_vbuz2
lda.z e
sec
sbc.z xd
sta.z e
// [94] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2]
__b2_from___b3:
__b2_from___b4:
2020-10-05 20:58:02 +00:00
// [94] phi bitmap_line_xdyd::e#6 = bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy
// [94] phi bitmap_line_xdyd::y#6 = bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy
jmp __b2
// bitmap_line_xdyd::@2
__b2:
2020-10-05 20:58:02 +00:00
// [95] if(bitmap_line_xdyd::x#2!=1) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuc1_then_la1
lda #1
cmp.z x
bne __b1_from___b2
jmp __breturn
// bitmap_line_xdyd::@return
__breturn:
// [96] return
rts
}
// bitmap_line_ydxi
// bitmap_line_ydxi(byte zp(3) y, byte zp(2) x, byte zp(6) xd)
bitmap_line_ydxi: {
.label xd = 6
2020-06-27 19:18:00 +00:00
.label e = 4
.label y = 3
.label x = 2
2020-10-05 20:58:02 +00:00
// [97] bitmap_line_ydxi::e#0 = bitmap_line_ydxi::xd#1 >> 1 -- vbuz1=vbuz2_ror_1
lda.z xd
lsr
sta.z e
// [98] phi from bitmap_line_ydxi to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi->bitmap_line_ydxi::@1]
__b1_from_bitmap_line_ydxi:
2020-10-05 20:58:02 +00:00
// [98] phi bitmap_line_ydxi::e#3 = bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi->bitmap_line_ydxi::@1#0] -- register_copy
// [98] phi bitmap_line_ydxi::y#3 = bitmap_line::y0#0 [phi:bitmap_line_ydxi->bitmap_line_ydxi::@1#1] -- vbuz1=vbuc1
lda #bitmap_line.y0
sta.z y
2020-10-05 20:58:02 +00:00
// [98] phi bitmap_line_ydxi::x#3 = bitmap_line::x0#0 [phi:bitmap_line_ydxi->bitmap_line_ydxi::@1#2] -- vbuz1=vbuc1
lda #bitmap_line.x0
sta.z x
jmp __b1
// [98] phi from bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi::@2->bitmap_line_ydxi::@1]
__b1_from___b2:
2020-10-05 20:58:02 +00:00
// [98] phi bitmap_line_ydxi::e#3 = bitmap_line_ydxi::e#6 [phi:bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy
// [98] phi bitmap_line_ydxi::y#3 = bitmap_line_ydxi::y#2 [phi:bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy
// [98] phi bitmap_line_ydxi::x#3 = bitmap_line_ydxi::x#6 [phi:bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy
jmp __b1
// bitmap_line_ydxi::@1
__b1:
2020-10-05 20:58:02 +00:00
// [99] bitmap_plot::x#2 = bitmap_line_ydxi::x#3 -- vbuxx=vbuz1
ldx.z x
2020-10-05 20:58:02 +00:00
// [100] bitmap_plot::y#2 = bitmap_line_ydxi::y#3 -- vbuyy=vbuz1
ldy.z y
// [101] call bitmap_plot
// [124] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot]
bitmap_plot_from___b1:
2020-10-05 20:58:02 +00:00
// [124] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy
// [124] phi bitmap_plot::x#4 = bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy
jsr bitmap_plot
jmp __b4
// bitmap_line_ydxi::@4
__b4:
2020-10-05 20:58:02 +00:00
// [102] bitmap_line_ydxi::y#2 = ++ bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1
inc.z y
2020-10-05 20:58:02 +00:00
// [103] bitmap_line_ydxi::e#1 = bitmap_line_ydxi::e#3 + bitmap_line_ydxi::xd#1 -- vbuz1=vbuz1_plus_vbuz2
lda.z e
clc
adc.z xd
sta.z e
2020-10-05 20:58:02 +00:00
// [104] if(bitmap_line::y1#0>=bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuc1_ge_vbuz1_then_la1
lda #bitmap_line.y1
cmp.z e
bcs __b2_from___b4
jmp __b3
// bitmap_line_ydxi::@3
__b3:
2020-10-05 20:58:02 +00:00
// [105] bitmap_line_ydxi::x#2 = ++ bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1
inc.z x
2020-10-05 20:58:02 +00:00
// [106] bitmap_line_ydxi::e#2 = bitmap_line_ydxi::e#1 - bitmap_line::y1#0 -- vbuz1=vbuz1_minus_vbuc1
lax.z e
axs #bitmap_line.y1
stx.z e
// [107] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2]
__b2_from___b3:
__b2_from___b4:
2020-10-05 20:58:02 +00:00
// [107] phi bitmap_line_ydxi::e#6 = bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy
// [107] phi bitmap_line_ydxi::x#6 = bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy
jmp __b2
// bitmap_line_ydxi::@2
__b2:
2020-10-05 20:58:02 +00:00
// [108] if(bitmap_line_ydxi::y#2!=bitmap_line::y1#0+1) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuc1_then_la1
lda #bitmap_line.y1+1
cmp.z y
bne __b1_from___b2
jmp __breturn
// bitmap_line_ydxi::@return
__breturn:
// [109] return
rts
}
// bitmap_line_xdyi
// bitmap_line_xdyi(byte zp(2) x, byte zp(3) y, byte zp(5) x1, byte zp(6) xd)
bitmap_line_xdyi: {
.label x1 = 5
.label xd = 6
.label x = 2
.label e = 4
.label y = 3
// [111] phi from bitmap_line_xdyi to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi->bitmap_line_xdyi::@1]
__b1_from_bitmap_line_xdyi:
2020-10-05 20:58:02 +00:00
// [111] phi bitmap_line_xdyi::e#3 = bitmap_line::y1#0>>1 [phi:bitmap_line_xdyi->bitmap_line_xdyi::@1#0] -- vbuz1=vbuc1
lda #bitmap_line.y1>>1
sta.z e
2020-10-05 20:58:02 +00:00
// [111] phi bitmap_line_xdyi::y#3 = bitmap_line::y0#0 [phi:bitmap_line_xdyi->bitmap_line_xdyi::@1#1] -- vbuz1=vbuc1
lda #bitmap_line.y0
sta.z y
2020-10-05 20:58:02 +00:00
// [111] phi bitmap_line_xdyi::x#3 = bitmap_line::x0#0 [phi:bitmap_line_xdyi->bitmap_line_xdyi::@1#2] -- vbuz1=vbuc1
lda #bitmap_line.x0
sta.z x
jmp __b1
// [111] phi from bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi::@2->bitmap_line_xdyi::@1]
__b1_from___b2:
2020-10-05 20:58:02 +00:00
// [111] phi bitmap_line_xdyi::e#3 = bitmap_line_xdyi::e#6 [phi:bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy
// [111] phi bitmap_line_xdyi::y#3 = bitmap_line_xdyi::y#6 [phi:bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy
// [111] phi bitmap_line_xdyi::x#3 = bitmap_line_xdyi::x#2 [phi:bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy
jmp __b1
// bitmap_line_xdyi::@1
__b1:
2020-10-05 20:58:02 +00:00
// [112] bitmap_plot::x#0 = bitmap_line_xdyi::x#3 -- vbuxx=vbuz1
ldx.z x
2020-10-05 20:58:02 +00:00
// [113] bitmap_plot::y#0 = bitmap_line_xdyi::y#3 -- vbuyy=vbuz1
ldy.z y
// [114] call bitmap_plot
// [124] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot]
bitmap_plot_from___b1:
2020-10-05 20:58:02 +00:00
// [124] phi bitmap_plot::y#4 = bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy
// [124] phi bitmap_plot::x#4 = bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy
jsr bitmap_plot
jmp __b4
// bitmap_line_xdyi::@4
__b4:
2020-10-05 20:58:02 +00:00
// [115] bitmap_line_xdyi::x#2 = ++ bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1
inc.z x
2020-10-05 20:58:02 +00:00
// [116] bitmap_line_xdyi::e#1 = bitmap_line_xdyi::e#3 + bitmap_line::y1#0 -- vbuz1=vbuz1_plus_vbuc1
lax.z e
axs #-[bitmap_line.y1]
stx.z e
2020-10-05 20:58:02 +00:00
// [117] if(bitmap_line_xdyi::xd#1>=bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1
lda.z xd
cmp.z e
bcs __b2_from___b4
jmp __b3
// bitmap_line_xdyi::@3
__b3:
2020-10-05 20:58:02 +00:00
// [118] bitmap_line_xdyi::y#2 = ++ bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1
inc.z y
2020-10-05 20:58:02 +00:00
// [119] bitmap_line_xdyi::e#2 = bitmap_line_xdyi::e#1 - bitmap_line_xdyi::xd#1 -- vbuz1=vbuz1_minus_vbuz2
lda.z e
sec
sbc.z xd
sta.z e
// [120] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2]
__b2_from___b3:
__b2_from___b4:
2020-10-05 20:58:02 +00:00
// [120] phi bitmap_line_xdyi::e#6 = bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy
// [120] phi bitmap_line_xdyi::y#6 = bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy
jmp __b2
// bitmap_line_xdyi::@2
__b2:
2020-10-05 20:58:02 +00:00
// [121] bitmap_line_xdyi::$6 = bitmap_line_xdyi::x1#1 + 1 -- vbuxx=vbuz1_plus_1
ldx.z x1
inx
2020-10-05 20:58:02 +00:00
// [122] if(bitmap_line_xdyi::x#2!=bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuxx_then_la1
cpx.z x
bne __b1_from___b2
jmp __breturn
// bitmap_line_xdyi::@return
__breturn:
// [123] return
rts
}
// bitmap_plot
// bitmap_plot(byte register(X) x, byte register(Y) y)
bitmap_plot: {
.label plotter_x = 7
.label plotter_y = 9
.label plotter = 7
2020-10-05 20:58:02 +00:00
// [125] bitmap_plot::plotter_x#0 = bitmap_plot_xhi[bitmap_plot::x#4] w= bitmap_plot_xlo[bitmap_plot::x#4] -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx
lda bitmap_plot_xhi,x
sta.z plotter_x+1
lda bitmap_plot_xlo,x
sta.z plotter_x
2020-10-05 20:58:02 +00:00
// [126] bitmap_plot::plotter_y#0 = bitmap_plot_yhi[bitmap_plot::y#4] w= bitmap_plot_ylo[bitmap_plot::y#4] -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy
lda bitmap_plot_yhi,y
sta.z plotter_y+1
lda bitmap_plot_ylo,y
sta.z plotter_y
2020-10-05 20:58:02 +00:00
// [127] bitmap_plot::plotter#0 = bitmap_plot::plotter_x#0 + bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2
lda.z plotter
clc
adc.z plotter_y
sta.z plotter
lda.z plotter+1
adc.z plotter_y+1
sta.z plotter+1
2020-10-05 20:58:02 +00:00
// [128] bitmap_plot::$1 = *((byte*)bitmap_plot::plotter#0) | bitmap_plot_bit[bitmap_plot::x#4] -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx
lda bitmap_plot_bit,x
ldy #0
ora (plotter),y
2020-10-05 20:58:02 +00:00
// [129] *((byte*)bitmap_plot::plotter#0) = bitmap_plot::$1 -- _deref_pbuz1=vbuaa
ldy #0
sta (plotter),y
jmp __breturn
// bitmap_plot::@return
__breturn:
2020-06-27 19:18:00 +00:00
// [130] return
rts
}
// File Data
.segment Data
// Tables for the plotter - initialized by calling bitmap_draw_init();
bitmap_plot_xlo: .fill $100, 0
bitmap_plot_xhi: .fill $100, 0
bitmap_plot_ylo: .fill $100, 0
bitmap_plot_yhi: .fill $100, 0
bitmap_plot_bit: .fill $100, 0
ASSEMBLER OPTIMIZATIONS
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b1
Removing instruction jmp __b4
Removing instruction jmp __b1
Removing instruction jmp __b6
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b5
Removing instruction jmp __b4
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b5
Removing instruction jmp __breturn
Removing instruction jmp __b6
Removing instruction jmp __b8
Removing instruction jmp __b1
Removing instruction jmp __b4
Removing instruction jmp __b3
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b4
Removing instruction jmp __b3
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b4
Removing instruction jmp __b3
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b4
Removing instruction jmp __b3
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #0
Removing instruction lda #>0
Replacing instruction ldx #0 with TAX
Replacing instruction ldy #0 with TAY
Removing instruction ldy #0
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label __b6_from___b1 with __b2
Replacing label __b1_from___b2 with __b1
Replacing label __b4_from___b3 with __b4
Replacing label __b3_from___b4 with __b3
Replacing label __b2_from___b2 with __b2
Replacing label __b1_from___b3 with __b1
Replacing label __b2_from___b4 with __b2
Replacing label __b1_from___b2 with __b1
Replacing label __b2_from___b4 with __b2
Replacing label __b1_from___b2 with __b1
Replacing label __b2_from___b4 with __b2
Replacing label __b1_from___b2 with __b1
Replacing label __b2_from___b4 with __b2
Replacing label __b1_from___b2 with __b1
Removing instruction __b2_from_main:
Removing instruction __b3_from___b2:
Removing instruction init_screen_from___b3:
Removing instruction __b1_from___b2:
Removing instruction __b6_from___b1:
Removing instruction __b6:
Removing instruction __b2_from___b6:
Removing instruction __b3_from___b4:
Removing instruction __b4_from___b3:
Removing instruction __b4_from___b5:
Removing instruction __b1_from___b3:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b2:
Removing instruction __b1_from___b2:
Removing instruction __b2_from___b3:
Removing instruction __b2_from___b4:
Removing instruction __b1_from___b2:
Removing instruction __b2_from___b3:
Removing instruction __b2_from___b4:
Removing instruction __b1_from___b2:
Removing instruction __b2_from___b3:
Removing instruction __b2_from___b4:
Removing instruction __b1_from___b2:
Removing instruction __b2_from___b3:
Removing instruction __b2_from___b4:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction bitmap_init_from_main:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction __b1_from___b3:
Removing instruction __b4:
Removing instruction __b1_from___b4:
Removing instruction __b1_from_bitmap_init:
Removing instruction __b2_from___b1:
Removing instruction __b3_from___b2:
Removing instruction __b5:
Removing instruction __breturn:
Removing instruction __b1_from_bitmap_clear:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from_init_screen:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction __b5:
Removing instruction bitmap_line_xdyd_from___b4:
Removing instruction __b6:
Removing instruction __b8:
Removing instruction bitmap_line_xdyi_from___b7:
Removing instruction __b1_from_bitmap_line_ydxd:
Removing instruction bitmap_plot_from___b1:
Removing instruction __b4:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from_bitmap_line_xdyd:
Removing instruction bitmap_plot_from___b1:
Removing instruction __b4:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from_bitmap_line_ydxi:
Removing instruction bitmap_plot_from___b1:
Removing instruction __b4:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from_bitmap_line_xdyi:
Removing instruction bitmap_plot_from___b1:
Removing instruction __b4:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __breturn:
Succesful ASM optimization Pass5UnusedLabelElimination
Replacing jump to rts with rts in jmp __breturn
Replacing jump to rts with rts in jmp __breturn
Replacing jump to rts with rts in jmp __breturn
Succesful ASM optimization Pass5DoubleJumpElimination
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b1
Removing instruction jmp __b1
Removing instruction jmp __b1
Removing instruction jmp __b1
Succesful ASM optimization Pass5NextJumpElimination
Replacing instruction lda.z e with TXA
Replacing instruction lda.z e with TXA
Removing instruction __breturn:
Succesful ASM optimization Pass5UnusedLabelElimination
FINAL SYMBOL TABLE
2020-10-05 20:58:02 +00:00
const nomodify byte* BG_COLOR = (byte*) 53281
const nomodify byte* BITMAP = (byte*) 8192
const nomodify byte* BORDER_COLOR = (byte*) 53280
const nomodify byte* D011 = (byte*) 53265
const nomodify byte* SCREEN = (byte*) 1024
2020-12-29 18:37:32 +00:00
const nomodify byte VICII_BMM = $20
const nomodify byte VICII_DEN = $10
const nomodify byte* VICII_MEMORY = (byte*) 53272
const nomodify byte VICII_RSEL = 8
2020-10-05 20:58:02 +00:00
void bitmap_clear()
byte* bitmap_clear::bitmap
word bitmap_clear::bitmap#0 bitmap zp[2]:7 11.0
byte* bitmap_clear::bitmap#1 bitmap zp[2]:7 420.59999999999997
byte* bitmap_clear::bitmap#2 bitmap zp[2]:7 1552.0
byte* bitmap_clear::bitmap#3 bitmap zp[2]:7 213.0
byte* bitmap_clear::bitmap#5 bitmap zp[2]:7 22.0
byte bitmap_clear::x
byte bitmap_clear::x#1 reg byte x 1501.5
byte bitmap_clear::x#2 reg byte x 667.3333333333334
byte bitmap_clear::y
byte bitmap_clear::y#1 y zp[1]:5 151.5
byte bitmap_clear::y#4 y zp[1]:5 33.666666666666664
void bitmap_init(byte* bitmap_init::bitmap)
byte~ bitmap_init::$0 reg byte a 202.0
byte~ bitmap_init::$10 zp[1]:6 50.5
byte~ bitmap_init::$7 reg byte a 202.0
byte~ bitmap_init::$8 reg byte a 202.0
byte~ bitmap_init::$9 reg byte a 202.0
byte* bitmap_init::bitmap
byte bitmap_init::bits
byte bitmap_init::bits#1 reg byte y 101.0
byte bitmap_init::bits#3 reg byte y 60.599999999999994
byte bitmap_init::bits#4 reg byte y 67.33333333333333
byte bitmap_init::x
byte bitmap_init::x#1 reg byte x 151.5
byte bitmap_init::x#2 reg byte x 67.33333333333333
byte bitmap_init::y
byte bitmap_init::y#1 reg byte x 151.5
byte bitmap_init::y#2 reg byte x 50.5
byte* bitmap_init::yoffs
byte* bitmap_init::yoffs#1 yoffs zp[2]:7 202.0
byte* bitmap_init::yoffs#2 yoffs zp[2]:7 63.125
byte* bitmap_init::yoffs#4 yoffs zp[2]:7 101.0
void bitmap_line(byte bitmap_line::x0 , byte bitmap_line::x1 , byte bitmap_line::y0 , byte bitmap_line::y1)
byte bitmap_line::x0
const byte bitmap_line::x0#0 x0 = 0
byte bitmap_line::x1
byte bitmap_line::x1#0 reg byte a 85.99999999999999
byte bitmap_line::xd
byte bitmap_line::xd#1 reg byte x 134.66666666666666
byte bitmap_line::xd#2 reg byte x 134.66666666666666
byte bitmap_line::y0
const byte bitmap_line::y0#0 y0 = 0
byte bitmap_line::y1
const byte bitmap_line::y1#0 y1 = $64
byte bitmap_line::yd
void bitmap_line_xdyd(byte bitmap_line_xdyd::x , byte bitmap_line_xdyd::y , byte bitmap_line_xdyd::x1 , byte bitmap_line_xdyd::xd , byte bitmap_line_xdyd::yd)
byte bitmap_line_xdyd::e
byte bitmap_line_xdyd::e#1 e zp[1]:4 133334.66666666666
byte bitmap_line_xdyd::e#2 e zp[1]:4 200002.0
byte bitmap_line_xdyd::e#3 e zp[1]:4 40000.4
byte bitmap_line_xdyd::e#6 e zp[1]:4 150001.5
byte bitmap_line_xdyd::x
byte bitmap_line_xdyd::x#0 x zp[1]:2 367.33333333333337
byte bitmap_line_xdyd::x#2 x zp[1]:2 42857.57142857143
byte bitmap_line_xdyd::x#3 x zp[1]:2 75251.0
byte bitmap_line_xdyd::x1
byte bitmap_line_xdyd::xd
byte bitmap_line_xdyd::xd#0 xd zp[1]:6 15392.538461538461
byte bitmap_line_xdyd::y
byte bitmap_line_xdyd::y#2 y zp[1]:3 100001.0
byte bitmap_line_xdyd::y#3 y zp[1]:3 57143.42857142857
byte bitmap_line_xdyd::y#6 y zp[1]:3 150001.5
byte bitmap_line_xdyd::yd
void bitmap_line_xdyi(byte bitmap_line_xdyi::x , byte bitmap_line_xdyi::y , byte bitmap_line_xdyi::x1 , byte bitmap_line_xdyi::xd , byte bitmap_line_xdyi::yd)
byte~ bitmap_line_xdyi::$6 reg byte x 200002.0
byte bitmap_line_xdyi::e
byte bitmap_line_xdyi::e#1 e zp[1]:4 133334.66666666666
byte bitmap_line_xdyi::e#2 e zp[1]:4 200002.0
byte bitmap_line_xdyi::e#3 e zp[1]:4 40000.4
byte bitmap_line_xdyi::e#6 e zp[1]:4 100001.0
byte bitmap_line_xdyi::x
byte bitmap_line_xdyi::x#2 x zp[1]:2 37500.375
byte bitmap_line_xdyi::x#3 x zp[1]:2 75000.75
byte bitmap_line_xdyi::x1
byte bitmap_line_xdyi::x1#1 x1 zp[1]:5 6673.466666666667
byte bitmap_line_xdyi::xd
byte bitmap_line_xdyi::xd#1 xd zp[1]:6 14293.071428571428
byte bitmap_line_xdyi::y
byte bitmap_line_xdyi::y#2 y zp[1]:3 100001.0
byte bitmap_line_xdyi::y#3 y zp[1]:3 57143.42857142857
byte bitmap_line_xdyi::y#6 y zp[1]:3 100001.0
byte bitmap_line_xdyi::yd
void bitmap_line_ydxd(byte bitmap_line_ydxd::y , byte bitmap_line_ydxd::x , byte bitmap_line_ydxd::y1 , byte bitmap_line_ydxd::yd , byte bitmap_line_ydxd::xd)
byte bitmap_line_ydxd::e
byte bitmap_line_ydxd::e#0 e zp[1]:4 2002.0
byte bitmap_line_ydxd::e#1 e zp[1]:4 133334.66666666666
byte bitmap_line_ydxd::e#2 e zp[1]:4 200002.0
byte bitmap_line_ydxd::e#3 e zp[1]:4 40200.600000000006
byte bitmap_line_ydxd::e#6 e zp[1]:4 150001.5
byte bitmap_line_ydxd::x
byte bitmap_line_ydxd::x#2 x zp[1]:2 100001.0
byte bitmap_line_ydxd::x#3 x zp[1]:2 57143.42857142857
byte bitmap_line_ydxd::x#6 x zp[1]:2 150001.5
byte bitmap_line_ydxd::xd
byte bitmap_line_ydxd::xd#0 xd zp[1]:6 7777.153846153846
byte bitmap_line_ydxd::y
byte bitmap_line_ydxd::y#2 y zp[1]:3 75000.75
byte bitmap_line_ydxd::y#3 y zp[1]:3 42857.57142857143
byte bitmap_line_ydxd::y1
byte bitmap_line_ydxd::yd
void bitmap_line_ydxi(byte bitmap_line_ydxi::y , byte bitmap_line_ydxi::x , byte bitmap_line_ydxi::y1 , byte bitmap_line_ydxi::yd , byte bitmap_line_ydxi::xd)
byte bitmap_line_ydxi::e
byte bitmap_line_ydxi::e#0 e zp[1]:4 2002.0
byte bitmap_line_ydxi::e#1 e zp[1]:4 133334.66666666666
byte bitmap_line_ydxi::e#2 e zp[1]:4 200002.0
byte bitmap_line_ydxi::e#3 e zp[1]:4 40200.600000000006
byte bitmap_line_ydxi::e#6 e zp[1]:4 150001.5
byte bitmap_line_ydxi::x
byte bitmap_line_ydxi::x#2 x zp[1]:2 100001.0
byte bitmap_line_ydxi::x#3 x zp[1]:2 57143.42857142857
byte bitmap_line_ydxi::x#6 x zp[1]:2 150001.5
byte bitmap_line_ydxi::xd
byte bitmap_line_ydxi::xd#1 xd zp[1]:6 7777.153846153846
byte bitmap_line_ydxi::y
byte bitmap_line_ydxi::y#2 y zp[1]:3 42857.57142857143
byte bitmap_line_ydxi::y#3 y zp[1]:3 75000.75
byte bitmap_line_ydxi::y1
byte bitmap_line_ydxi::yd
void bitmap_plot(byte bitmap_plot::x , byte bitmap_plot::y)
byte~ bitmap_plot::$1 reg byte a 2000002.0
byte* bitmap_plot::plotter
word bitmap_plot::plotter#0 plotter zp[2]:7 500000.5
word bitmap_plot::plotter_x
word bitmap_plot::plotter_x#0 plotter_x zp[2]:7 1000001.0
word bitmap_plot::plotter_y
word bitmap_plot::plotter_y#0 plotter_y zp[2]:9 2000002.0
byte bitmap_plot::x
byte bitmap_plot::x#0 reg byte x 100001.0
byte bitmap_plot::x#1 reg byte x 100001.0
byte bitmap_plot::x#2 reg byte x 100001.0
byte bitmap_plot::x#3 reg byte x 100001.0
byte bitmap_plot::x#4 reg byte x 850001.75
byte bitmap_plot::y
byte bitmap_plot::y#0 reg byte y 200002.0
byte bitmap_plot::y#1 reg byte y 200002.0
byte bitmap_plot::y#2 reg byte y 200002.0
byte bitmap_plot::y#3 reg byte y 200002.0
byte bitmap_plot::y#4 reg byte y 1200003.0
const to_nomodify byte* bitmap_plot_bit[$100] = { fill( $100, 0) }
const to_nomodify byte* bitmap_plot_xhi[$100] = { fill( $100, 0) }
const to_nomodify byte* bitmap_plot_xlo[$100] = { fill( $100, 0) }
const to_nomodify byte* bitmap_plot_yhi[$100] = { fill( $100, 0) }
const to_nomodify byte* bitmap_plot_ylo[$100] = { fill( $100, 0) }
void init_screen()
byte* init_screen::c
byte* init_screen::c#1 c zp[2]:7 202.0
byte* init_screen::c#2 c zp[2]:7 134.66666666666666
void main()
byte next
byte next#0 next zp[1]:5 22.0
byte next#5 next zp[1]:5 11.0
reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ]
reg byte y [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ]
reg byte x [ bitmap_clear::x#2 bitmap_clear::x#1 ]
zp[1]:2 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#2 bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ]
zp[1]:3 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#2 bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#3 ]
zp[1]:4 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ]
reg byte x [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ]
reg byte y [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ]
reg byte a [ bitmap_line::x1#0 ]
reg byte a [ bitmap_init::$0 ]
reg byte a [ bitmap_init::$7 ]
reg byte a [ bitmap_init::$8 ]
reg byte a [ bitmap_init::$9 ]
reg byte x [ bitmap_line::xd#2 ]
reg byte x [ bitmap_line::xd#1 ]
zp[1]:5 [ bitmap_line_xdyi::x1#1 bitmap_clear::y#4 bitmap_clear::y#1 next#5 next#0 ]
zp[1]:6 [ bitmap_line_xdyi::xd#1 bitmap_line_ydxi::xd#1 bitmap_line_xdyd::xd#0 bitmap_line_ydxd::xd#0 bitmap_init::$10 ]
reg byte x [ bitmap_line_xdyi::$6 ]
zp[2]:7 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 init_screen::c#2 init_screen::c#1 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
2019-10-12 09:40:36 +00:00
zp[2]:9 [ bitmap_plot::plotter_y#0 ]
reg byte a [ bitmap_plot::$1 ]
FINAL ASSEMBLER
Score: 30221
// File Comments
// Illustrates problem with bitmap-draw.kc line()
// Reported by Janne Johansson
// Upstart
// Commodore 64 PRG executable file
.file [name="bitmap-line-anim-1.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(main)
// Global Constants & labels
2020-12-29 18:37:32 +00:00
.const VICII_BMM = $20
.const VICII_DEN = $10
.const VICII_RSEL = 8
2020-05-02 09:38:51 +00:00
.label BORDER_COLOR = $d020
.label BG_COLOR = $d021
.label D011 = $d011
2020-12-29 18:37:32 +00:00
.label VICII_MEMORY = $d018
.label SCREEN = $400
.label BITMAP = $2000
2020-06-27 19:18:00 +00:00
.label next = 5
.segment Code
// main
main: {
2020-05-02 09:38:51 +00:00
// *BORDER_COLOR = 0
2020-10-05 20:58:02 +00:00
// [0] *BORDER_COLOR = 0 -- _deref_pbuc1=vbuc2
lda #0
2020-05-02 09:38:51 +00:00
sta BORDER_COLOR
// *BG_COLOR = 0
2020-10-05 20:58:02 +00:00
// [1] *BG_COLOR = 0 -- _deref_pbuc1=vbuc2
2020-05-02 09:38:51 +00:00
sta BG_COLOR
2020-12-29 18:37:32 +00:00
// *D011 = VICII_BMM|VICII_DEN|VICII_RSEL|3
// [2] *D011 = VICII_BMM|VICII_DEN|VICII_RSEL|3 -- _deref_pbuc1=vbuc2
lda #VICII_BMM|VICII_DEN|VICII_RSEL|3
sta D011
2020-12-29 18:37:32 +00:00
// *VICII_MEMORY = (byte)((((word)SCREEN&$3fff)/$40)|(((word)BITMAP&$3fff)/$400))
// [3] *VICII_MEMORY = (byte)(word)SCREEN&$3fff/$40|(word)BITMAP&$3fff/$400 -- _deref_pbuc1=vbuc2
lda #(SCREEN&$3fff)/$40|(BITMAP&$3fff)/$400
2020-12-29 18:37:32 +00:00
sta VICII_MEMORY
// bitmap_init(BITMAP)
2020-06-27 19:18:00 +00:00
// [4] call bitmap_init
// [13] phi from main to bitmap_init [phi:main->bitmap_init]
jsr bitmap_init
2020-06-27 19:18:00 +00:00
// [5] phi from main to main::@2 [phi:main->main::@2]
// main::@2
// bitmap_clear()
2020-06-27 19:18:00 +00:00
// [6] call bitmap_clear
jsr bitmap_clear
2020-06-27 19:18:00 +00:00
// [7] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
// main::@3
// init_screen()
2020-06-27 19:18:00 +00:00
// [8] call init_screen
// [49] phi from main::@3 to init_screen [phi:main::@3->init_screen]
jsr init_screen
2020-06-27 19:18:00 +00:00
// [9] phi from main::@3 to main::@1 [phi:main::@3->main::@1]
2020-10-05 20:58:02 +00:00
// [9] phi next#5 = 0 [phi:main::@3->main::@1#0] -- vbuz1=vbuc1
lda #0
sta.z next
// main::@1
__b1:
// bitmap_line(0,next,0,100)
2020-10-05 20:58:02 +00:00
// [10] bitmap_line::x1#0 = next#5 -- vbuaa=vbuz1
lda.z next
2020-06-27 19:18:00 +00:00
// [11] call bitmap_line
jsr bitmap_line
// main::@4
// next++;
2020-10-05 20:58:02 +00:00
// [12] next#0 = ++ next#5 -- vbuz1=_inc_vbuz1
inc.z next
2020-06-27 19:18:00 +00:00
// [9] phi from main::@4 to main::@1 [phi:main::@4->main::@1]
2020-10-05 20:58:02 +00:00
// [9] phi next#5 = next#0 [phi:main::@4->main::@1#0] -- register_copy
jmp __b1
}
// bitmap_init
// Initialize the bitmap plotter tables for a specific bitmap
bitmap_init: {
.label __10 = 6
.label yoffs = 7
// [14] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1]
2020-10-05 20:58:02 +00:00
// [14] phi bitmap_init::bits#3 = $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1
ldy #$80
2020-10-05 20:58:02 +00:00
// [14] phi bitmap_init::x#2 = 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1
ldx #0
// [14] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1]
2020-10-05 20:58:02 +00:00
// [14] phi bitmap_init::bits#3 = bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy
// [14] phi bitmap_init::x#2 = bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy
// bitmap_init::@1
__b1:
// x&$f8
2020-10-05 20:58:02 +00:00
// [15] bitmap_init::$0 = bitmap_init::x#2 & $f8 -- vbuaa=vbuxx_band_vbuc1
txa
and #$f8
// bitmap_plot_xlo[x] = x&$f8
2020-10-05 20:58:02 +00:00
// [16] bitmap_plot_xlo[bitmap_init::x#2] = bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa
sta bitmap_plot_xlo,x
// bitmap_plot_xhi[x] = >bitmap
2020-10-05 20:58:02 +00:00
// [17] bitmap_plot_xhi[bitmap_init::x#2] = >BITMAP -- pbuc1_derefidx_vbuxx=vbuc2
lda #>BITMAP
sta bitmap_plot_xhi,x
// bitmap_plot_bit[x] = bits
2020-10-05 20:58:02 +00:00
// [18] bitmap_plot_bit[bitmap_init::x#2] = bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy
tya
sta bitmap_plot_bit,x
// bits = bits>>1
2020-10-05 20:58:02 +00:00
// [19] bitmap_init::bits#1 = bitmap_init::bits#3 >> 1 -- vbuyy=vbuyy_ror_1
tya
lsr
tay
// if(bits==0)
2020-10-05 20:58:02 +00:00
// [20] if(bitmap_init::bits#1!=0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1
cpy #0
bne __b2
// [22] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2]
2020-10-05 20:58:02 +00:00
// [22] phi bitmap_init::bits#4 = $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1
ldy #$80
// [21] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6]
// bitmap_init::@6
// [22] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2]
2020-10-05 20:58:02 +00:00
// [22] phi bitmap_init::bits#4 = bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy
// bitmap_init::@2
__b2:
// for(char x : 0..255)
2020-10-05 20:58:02 +00:00
// [23] bitmap_init::x#1 = ++ bitmap_init::x#2 -- vbuxx=_inc_vbuxx
inx
2020-10-05 20:58:02 +00:00
// [24] if(bitmap_init::x#1!=0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1
cpx #0
bne __b1
// [25] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3]
2020-10-05 20:58:02 +00:00
// [25] phi bitmap_init::yoffs#2 = (byte*) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1
lda #<0
sta.z yoffs
sta.z yoffs+1
2020-10-05 20:58:02 +00:00
// [25] phi bitmap_init::y#2 = 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1
tax
// [25] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3]
2020-10-05 20:58:02 +00:00
// [25] phi bitmap_init::yoffs#2 = bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy
// [25] phi bitmap_init::y#2 = bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy
// bitmap_init::@3
__b3:
// y&$7
2020-10-05 20:58:02 +00:00
// [26] bitmap_init::$10 = bitmap_init::y#2 & 7 -- vbuz1=vbuxx_band_vbuc1
lda #7
sax.z __10
// <yoffs
2020-10-05 20:58:02 +00:00
// [27] bitmap_init::$7 = < bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1
lda.z yoffs
// y&$7 | <yoffs
2020-10-05 20:58:02 +00:00
// [28] bitmap_init::$8 = bitmap_init::$10 | bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa
ora.z __10
// bitmap_plot_ylo[y] = y&$7 | <yoffs
2020-10-05 20:58:02 +00:00
// [29] bitmap_plot_ylo[bitmap_init::y#2] = bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa
sta bitmap_plot_ylo,x
// >yoffs
2020-10-05 20:58:02 +00:00
// [30] bitmap_init::$9 = > bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1
lda.z yoffs+1
// bitmap_plot_yhi[y] = >yoffs
2020-10-05 20:58:02 +00:00
// [31] bitmap_plot_yhi[bitmap_init::y#2] = bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa
sta bitmap_plot_yhi,x
// if((y&$7)==7)
2020-10-05 20:58:02 +00:00
// [32] if(bitmap_init::$10!=7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1
lda #7
cmp.z __10
bne __b4
// bitmap_init::@5
// yoffs = yoffs + 40*8
2020-10-05 20:58:02 +00:00
// [33] bitmap_init::yoffs#1 = bitmap_init::yoffs#2 + (word)$28*8 -- pbuz1=pbuz1_plus_vwuc1
clc
lda.z yoffs
adc #<$28*8
sta.z yoffs
lda.z yoffs+1
adc #>$28*8
sta.z yoffs+1
// [34] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4]
2020-10-05 20:58:02 +00:00
// [34] phi bitmap_init::yoffs#4 = bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy
// bitmap_init::@4
__b4:
// for(char y : 0..255)
2020-10-05 20:58:02 +00:00
// [35] bitmap_init::y#1 = ++ bitmap_init::y#2 -- vbuxx=_inc_vbuxx
inx
2020-10-05 20:58:02 +00:00
// [36] if(bitmap_init::y#1!=0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1
cpx #0
bne __b3
// bitmap_init::@return
// }
// [37] return
rts
}
// bitmap_clear
// Clear all graphics on the bitmap
bitmap_clear: {
.label bitmap = 7
.label y = 5
// bitmap = (char*) { bitmap_plot_xhi[0], bitmap_plot_xlo[0] }
2020-10-05 20:58:02 +00:00
// [38] bitmap_clear::bitmap#0 = *bitmap_plot_xhi w= *bitmap_plot_xlo -- vwuz1=_deref_pbuc1_word__deref_pbuc2
lda bitmap_plot_xlo
sta.z bitmap
lda bitmap_plot_xhi
sta.z bitmap+1
2020-10-05 20:58:02 +00:00
// [39] bitmap_clear::bitmap#5 = (byte*)bitmap_clear::bitmap#0
// [40] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1]
2020-10-05 20:58:02 +00:00
// [40] phi bitmap_clear::y#4 = 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1
lda #0
sta.z y
2020-10-05 20:58:02 +00:00
// [40] phi bitmap_clear::bitmap#3 = bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy
// [40] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1]
2020-10-05 20:58:02 +00:00
// [40] phi bitmap_clear::y#4 = bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy
// [40] phi bitmap_clear::bitmap#3 = bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy
// bitmap_clear::@1
__b1:
// [41] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2]
2020-10-05 20:58:02 +00:00
// [41] phi bitmap_clear::x#2 = 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1
ldx #0
2020-10-05 20:58:02 +00:00
// [41] phi bitmap_clear::bitmap#2 = bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy
// [41] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2]
2020-10-05 20:58:02 +00:00
// [41] phi bitmap_clear::x#2 = bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy
// [41] phi bitmap_clear::bitmap#2 = bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy
// bitmap_clear::@2
__b2:
// *bitmap++ = 0
2020-10-05 20:58:02 +00:00
// [42] *bitmap_clear::bitmap#2 = 0 -- _deref_pbuz1=vbuc1
lda #0
tay
sta (bitmap),y
// *bitmap++ = 0;
2020-10-05 20:58:02 +00:00
// [43] bitmap_clear::bitmap#1 = ++ bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1
inc.z bitmap
bne !+
inc.z bitmap+1
!:
// for( char x: 0..199 )
2020-10-05 20:58:02 +00:00
// [44] bitmap_clear::x#1 = ++ bitmap_clear::x#2 -- vbuxx=_inc_vbuxx
inx
2020-10-05 20:58:02 +00:00
// [45] if(bitmap_clear::x#1!=$c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1
cpx #$c8
bne __b2
// bitmap_clear::@3
// for( char y: 0..39 )
2020-10-05 20:58:02 +00:00
// [46] bitmap_clear::y#1 = ++ bitmap_clear::y#4 -- vbuz1=_inc_vbuz1
inc.z y
2020-10-05 20:58:02 +00:00
// [47] if(bitmap_clear::y#1!=$28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1
lda #$28
cmp.z y
bne __b1
// bitmap_clear::@return
// }
// [48] return
rts
}
// init_screen
init_screen: {
.label c = 7
// [50] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1]
2020-10-05 20:58:02 +00:00
// [50] phi init_screen::c#2 = SCREEN [phi:init_screen->init_screen::@1#0] -- pbuz1=pbuc1
lda #<SCREEN
sta.z c
lda #>SCREEN
sta.z c+1
// init_screen::@1
__b1:
// for(byte* c = SCREEN; c!=SCREEN+$400;c++)
2020-10-05 20:58:02 +00:00
// [51] if(init_screen::c#2!=SCREEN+$400) goto init_screen::@2 -- pbuz1_neq_pbuc1_then_la1
lda.z c+1
cmp #>SCREEN+$400
bne __b2
lda.z c
cmp #<SCREEN+$400
bne __b2
// init_screen::@return
// }
// [52] return
rts
// init_screen::@2
__b2:
// *c = $14
2020-10-05 20:58:02 +00:00
// [53] *init_screen::c#2 = $14 -- _deref_pbuz1=vbuc1
lda #$14
ldy #0
sta (c),y
// for(byte* c = SCREEN; c!=SCREEN+$400;c++)
2020-10-05 20:58:02 +00:00
// [54] init_screen::c#1 = ++ init_screen::c#2 -- pbuz1=_inc_pbuz1
inc.z c
bne !+
inc.z c+1
!:
// [50] phi from init_screen::@2 to init_screen::@1 [phi:init_screen::@2->init_screen::@1]
2020-10-05 20:58:02 +00:00
// [50] phi init_screen::c#2 = init_screen::c#1 [phi:init_screen::@2->init_screen::@1#0] -- register_copy
jmp __b1
}
// bitmap_line
// Draw a line on the bitmap
// bitmap_line(byte register(A) x1)
bitmap_line: {
.label x0 = 0
.label y0 = 0
.label y1 = $64
// if(x0<x1)
2020-10-05 20:58:02 +00:00
// [55] if(bitmap_line::x0#0<bitmap_line::x1#0) goto bitmap_line::@1 -- vbuc1_lt_vbuaa_then_la1
cmp #x0
beq !+
bcs __b1
!:
// bitmap_line::@2
// xd = x0-x1
2020-10-05 20:58:02 +00:00
// [56] bitmap_line::xd#2 = bitmap_line::x1#0 -- vbuxx=vbuaa
tax
// bitmap_line::@3
// if(yd<xd)
2020-10-05 20:58:02 +00:00
// [57] if(bitmap_line::y1#0<bitmap_line::xd#2) goto bitmap_line::@4 -- vbuc1_lt_vbuxx_then_la1
cpx #y1
beq !+
bcs __b4
!:
// bitmap_line::@5
// bitmap_line_ydxd(y0, x0, y1, yd, xd)
2020-10-05 20:58:02 +00:00
// [58] bitmap_line_ydxd::xd#0 = bitmap_line::xd#2 -- vbuz1=vbuxx
stx.z bitmap_line_ydxd.xd
// [59] call bitmap_line_ydxd
jsr bitmap_line_ydxd
// bitmap_line::@return
// }
// [60] return
rts
// bitmap_line::@4
__b4:
// bitmap_line_xdyd(x1, y1, x0, xd, yd)
2020-10-05 20:58:02 +00:00
// [61] bitmap_line_xdyd::x#0 = bitmap_line::x1#0 -- vbuz1=vbuaa
sta.z bitmap_line_xdyd.x
2020-10-05 20:58:02 +00:00
// [62] bitmap_line_xdyd::xd#0 = bitmap_line::xd#2 -- vbuz1=vbuxx
stx.z bitmap_line_xdyd.xd
// [63] call bitmap_line_xdyd
// [84] phi from bitmap_line::@4 to bitmap_line_xdyd [phi:bitmap_line::@4->bitmap_line_xdyd]
jsr bitmap_line_xdyd
rts
// bitmap_line::@1
__b1:
// xd = x1-x0
2020-10-05 20:58:02 +00:00
// [64] bitmap_line::xd#1 = bitmap_line::x1#0 -- vbuxx=vbuaa
tax
// bitmap_line::@6
// if(yd<xd)
2020-10-05 20:58:02 +00:00
// [65] if(bitmap_line::y1#0<bitmap_line::xd#1) goto bitmap_line::@7 -- vbuc1_lt_vbuxx_then_la1
cpx #y1
beq !+
bcs __b7
!:
// bitmap_line::@8
// bitmap_line_ydxi(y0, x0, y1, yd, xd)
2020-10-05 20:58:02 +00:00
// [66] bitmap_line_ydxi::xd#1 = bitmap_line::xd#1 -- vbuz1=vbuxx
stx.z bitmap_line_ydxi.xd
// [67] call bitmap_line_ydxi
jsr bitmap_line_ydxi
rts
// bitmap_line::@7
__b7:
// bitmap_line_xdyi(x0, y0, x1, xd, yd)
2020-10-05 20:58:02 +00:00
// [68] bitmap_line_xdyi::x1#1 = bitmap_line::x1#0 -- vbuz1=vbuaa
sta.z bitmap_line_xdyi.x1
2020-10-05 20:58:02 +00:00
// [69] bitmap_line_xdyi::xd#1 = bitmap_line::xd#1 -- vbuz1=vbuxx
stx.z bitmap_line_xdyi.xd
// [70] call bitmap_line_xdyi
// [110] phi from bitmap_line::@7 to bitmap_line_xdyi [phi:bitmap_line::@7->bitmap_line_xdyi]
jsr bitmap_line_xdyi
rts
}
// bitmap_line_ydxd
// bitmap_line_ydxd(byte zp(3) y, byte zp(2) x, byte zp(6) xd)
bitmap_line_ydxd: {
.label xd = 6
2020-06-27 19:18:00 +00:00
.label e = 4
.label y = 3
.label x = 2
// e = xd>>1
2020-10-05 20:58:02 +00:00
// [71] bitmap_line_ydxd::e#0 = bitmap_line_ydxd::xd#0 >> 1 -- vbuz1=vbuz2_ror_1
lda.z xd
lsr
sta.z e
// [72] phi from bitmap_line_ydxd to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd->bitmap_line_ydxd::@1]
2020-10-05 20:58:02 +00:00
// [72] phi bitmap_line_ydxd::e#3 = bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd->bitmap_line_ydxd::@1#0] -- register_copy
// [72] phi bitmap_line_ydxd::y#2 = bitmap_line::y0#0 [phi:bitmap_line_ydxd->bitmap_line_ydxd::@1#1] -- vbuz1=vbuc1
lda #bitmap_line.y0
sta.z y
2020-10-05 20:58:02 +00:00
// [72] phi bitmap_line_ydxd::x#3 = bitmap_line::x0#0 [phi:bitmap_line_ydxd->bitmap_line_ydxd::@1#2] -- vbuz1=vbuc1
lda #bitmap_line.x0
sta.z x
// [72] phi from bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd::@2->bitmap_line_ydxd::@1]
2020-10-05 20:58:02 +00:00
// [72] phi bitmap_line_ydxd::e#3 = bitmap_line_ydxd::e#6 [phi:bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy
// [72] phi bitmap_line_ydxd::y#2 = bitmap_line_ydxd::y#3 [phi:bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy
// [72] phi bitmap_line_ydxd::x#3 = bitmap_line_ydxd::x#6 [phi:bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy
// bitmap_line_ydxd::@1
__b1:
// bitmap_plot(x,y)
2020-10-05 20:58:02 +00:00
// [73] bitmap_plot::x#3 = bitmap_line_ydxd::x#3 -- vbuxx=vbuz1
ldx.z x
2020-10-05 20:58:02 +00:00
// [74] bitmap_plot::y#3 = bitmap_line_ydxd::y#2 -- vbuyy=vbuz1
ldy.z y
// [75] call bitmap_plot
// [124] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot]
2020-10-05 20:58:02 +00:00
// [124] phi bitmap_plot::y#4 = bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy
// [124] phi bitmap_plot::x#4 = bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy
jsr bitmap_plot
// bitmap_line_ydxd::@4
// y = y++;
2020-10-05 20:58:02 +00:00
// [76] bitmap_line_ydxd::y#3 = ++ bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1
inc.z y
// e = e+xd
2020-10-05 20:58:02 +00:00
// [77] bitmap_line_ydxd::e#1 = bitmap_line_ydxd::e#3 + bitmap_line_ydxd::xd#0 -- vbuz1=vbuz1_plus_vbuz2
lda.z e
clc
adc.z xd
sta.z e
// if(yd<e)
2020-10-05 20:58:02 +00:00
// [78] if(bitmap_line::y1#0>=bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuc1_ge_vbuz1_then_la1
lda #bitmap_line.y1
cmp.z e
bcs __b2
// bitmap_line_ydxd::@3
// x--;
2020-10-05 20:58:02 +00:00
// [79] bitmap_line_ydxd::x#2 = -- bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1
dec.z x
// e = e - yd
2020-10-05 20:58:02 +00:00
// [80] bitmap_line_ydxd::e#2 = bitmap_line_ydxd::e#1 - bitmap_line::y1#0 -- vbuz1=vbuz1_minus_vbuc1
lax.z e
axs #bitmap_line.y1
stx.z e
// [81] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2]
2020-10-05 20:58:02 +00:00
// [81] phi bitmap_line_ydxd::e#6 = bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy
// [81] phi bitmap_line_ydxd::x#6 = bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy
// bitmap_line_ydxd::@2
__b2:
// while (y!=(y1+1))
2020-10-05 20:58:02 +00:00
// [82] if(bitmap_line_ydxd::y#3!=bitmap_line::y1#0+1) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuc1_then_la1
lda #bitmap_line.y1+1
cmp.z y
bne __b1
// bitmap_line_ydxd::@return
// }
// [83] return
rts
}
// bitmap_line_xdyd
2020-06-27 19:18:00 +00:00
// bitmap_line_xdyd(byte zp(2) x, byte zp(3) y, byte zp(6) xd)
bitmap_line_xdyd: {
2020-06-27 19:18:00 +00:00
.label x = 2
.label xd = 6
2020-06-27 19:18:00 +00:00
.label e = 4
.label y = 3
// [85] phi from bitmap_line_xdyd to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd->bitmap_line_xdyd::@1]
2020-10-05 20:58:02 +00:00
// [85] phi bitmap_line_xdyd::e#3 = bitmap_line::y1#0>>1 [phi:bitmap_line_xdyd->bitmap_line_xdyd::@1#0] -- vbuz1=vbuc1
lda #bitmap_line.y1>>1
sta.z e
2020-10-05 20:58:02 +00:00
// [85] phi bitmap_line_xdyd::y#3 = bitmap_line::y1#0 [phi:bitmap_line_xdyd->bitmap_line_xdyd::@1#1] -- vbuz1=vbuc1
lda #bitmap_line.y1
sta.z y
2020-10-05 20:58:02 +00:00
// [85] phi bitmap_line_xdyd::x#3 = bitmap_line_xdyd::x#0 [phi:bitmap_line_xdyd->bitmap_line_xdyd::@1#2] -- register_copy
// [85] phi from bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd::@2->bitmap_line_xdyd::@1]
2020-10-05 20:58:02 +00:00
// [85] phi bitmap_line_xdyd::e#3 = bitmap_line_xdyd::e#6 [phi:bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy
// [85] phi bitmap_line_xdyd::y#3 = bitmap_line_xdyd::y#6 [phi:bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy
// [85] phi bitmap_line_xdyd::x#3 = bitmap_line_xdyd::x#2 [phi:bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy
// bitmap_line_xdyd::@1
__b1:
// bitmap_plot(x,y)
2020-10-05 20:58:02 +00:00
// [86] bitmap_plot::x#1 = bitmap_line_xdyd::x#3 -- vbuxx=vbuz1
ldx.z x
2020-10-05 20:58:02 +00:00
// [87] bitmap_plot::y#1 = bitmap_line_xdyd::y#3 -- vbuyy=vbuz1
ldy.z y
// [88] call bitmap_plot
// [124] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot]
2020-10-05 20:58:02 +00:00
// [124] phi bitmap_plot::y#4 = bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy
// [124] phi bitmap_plot::x#4 = bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy
jsr bitmap_plot
// bitmap_line_xdyd::@4
// x++;
2020-10-05 20:58:02 +00:00
// [89] bitmap_line_xdyd::x#2 = ++ bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1
inc.z x
// e = e+yd
2020-10-05 20:58:02 +00:00
// [90] bitmap_line_xdyd::e#1 = bitmap_line_xdyd::e#3 + bitmap_line::y1#0 -- vbuz1=vbuz1_plus_vbuc1
lax.z e
axs #-[bitmap_line.y1]
stx.z e
// if(xd<e)
2020-10-05 20:58:02 +00:00
// [91] if(bitmap_line_xdyd::xd#0>=bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1
lda.z xd
cmp.z e
bcs __b2
// bitmap_line_xdyd::@3
// y--;
2020-10-05 20:58:02 +00:00
// [92] bitmap_line_xdyd::y#2 = -- bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1
dec.z y
// e = e - xd
2020-10-05 20:58:02 +00:00
// [93] bitmap_line_xdyd::e#2 = bitmap_line_xdyd::e#1 - bitmap_line_xdyd::xd#0 -- vbuz1=vbuz1_minus_vbuz2
txa
sec
sbc.z xd
sta.z e
// [94] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2]
2020-10-05 20:58:02 +00:00
// [94] phi bitmap_line_xdyd::e#6 = bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy
// [94] phi bitmap_line_xdyd::y#6 = bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy
// bitmap_line_xdyd::@2
__b2:
// while (x!=(x1+1))
2020-10-05 20:58:02 +00:00
// [95] if(bitmap_line_xdyd::x#2!=1) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuc1_then_la1
lda #1
cmp.z x
bne __b1
// bitmap_line_xdyd::@return
// }
// [96] return
rts
}
// bitmap_line_ydxi
// bitmap_line_ydxi(byte zp(3) y, byte zp(2) x, byte zp(6) xd)
bitmap_line_ydxi: {
.label xd = 6
2020-06-27 19:18:00 +00:00
.label e = 4
.label y = 3
.label x = 2
// e = xd>>1
2020-10-05 20:58:02 +00:00
// [97] bitmap_line_ydxi::e#0 = bitmap_line_ydxi::xd#1 >> 1 -- vbuz1=vbuz2_ror_1
lda.z xd
lsr
sta.z e
// [98] phi from bitmap_line_ydxi to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi->bitmap_line_ydxi::@1]
2020-10-05 20:58:02 +00:00
// [98] phi bitmap_line_ydxi::e#3 = bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi->bitmap_line_ydxi::@1#0] -- register_copy
// [98] phi bitmap_line_ydxi::y#3 = bitmap_line::y0#0 [phi:bitmap_line_ydxi->bitmap_line_ydxi::@1#1] -- vbuz1=vbuc1
lda #bitmap_line.y0
sta.z y
2020-10-05 20:58:02 +00:00
// [98] phi bitmap_line_ydxi::x#3 = bitmap_line::x0#0 [phi:bitmap_line_ydxi->bitmap_line_ydxi::@1#2] -- vbuz1=vbuc1
lda #bitmap_line.x0
sta.z x
// [98] phi from bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi::@2->bitmap_line_ydxi::@1]
2020-10-05 20:58:02 +00:00
// [98] phi bitmap_line_ydxi::e#3 = bitmap_line_ydxi::e#6 [phi:bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy
// [98] phi bitmap_line_ydxi::y#3 = bitmap_line_ydxi::y#2 [phi:bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy
// [98] phi bitmap_line_ydxi::x#3 = bitmap_line_ydxi::x#6 [phi:bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy
// bitmap_line_ydxi::@1
__b1:
// bitmap_plot(x,y)
2020-10-05 20:58:02 +00:00
// [99] bitmap_plot::x#2 = bitmap_line_ydxi::x#3 -- vbuxx=vbuz1
ldx.z x
2020-10-05 20:58:02 +00:00
// [100] bitmap_plot::y#2 = bitmap_line_ydxi::y#3 -- vbuyy=vbuz1
ldy.z y
// [101] call bitmap_plot
// [124] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot]
2020-10-05 20:58:02 +00:00
// [124] phi bitmap_plot::y#4 = bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy
// [124] phi bitmap_plot::x#4 = bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy
jsr bitmap_plot
// bitmap_line_ydxi::@4
// y++;
2020-10-05 20:58:02 +00:00
// [102] bitmap_line_ydxi::y#2 = ++ bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1
inc.z y
// e = e+xd
2020-10-05 20:58:02 +00:00
// [103] bitmap_line_ydxi::e#1 = bitmap_line_ydxi::e#3 + bitmap_line_ydxi::xd#1 -- vbuz1=vbuz1_plus_vbuz2
lda.z e
clc
adc.z xd
sta.z e
// if(yd<e)
2020-10-05 20:58:02 +00:00
// [104] if(bitmap_line::y1#0>=bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuc1_ge_vbuz1_then_la1
lda #bitmap_line.y1
cmp.z e
bcs __b2
// bitmap_line_ydxi::@3
// x++;
2020-10-05 20:58:02 +00:00
// [105] bitmap_line_ydxi::x#2 = ++ bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1
inc.z x
// e = e - yd
2020-10-05 20:58:02 +00:00
// [106] bitmap_line_ydxi::e#2 = bitmap_line_ydxi::e#1 - bitmap_line::y1#0 -- vbuz1=vbuz1_minus_vbuc1
lax.z e
axs #bitmap_line.y1
stx.z e
// [107] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2]
2020-10-05 20:58:02 +00:00
// [107] phi bitmap_line_ydxi::e#6 = bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy
// [107] phi bitmap_line_ydxi::x#6 = bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy
// bitmap_line_ydxi::@2
__b2:
// while (y!=(y1+1))
2020-10-05 20:58:02 +00:00
// [108] if(bitmap_line_ydxi::y#2!=bitmap_line::y1#0+1) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuc1_then_la1
lda #bitmap_line.y1+1
cmp.z y
bne __b1
// bitmap_line_ydxi::@return
// }
// [109] return
rts
}
// bitmap_line_xdyi
// bitmap_line_xdyi(byte zp(2) x, byte zp(3) y, byte zp(5) x1, byte zp(6) xd)
bitmap_line_xdyi: {
.label x1 = 5
.label xd = 6
.label x = 2
.label e = 4
.label y = 3
// [111] phi from bitmap_line_xdyi to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi->bitmap_line_xdyi::@1]
2020-10-05 20:58:02 +00:00
// [111] phi bitmap_line_xdyi::e#3 = bitmap_line::y1#0>>1 [phi:bitmap_line_xdyi->bitmap_line_xdyi::@1#0] -- vbuz1=vbuc1
lda #bitmap_line.y1>>1
sta.z e
2020-10-05 20:58:02 +00:00
// [111] phi bitmap_line_xdyi::y#3 = bitmap_line::y0#0 [phi:bitmap_line_xdyi->bitmap_line_xdyi::@1#1] -- vbuz1=vbuc1
lda #bitmap_line.y0
sta.z y
2020-10-05 20:58:02 +00:00
// [111] phi bitmap_line_xdyi::x#3 = bitmap_line::x0#0 [phi:bitmap_line_xdyi->bitmap_line_xdyi::@1#2] -- vbuz1=vbuc1
lda #bitmap_line.x0
sta.z x
// [111] phi from bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi::@2->bitmap_line_xdyi::@1]
2020-10-05 20:58:02 +00:00
// [111] phi bitmap_line_xdyi::e#3 = bitmap_line_xdyi::e#6 [phi:bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy
// [111] phi bitmap_line_xdyi::y#3 = bitmap_line_xdyi::y#6 [phi:bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy
// [111] phi bitmap_line_xdyi::x#3 = bitmap_line_xdyi::x#2 [phi:bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy
// bitmap_line_xdyi::@1
__b1:
// bitmap_plot(x,y)
2020-10-05 20:58:02 +00:00
// [112] bitmap_plot::x#0 = bitmap_line_xdyi::x#3 -- vbuxx=vbuz1
ldx.z x
2020-10-05 20:58:02 +00:00
// [113] bitmap_plot::y#0 = bitmap_line_xdyi::y#3 -- vbuyy=vbuz1
ldy.z y
// [114] call bitmap_plot
// [124] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot]
2020-10-05 20:58:02 +00:00
// [124] phi bitmap_plot::y#4 = bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy
// [124] phi bitmap_plot::x#4 = bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy
jsr bitmap_plot
// bitmap_line_xdyi::@4
// x++;
2020-10-05 20:58:02 +00:00
// [115] bitmap_line_xdyi::x#2 = ++ bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1
inc.z x
// e = e+yd
2020-10-05 20:58:02 +00:00
// [116] bitmap_line_xdyi::e#1 = bitmap_line_xdyi::e#3 + bitmap_line::y1#0 -- vbuz1=vbuz1_plus_vbuc1
lax.z e
axs #-[bitmap_line.y1]
stx.z e
// if(xd<e)
2020-10-05 20:58:02 +00:00
// [117] if(bitmap_line_xdyi::xd#1>=bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1
lda.z xd
cmp.z e
bcs __b2
// bitmap_line_xdyi::@3
// y++;
2020-10-05 20:58:02 +00:00
// [118] bitmap_line_xdyi::y#2 = ++ bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1
inc.z y
// e = e - xd
2020-10-05 20:58:02 +00:00
// [119] bitmap_line_xdyi::e#2 = bitmap_line_xdyi::e#1 - bitmap_line_xdyi::xd#1 -- vbuz1=vbuz1_minus_vbuz2
txa
sec
sbc.z xd
sta.z e
// [120] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2]
2020-10-05 20:58:02 +00:00
// [120] phi bitmap_line_xdyi::e#6 = bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy
// [120] phi bitmap_line_xdyi::y#6 = bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy
// bitmap_line_xdyi::@2
__b2:
// x1+1
2020-10-05 20:58:02 +00:00
// [121] bitmap_line_xdyi::$6 = bitmap_line_xdyi::x1#1 + 1 -- vbuxx=vbuz1_plus_1
ldx.z x1
inx
// while (x!=(x1+1))
2020-10-05 20:58:02 +00:00
// [122] if(bitmap_line_xdyi::x#2!=bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuxx_then_la1
cpx.z x
bne __b1
// bitmap_line_xdyi::@return
// }
// [123] return
rts
}
// bitmap_plot
// bitmap_plot(byte register(X) x, byte register(Y) y)
bitmap_plot: {
.label plotter_x = 7
.label plotter_y = 9
.label plotter = 7
// plotter_x = { bitmap_plot_xhi[x], bitmap_plot_xlo[x] }
2020-10-05 20:58:02 +00:00
// [125] bitmap_plot::plotter_x#0 = bitmap_plot_xhi[bitmap_plot::x#4] w= bitmap_plot_xlo[bitmap_plot::x#4] -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx
lda bitmap_plot_xhi,x
sta.z plotter_x+1
lda bitmap_plot_xlo,x
sta.z plotter_x
// plotter_y = { bitmap_plot_yhi[y], bitmap_plot_ylo[y] }
2020-10-05 20:58:02 +00:00
// [126] bitmap_plot::plotter_y#0 = bitmap_plot_yhi[bitmap_plot::y#4] w= bitmap_plot_ylo[bitmap_plot::y#4] -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy
lda bitmap_plot_yhi,y
sta.z plotter_y+1
lda bitmap_plot_ylo,y
sta.z plotter_y
// plotter_x+plotter_y
2020-10-05 20:58:02 +00:00
// [127] bitmap_plot::plotter#0 = bitmap_plot::plotter_x#0 + bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2
lda.z plotter
clc
adc.z plotter_y
sta.z plotter
lda.z plotter+1
adc.z plotter_y+1
sta.z plotter+1
// *plotter | bitmap_plot_bit[x]
2020-10-05 20:58:02 +00:00
// [128] bitmap_plot::$1 = *((byte*)bitmap_plot::plotter#0) | bitmap_plot_bit[bitmap_plot::x#4] -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx
lda bitmap_plot_bit,x
ldy #0
ora (plotter),y
// *plotter = *plotter | bitmap_plot_bit[x]
2020-10-05 20:58:02 +00:00
// [129] *((byte*)bitmap_plot::plotter#0) = bitmap_plot::$1 -- _deref_pbuz1=vbuaa
sta (plotter),y
// bitmap_plot::@return
// }
2020-06-27 19:18:00 +00:00
// [130] return
rts
}
// File Data
.segment Data
// Tables for the plotter - initialized by calling bitmap_draw_init();
bitmap_plot_xlo: .fill $100, 0
bitmap_plot_xhi: .fill $100, 0
bitmap_plot_ylo: .fill $100, 0
bitmap_plot_yhi: .fill $100, 0
bitmap_plot_bit: .fill $100, 0