mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-12-24 20:32:39 +00:00
Scrren init moved out of main loop.
This commit is contained in:
parent
3eaed1c946
commit
1f4ea4f68c
@ -79,7 +79,7 @@ public class Compiler {
|
||||
program.getLog().append(program.getRegisterUpliftProgram().toString((program.getVariableRegisterWeights())));
|
||||
|
||||
// Attempt uplifting registers through a lot of combinations
|
||||
new Pass3RegisterUpliftCombinations(program).performUplift(30_000);
|
||||
new Pass3RegisterUpliftCombinations(program).performUplift(10_000);
|
||||
|
||||
// Attempt uplifting registers one at a time to catch remaining potential not realized by combination search
|
||||
new Pass3RegisterUpliftRemains(program).performUplift();
|
||||
|
@ -0,0 +1,8 @@
|
||||
lda {zpptrby1}+1
|
||||
cmp #>{cowo1}
|
||||
bcc {la1}
|
||||
bne !+
|
||||
lda {zpptrby1}
|
||||
cmp #<{cowo1}
|
||||
bcc {la1}
|
||||
!:
|
@ -49,11 +49,13 @@ addpoint_from_B7:
|
||||
ldy #5
|
||||
lda #31
|
||||
jsr addpoint
|
||||
main__B8:
|
||||
jsr initscreen
|
||||
main__B1:
|
||||
jsr render
|
||||
main__B9:
|
||||
jsr animate
|
||||
main__B10:
|
||||
jsr animate
|
||||
main__B11:
|
||||
jmp main__B1
|
||||
main__Breturn:
|
||||
rts
|
||||
@ -132,10 +134,6 @@ animate__B1:
|
||||
jmp animate__B2
|
||||
render:
|
||||
render__B1_from_render:
|
||||
lda #<1024
|
||||
sta 5
|
||||
lda #>1024
|
||||
sta 5+1
|
||||
lda #<55296
|
||||
sta 3
|
||||
lda #>55296
|
||||
@ -146,33 +144,23 @@ render__B1_from_B3:
|
||||
render__B1:
|
||||
render__B2_from_B1:
|
||||
lda #0
|
||||
sta 7
|
||||
sta 5
|
||||
render__B2_from_B5:
|
||||
render__B2:
|
||||
lda 7
|
||||
sta 11
|
||||
lda 5
|
||||
sta 9
|
||||
lda 2
|
||||
sta 12
|
||||
sta 10
|
||||
jsr findcol
|
||||
render__B5:
|
||||
lda 10
|
||||
ldy 7
|
||||
lda 8
|
||||
ldy 5
|
||||
sta (3),y
|
||||
lda #230
|
||||
ldy 7
|
||||
sta (5),y
|
||||
inc 7
|
||||
lda 7
|
||||
inc 5
|
||||
lda 5
|
||||
cmp #40
|
||||
bcc render__B2_from_B5
|
||||
render__B3:
|
||||
lda 5
|
||||
clc
|
||||
adc #40
|
||||
sta 5
|
||||
bcc !+
|
||||
inc 5+1
|
||||
!:
|
||||
lda 3
|
||||
clc
|
||||
adc #40
|
||||
@ -189,39 +177,41 @@ render__Breturn:
|
||||
findcol:
|
||||
findcol__B1_from_findcol:
|
||||
lda #0
|
||||
sta 10
|
||||
lda #255
|
||||
sta 8
|
||||
lda #255
|
||||
sta 6
|
||||
ldy #0
|
||||
findcol__B1_from_B13:
|
||||
findcol__B1:
|
||||
lda 4096,y
|
||||
ldx 4352,y
|
||||
cmp 11
|
||||
ldx 4096,y
|
||||
lda 4352,y
|
||||
sta 11
|
||||
cpx 9
|
||||
beq findcol__B2
|
||||
findcol__B3:
|
||||
cmp 11
|
||||
cpx 9
|
||||
bcs findcol__B6
|
||||
findcol__B7:
|
||||
eor #255
|
||||
sec
|
||||
adc 11
|
||||
sta 9
|
||||
findcol__B8_from_B7:
|
||||
findcol__B8:
|
||||
cpx 12
|
||||
bcs findcol__B9
|
||||
findcol__B10:
|
||||
stx 255
|
||||
lda 12
|
||||
lda 9
|
||||
sec
|
||||
sbc 255
|
||||
sta 7
|
||||
findcol__B8_from_B7:
|
||||
findcol__B8:
|
||||
lda 10
|
||||
cmp 11
|
||||
bcc findcol__B9
|
||||
findcol__B10:
|
||||
lda 10
|
||||
sec
|
||||
sbc 11
|
||||
clc
|
||||
adc 9
|
||||
adc 7
|
||||
tax
|
||||
findcol__B11_from_B10:
|
||||
findcol__B11:
|
||||
cpx 8
|
||||
cpx 6
|
||||
bcc findcol__B12
|
||||
findcol__B13_from_B11:
|
||||
findcol__B13:
|
||||
@ -232,34 +222,61 @@ findcol__Breturn_from_B13:
|
||||
jmp findcol__Breturn
|
||||
findcol__Breturn_from_B2:
|
||||
lda #0
|
||||
sta 10
|
||||
sta 8
|
||||
findcol__Breturn:
|
||||
rts
|
||||
findcol__B12:
|
||||
lda 4608,y
|
||||
sta 10
|
||||
stx 8
|
||||
sta 8
|
||||
stx 6
|
||||
findcol__B13_from_B12:
|
||||
jmp findcol__B13
|
||||
findcol__B9:
|
||||
txa
|
||||
lda 11
|
||||
sec
|
||||
sbc 12
|
||||
sbc 10
|
||||
clc
|
||||
adc 9
|
||||
adc 7
|
||||
tax
|
||||
findcol__B11_from_B9:
|
||||
jmp findcol__B11
|
||||
findcol__B6:
|
||||
txa
|
||||
sec
|
||||
sbc 11
|
||||
sta 9
|
||||
sbc 9
|
||||
sta 7
|
||||
findcol__B8_from_B6:
|
||||
jmp findcol__B8
|
||||
findcol__B2:
|
||||
cpx 12
|
||||
lda 10
|
||||
cmp 11
|
||||
beq findcol__Breturn_from_B2
|
||||
jmp findcol__B3
|
||||
initscreen:
|
||||
initscreen__B1_from_initscreen:
|
||||
lda #<1024
|
||||
sta 3
|
||||
lda #>1024
|
||||
sta 3+1
|
||||
initscreen__B1_from_B1:
|
||||
initscreen__B1:
|
||||
ldy #0
|
||||
lda #230
|
||||
sta (3),y
|
||||
inc 3
|
||||
bne !+
|
||||
inc 3+1
|
||||
!:
|
||||
lda 3+1
|
||||
cmp #>2048
|
||||
bcc initscreen__B1_from_B1
|
||||
bne !+
|
||||
lda 3
|
||||
cmp #<2048
|
||||
bcc initscreen__B1_from_B1
|
||||
!:
|
||||
initscreen__Breturn:
|
||||
rts
|
||||
addpoint:
|
||||
sta 4096,y
|
||||
txa
|
||||
|
@ -19,172 +19,183 @@ main::@6: from main::@5
|
||||
to:main::@7
|
||||
main::@7: from main::@6
|
||||
[6] call addpoint param-assignment [ findcol::return#0 ]
|
||||
to:main::@8
|
||||
main::@8: from main::@7
|
||||
[7] call initscreen param-assignment [ findcol::return#0 ]
|
||||
to:main::@1
|
||||
main::@1: from main::@10 main::@7
|
||||
[7] call render param-assignment [ findcol::return#0 ]
|
||||
to:main::@9
|
||||
main::@9: from main::@1
|
||||
[8] call animate param-assignment [ findcol::return#0 ]
|
||||
main::@1: from main::@11 main::@8
|
||||
[8] call render param-assignment [ findcol::return#0 ]
|
||||
to:main::@10
|
||||
main::@10: from main::@9
|
||||
[9] if(true) goto main::@1 [ findcol::return#0 ]
|
||||
main::@10: from main::@1
|
||||
[9] call animate param-assignment [ findcol::return#0 ]
|
||||
to:main::@11
|
||||
main::@11: from main::@10
|
||||
[10] if(true) goto main::@1 [ findcol::return#0 ]
|
||||
to:main::@return
|
||||
main::@return: from main::@10
|
||||
[10] return [ findcol::return#0 ]
|
||||
main::@return: from main::@11
|
||||
[11] return [ findcol::return#0 ]
|
||||
to:@RETURN
|
||||
animate: from main::@9
|
||||
[11] (byte~) animate::$0 ← * (word) 4096 [ animate::$0 findcol::return#0 ]
|
||||
[12] (byte~) animate::$1 ← (byte~) animate::$0 + (byte) 1 [ animate::$1 findcol::return#0 ]
|
||||
[13] *((word) 4096) ← (byte~) animate::$1 [ findcol::return#0 ]
|
||||
[14] (byte~) animate::$2 ← * (word) 4096 [ animate::$2 findcol::return#0 ]
|
||||
[15] if((byte~) animate::$2==(byte) 40) goto animate::@1 [ findcol::return#0 ]
|
||||
animate: from main::@10
|
||||
[12] (byte~) animate::$0 ← * (word) 4096 [ animate::$0 findcol::return#0 ]
|
||||
[13] (byte~) animate::$1 ← (byte~) animate::$0 + (byte) 1 [ animate::$1 findcol::return#0 ]
|
||||
[14] *((word) 4096) ← (byte~) animate::$1 [ findcol::return#0 ]
|
||||
[15] (byte~) animate::$2 ← * (word) 4096 [ animate::$2 findcol::return#0 ]
|
||||
[16] if((byte~) animate::$2==(byte) 40) goto animate::@1 [ findcol::return#0 ]
|
||||
to:animate::@2
|
||||
animate::@2: from animate animate::@1
|
||||
[16] (byte~) animate::$4 ← * (word) 4352 [ animate::$4 findcol::return#0 ]
|
||||
[17] (byte~) animate::$5 ← (byte~) animate::$4 + (byte) 1 [ animate::$5 findcol::return#0 ]
|
||||
[18] *((word) 4352) ← (byte~) animate::$5 [ findcol::return#0 ]
|
||||
[19] (byte~) animate::$6 ← * (word) 4352 [ animate::$6 findcol::return#0 ]
|
||||
[20] if((byte~) animate::$6==(byte) 25) goto animate::@3 [ findcol::return#0 ]
|
||||
[17] (byte~) animate::$4 ← * (word) 4352 [ animate::$4 findcol::return#0 ]
|
||||
[18] (byte~) animate::$5 ← (byte~) animate::$4 + (byte) 1 [ animate::$5 findcol::return#0 ]
|
||||
[19] *((word) 4352) ← (byte~) animate::$5 [ findcol::return#0 ]
|
||||
[20] (byte~) animate::$6 ← * (word) 4352 [ animate::$6 findcol::return#0 ]
|
||||
[21] if((byte~) animate::$6==(byte) 25) goto animate::@3 [ findcol::return#0 ]
|
||||
to:animate::@4
|
||||
animate::@4: from animate::@2 animate::@3
|
||||
[21] (byte~) animate::$8 ← * (word) 4097 [ animate::$8 findcol::return#0 ]
|
||||
[22] (byte~) animate::$9 ← (byte~) animate::$8 - (byte) 1 [ animate::$9 findcol::return#0 ]
|
||||
[23] *((word) 4097) ← (byte~) animate::$9 [ findcol::return#0 ]
|
||||
[24] (byte~) animate::$10 ← * (word) 4097 [ animate::$10 findcol::return#0 ]
|
||||
[25] if((byte~) animate::$10==(byte) 255) goto animate::@5 [ findcol::return#0 ]
|
||||
[22] (byte~) animate::$8 ← * (word) 4097 [ animate::$8 findcol::return#0 ]
|
||||
[23] (byte~) animate::$9 ← (byte~) animate::$8 - (byte) 1 [ animate::$9 findcol::return#0 ]
|
||||
[24] *((word) 4097) ← (byte~) animate::$9 [ findcol::return#0 ]
|
||||
[25] (byte~) animate::$10 ← * (word) 4097 [ animate::$10 findcol::return#0 ]
|
||||
[26] if((byte~) animate::$10==(byte) 255) goto animate::@5 [ findcol::return#0 ]
|
||||
to:animate::@6
|
||||
animate::@6: from animate::@4 animate::@5
|
||||
[26] (byte~) animate::$12 ← * (word) 4354 [ animate::$12 findcol::return#0 ]
|
||||
[27] (byte~) animate::$13 ← (byte~) animate::$12 + (byte) 1 [ animate::$13 findcol::return#0 ]
|
||||
[28] *((word) 4354) ← (byte~) animate::$13 [ findcol::return#0 ]
|
||||
[29] (byte~) animate::$14 ← * (word) 4354 [ animate::$14 findcol::return#0 ]
|
||||
[30] if((byte~) animate::$14==(byte) 25) goto animate::@7 [ findcol::return#0 ]
|
||||
[27] (byte~) animate::$12 ← * (word) 4354 [ animate::$12 findcol::return#0 ]
|
||||
[28] (byte~) animate::$13 ← (byte~) animate::$12 + (byte) 1 [ animate::$13 findcol::return#0 ]
|
||||
[29] *((word) 4354) ← (byte~) animate::$13 [ findcol::return#0 ]
|
||||
[30] (byte~) animate::$14 ← * (word) 4354 [ animate::$14 findcol::return#0 ]
|
||||
[31] if((byte~) animate::$14==(byte) 25) goto animate::@7 [ findcol::return#0 ]
|
||||
to:animate::@8
|
||||
animate::@8: from animate::@6 animate::@7
|
||||
[31] (byte~) animate::$16 ← * (word) 4355 [ animate::$16 findcol::return#0 ]
|
||||
[32] (byte~) animate::$17 ← (byte~) animate::$16 - (byte) 1 [ animate::$17 findcol::return#0 ]
|
||||
[33] *((word) 4355) ← (byte~) animate::$17 [ findcol::return#0 ]
|
||||
[34] (byte~) animate::$18 ← * (word) 4355 [ animate::$18 findcol::return#0 ]
|
||||
[35] if((byte~) animate::$18==(byte) 255) goto animate::@9 [ findcol::return#0 ]
|
||||
[32] (byte~) animate::$16 ← * (word) 4355 [ animate::$16 findcol::return#0 ]
|
||||
[33] (byte~) animate::$17 ← (byte~) animate::$16 - (byte) 1 [ animate::$17 findcol::return#0 ]
|
||||
[34] *((word) 4355) ← (byte~) animate::$17 [ findcol::return#0 ]
|
||||
[35] (byte~) animate::$18 ← * (word) 4355 [ animate::$18 findcol::return#0 ]
|
||||
[36] if((byte~) animate::$18==(byte) 255) goto animate::@9 [ findcol::return#0 ]
|
||||
to:animate::@return
|
||||
animate::@return: from animate::@11 animate::@8 animate::@9
|
||||
[36] return [ findcol::return#0 ]
|
||||
[37] return [ findcol::return#0 ]
|
||||
to:@RETURN
|
||||
animate::@9: from animate::@8
|
||||
[37] *((word) 4355) ← (byte) 25 [ findcol::return#0 ]
|
||||
[38] (byte~) animate::$20 ← * (word) 4099 [ animate::$20 findcol::return#0 ]
|
||||
[39] (byte~) animate::$21 ← (byte~) animate::$20 + (byte) 7 [ animate::$21 findcol::return#0 ]
|
||||
[40] *((word) 4099) ← (byte~) animate::$21 [ findcol::return#0 ]
|
||||
[41] (byte~) animate::$22 ← * (word) 4099 [ animate::$22 findcol::return#0 ]
|
||||
[42] if((byte~) animate::$22>=(byte) 40) goto animate::@11 [ findcol::return#0 ]
|
||||
[38] *((word) 4355) ← (byte) 25 [ findcol::return#0 ]
|
||||
[39] (byte~) animate::$20 ← * (word) 4099 [ animate::$20 findcol::return#0 ]
|
||||
[40] (byte~) animate::$21 ← (byte~) animate::$20 + (byte) 7 [ animate::$21 findcol::return#0 ]
|
||||
[41] *((word) 4099) ← (byte~) animate::$21 [ findcol::return#0 ]
|
||||
[42] (byte~) animate::$22 ← * (word) 4099 [ animate::$22 findcol::return#0 ]
|
||||
[43] if((byte~) animate::$22>=(byte) 40) goto animate::@11 [ findcol::return#0 ]
|
||||
to:animate::@return
|
||||
animate::@11: from animate::@9
|
||||
[43] (byte~) animate::$24 ← * (word) 4099 [ animate::$24 findcol::return#0 ]
|
||||
[44] (byte~) animate::$25 ← (byte~) animate::$24 - (byte) 40 [ animate::$25 findcol::return#0 ]
|
||||
[45] *((word) 4099) ← (byte~) animate::$25 [ findcol::return#0 ]
|
||||
[44] (byte~) animate::$24 ← * (word) 4099 [ animate::$24 findcol::return#0 ]
|
||||
[45] (byte~) animate::$25 ← (byte~) animate::$24 - (byte) 40 [ animate::$25 findcol::return#0 ]
|
||||
[46] *((word) 4099) ← (byte~) animate::$25 [ findcol::return#0 ]
|
||||
to:animate::@return
|
||||
animate::@7: from animate::@6
|
||||
[46] *((word) 4354) ← (byte) 0 [ findcol::return#0 ]
|
||||
[47] *((word) 4354) ← (byte) 0 [ findcol::return#0 ]
|
||||
to:animate::@8
|
||||
animate::@5: from animate::@4
|
||||
[47] *((word) 4097) ← (byte) 40 [ findcol::return#0 ]
|
||||
[48] *((word) 4097) ← (byte) 40 [ findcol::return#0 ]
|
||||
to:animate::@6
|
||||
animate::@3: from animate::@2
|
||||
[48] *((word) 4352) ← (byte) 0 [ findcol::return#0 ]
|
||||
[49] *((word) 4352) ← (byte) 0 [ findcol::return#0 ]
|
||||
to:animate::@4
|
||||
animate::@1: from animate
|
||||
[49] *((word) 4096) ← (byte) 0 [ findcol::return#0 ]
|
||||
[50] *((word) 4096) ← (byte) 0 [ findcol::return#0 ]
|
||||
to:animate::@2
|
||||
render: from main::@1
|
||||
to:render::@1
|
||||
render::@1: from render render::@3
|
||||
[50] (byte*) render::chrline#2 ← phi( render/(word) 1024 render::@3/(byte*) render::chrline#1 ) [ render::y#2 findcol::return#0 render::colline#2 render::chrline#2 ]
|
||||
[50] (byte*) render::colline#2 ← phi( render/(word) 55296 render::@3/(byte*) render::colline#1 ) [ render::y#2 findcol::return#0 render::colline#2 render::chrline#2 ]
|
||||
[50] (byte) render::y#2 ← phi( render/(byte) 0 render::@3/(byte) render::y#1 ) [ render::y#2 findcol::return#0 render::colline#2 render::chrline#2 ]
|
||||
[51] (byte*) render::colline#2 ← phi( render/(word) 55296 render::@3/(byte*) render::colline#1 ) [ render::y#2 findcol::return#0 render::colline#2 ]
|
||||
[51] (byte) render::y#2 ← phi( render/(byte) 0 render::@3/(byte) render::y#1 ) [ render::y#2 findcol::return#0 render::colline#2 ]
|
||||
to:render::@2
|
||||
render::@2: from render::@1 render::@5
|
||||
[51] (byte) render::x#2 ← phi( render::@1/(byte) 0 render::@5/(byte) render::x#1 ) [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::chrline#2 ]
|
||||
[52] (byte) findcol::x#0 ← (byte) render::x#2 [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::chrline#2 findcol::x#0 ]
|
||||
[53] (byte) findcol::y#0 ← (byte) render::y#2 [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::chrline#2 findcol::x#0 findcol::y#0 ]
|
||||
[54] call findcol param-assignment [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::chrline#2 findcol::x#0 findcol::y#0 ]
|
||||
[52] (byte) render::x#2 ← phi( render::@1/(byte) 0 render::@5/(byte) render::x#1 ) [ render::x#2 render::y#2 findcol::return#0 render::colline#2 ]
|
||||
[53] (byte) findcol::x#0 ← (byte) render::x#2 [ render::x#2 render::y#2 findcol::return#0 render::colline#2 findcol::x#0 ]
|
||||
[54] (byte) findcol::y#0 ← (byte) render::y#2 [ render::x#2 render::y#2 findcol::return#0 render::colline#2 findcol::x#0 findcol::y#0 ]
|
||||
[55] call findcol param-assignment [ render::x#2 render::y#2 findcol::return#0 render::colline#2 findcol::x#0 findcol::y#0 ]
|
||||
to:render::@5
|
||||
render::@5: from render::@2
|
||||
[55] (byte) render::col#0 ← (byte) findcol::return#0 [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::col#0 render::chrline#2 ]
|
||||
[56] *((byte*) render::colline#2 + (byte) render::x#2) ← (byte) render::col#0 [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::chrline#2 ]
|
||||
[57] *((byte*) render::chrline#2 + (byte) render::x#2) ← (byte) 230 [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::chrline#2 ]
|
||||
[58] (byte) render::x#1 ← ++ (byte) render::x#2 [ render::x#1 render::y#2 findcol::return#0 render::colline#2 render::chrline#2 ]
|
||||
[59] if((byte) render::x#1<(byte) 40) goto render::@2 [ render::x#1 render::y#2 findcol::return#0 render::colline#2 render::chrline#2 ]
|
||||
[56] (byte) render::col#0 ← (byte) findcol::return#0 [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::col#0 ]
|
||||
[57] *((byte*) render::colline#2 + (byte) render::x#2) ← (byte) render::col#0 [ render::x#2 render::y#2 findcol::return#0 render::colline#2 ]
|
||||
[58] (byte) render::x#1 ← ++ (byte) render::x#2 [ render::x#1 render::y#2 findcol::return#0 render::colline#2 ]
|
||||
[59] if((byte) render::x#1<(byte) 40) goto render::@2 [ render::x#1 render::y#2 findcol::return#0 render::colline#2 ]
|
||||
to:render::@3
|
||||
render::@3: from render::@5
|
||||
[60] (byte*) render::chrline#1 ← (byte*) render::chrline#2 + (byte) 40 [ render::chrline#1 render::y#2 findcol::return#0 render::colline#2 ]
|
||||
[61] (byte*) render::colline#1 ← (byte*) render::colline#2 + (byte) 40 [ render::colline#1 render::chrline#1 render::y#2 findcol::return#0 ]
|
||||
[62] (byte) render::y#1 ← ++ (byte) render::y#2 [ render::y#1 render::colline#1 render::chrline#1 findcol::return#0 ]
|
||||
[63] if((byte) render::y#1<(byte) 25) goto render::@1 [ render::y#1 render::colline#1 render::chrline#1 findcol::return#0 ]
|
||||
[60] (byte*) render::colline#1 ← (byte*) render::colline#2 + (byte) 40 [ render::colline#1 render::y#2 findcol::return#0 ]
|
||||
[61] (byte) render::y#1 ← ++ (byte) render::y#2 [ render::y#1 render::colline#1 findcol::return#0 ]
|
||||
[62] if((byte) render::y#1<(byte) 25) goto render::@1 [ render::y#1 render::colline#1 findcol::return#0 ]
|
||||
to:render::@return
|
||||
render::@return: from render::@3
|
||||
[64] return [ findcol::return#0 ]
|
||||
[63] return [ findcol::return#0 ]
|
||||
to:@RETURN
|
||||
findcol: from render::@2
|
||||
to:findcol::@1
|
||||
findcol::@1: from findcol findcol::@13
|
||||
[65] (byte) findcol::mincol#11 ← phi( findcol/(byte) 0 findcol::@13/(byte) findcol::mincol#2 ) [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[65] (byte) findcol::mindiff#10 ← phi( findcol/(byte) 255 findcol::@13/(byte) findcol::mindiff#11 ) [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[65] (byte) findcol::i#12 ← phi( findcol/(byte) 0 findcol::@13/(byte) findcol::i#1 ) [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[66] (byte) findcol::xp#0 ← (word) 4096 *idx (byte) findcol::i#12 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::xp#0 findcol::y#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[67] (byte) findcol::yp#0 ← (word) 4352 *idx (byte) findcol::i#12 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::xp#0 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[68] if((byte) findcol::x#0==(byte) findcol::xp#0) goto findcol::@2 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::xp#0 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[64] (byte) findcol::mincol#11 ← phi( findcol/(byte) 0 findcol::@13/(byte) findcol::mincol#2 ) [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[64] (byte) findcol::mindiff#10 ← phi( findcol/(byte) 255 findcol::@13/(byte) findcol::mindiff#11 ) [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[64] (byte) findcol::i#12 ← phi( findcol/(byte) 0 findcol::@13/(byte) findcol::i#1 ) [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[65] (byte) findcol::xp#0 ← (word) 4096 *idx (byte) findcol::i#12 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::xp#0 findcol::y#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[66] (byte) findcol::yp#0 ← (word) 4352 *idx (byte) findcol::i#12 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::xp#0 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[67] if((byte) findcol::x#0==(byte) findcol::xp#0) goto findcol::@2 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::xp#0 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
to:findcol::@3
|
||||
findcol::@3: from findcol::@1 findcol::@2
|
||||
[69] if((byte) findcol::x#0<(byte) findcol::xp#0) goto findcol::@6 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::xp#0 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[68] if((byte) findcol::x#0<(byte) findcol::xp#0) goto findcol::@6 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::xp#0 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
to:findcol::@7
|
||||
findcol::@7: from findcol::@3
|
||||
[70] (byte) findcol::diff#1 ← (byte) findcol::x#0 - (byte) findcol::xp#0 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::diff#1 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[69] (byte) findcol::diff#1 ← (byte) findcol::x#0 - (byte) findcol::xp#0 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::diff#1 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
to:findcol::@8
|
||||
findcol::@8: from findcol::@6 findcol::@7
|
||||
[71] (byte) findcol::diff#4 ← phi( findcol::@6/(byte) findcol::diff#0 findcol::@7/(byte) findcol::diff#1 ) [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::yp#0 findcol::diff#4 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[72] if((byte) findcol::y#0<(byte) findcol::yp#0) goto findcol::@9 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::yp#0 findcol::diff#4 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[70] (byte) findcol::diff#4 ← phi( findcol::@6/(byte) findcol::diff#0 findcol::@7/(byte) findcol::diff#1 ) [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::yp#0 findcol::diff#4 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[71] if((byte) findcol::y#0<(byte) findcol::yp#0) goto findcol::@9 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::yp#0 findcol::diff#4 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
to:findcol::@10
|
||||
findcol::@10: from findcol::@8
|
||||
[73] (byte~) findcol::$10 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#4 findcol::$10 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[74] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte~) findcol::$10 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#3 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[72] (byte~) findcol::$10 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#4 findcol::$10 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[73] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte~) findcol::$10 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#3 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
to:findcol::@11
|
||||
findcol::@11: from findcol::@10 findcol::@9
|
||||
[75] (byte) findcol::diff#6 ← phi( findcol::@10/(byte) findcol::diff#3 findcol::@9/(byte) findcol::diff#2 ) [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#6 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[76] if((byte) findcol::diff#6<(byte) findcol::mindiff#10) goto findcol::@12 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#6 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[74] (byte) findcol::diff#6 ← phi( findcol::@10/(byte) findcol::diff#3 findcol::@9/(byte) findcol::diff#2 ) [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#6 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[75] if((byte) findcol::diff#6<(byte) findcol::mindiff#10) goto findcol::@12 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#6 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
to:findcol::@13
|
||||
findcol::@13: from findcol::@11 findcol::@12
|
||||
[77] (byte) findcol::mindiff#11 ← phi( findcol::@11/(byte) findcol::mindiff#10 findcol::@12/(byte~) findcol::diff#13 ) [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::mindiff#11 findcol::mincol#2 findcol::i#12 findcol::x#0 findcol::y#0 ]
|
||||
[77] (byte) findcol::mincol#2 ← phi( findcol::@11/(byte) findcol::mincol#11 findcol::@12/(byte) findcol::mincol#1 ) [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::mindiff#11 findcol::mincol#2 findcol::i#12 findcol::x#0 findcol::y#0 ]
|
||||
[78] (byte) findcol::i#1 ← ++ (byte) findcol::i#12 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#1 findcol::mindiff#11 findcol::mincol#2 findcol::x#0 findcol::y#0 ]
|
||||
[79] if((byte) findcol::i#1<(byte) 6) goto findcol::@1 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#1 findcol::mindiff#11 findcol::mincol#2 findcol::x#0 findcol::y#0 ]
|
||||
[76] (byte) findcol::mindiff#11 ← phi( findcol::@11/(byte) findcol::mindiff#10 findcol::@12/(byte~) findcol::diff#13 ) [ render::x#2 render::y#2 render::colline#2 findcol::mindiff#11 findcol::mincol#2 findcol::i#12 findcol::x#0 findcol::y#0 ]
|
||||
[76] (byte) findcol::mincol#2 ← phi( findcol::@11/(byte) findcol::mincol#11 findcol::@12/(byte) findcol::mincol#1 ) [ render::x#2 render::y#2 render::colline#2 findcol::mindiff#11 findcol::mincol#2 findcol::i#12 findcol::x#0 findcol::y#0 ]
|
||||
[77] (byte) findcol::i#1 ← ++ (byte) findcol::i#12 [ render::x#2 render::y#2 render::colline#2 findcol::i#1 findcol::mindiff#11 findcol::mincol#2 findcol::x#0 findcol::y#0 ]
|
||||
[78] if((byte) findcol::i#1<(byte) 6) goto findcol::@1 [ render::x#2 render::y#2 render::colline#2 findcol::i#1 findcol::mindiff#11 findcol::mincol#2 findcol::x#0 findcol::y#0 ]
|
||||
to:findcol::@return
|
||||
findcol::@return: from findcol::@13 findcol::@2
|
||||
[80] (byte) findcol::return#0 ← phi( findcol::@13/(byte) findcol::mincol#2 findcol::@2/(byte) 0 ) [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::chrline#2 findcol::x#0 findcol::y#0 ]
|
||||
[81] return [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::chrline#2 findcol::x#0 findcol::y#0 ]
|
||||
[79] (byte) findcol::return#0 ← phi( findcol::@13/(byte) findcol::mincol#2 findcol::@2/(byte) 0 ) [ render::x#2 render::y#2 findcol::return#0 render::colline#2 findcol::x#0 findcol::y#0 ]
|
||||
[80] return [ render::x#2 render::y#2 findcol::return#0 render::colline#2 findcol::x#0 findcol::y#0 ]
|
||||
to:@RETURN
|
||||
findcol::@12: from findcol::@11
|
||||
[82] (byte) findcol::mincol#1 ← (word) 4608 *idx (byte) findcol::i#12 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#6 findcol::mincol#1 ]
|
||||
[83] (byte~) findcol::diff#13 ← (byte) findcol::diff#6 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::mincol#1 findcol::diff#13 ]
|
||||
[81] (byte) findcol::mincol#1 ← (word) 4608 *idx (byte) findcol::i#12 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#6 findcol::mincol#1 ]
|
||||
[82] (byte~) findcol::diff#13 ← (byte) findcol::diff#6 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::mincol#1 findcol::diff#13 ]
|
||||
to:findcol::@13
|
||||
findcol::@9: from findcol::@8
|
||||
[84] (byte~) findcol::$8 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#4 findcol::mindiff#10 findcol::mincol#11 findcol::$8 ]
|
||||
[85] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte~) findcol::$8 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#2 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[83] (byte~) findcol::$8 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#4 findcol::mindiff#10 findcol::mincol#11 findcol::$8 ]
|
||||
[84] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte~) findcol::$8 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::y#0 findcol::diff#2 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
to:findcol::@11
|
||||
findcol::@6: from findcol::@3
|
||||
[86] (byte) findcol::diff#0 ← (byte) findcol::xp#0 - (byte) findcol::x#0 [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::diff#0 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[85] (byte) findcol::diff#0 ← (byte) findcol::xp#0 - (byte) findcol::x#0 [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::diff#0 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
to:findcol::@8
|
||||
findcol::@2: from findcol::@1
|
||||
[87] if((byte) findcol::y#0==(byte) findcol::yp#0) goto findcol::@return [ render::x#2 render::y#2 render::colline#2 render::chrline#2 findcol::i#12 findcol::x#0 findcol::xp#0 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
[86] if((byte) findcol::y#0==(byte) findcol::yp#0) goto findcol::@return [ render::x#2 render::y#2 render::colline#2 findcol::i#12 findcol::x#0 findcol::xp#0 findcol::y#0 findcol::yp#0 findcol::mindiff#10 findcol::mincol#11 ]
|
||||
to:findcol::@3
|
||||
initscreen: from main::@8
|
||||
to:initscreen::@1
|
||||
initscreen::@1: from initscreen initscreen::@1
|
||||
[87] (byte*) initscreen::screen#2 ← phi( initscreen/(word) 1024 initscreen::@1/(byte*) initscreen::screen#1 ) [ findcol::return#0 initscreen::screen#2 ]
|
||||
[88] *((byte*) initscreen::screen#2) ← (byte) 230 [ findcol::return#0 initscreen::screen#2 ]
|
||||
[89] (byte*) initscreen::screen#1 ← ++ (byte*) initscreen::screen#2 [ findcol::return#0 initscreen::screen#1 ]
|
||||
[90] if((byte*) initscreen::screen#1<(word) 2048) goto initscreen::@1 [ findcol::return#0 initscreen::screen#1 ]
|
||||
to:initscreen::@return
|
||||
initscreen::@return: from initscreen::@1
|
||||
[91] return [ findcol::return#0 ]
|
||||
to:@RETURN
|
||||
addpoint: from main main::@3 main::@4 main::@5 main::@6 main::@7
|
||||
[88] (byte) addpoint::c#6 ← phi( main/(byte) 1 main::@3/(byte) 2 main::@4/(byte) 3 main::@5/(byte) 4 main::@6/(byte) 5 main::@7/(byte) 7 ) [ findcol::return#0 addpoint::idx#6 addpoint::x#6 addpoint::y#6 addpoint::c#6 ]
|
||||
[88] (byte) addpoint::y#6 ← phi( main/(byte) 5 main::@3/(byte) 8 main::@4/(byte) 14 main::@5/(byte) 2 main::@6/(byte) 17 main::@7/(byte) 22 ) [ findcol::return#0 addpoint::idx#6 addpoint::x#6 addpoint::y#6 addpoint::c#6 ]
|
||||
[88] (byte) addpoint::idx#6 ← phi( main/(byte) 0 main::@3/(byte) 1 main::@4/(byte) 2 main::@5/(byte) 3 main::@6/(byte) 4 main::@7/(byte) 5 ) [ findcol::return#0 addpoint::idx#6 addpoint::x#6 addpoint::y#6 addpoint::c#6 ]
|
||||
[88] (byte) addpoint::x#6 ← phi( main/(byte) 5 main::@3/(byte) 15 main::@4/(byte) 6 main::@5/(byte) 34 main::@6/(byte) 21 main::@7/(byte) 31 ) [ findcol::return#0 addpoint::idx#6 addpoint::x#6 addpoint::y#6 addpoint::c#6 ]
|
||||
[89] *((word) 4096 + (byte) addpoint::idx#6) ← (byte) addpoint::x#6 [ findcol::return#0 addpoint::idx#6 addpoint::y#6 addpoint::c#6 ]
|
||||
[90] *((word) 4352 + (byte) addpoint::idx#6) ← (byte) addpoint::y#6 [ findcol::return#0 addpoint::idx#6 addpoint::c#6 ]
|
||||
[91] *((word) 4608 + (byte) addpoint::idx#6) ← (byte) addpoint::c#6 [ findcol::return#0 ]
|
||||
[92] (byte) addpoint::c#6 ← phi( main/(byte) 1 main::@3/(byte) 2 main::@4/(byte) 3 main::@5/(byte) 4 main::@6/(byte) 5 main::@7/(byte) 7 ) [ findcol::return#0 addpoint::idx#6 addpoint::x#6 addpoint::y#6 addpoint::c#6 ]
|
||||
[92] (byte) addpoint::y#6 ← phi( main/(byte) 5 main::@3/(byte) 8 main::@4/(byte) 14 main::@5/(byte) 2 main::@6/(byte) 17 main::@7/(byte) 22 ) [ findcol::return#0 addpoint::idx#6 addpoint::x#6 addpoint::y#6 addpoint::c#6 ]
|
||||
[92] (byte) addpoint::idx#6 ← phi( main/(byte) 0 main::@3/(byte) 1 main::@4/(byte) 2 main::@5/(byte) 3 main::@6/(byte) 4 main::@7/(byte) 5 ) [ findcol::return#0 addpoint::idx#6 addpoint::x#6 addpoint::y#6 addpoint::c#6 ]
|
||||
[92] (byte) addpoint::x#6 ← phi( main/(byte) 5 main::@3/(byte) 15 main::@4/(byte) 6 main::@5/(byte) 34 main::@6/(byte) 21 main::@7/(byte) 31 ) [ findcol::return#0 addpoint::idx#6 addpoint::x#6 addpoint::y#6 addpoint::c#6 ]
|
||||
[93] *((word) 4096 + (byte) addpoint::idx#6) ← (byte) addpoint::x#6 [ findcol::return#0 addpoint::idx#6 addpoint::y#6 addpoint::c#6 ]
|
||||
[94] *((word) 4352 + (byte) addpoint::idx#6) ← (byte) addpoint::y#6 [ findcol::return#0 addpoint::idx#6 addpoint::c#6 ]
|
||||
[95] *((word) 4608 + (byte) addpoint::idx#6) ← (byte) addpoint::c#6 [ findcol::return#0 ]
|
||||
to:addpoint::@return
|
||||
addpoint::@return: from addpoint
|
||||
[92] return [ findcol::return#0 ]
|
||||
[96] return [ findcol::return#0 ]
|
||||
to:@RETURN
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -64,42 +64,49 @@
|
||||
(label) findcol::@9
|
||||
(label) findcol::@return
|
||||
(byte) findcol::diff
|
||||
(byte) findcol::diff#0 zp byte:9 20002.0
|
||||
(byte) findcol::diff#1 zp byte:9 20002.0
|
||||
(byte~) findcol::diff#13 zp byte:8 20002.0
|
||||
(byte) findcol::diff#0 zp byte:7 20002.0
|
||||
(byte) findcol::diff#1 zp byte:7 20002.0
|
||||
(byte~) findcol::diff#13 zp byte:6 20002.0
|
||||
(byte) findcol::diff#2 reg byte x 20002.0
|
||||
(byte) findcol::diff#3 reg byte x 20002.0
|
||||
(byte) findcol::diff#4 zp byte:9 10001.0
|
||||
(byte) findcol::diff#4 zp byte:7 10001.0
|
||||
(byte) findcol::diff#6 reg byte x 13334.666666666666
|
||||
(byte) findcol::i
|
||||
(byte) findcol::i#1 reg byte y 15001.5
|
||||
(byte) findcol::i#12 reg byte y 2631.842105263158
|
||||
(byte) findcol::mincol
|
||||
(byte) findcol::mincol#1 zp byte:10 10001.0
|
||||
(byte) findcol::mincol#11 zp byte:10 1250.125
|
||||
(byte) findcol::mincol#2 zp byte:10 13334.666666666666
|
||||
(byte) findcol::mincol#1 zp byte:8 10001.0
|
||||
(byte) findcol::mincol#11 zp byte:8 1250.125
|
||||
(byte) findcol::mincol#2 zp byte:8 13334.666666666666
|
||||
(byte) findcol::mindiff
|
||||
(byte) findcol::mindiff#10 zp byte:8 1875.1875
|
||||
(byte) findcol::mindiff#11 zp byte:8 10001.0
|
||||
(byte) findcol::mindiff#10 zp byte:6 1875.1875
|
||||
(byte) findcol::mindiff#11 zp byte:6 10001.0
|
||||
(byte) findcol::return
|
||||
(byte) findcol::return#0 zp byte:10 152.80555555555554
|
||||
(byte) findcol::return#0 zp byte:8 144.76315789473685
|
||||
(byte) findcol::x
|
||||
(byte) findcol::x#0 zp byte:11 1577.1153846153845
|
||||
(byte) findcol::x#0 zp byte:9 1577.1153846153845
|
||||
(byte) findcol::xp
|
||||
(byte) findcol::xp#0 reg byte a 10001.0
|
||||
(byte) findcol::xp#0 reg byte x 10001.0
|
||||
(byte) findcol::y
|
||||
(byte) findcol::y#0 zp byte:12 1640.2
|
||||
(byte) findcol::y#0 zp byte:10 1640.2
|
||||
(byte) findcol::yp
|
||||
(byte) findcol::yp#0 reg byte x 6250.625
|
||||
(byte) findcol::yp#0 zp byte:11 6250.625
|
||||
(void()) initscreen()
|
||||
(label) initscreen::@1
|
||||
(label) initscreen::@return
|
||||
(byte*) initscreen::screen
|
||||
(byte*) initscreen::screen#1 zp ptr byte:3 16.5
|
||||
(byte*) initscreen::screen#2 zp ptr byte:3 16.5
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@10
|
||||
(label) main::@11
|
||||
(label) main::@3
|
||||
(label) main::@4
|
||||
(label) main::@5
|
||||
(label) main::@6
|
||||
(label) main::@7
|
||||
(label) main::@9
|
||||
(label) main::@8
|
||||
(label) main::@return
|
||||
(byte) numpoints
|
||||
(void()) render()
|
||||
@ -108,30 +115,26 @@
|
||||
(label) render::@3
|
||||
(label) render::@5
|
||||
(label) render::@return
|
||||
(byte*) render::chrline
|
||||
(byte*) render::chrline#1 zp ptr byte:5 50.5
|
||||
(byte*) render::chrline#2 zp ptr byte:5 36.45454545454545
|
||||
(byte) render::col
|
||||
(byte) render::col#0 reg byte a 2002.0
|
||||
(byte*) render::colline
|
||||
(byte*) render::colline#1 zp ptr byte:3 67.33333333333333
|
||||
(byte*) render::colline#2 zp ptr byte:3 35.38235294117647
|
||||
(byte*) render::colline#2 zp ptr byte:3 37.59375
|
||||
(byte) render::x
|
||||
(byte) render::x#1 zp byte:7 1501.5
|
||||
(byte) render::x#2 zp byte:7 166.83333333333334
|
||||
(byte) render::x#1 zp byte:5 1501.5
|
||||
(byte) render::x#2 zp byte:5 138.06896551724137
|
||||
(byte) render::y
|
||||
(byte) render::y#1 zp byte:2 151.5
|
||||
(byte) render::y#2 zp byte:2 34.371428571428574
|
||||
(byte) render::y#2 zp byte:2 36.45454545454545
|
||||
|
||||
zp byte:2 [ render::y#2 render::y#1 addpoint::c#6 ]
|
||||
zp ptr byte:3 [ render::colline#2 render::colline#1 ]
|
||||
zp ptr byte:5 [ render::chrline#2 render::chrline#1 ]
|
||||
zp byte:7 [ render::x#2 render::x#1 ]
|
||||
zp ptr byte:3 [ render::colline#2 render::colline#1 initscreen::screen#2 initscreen::screen#1 ]
|
||||
zp byte:5 [ render::x#2 render::x#1 ]
|
||||
reg byte y [ findcol::i#12 findcol::i#1 ]
|
||||
zp byte:8 [ findcol::mindiff#10 findcol::mindiff#11 findcol::diff#13 ]
|
||||
zp byte:9 [ findcol::diff#4 findcol::diff#0 findcol::diff#1 ]
|
||||
zp byte:6 [ findcol::mindiff#10 findcol::mindiff#11 findcol::diff#13 ]
|
||||
zp byte:7 [ findcol::diff#4 findcol::diff#0 findcol::diff#1 ]
|
||||
reg byte x [ findcol::diff#6 findcol::diff#3 findcol::diff#2 ]
|
||||
zp byte:10 [ findcol::return#0 findcol::mincol#11 findcol::mincol#2 findcol::mincol#1 ]
|
||||
zp byte:8 [ findcol::return#0 findcol::mincol#11 findcol::mincol#2 findcol::mincol#1 ]
|
||||
reg byte a [ addpoint::x#6 ]
|
||||
reg byte y [ addpoint::idx#6 ]
|
||||
reg byte x [ addpoint::y#6 ]
|
||||
@ -155,10 +158,10 @@ reg byte a [ animate::$21 ]
|
||||
reg byte a [ animate::$22 ]
|
||||
reg byte a [ animate::$24 ]
|
||||
reg byte a [ animate::$25 ]
|
||||
zp byte:11 [ findcol::x#0 ]
|
||||
zp byte:12 [ findcol::y#0 ]
|
||||
zp byte:9 [ findcol::x#0 ]
|
||||
zp byte:10 [ findcol::y#0 ]
|
||||
reg byte a [ render::col#0 ]
|
||||
reg byte a [ findcol::xp#0 ]
|
||||
reg byte x [ findcol::yp#0 ]
|
||||
reg byte x [ findcol::xp#0 ]
|
||||
zp byte:11 [ findcol::yp#0 ]
|
||||
reg byte a [ findcol::$10 ]
|
||||
reg byte a [ findcol::$8 ]
|
||||
|
@ -21,6 +21,7 @@ void main() {
|
||||
addpoint(3, 34, 2, 4);
|
||||
addpoint(4, 21, 17, 5);
|
||||
addpoint(5, 31, 22, 7);
|
||||
initscreen();
|
||||
do {
|
||||
render();
|
||||
animate();
|
||||
@ -60,20 +61,25 @@ void addpoint(byte idx, byte x, byte y, byte c) {
|
||||
COLS[idx] = c;
|
||||
}
|
||||
|
||||
void initscreen() {
|
||||
byte* screen = SCREEN;
|
||||
do {
|
||||
*screen = FILL;
|
||||
} while(++screen<$0800)
|
||||
|
||||
}
|
||||
|
||||
void render() {
|
||||
byte* chrline = SCREEN;
|
||||
byte* colline = COLORS;
|
||||
byte y=0;
|
||||
do {
|
||||
byte x=0;
|
||||
byte x=0;
|
||||
do {
|
||||
byte col = findcol(x, y);
|
||||
colline[x] = col;
|
||||
chrline[x] = FILL;
|
||||
} while(++x < 40)
|
||||
chrline = chrline+40;
|
||||
colline = colline+40;
|
||||
} while(++y < 25)
|
||||
} while(++y < 25)
|
||||
}
|
||||
|
||||
byte findcol(byte x, byte y) {
|
||||
|
Loading…
Reference in New Issue
Block a user