mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-12-26 03:32:23 +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())));
|
program.getLog().append(program.getRegisterUpliftProgram().toString((program.getVariableRegisterWeights())));
|
||||||
|
|
||||||
// Attempt uplifting registers through a lot of combinations
|
// 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
|
// Attempt uplifting registers one at a time to catch remaining potential not realized by combination search
|
||||||
new Pass3RegisterUpliftRemains(program).performUplift();
|
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
|
ldy #5
|
||||||
lda #31
|
lda #31
|
||||||
jsr addpoint
|
jsr addpoint
|
||||||
|
main__B8:
|
||||||
|
jsr initscreen
|
||||||
main__B1:
|
main__B1:
|
||||||
jsr render
|
jsr render
|
||||||
main__B9:
|
|
||||||
jsr animate
|
|
||||||
main__B10:
|
main__B10:
|
||||||
|
jsr animate
|
||||||
|
main__B11:
|
||||||
jmp main__B1
|
jmp main__B1
|
||||||
main__Breturn:
|
main__Breturn:
|
||||||
rts
|
rts
|
||||||
@ -132,10 +134,6 @@ animate__B1:
|
|||||||
jmp animate__B2
|
jmp animate__B2
|
||||||
render:
|
render:
|
||||||
render__B1_from_render:
|
render__B1_from_render:
|
||||||
lda #<1024
|
|
||||||
sta 5
|
|
||||||
lda #>1024
|
|
||||||
sta 5+1
|
|
||||||
lda #<55296
|
lda #<55296
|
||||||
sta 3
|
sta 3
|
||||||
lda #>55296
|
lda #>55296
|
||||||
@ -146,33 +144,23 @@ render__B1_from_B3:
|
|||||||
render__B1:
|
render__B1:
|
||||||
render__B2_from_B1:
|
render__B2_from_B1:
|
||||||
lda #0
|
lda #0
|
||||||
sta 7
|
sta 5
|
||||||
render__B2_from_B5:
|
render__B2_from_B5:
|
||||||
render__B2:
|
render__B2:
|
||||||
lda 7
|
lda 5
|
||||||
sta 11
|
sta 9
|
||||||
lda 2
|
lda 2
|
||||||
sta 12
|
sta 10
|
||||||
jsr findcol
|
jsr findcol
|
||||||
render__B5:
|
render__B5:
|
||||||
lda 10
|
lda 8
|
||||||
ldy 7
|
ldy 5
|
||||||
sta (3),y
|
sta (3),y
|
||||||
lda #230
|
inc 5
|
||||||
ldy 7
|
lda 5
|
||||||
sta (5),y
|
|
||||||
inc 7
|
|
||||||
lda 7
|
|
||||||
cmp #40
|
cmp #40
|
||||||
bcc render__B2_from_B5
|
bcc render__B2_from_B5
|
||||||
render__B3:
|
render__B3:
|
||||||
lda 5
|
|
||||||
clc
|
|
||||||
adc #40
|
|
||||||
sta 5
|
|
||||||
bcc !+
|
|
||||||
inc 5+1
|
|
||||||
!:
|
|
||||||
lda 3
|
lda 3
|
||||||
clc
|
clc
|
||||||
adc #40
|
adc #40
|
||||||
@ -189,39 +177,41 @@ render__Breturn:
|
|||||||
findcol:
|
findcol:
|
||||||
findcol__B1_from_findcol:
|
findcol__B1_from_findcol:
|
||||||
lda #0
|
lda #0
|
||||||
sta 10
|
|
||||||
lda #255
|
|
||||||
sta 8
|
sta 8
|
||||||
|
lda #255
|
||||||
|
sta 6
|
||||||
ldy #0
|
ldy #0
|
||||||
findcol__B1_from_B13:
|
findcol__B1_from_B13:
|
||||||
findcol__B1:
|
findcol__B1:
|
||||||
lda 4096,y
|
ldx 4096,y
|
||||||
ldx 4352,y
|
lda 4352,y
|
||||||
cmp 11
|
sta 11
|
||||||
|
cpx 9
|
||||||
beq findcol__B2
|
beq findcol__B2
|
||||||
findcol__B3:
|
findcol__B3:
|
||||||
cmp 11
|
cpx 9
|
||||||
bcs findcol__B6
|
bcs findcol__B6
|
||||||
findcol__B7:
|
findcol__B7:
|
||||||
eor #255
|
|
||||||
sec
|
|
||||||
adc 11
|
|
||||||
sta 9
|
|
||||||
findcol__B8_from_B7:
|
|
||||||
findcol__B8:
|
|
||||||
cpx 12
|
|
||||||
bcs findcol__B9
|
|
||||||
findcol__B10:
|
|
||||||
stx 255
|
stx 255
|
||||||
lda 12
|
lda 9
|
||||||
sec
|
sec
|
||||||
sbc 255
|
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
|
clc
|
||||||
adc 9
|
adc 7
|
||||||
tax
|
tax
|
||||||
findcol__B11_from_B10:
|
findcol__B11_from_B10:
|
||||||
findcol__B11:
|
findcol__B11:
|
||||||
cpx 8
|
cpx 6
|
||||||
bcc findcol__B12
|
bcc findcol__B12
|
||||||
findcol__B13_from_B11:
|
findcol__B13_from_B11:
|
||||||
findcol__B13:
|
findcol__B13:
|
||||||
@ -232,34 +222,61 @@ findcol__Breturn_from_B13:
|
|||||||
jmp findcol__Breturn
|
jmp findcol__Breturn
|
||||||
findcol__Breturn_from_B2:
|
findcol__Breturn_from_B2:
|
||||||
lda #0
|
lda #0
|
||||||
sta 10
|
sta 8
|
||||||
findcol__Breturn:
|
findcol__Breturn:
|
||||||
rts
|
rts
|
||||||
findcol__B12:
|
findcol__B12:
|
||||||
lda 4608,y
|
lda 4608,y
|
||||||
sta 10
|
sta 8
|
||||||
stx 8
|
stx 6
|
||||||
findcol__B13_from_B12:
|
findcol__B13_from_B12:
|
||||||
jmp findcol__B13
|
jmp findcol__B13
|
||||||
findcol__B9:
|
findcol__B9:
|
||||||
txa
|
lda 11
|
||||||
sec
|
sec
|
||||||
sbc 12
|
sbc 10
|
||||||
clc
|
clc
|
||||||
adc 9
|
adc 7
|
||||||
tax
|
tax
|
||||||
findcol__B11_from_B9:
|
findcol__B11_from_B9:
|
||||||
jmp findcol__B11
|
jmp findcol__B11
|
||||||
findcol__B6:
|
findcol__B6:
|
||||||
|
txa
|
||||||
sec
|
sec
|
||||||
sbc 11
|
sbc 9
|
||||||
sta 9
|
sta 7
|
||||||
findcol__B8_from_B6:
|
findcol__B8_from_B6:
|
||||||
jmp findcol__B8
|
jmp findcol__B8
|
||||||
findcol__B2:
|
findcol__B2:
|
||||||
cpx 12
|
lda 10
|
||||||
|
cmp 11
|
||||||
beq findcol__Breturn_from_B2
|
beq findcol__Breturn_from_B2
|
||||||
jmp findcol__B3
|
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:
|
addpoint:
|
||||||
sta 4096,y
|
sta 4096,y
|
||||||
txa
|
txa
|
||||||
|
@ -19,172 +19,183 @@ main::@6: from main::@5
|
|||||||
to:main::@7
|
to:main::@7
|
||||||
main::@7: from main::@6
|
main::@7: from main::@6
|
||||||
[6] call addpoint param-assignment [ findcol::return#0 ]
|
[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
|
to:main::@1
|
||||||
main::@1: from main::@10 main::@7
|
main::@1: from main::@11 main::@8
|
||||||
[7] call render param-assignment [ findcol::return#0 ]
|
[8] call render param-assignment [ findcol::return#0 ]
|
||||||
to:main::@9
|
|
||||||
main::@9: from main::@1
|
|
||||||
[8] call animate param-assignment [ findcol::return#0 ]
|
|
||||||
to:main::@10
|
to:main::@10
|
||||||
main::@10: from main::@9
|
main::@10: from main::@1
|
||||||
[9] if(true) goto main::@1 [ findcol::return#0 ]
|
[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
|
to:main::@return
|
||||||
main::@return: from main::@10
|
main::@return: from main::@11
|
||||||
[10] return [ findcol::return#0 ]
|
[11] return [ findcol::return#0 ]
|
||||||
to:@RETURN
|
to:@RETURN
|
||||||
animate: from main::@9
|
animate: from main::@10
|
||||||
[11] (byte~) animate::$0 ← * (word) 4096 [ animate::$0 findcol::return#0 ]
|
[12] (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] (byte~) animate::$1 ← (byte~) animate::$0 + (byte) 1 [ animate::$1 findcol::return#0 ]
|
||||||
[13] *((word) 4096) ← (byte~) animate::$1 [ findcol::return#0 ]
|
[14] *((word) 4096) ← (byte~) animate::$1 [ findcol::return#0 ]
|
||||||
[14] (byte~) animate::$2 ← * (word) 4096 [ animate::$2 findcol::return#0 ]
|
[15] (byte~) animate::$2 ← * (word) 4096 [ animate::$2 findcol::return#0 ]
|
||||||
[15] if((byte~) animate::$2==(byte) 40) goto animate::@1 [ findcol::return#0 ]
|
[16] if((byte~) animate::$2==(byte) 40) goto animate::@1 [ findcol::return#0 ]
|
||||||
to:animate::@2
|
to:animate::@2
|
||||||
animate::@2: from animate animate::@1
|
animate::@2: from animate animate::@1
|
||||||
[16] (byte~) animate::$4 ← * (word) 4352 [ animate::$4 findcol::return#0 ]
|
[17] (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] (byte~) animate::$5 ← (byte~) animate::$4 + (byte) 1 [ animate::$5 findcol::return#0 ]
|
||||||
[18] *((word) 4352) ← (byte~) animate::$5 [ findcol::return#0 ]
|
[19] *((word) 4352) ← (byte~) animate::$5 [ findcol::return#0 ]
|
||||||
[19] (byte~) animate::$6 ← * (word) 4352 [ animate::$6 findcol::return#0 ]
|
[20] (byte~) animate::$6 ← * (word) 4352 [ animate::$6 findcol::return#0 ]
|
||||||
[20] if((byte~) animate::$6==(byte) 25) goto animate::@3 [ findcol::return#0 ]
|
[21] if((byte~) animate::$6==(byte) 25) goto animate::@3 [ findcol::return#0 ]
|
||||||
to:animate::@4
|
to:animate::@4
|
||||||
animate::@4: from animate::@2 animate::@3
|
animate::@4: from animate::@2 animate::@3
|
||||||
[21] (byte~) animate::$8 ← * (word) 4097 [ animate::$8 findcol::return#0 ]
|
[22] (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] (byte~) animate::$9 ← (byte~) animate::$8 - (byte) 1 [ animate::$9 findcol::return#0 ]
|
||||||
[23] *((word) 4097) ← (byte~) animate::$9 [ findcol::return#0 ]
|
[24] *((word) 4097) ← (byte~) animate::$9 [ findcol::return#0 ]
|
||||||
[24] (byte~) animate::$10 ← * (word) 4097 [ animate::$10 findcol::return#0 ]
|
[25] (byte~) animate::$10 ← * (word) 4097 [ animate::$10 findcol::return#0 ]
|
||||||
[25] if((byte~) animate::$10==(byte) 255) goto animate::@5 [ findcol::return#0 ]
|
[26] if((byte~) animate::$10==(byte) 255) goto animate::@5 [ findcol::return#0 ]
|
||||||
to:animate::@6
|
to:animate::@6
|
||||||
animate::@6: from animate::@4 animate::@5
|
animate::@6: from animate::@4 animate::@5
|
||||||
[26] (byte~) animate::$12 ← * (word) 4354 [ animate::$12 findcol::return#0 ]
|
[27] (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] (byte~) animate::$13 ← (byte~) animate::$12 + (byte) 1 [ animate::$13 findcol::return#0 ]
|
||||||
[28] *((word) 4354) ← (byte~) animate::$13 [ findcol::return#0 ]
|
[29] *((word) 4354) ← (byte~) animate::$13 [ findcol::return#0 ]
|
||||||
[29] (byte~) animate::$14 ← * (word) 4354 [ animate::$14 findcol::return#0 ]
|
[30] (byte~) animate::$14 ← * (word) 4354 [ animate::$14 findcol::return#0 ]
|
||||||
[30] if((byte~) animate::$14==(byte) 25) goto animate::@7 [ findcol::return#0 ]
|
[31] if((byte~) animate::$14==(byte) 25) goto animate::@7 [ findcol::return#0 ]
|
||||||
to:animate::@8
|
to:animate::@8
|
||||||
animate::@8: from animate::@6 animate::@7
|
animate::@8: from animate::@6 animate::@7
|
||||||
[31] (byte~) animate::$16 ← * (word) 4355 [ animate::$16 findcol::return#0 ]
|
[32] (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] (byte~) animate::$17 ← (byte~) animate::$16 - (byte) 1 [ animate::$17 findcol::return#0 ]
|
||||||
[33] *((word) 4355) ← (byte~) animate::$17 [ findcol::return#0 ]
|
[34] *((word) 4355) ← (byte~) animate::$17 [ findcol::return#0 ]
|
||||||
[34] (byte~) animate::$18 ← * (word) 4355 [ animate::$18 findcol::return#0 ]
|
[35] (byte~) animate::$18 ← * (word) 4355 [ animate::$18 findcol::return#0 ]
|
||||||
[35] if((byte~) animate::$18==(byte) 255) goto animate::@9 [ findcol::return#0 ]
|
[36] if((byte~) animate::$18==(byte) 255) goto animate::@9 [ findcol::return#0 ]
|
||||||
to:animate::@return
|
to:animate::@return
|
||||||
animate::@return: from animate::@11 animate::@8 animate::@9
|
animate::@return: from animate::@11 animate::@8 animate::@9
|
||||||
[36] return [ findcol::return#0 ]
|
[37] return [ findcol::return#0 ]
|
||||||
to:@RETURN
|
to:@RETURN
|
||||||
animate::@9: from animate::@8
|
animate::@9: from animate::@8
|
||||||
[37] *((word) 4355) ← (byte) 25 [ findcol::return#0 ]
|
[38] *((word) 4355) ← (byte) 25 [ findcol::return#0 ]
|
||||||
[38] (byte~) animate::$20 ← * (word) 4099 [ animate::$20 findcol::return#0 ]
|
[39] (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] (byte~) animate::$21 ← (byte~) animate::$20 + (byte) 7 [ animate::$21 findcol::return#0 ]
|
||||||
[40] *((word) 4099) ← (byte~) animate::$21 [ findcol::return#0 ]
|
[41] *((word) 4099) ← (byte~) animate::$21 [ findcol::return#0 ]
|
||||||
[41] (byte~) animate::$22 ← * (word) 4099 [ animate::$22 findcol::return#0 ]
|
[42] (byte~) animate::$22 ← * (word) 4099 [ animate::$22 findcol::return#0 ]
|
||||||
[42] if((byte~) animate::$22>=(byte) 40) goto animate::@11 [ findcol::return#0 ]
|
[43] if((byte~) animate::$22>=(byte) 40) goto animate::@11 [ findcol::return#0 ]
|
||||||
to:animate::@return
|
to:animate::@return
|
||||||
animate::@11: from animate::@9
|
animate::@11: from animate::@9
|
||||||
[43] (byte~) animate::$24 ← * (word) 4099 [ animate::$24 findcol::return#0 ]
|
[44] (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] (byte~) animate::$25 ← (byte~) animate::$24 - (byte) 40 [ animate::$25 findcol::return#0 ]
|
||||||
[45] *((word) 4099) ← (byte~) animate::$25 [ findcol::return#0 ]
|
[46] *((word) 4099) ← (byte~) animate::$25 [ findcol::return#0 ]
|
||||||
to:animate::@return
|
to:animate::@return
|
||||||
animate::@7: from animate::@6
|
animate::@7: from animate::@6
|
||||||
[46] *((word) 4354) ← (byte) 0 [ findcol::return#0 ]
|
[47] *((word) 4354) ← (byte) 0 [ findcol::return#0 ]
|
||||||
to:animate::@8
|
to:animate::@8
|
||||||
animate::@5: from animate::@4
|
animate::@5: from animate::@4
|
||||||
[47] *((word) 4097) ← (byte) 40 [ findcol::return#0 ]
|
[48] *((word) 4097) ← (byte) 40 [ findcol::return#0 ]
|
||||||
to:animate::@6
|
to:animate::@6
|
||||||
animate::@3: from animate::@2
|
animate::@3: from animate::@2
|
||||||
[48] *((word) 4352) ← (byte) 0 [ findcol::return#0 ]
|
[49] *((word) 4352) ← (byte) 0 [ findcol::return#0 ]
|
||||||
to:animate::@4
|
to:animate::@4
|
||||||
animate::@1: from animate
|
animate::@1: from animate
|
||||||
[49] *((word) 4096) ← (byte) 0 [ findcol::return#0 ]
|
[50] *((word) 4096) ← (byte) 0 [ findcol::return#0 ]
|
||||||
to:animate::@2
|
to:animate::@2
|
||||||
render: from main::@1
|
render: from main::@1
|
||||||
to:render::@1
|
to:render::@1
|
||||||
render::@1: from render render::@3
|
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 ]
|
[51] (byte*) render::colline#2 ← phi( render/(word) 55296 render::@3/(byte*) render::colline#1 ) [ render::y#2 findcol::return#0 render::colline#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 ]
|
[51] (byte) render::y#2 ← phi( render/(byte) 0 render::@3/(byte) render::y#1 ) [ render::y#2 findcol::return#0 render::colline#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 ]
|
|
||||||
to:render::@2
|
to:render::@2
|
||||||
render::@2: from render::@1 render::@5
|
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) 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 ]
|
||||||
[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::x#0 ← (byte) render::x#2 [ render::x#2 render::y#2 findcol::return#0 render::colline#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] (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 ]
|
||||||
[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 ]
|
[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
|
to:render::@5
|
||||||
render::@5: from render::@2
|
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::col#0 ← (byte) findcol::return#0 [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::col#0 ]
|
||||||
[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::colline#2 + (byte) render::x#2) ← (byte) render::col#0 [ render::x#2 render::y#2 findcol::return#0 render::colline#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 ]
|
||||||
[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 ]
|
||||||
[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 ]
|
|
||||||
to:render::@3
|
to:render::@3
|
||||||
render::@3: from render::@5
|
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 ]
|
[60] (byte*) render::colline#1 ← (byte*) render::colline#2 + (byte) 40 [ render::colline#1 render::y#2 findcol::return#0 ]
|
||||||
[61] (byte*) render::colline#1 ← (byte*) render::colline#2 + (byte) 40 [ render::colline#1 render::chrline#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] (byte) render::y#1 ← ++ (byte) render::y#2 [ render::y#1 render::colline#1 render::chrline#1 findcol::return#0 ]
|
[62] if((byte) render::y#1<(byte) 25) goto render::@1 [ render::y#1 render::colline#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 ]
|
|
||||||
to:render::@return
|
to:render::@return
|
||||||
render::@return: from render::@3
|
render::@return: from render::@3
|
||||||
[64] return [ findcol::return#0 ]
|
[63] return [ findcol::return#0 ]
|
||||||
to:@RETURN
|
to:@RETURN
|
||||||
findcol: from render::@2
|
findcol: from render::@2
|
||||||
to:findcol::@1
|
to:findcol::@1
|
||||||
findcol::@1: from findcol findcol::@13
|
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 ]
|
[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 ]
|
||||||
[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 ]
|
[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 ]
|
||||||
[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 ]
|
[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 ]
|
||||||
[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 ]
|
[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 ]
|
||||||
[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 ]
|
[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 ]
|
||||||
[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 ]
|
[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
|
to:findcol::@3
|
||||||
findcol::@3: from findcol::@1 findcol::@2
|
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
|
to:findcol::@7
|
||||||
findcol::@7: from findcol::@3
|
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
|
to:findcol::@8
|
||||||
findcol::@8: from findcol::@6 findcol::@7
|
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 ]
|
[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 ]
|
||||||
[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 ]
|
[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
|
to:findcol::@10
|
||||||
findcol::@10: from findcol::@8
|
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 ]
|
[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 ]
|
||||||
[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 ]
|
[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
|
to:findcol::@11
|
||||||
findcol::@11: from findcol::@10 findcol::@9
|
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 ]
|
[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 ]
|
||||||
[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 ]
|
[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
|
to:findcol::@13
|
||||||
findcol::@13: from findcol::@11 findcol::@12
|
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 ]
|
[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 ]
|
||||||
[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 ]
|
[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 ]
|
||||||
[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 ]
|
[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 ]
|
||||||
[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 ]
|
[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
|
to:findcol::@return
|
||||||
findcol::@return: from findcol::@13 findcol::@2
|
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 ]
|
[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 ]
|
||||||
[81] return [ render::x#2 render::y#2 findcol::return#0 render::colline#2 render::chrline#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
|
to:@RETURN
|
||||||
findcol::@12: from findcol::@11
|
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 ]
|
[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 ]
|
||||||
[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 ]
|
[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
|
to:findcol::@13
|
||||||
findcol::@9: from findcol::@8
|
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 ]
|
[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 ]
|
||||||
[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 ]
|
[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
|
to:findcol::@11
|
||||||
findcol::@6: from findcol::@3
|
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
|
to:findcol::@8
|
||||||
findcol::@2: from findcol::@1
|
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
|
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
|
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 ]
|
[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 ]
|
||||||
[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 ]
|
[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 ]
|
||||||
[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 ]
|
[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 ]
|
||||||
[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 ]
|
[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 ]
|
||||||
[89] *((word) 4096 + (byte) addpoint::idx#6) ← (byte) addpoint::x#6 [ findcol::return#0 addpoint::idx#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 ]
|
||||||
[90] *((word) 4352 + (byte) addpoint::idx#6) ← (byte) addpoint::y#6 [ findcol::return#0 addpoint::idx#6 addpoint::c#6 ]
|
[94] *((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 ]
|
[95] *((word) 4608 + (byte) addpoint::idx#6) ← (byte) addpoint::c#6 [ findcol::return#0 ]
|
||||||
to:addpoint::@return
|
to:addpoint::@return
|
||||||
addpoint::@return: from addpoint
|
addpoint::@return: from addpoint
|
||||||
[92] return [ findcol::return#0 ]
|
[96] return [ findcol::return#0 ]
|
||||||
to:@RETURN
|
to:@RETURN
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -64,42 +64,49 @@
|
|||||||
(label) findcol::@9
|
(label) findcol::@9
|
||||||
(label) findcol::@return
|
(label) findcol::@return
|
||||||
(byte) findcol::diff
|
(byte) findcol::diff
|
||||||
(byte) findcol::diff#0 zp byte:9 20002.0
|
(byte) findcol::diff#0 zp byte:7 20002.0
|
||||||
(byte) findcol::diff#1 zp byte:9 20002.0
|
(byte) findcol::diff#1 zp byte:7 20002.0
|
||||||
(byte~) findcol::diff#13 zp byte:8 20002.0
|
(byte~) findcol::diff#13 zp byte:6 20002.0
|
||||||
(byte) findcol::diff#2 reg byte x 20002.0
|
(byte) findcol::diff#2 reg byte x 20002.0
|
||||||
(byte) findcol::diff#3 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::diff#6 reg byte x 13334.666666666666
|
||||||
(byte) findcol::i
|
(byte) findcol::i
|
||||||
(byte) findcol::i#1 reg byte y 15001.5
|
(byte) findcol::i#1 reg byte y 15001.5
|
||||||
(byte) findcol::i#12 reg byte y 2631.842105263158
|
(byte) findcol::i#12 reg byte y 2631.842105263158
|
||||||
(byte) findcol::mincol
|
(byte) findcol::mincol
|
||||||
(byte) findcol::mincol#1 zp byte:10 10001.0
|
(byte) findcol::mincol#1 zp byte:8 10001.0
|
||||||
(byte) findcol::mincol#11 zp byte:10 1250.125
|
(byte) findcol::mincol#11 zp byte:8 1250.125
|
||||||
(byte) findcol::mincol#2 zp byte:10 13334.666666666666
|
(byte) findcol::mincol#2 zp byte:8 13334.666666666666
|
||||||
(byte) findcol::mindiff
|
(byte) findcol::mindiff
|
||||||
(byte) findcol::mindiff#10 zp byte:8 1875.1875
|
(byte) findcol::mindiff#10 zp byte:6 1875.1875
|
||||||
(byte) findcol::mindiff#11 zp byte:8 10001.0
|
(byte) findcol::mindiff#11 zp byte:6 10001.0
|
||||||
(byte) findcol::return
|
(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
|
||||||
(byte) findcol::x#0 zp byte:11 1577.1153846153845
|
(byte) findcol::x#0 zp byte:9 1577.1153846153845
|
||||||
(byte) findcol::xp
|
(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
|
||||||
(byte) findcol::y#0 zp byte:12 1640.2
|
(byte) findcol::y#0 zp byte:10 1640.2
|
||||||
(byte) findcol::yp
|
(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()
|
(void()) main()
|
||||||
(label) main::@1
|
(label) main::@1
|
||||||
(label) main::@10
|
(label) main::@10
|
||||||
|
(label) main::@11
|
||||||
(label) main::@3
|
(label) main::@3
|
||||||
(label) main::@4
|
(label) main::@4
|
||||||
(label) main::@5
|
(label) main::@5
|
||||||
(label) main::@6
|
(label) main::@6
|
||||||
(label) main::@7
|
(label) main::@7
|
||||||
(label) main::@9
|
(label) main::@8
|
||||||
(label) main::@return
|
(label) main::@return
|
||||||
(byte) numpoints
|
(byte) numpoints
|
||||||
(void()) render()
|
(void()) render()
|
||||||
@ -108,30 +115,26 @@
|
|||||||
(label) render::@3
|
(label) render::@3
|
||||||
(label) render::@5
|
(label) render::@5
|
||||||
(label) render::@return
|
(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
|
||||||
(byte) render::col#0 reg byte a 2002.0
|
(byte) render::col#0 reg byte a 2002.0
|
||||||
(byte*) render::colline
|
(byte*) render::colline
|
||||||
(byte*) render::colline#1 zp ptr byte:3 67.33333333333333
|
(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
|
||||||
(byte) render::x#1 zp byte:7 1501.5
|
(byte) render::x#1 zp byte:5 1501.5
|
||||||
(byte) render::x#2 zp byte:7 166.83333333333334
|
(byte) render::x#2 zp byte:5 138.06896551724137
|
||||||
(byte) render::y
|
(byte) render::y
|
||||||
(byte) render::y#1 zp byte:2 151.5
|
(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 byte:2 [ render::y#2 render::y#1 addpoint::c#6 ]
|
||||||
zp ptr byte:3 [ render::colline#2 render::colline#1 ]
|
zp ptr byte:3 [ render::colline#2 render::colline#1 initscreen::screen#2 initscreen::screen#1 ]
|
||||||
zp ptr byte:5 [ render::chrline#2 render::chrline#1 ]
|
zp byte:5 [ render::x#2 render::x#1 ]
|
||||||
zp byte:7 [ render::x#2 render::x#1 ]
|
|
||||||
reg byte y [ findcol::i#12 findcol::i#1 ]
|
reg byte y [ findcol::i#12 findcol::i#1 ]
|
||||||
zp byte:8 [ findcol::mindiff#10 findcol::mindiff#11 findcol::diff#13 ]
|
zp byte:6 [ findcol::mindiff#10 findcol::mindiff#11 findcol::diff#13 ]
|
||||||
zp byte:9 [ findcol::diff#4 findcol::diff#0 findcol::diff#1 ]
|
zp byte:7 [ findcol::diff#4 findcol::diff#0 findcol::diff#1 ]
|
||||||
reg byte x [ findcol::diff#6 findcol::diff#3 findcol::diff#2 ]
|
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 a [ addpoint::x#6 ]
|
||||||
reg byte y [ addpoint::idx#6 ]
|
reg byte y [ addpoint::idx#6 ]
|
||||||
reg byte x [ addpoint::y#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::$22 ]
|
||||||
reg byte a [ animate::$24 ]
|
reg byte a [ animate::$24 ]
|
||||||
reg byte a [ animate::$25 ]
|
reg byte a [ animate::$25 ]
|
||||||
zp byte:11 [ findcol::x#0 ]
|
zp byte:9 [ findcol::x#0 ]
|
||||||
zp byte:12 [ findcol::y#0 ]
|
zp byte:10 [ findcol::y#0 ]
|
||||||
reg byte a [ render::col#0 ]
|
reg byte a [ render::col#0 ]
|
||||||
reg byte a [ findcol::xp#0 ]
|
reg byte x [ findcol::xp#0 ]
|
||||||
reg byte x [ findcol::yp#0 ]
|
zp byte:11 [ findcol::yp#0 ]
|
||||||
reg byte a [ findcol::$10 ]
|
reg byte a [ findcol::$10 ]
|
||||||
reg byte a [ findcol::$8 ]
|
reg byte a [ findcol::$8 ]
|
||||||
|
@ -21,6 +21,7 @@ void main() {
|
|||||||
addpoint(3, 34, 2, 4);
|
addpoint(3, 34, 2, 4);
|
||||||
addpoint(4, 21, 17, 5);
|
addpoint(4, 21, 17, 5);
|
||||||
addpoint(5, 31, 22, 7);
|
addpoint(5, 31, 22, 7);
|
||||||
|
initscreen();
|
||||||
do {
|
do {
|
||||||
render();
|
render();
|
||||||
animate();
|
animate();
|
||||||
@ -60,8 +61,15 @@ void addpoint(byte idx, byte x, byte y, byte c) {
|
|||||||
COLS[idx] = c;
|
COLS[idx] = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void initscreen() {
|
||||||
|
byte* screen = SCREEN;
|
||||||
|
do {
|
||||||
|
*screen = FILL;
|
||||||
|
} while(++screen<$0800)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void render() {
|
void render() {
|
||||||
byte* chrline = SCREEN;
|
|
||||||
byte* colline = COLORS;
|
byte* colline = COLORS;
|
||||||
byte y=0;
|
byte y=0;
|
||||||
do {
|
do {
|
||||||
@ -69,9 +77,7 @@ void render() {
|
|||||||
do {
|
do {
|
||||||
byte col = findcol(x, y);
|
byte col = findcol(x, y);
|
||||||
colline[x] = col;
|
colline[x] = col;
|
||||||
chrline[x] = FILL;
|
|
||||||
} while(++x < 40)
|
} while(++x < 40)
|
||||||
chrline = chrline+40;
|
|
||||||
colline = colline+40;
|
colline = colline+40;
|
||||||
} while(++y < 25)
|
} while(++y < 25)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user