From 603c53a7d381d78b852294b0d44269a8fb6de58a Mon Sep 17 00:00:00 2001 From: jespergravgaard Date: Sun, 13 Jun 2021 08:22:32 +0200 Subject: [PATCH] Working on deprecating lo/hi operators. Closes #667 --- src/test/ref/bitmap-line-anim-1.asm | 3 +- src/test/ref/bitmap-line-anim-1.cfg | 2 +- src/test/ref/bitmap-line-anim-1.log | 17 +- src/test/ref/bitmap-line-anim-1.sym | 2 +- src/test/ref/bitmap-line-anim-2.asm | 3 +- src/test/ref/bitmap-line-anim-2.cfg | 2 +- src/test/ref/bitmap-line-anim-2.log | 17 +- src/test/ref/bitmap-line-anim-2.sym | 2 +- src/test/ref/bitmap-plot-0.asm | 3 +- src/test/ref/bitmap-plot-0.cfg | 2 +- src/test/ref/bitmap-plot-0.log | 17 +- src/test/ref/bitmap-plot-0.sym | 2 +- src/test/ref/bitmap-plot-1.asm | 67 +++-- src/test/ref/bitmap-plot-1.cfg | 20 +- src/test/ref/bitmap-plot-1.log | 278 +++++++++--------- src/test/ref/bitmap-plot-1.sym | 4 +- src/test/ref/bitmap-plot-3.asm | 3 +- src/test/ref/bitmap-plot-3.cfg | 2 +- src/test/ref/bitmap-plot-3.log | 17 +- src/test/ref/bitmap-plot-3.sym | 2 +- .../c64/bresenham/bitmap-bresenham.asm | 3 +- .../c64/bresenham/bitmap-bresenham.cfg | 2 +- .../c64/bresenham/bitmap-bresenham.log | 17 +- .../c64/bresenham/bitmap-bresenham.sym | 2 +- src/test/ref/test-lowhigh.log | 10 +- 25 files changed, 250 insertions(+), 249 deletions(-) diff --git a/src/test/ref/bitmap-line-anim-1.asm b/src/test/ref/bitmap-line-anim-1.asm index d61448a71..a52b67ce7 100644 --- a/src/test/ref/bitmap-line-anim-1.asm +++ b/src/test/ref/bitmap-line-anim-1.asm @@ -514,8 +514,9 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter+1 - // *plotter |= bitmap_plot_bit[(char)x] + // BYTE0(x) ldx.z x + // *plotter |= bitmap_plot_bit[BYTE0(x)] lda bitmap_plot_bit,x ldy #0 ora (plotter),y diff --git a/src/test/ref/bitmap-line-anim-1.cfg b/src/test/ref/bitmap-line-anim-1.cfg index 65170e9ab..4edaec324 100644 --- a/src/test/ref/bitmap-line-anim-1.cfg +++ b/src/test/ref/bitmap-line-anim-1.cfg @@ -252,7 +252,7 @@ bitmap_plot: scope:[bitmap_plot] from bitmap_line::@3 bitmap_line::@4 bitmap_li [118] bitmap_plot::plotter#0 = bitmap_plot_yhi[bitmap_plot::y#4] w= bitmap_plot_ylo[bitmap_plot::y#4] [119] bitmap_plot::$0 = bitmap_plot::x#4 & $fff8 [120] bitmap_plot::plotter#1 = (byte*)bitmap_plot::plotter#0 + bitmap_plot::$0 - [121] bitmap_plot::$1 = (byte)bitmap_plot::x#4 + [121] bitmap_plot::$1 = < bitmap_plot::x#4 [122] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot diff --git a/src/test/ref/bitmap-line-anim-1.log b/src/test/ref/bitmap-line-anim-1.log index 0f1651b20..81d9b0bbd 100644 --- a/src/test/ref/bitmap-line-anim-1.log +++ b/src/test/ref/bitmap-line-anim-1.log @@ -125,7 +125,7 @@ bitmap_plot: scope:[bitmap_plot] from bitmap_line::@3 bitmap_line::@4 bitmap_li bitmap_plot::plotter#0 = (byte*){ bitmap_plot_yhi[bitmap_plot::y#4], bitmap_plot_ylo[bitmap_plot::y#4] } bitmap_plot::$0 = bitmap_plot::x#4 & $fff8 bitmap_plot::plotter#1 = bitmap_plot::plotter#0 + bitmap_plot::$0 - bitmap_plot::$1 = (byte)bitmap_plot::x#4 + bitmap_plot::$1 = < bitmap_plot::x#4 *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot @@ -1818,7 +1818,7 @@ bitmap_plot: scope:[bitmap_plot] from bitmap_line::@3 bitmap_line::@4 bitmap_li [118] bitmap_plot::plotter#0 = bitmap_plot_yhi[bitmap_plot::y#4] w= bitmap_plot_ylo[bitmap_plot::y#4] [119] bitmap_plot::$0 = bitmap_plot::x#4 & $fff8 [120] bitmap_plot::plotter#1 = (byte*)bitmap_plot::plotter#0 + bitmap_plot::$0 - [121] bitmap_plot::$1 = (byte)bitmap_plot::x#4 + [121] bitmap_plot::$1 = < bitmap_plot::x#4 [122] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot @@ -1914,7 +1914,7 @@ word bitmap_plot::x word bitmap_plot::x#1 10001.0 word bitmap_plot::x#2 101.0 word bitmap_plot::x#3 10001.0 -word bitmap_plot::x#4 30026.0 +word bitmap_plot::x#4 55026.25 byte bitmap_plot::y byte bitmap_plot::y#1 20002.0 byte bitmap_plot::y#2 202.0 @@ -2226,7 +2226,7 @@ Potential registers zp[2]:66 [ bitmap_plot::plotter#1 ] : zp[2]:66 , Potential registers zp[1]:68 [ bitmap_plot::$1 ] : zp[1]:68 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [bitmap_plot] 260,311: zp[1]:31 [ bitmap_plot::y#4 bitmap_plot::y#2 bitmap_plot::y#1 bitmap_plot::y#3 ] 200,002: zp[2]:64 [ bitmap_plot::$0 ] 200,002: zp[1]:68 [ bitmap_plot::$1 ] 150,001.5: zp[2]:66 [ bitmap_plot::plotter#1 ] 50,129: zp[2]:32 [ bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#1 bitmap_plot::x#3 ] 50,000.5: zp[2]:62 [ bitmap_plot::plotter#0 ] +Uplift Scope [bitmap_plot] 260,311: zp[1]:31 [ bitmap_plot::y#4 bitmap_plot::y#2 bitmap_plot::y#1 bitmap_plot::y#3 ] 200,002: zp[2]:64 [ bitmap_plot::$0 ] 200,002: zp[1]:68 [ bitmap_plot::$1 ] 150,001.5: zp[2]:66 [ bitmap_plot::plotter#1 ] 75,129.25: zp[2]:32 [ bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#1 bitmap_plot::x#3 ] 50,000.5: zp[2]:62 [ bitmap_plot::plotter#0 ] Uplift Scope [bitmap_line] 69,036.46: zp[2]:12 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#12 bitmap_line::x#1 ] 55,005.5: zp[2]:14 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#1 bitmap_line::y#2 ] 52,560.77: zp[2]:10 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] 52,560.77: zp[2]:16 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] 868.77: zp[2]:46 [ bitmap_line::dy#0 ] 800.18: zp[2]:42 [ bitmap_line::dx#0 ] 773.19: zp[2]:54 [ bitmap_line::sy#0 ] 693.21: zp[2]:50 [ bitmap_line::sx#0 ] 340.47: zp[2]:34 [ bitmap_line::x2#0 ] Uplift Scope [abs_u16] 3,531: zp[2]:25 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 ] 2,002: zp[1]:58 [ abs_u16::$0 ] 2,002: zp[1]:59 [ abs_u16::$1 ] 202: zp[2]:40 [ abs_u16::return#0 ] 202: zp[2]:44 [ abs_u16::return#1 ] Uplift Scope [sgn_u16] 2,002: zp[1]:60 [ sgn_u16::$0 ] 2,002: zp[1]:61 [ sgn_u16::$1 ] 1,304: zp[2]:27 [ sgn_u16::w#2 sgn_u16::w#0 ] 202: zp[2]:48 [ sgn_u16::return#0 ] 202: zp[2]:52 [ sgn_u16::return#1 ] 50.5: zp[2]:29 [ sgn_u16::return#4 ] @@ -3088,7 +3088,7 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter+1 - // [121] bitmap_plot::$1 = (byte)bitmap_plot::x#4 -- vbuxx=_byte_vwuz1 + // [121] bitmap_plot::$1 = < bitmap_plot::x#4 -- vbuxx=_byte0_vwuz1 ldx.z x // [122] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx lda bitmap_plot_bit,x @@ -3364,7 +3364,7 @@ word bitmap_plot::x word bitmap_plot::x#1 x zp[2]:8 10001.0 word bitmap_plot::x#2 x zp[2]:8 101.0 word bitmap_plot::x#3 x zp[2]:8 10001.0 -word bitmap_plot::x#4 x zp[2]:8 30026.0 +word bitmap_plot::x#4 x zp[2]:8 55026.25 byte bitmap_plot::y byte bitmap_plot::y#1 reg byte x 20002.0 byte bitmap_plot::y#2 reg byte x 202.0 @@ -4198,9 +4198,10 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter+1 - // *plotter |= bitmap_plot_bit[(char)x] - // [121] bitmap_plot::$1 = (byte)bitmap_plot::x#4 -- vbuxx=_byte_vwuz1 + // BYTE0(x) + // [121] bitmap_plot::$1 = < bitmap_plot::x#4 -- vbuxx=_byte0_vwuz1 ldx.z x + // *plotter |= bitmap_plot_bit[BYTE0(x)] // [122] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx lda bitmap_plot_bit,x ldy #0 diff --git a/src/test/ref/bitmap-line-anim-1.sym b/src/test/ref/bitmap-line-anim-1.sym index 815f5e747..888158e78 100644 --- a/src/test/ref/bitmap-line-anim-1.sym +++ b/src/test/ref/bitmap-line-anim-1.sym @@ -99,7 +99,7 @@ word bitmap_plot::x word bitmap_plot::x#1 x zp[2]:8 10001.0 word bitmap_plot::x#2 x zp[2]:8 101.0 word bitmap_plot::x#3 x zp[2]:8 10001.0 -word bitmap_plot::x#4 x zp[2]:8 30026.0 +word bitmap_plot::x#4 x zp[2]:8 55026.25 byte bitmap_plot::y byte bitmap_plot::y#1 reg byte x 20002.0 byte bitmap_plot::y#2 reg byte x 202.0 diff --git a/src/test/ref/bitmap-line-anim-2.asm b/src/test/ref/bitmap-line-anim-2.asm index 8be09f07b..bf110dc29 100644 --- a/src/test/ref/bitmap-line-anim-2.asm +++ b/src/test/ref/bitmap-line-anim-2.asm @@ -495,8 +495,9 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter+1 - // *plotter |= bitmap_plot_bit[(char)x] + // BYTE0(x) ldx.z x + // *plotter |= bitmap_plot_bit[BYTE0(x)] lda bitmap_plot_bit,x ldy #0 ora (plotter),y diff --git a/src/test/ref/bitmap-line-anim-2.cfg b/src/test/ref/bitmap-line-anim-2.cfg index 945e9606c..8baee8a68 100644 --- a/src/test/ref/bitmap-line-anim-2.cfg +++ b/src/test/ref/bitmap-line-anim-2.cfg @@ -239,7 +239,7 @@ bitmap_plot: scope:[bitmap_plot] from bitmap_line::@3 bitmap_line::@4 bitmap_li [113] bitmap_plot::plotter#0 = bitmap_plot_yhi[bitmap_plot::y#4] w= bitmap_plot_ylo[bitmap_plot::y#4] [114] bitmap_plot::$0 = bitmap_plot::x#4 & $fff8 [115] bitmap_plot::plotter#1 = (byte*)bitmap_plot::plotter#0 + bitmap_plot::$0 - [116] bitmap_plot::$1 = (byte)bitmap_plot::x#4 + [116] bitmap_plot::$1 = < bitmap_plot::x#4 [117] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot diff --git a/src/test/ref/bitmap-line-anim-2.log b/src/test/ref/bitmap-line-anim-2.log index 3a1f831cd..78b919cd6 100644 --- a/src/test/ref/bitmap-line-anim-2.log +++ b/src/test/ref/bitmap-line-anim-2.log @@ -125,7 +125,7 @@ bitmap_plot: scope:[bitmap_plot] from bitmap_line::@3 bitmap_line::@4 bitmap_li bitmap_plot::plotter#0 = (byte*){ bitmap_plot_yhi[bitmap_plot::y#4], bitmap_plot_ylo[bitmap_plot::y#4] } bitmap_plot::$0 = bitmap_plot::x#4 & $fff8 bitmap_plot::plotter#1 = bitmap_plot::plotter#0 + bitmap_plot::$0 - bitmap_plot::$1 = (byte)bitmap_plot::x#4 + bitmap_plot::$1 = < bitmap_plot::x#4 *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot @@ -1799,7 +1799,7 @@ bitmap_plot: scope:[bitmap_plot] from bitmap_line::@3 bitmap_line::@4 bitmap_li [113] bitmap_plot::plotter#0 = bitmap_plot_yhi[bitmap_plot::y#4] w= bitmap_plot_ylo[bitmap_plot::y#4] [114] bitmap_plot::$0 = bitmap_plot::x#4 & $fff8 [115] bitmap_plot::plotter#1 = (byte*)bitmap_plot::plotter#0 + bitmap_plot::$0 - [116] bitmap_plot::$1 = (byte)bitmap_plot::x#4 + [116] bitmap_plot::$1 = < bitmap_plot::x#4 [117] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot @@ -1895,7 +1895,7 @@ word bitmap_plot::x word bitmap_plot::x#1 10001.0 word bitmap_plot::x#2 101.0 word bitmap_plot::x#3 10001.0 -word bitmap_plot::x#4 30026.0 +word bitmap_plot::x#4 55026.25 byte bitmap_plot::y byte bitmap_plot::y#1 20002.0 byte bitmap_plot::y#2 202.0 @@ -2196,7 +2196,7 @@ Potential registers zp[2]:65 [ bitmap_plot::plotter#1 ] : zp[2]:65 , Potential registers zp[1]:67 [ bitmap_plot::$1 ] : zp[1]:67 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [bitmap_plot] 260,311: zp[1]:30 [ bitmap_plot::y#4 bitmap_plot::y#2 bitmap_plot::y#1 bitmap_plot::y#3 ] 200,002: zp[2]:63 [ bitmap_plot::$0 ] 200,002: zp[1]:67 [ bitmap_plot::$1 ] 150,001.5: zp[2]:65 [ bitmap_plot::plotter#1 ] 50,129: zp[2]:31 [ bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#1 bitmap_plot::x#3 ] 50,000.5: zp[2]:61 [ bitmap_plot::plotter#0 ] +Uplift Scope [bitmap_plot] 260,311: zp[1]:30 [ bitmap_plot::y#4 bitmap_plot::y#2 bitmap_plot::y#1 bitmap_plot::y#3 ] 200,002: zp[2]:63 [ bitmap_plot::$0 ] 200,002: zp[1]:67 [ bitmap_plot::$1 ] 150,001.5: zp[2]:65 [ bitmap_plot::plotter#1 ] 75,129.25: zp[2]:31 [ bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#1 bitmap_plot::x#3 ] 50,000.5: zp[2]:61 [ bitmap_plot::plotter#0 ] Uplift Scope [bitmap_line] 69,036.46: zp[2]:11 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#12 bitmap_line::x#1 ] 55,005.5: zp[2]:13 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#1 bitmap_line::y#2 ] 52,560.77: zp[2]:9 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] 52,560.77: zp[2]:15 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] 868.77: zp[2]:45 [ bitmap_line::dy#0 ] 800.18: zp[2]:41 [ bitmap_line::dx#0 ] 773.19: zp[2]:53 [ bitmap_line::sy#0 ] 693.21: zp[2]:49 [ bitmap_line::sx#0 ] 340.47: zp[2]:33 [ bitmap_line::x2#0 ] Uplift Scope [abs_u16] 3,531: zp[2]:24 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 ] 2,002: zp[1]:57 [ abs_u16::$0 ] 2,002: zp[1]:58 [ abs_u16::$1 ] 202: zp[2]:39 [ abs_u16::return#0 ] 202: zp[2]:43 [ abs_u16::return#1 ] Uplift Scope [sgn_u16] 2,002: zp[1]:59 [ sgn_u16::$0 ] 2,002: zp[1]:60 [ sgn_u16::$1 ] 1,304: zp[2]:26 [ sgn_u16::w#2 sgn_u16::w#0 ] 202: zp[2]:47 [ sgn_u16::return#0 ] 202: zp[2]:51 [ sgn_u16::return#1 ] 50.5: zp[2]:28 [ sgn_u16::return#4 ] @@ -3031,7 +3031,7 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter+1 - // [116] bitmap_plot::$1 = (byte)bitmap_plot::x#4 -- vbuxx=_byte_vwuz1 + // [116] bitmap_plot::$1 = < bitmap_plot::x#4 -- vbuxx=_byte0_vwuz1 ldx.z x // [117] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx lda bitmap_plot_bit,x @@ -3315,7 +3315,7 @@ word bitmap_plot::x word bitmap_plot::x#1 x zp[2]:10 10001.0 word bitmap_plot::x#2 x zp[2]:10 101.0 word bitmap_plot::x#3 x zp[2]:10 10001.0 -word bitmap_plot::x#4 x zp[2]:10 30026.0 +word bitmap_plot::x#4 x zp[2]:10 55026.25 byte bitmap_plot::y byte bitmap_plot::y#1 reg byte x 20002.0 byte bitmap_plot::y#2 reg byte x 202.0 @@ -4119,9 +4119,10 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter+1 - // *plotter |= bitmap_plot_bit[(char)x] - // [116] bitmap_plot::$1 = (byte)bitmap_plot::x#4 -- vbuxx=_byte_vwuz1 + // BYTE0(x) + // [116] bitmap_plot::$1 = < bitmap_plot::x#4 -- vbuxx=_byte0_vwuz1 ldx.z x + // *plotter |= bitmap_plot_bit[BYTE0(x)] // [117] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx lda bitmap_plot_bit,x ldy #0 diff --git a/src/test/ref/bitmap-line-anim-2.sym b/src/test/ref/bitmap-line-anim-2.sym index a1a82ffc8..3478b30fb 100644 --- a/src/test/ref/bitmap-line-anim-2.sym +++ b/src/test/ref/bitmap-line-anim-2.sym @@ -100,7 +100,7 @@ word bitmap_plot::x word bitmap_plot::x#1 x zp[2]:10 10001.0 word bitmap_plot::x#2 x zp[2]:10 101.0 word bitmap_plot::x#3 x zp[2]:10 10001.0 -word bitmap_plot::x#4 x zp[2]:10 30026.0 +word bitmap_plot::x#4 x zp[2]:10 55026.25 byte bitmap_plot::y byte bitmap_plot::y#1 reg byte x 20002.0 byte bitmap_plot::y#2 reg byte x 202.0 diff --git a/src/test/ref/bitmap-plot-0.asm b/src/test/ref/bitmap-plot-0.asm index 7baa38949..7c1e551f1 100644 --- a/src/test/ref/bitmap-plot-0.asm +++ b/src/test/ref/bitmap-plot-0.asm @@ -315,8 +315,9 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter+1 - // *plotter |= bitmap_plot_bit[(char)x] + // BYTE0(x) ldx.z x + // *plotter |= bitmap_plot_bit[BYTE0(x)] lda bitmap_plot_bit,x ldy #0 ora (plotter),y diff --git a/src/test/ref/bitmap-plot-0.cfg b/src/test/ref/bitmap-plot-0.cfg index 8ffc303bd..e62f7cbe3 100644 --- a/src/test/ref/bitmap-plot-0.cfg +++ b/src/test/ref/bitmap-plot-0.cfg @@ -162,7 +162,7 @@ bitmap_plot: scope:[bitmap_plot] from main::@2 [71] bitmap_plot::plotter#0 = bitmap_plot_yhi[bitmap_plot::y#0] w= bitmap_plot_ylo[bitmap_plot::y#0] [72] bitmap_plot::$0 = bitmap_plot::x#0 & $fff8 [73] bitmap_plot::plotter#1 = (byte*)bitmap_plot::plotter#0 + bitmap_plot::$0 - [74] bitmap_plot::$1 = (byte)bitmap_plot::x#0 + [74] bitmap_plot::$1 = < bitmap_plot::x#0 [75] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot diff --git a/src/test/ref/bitmap-plot-0.log b/src/test/ref/bitmap-plot-0.log index 9eca6b316..1048fa69f 100644 --- a/src/test/ref/bitmap-plot-0.log +++ b/src/test/ref/bitmap-plot-0.log @@ -130,7 +130,7 @@ bitmap_plot: scope:[bitmap_plot] from main::@2 bitmap_plot::plotter#0 = (byte*){ bitmap_plot_yhi[bitmap_plot::y#1], bitmap_plot_ylo[bitmap_plot::y#1] } bitmap_plot::$0 = bitmap_plot::x#1 & $fff8 bitmap_plot::plotter#1 = bitmap_plot::plotter#0 + bitmap_plot::$0 - bitmap_plot::$1 = (byte)bitmap_plot::x#1 + bitmap_plot::$1 = < bitmap_plot::x#1 *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot @@ -1296,7 +1296,7 @@ bitmap_plot: scope:[bitmap_plot] from main::@2 [71] bitmap_plot::plotter#0 = bitmap_plot_yhi[bitmap_plot::y#0] w= bitmap_plot_ylo[bitmap_plot::y#0] [72] bitmap_plot::$0 = bitmap_plot::x#0 & $fff8 [73] bitmap_plot::plotter#1 = (byte*)bitmap_plot::plotter#0 + bitmap_plot::$0 - [74] bitmap_plot::$1 = (byte)bitmap_plot::x#0 + [74] bitmap_plot::$1 = < bitmap_plot::x#0 [75] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot @@ -1362,7 +1362,7 @@ byte* bitmap_plot::plotter word bitmap_plot::plotter#0 500.5 byte* bitmap_plot::plotter#1 1501.5 word bitmap_plot::x -word bitmap_plot::x#0 220.39999999999998 +word bitmap_plot::x#0 420.59999999999997 byte bitmap_plot::y byte bitmap_plot::y#0 2103.0 byte* bitmap_screen @@ -1584,7 +1584,7 @@ Potential registers zp[2]:35 [ memset::end#0 ] : zp[2]:35 , REGISTER UPLIFT SCOPES Uplift Scope [memset] 35,672.33: zp[2]:18 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 1,833.67: zp[2]:35 [ memset::end#0 ] 1,250.12: zp[1]:17 [ memset::c#4 ] 1,001: zp[2]:13 [ memset::num#2 ] 0: zp[2]:15 [ memset::str#3 ] Uplift Scope [bitmap_init] 3,628.62: zp[2]:11 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] 3,169.83: zp[1]:8 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] 2,002: zp[1]:9 [ bitmap_init::x#2 bitmap_init::x#1 ] 2,002: zp[1]:10 [ bitmap_init::y#2 bitmap_init::y#1 ] 2,002: zp[1]:25 [ bitmap_init::$4 ] 2,002: zp[1]:26 [ bitmap_init::$5 ] 2,002: zp[1]:27 [ bitmap_init::$6 ] 500.5: zp[1]:24 [ bitmap_init::$7 ] -Uplift Scope [bitmap_plot] 2,103: zp[1]:23 [ bitmap_plot::y#0 ] 2,002: zp[2]:30 [ bitmap_plot::$0 ] 2,002: zp[1]:34 [ bitmap_plot::$1 ] 1,501.5: zp[2]:32 [ bitmap_plot::plotter#1 ] 500.5: zp[2]:28 [ bitmap_plot::plotter#0 ] 220.4: zp[2]:21 [ bitmap_plot::x#0 ] +Uplift Scope [bitmap_plot] 2,103: zp[1]:23 [ bitmap_plot::y#0 ] 2,002: zp[2]:30 [ bitmap_plot::$0 ] 2,002: zp[1]:34 [ bitmap_plot::$1 ] 1,501.5: zp[2]:32 [ bitmap_plot::plotter#1 ] 500.5: zp[2]:28 [ bitmap_plot::plotter#0 ] 420.6: zp[2]:21 [ bitmap_plot::x#0 ] Uplift Scope [main] 387.17: zp[1]:7 [ main::vy#2 main::vy#8 main::vy#1 ] 303: zp[2]:5 [ main::vx#2 main::vx#6 main::vx#1 ] 112.48: zp[2]:2 [ main::x#2 main::x#1 ] 101: zp[1]:4 [ main::y#2 main::y#1 ] Uplift Scope [] 7.78: zp[1]:20 [ frame_cnt ] Uplift Scope [MOS6526_CIA] @@ -2127,7 +2127,7 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter+1 - // [74] bitmap_plot::$1 = (byte)bitmap_plot::x#0 -- vbuxx=_byte_vwuz1 + // [74] bitmap_plot::$1 = < bitmap_plot::x#0 -- vbuxx=_byte0_vwuz1 ldx.z x // [75] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx lda bitmap_plot_bit,x @@ -2369,7 +2369,7 @@ byte* bitmap_plot::plotter word bitmap_plot::plotter#0 plotter zp[2]:10 500.5 byte* bitmap_plot::plotter#1 plotter zp[2]:10 1501.5 word bitmap_plot::x -word bitmap_plot::x#0 x zp[2]:2 220.39999999999998 +word bitmap_plot::x#0 x zp[2]:2 420.59999999999997 byte bitmap_plot::y byte bitmap_plot::y#0 reg byte x 2103.0 constant const byte* bitmap_plot_bit[$100] = { fill( $100, 0) } @@ -2900,9 +2900,10 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter+1 - // *plotter |= bitmap_plot_bit[(char)x] - // [74] bitmap_plot::$1 = (byte)bitmap_plot::x#0 -- vbuxx=_byte_vwuz1 + // BYTE0(x) + // [74] bitmap_plot::$1 = < bitmap_plot::x#0 -- vbuxx=_byte0_vwuz1 ldx.z x + // *plotter |= bitmap_plot_bit[BYTE0(x)] // [75] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx lda bitmap_plot_bit,x ldy #0 diff --git a/src/test/ref/bitmap-plot-0.sym b/src/test/ref/bitmap-plot-0.sym index eeddee1c6..e6df86ca7 100644 --- a/src/test/ref/bitmap-plot-0.sym +++ b/src/test/ref/bitmap-plot-0.sym @@ -56,7 +56,7 @@ byte* bitmap_plot::plotter word bitmap_plot::plotter#0 plotter zp[2]:10 500.5 byte* bitmap_plot::plotter#1 plotter zp[2]:10 1501.5 word bitmap_plot::x -word bitmap_plot::x#0 x zp[2]:2 220.39999999999998 +word bitmap_plot::x#0 x zp[2]:2 420.59999999999997 byte bitmap_plot::y byte bitmap_plot::y#0 reg byte x 2103.0 constant const byte* bitmap_plot_bit[$100] = { fill( $100, 0) } diff --git a/src/test/ref/bitmap-plot-1.asm b/src/test/ref/bitmap-plot-1.asm index 4a398887b..9e2a42fd5 100644 --- a/src/test/ref/bitmap-plot-1.asm +++ b/src/test/ref/bitmap-plot-1.asm @@ -173,8 +173,8 @@ main: { rol.z __6+1 rol.z __6+2 rol.z __6+3 - // >(xpos<<4) - // word x = (word)(160 + >(xpos<<4)) + // WORD1(xpos<<4) + // word x = (word)(160 + WORD1(xpos<<4)) clc lda #<$a0 adc.z __6+2 @@ -229,8 +229,8 @@ main: { rol.z __10+1 rol.z __10+2 rol.z __10+3 - // >(ypos<<4) - // word y = (word)(100 + >(ypos<<4)) + // WORD1(ypos<<4) + // word y = (word)(100 + WORD1(ypos<<4)) clc lda #<$64 adc.z __10+2 @@ -239,7 +239,7 @@ main: { adc.z __10+3 sta.z y+1 // bitmap_plot(x, (byte)y) - lda.z y + ldx.z y jsr bitmap_plot // if(++idx_x==512) inc.z idx_x @@ -342,19 +342,19 @@ sin16s_gen2: { sta.z mul16s.b+1 jsr mul16s // mul16s(sin16s(x), ampl) - // >mul16s(sin16s(x), ampl) + // WORD1(mul16s(sin16s(x), ampl)) lda.z __6+2 sta.z __8 lda.z __6+3 sta.z __8+1 - // *sintab++ = offs + (signed int)>mul16s(sin16s(x), ampl) + // *sintab++ = offs + (signed int)WORD1(mul16s(sin16s(x), ampl)) ldy #0 lda.z __8 sta (sintab),y iny lda.z __8+1 sta (sintab),y - // *sintab++ = offs + (signed int)>mul16s(sin16s(x), ampl); + // *sintab++ = offs + (signed int)WORD1(mul16s(sin16s(x), ampl)); lda #SIZEOF_SIGNED_WORD clc adc.z sintab @@ -412,15 +412,15 @@ bitmap_init: { // y&$7 lda #7 sax.z __7 - // yoffs + // BYTE1(yoffs) lda.z yoffs+1 - // bitmap_plot_yhi[y] = >yoffs + // bitmap_plot_yhi[y] = BYTE1(yoffs) sta bitmap_plot_yhi,x // if((y&$7)==7) lda #7 @@ -537,12 +537,12 @@ mul16s: { // if(a<0) lda.z a+1 bpl __b1 - // >m + // WORD1(m) lda.z m+2 sta.z __6 lda.z m+3 sta.z __6+1 - // >m = (>m)-(unsigned int)b + // WORD1(m) = WORD1(m)-(unsigned int)b lda.z __11 sec sbc.z b @@ -558,12 +558,12 @@ mul16s: { // if(b<0) lda.z b+1 bpl __b2 - // >m + // WORD1(m) lda.z m+2 sta.z __9 lda.z m+3 sta.z __9+1 - // >m = (>m)-(unsigned int)a + // WORD1(m) = WORD1(m)-(unsigned int)a lda.z __9 sec sbc.z __12 @@ -581,16 +581,15 @@ mul16s: { rts } // Plot a single dot in the bitmap -// bitmap_plot(word zp($17) x, byte register(A) y) +// bitmap_plot(word zp($17) x, byte register(X) y) bitmap_plot: { .label __0 = $22 .label plotter = $20 .label x = $17 // char* plotter = (char*) { bitmap_plot_yhi[y], bitmap_plot_ylo[y] } - tay - lda bitmap_plot_yhi,y + lda bitmap_plot_yhi,x sta.z plotter+1 - lda bitmap_plot_ylo,y + lda bitmap_plot_ylo,x sta.z plotter // x & $fff8 lda.z x @@ -607,9 +606,9 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter+1 - // dividend, divisor, 0) + // divr16u(WORD1(dividend), divisor, 0) lda #>$10 sta.z divr16u.dividend lda #>PI2_u4f28>>$10 @@ -632,13 +631,13 @@ div32u16u: { sta.z divr16u.rem sta.z divr16u.rem+1 jsr divr16u - // divr16u(>dividend, divisor, 0) - // unsigned int quotient_hi = divr16u(>dividend, divisor, 0) + // divr16u(WORD1(dividend), divisor, 0) + // unsigned int quotient_hi = divr16u(WORD1(dividend), divisor, 0) lda.z divr16u.return sta.z quotient_hi lda.z divr16u.return+1 sta.z quotient_hi+1 - // divr16u(PI2_u4f28&$ffff sta.z divr16u.dividend+1 jsr divr16u - // divr16u(x<<3 + // unsigned int x1 = WORD1(x<<3) lda.z __4+2 sta.z x1 lda.z __4+3 @@ -997,11 +996,11 @@ divr16u: { // rem = rem << 1 asl.z rem rol.z rem+1 - // >dividend + // BYTE1(dividend) lda.z dividend+1 - // >dividend & $80 + // BYTE1(dividend) & $80 and #$80 - // if( (>dividend & $80) != 0 ) + // if( (BYTE1(dividend) & $80) != 0 ) cmp #0 beq __b2 // rem = rem | 1 @@ -1078,7 +1077,7 @@ mulu16_sel: { dex bne !- !e: - // >mul16u(v1, v2)< mulu16_sel::$1 -- vwuz1=_hi_vduz2 + // WORD1(mul16u(v1, v2)<