1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-12-01 00:51:12 +00:00

Improved movement. Added fragment.

This commit is contained in:
jespergravgaard 2019-06-16 01:06:52 +02:00
parent ba9b11f77b
commit bbbb25d9b1
6 changed files with 3224 additions and 3028 deletions

View File

@ -0,0 +1,8 @@
clc
lda ({z1}),y
adc {c1},x
sta ({z1}),y
iny
lda ({z1}),y
adc {c1}+1,x
sta ({z1}),y

View File

@ -139,7 +139,7 @@ void startProcessing(struct ProcessingChar center) {
word spriteY = (BORDER_YPOS_TOP + (word)center.y*8) << 4; word spriteY = (BORDER_YPOS_TOP + (word)center.y*8) << 4;
byte spritePtr = (byte)(SPRITE_DATA/64)+spriteIdx; byte spritePtr = (byte)(SPRITE_DATA/64)+spriteIdx;
// Put the sprite into the PROCESSING array // Put the sprite into the PROCESSING array
PROCESSING[spriteIdx] = { spriteX, spriteY, 60, 60, spriteIdx, spritePtr, STATUS_NEW, screenPtr }; PROCESSING[spriteIdx] = { spriteX, spriteY, (word)(spriteIdx*8), 60, spriteIdx, spritePtr, STATUS_NEW, screenPtr };
} }
const word XPOS_LEFTMOST = (word)(BORDER_XPOS_LEFT-8)<<4; const word XPOS_LEFTMOST = (word)(BORDER_XPOS_LEFT-8)<<4;
@ -194,16 +194,16 @@ void processChars() {
*SPRITES_ENABLE &= 0xff ^ bitmask; *SPRITES_ENABLE &= 0xff ^ bitmask;
} else { } else {
byte xchar = (byte)(xpos/8) - BORDER_XPOS_LEFT/8; byte xchar = (byte)(xpos/8) - BORDER_XPOS_LEFT/8;
processing->vx = processing->vx + VXSIN[xchar]; processing->vx += VXSIN[xchar];
processing->x += processing->vx; processing->x += processing->vx;
byte ychar = (byte)(ypos/8) - BORDER_YPOS_TOP/8; byte ychar = (byte)(ypos/8) - BORDER_YPOS_TOP/8;
processing->vy = processing->vy + VYSIN[ychar]; processing->vy += VYSIN[ychar];
processing->y += processing->vy; processing->y += processing->vy;
} }
numActive++; numActive++;
} }
} }
//*(SCREEN+999) = '0'+numActive; *(SCREEN+999) = '0'+numActive;
} }
// SQUARES_X[i] = (i-20)*(i-20) // SQUARES_X[i] = (i-20)*(i-20)

View File

@ -166,33 +166,34 @@ main: {
jmp b3 jmp b3
} }
// Start processing a char - by inserting it into the PROCESSING array // Start processing a char - by inserting it into the PROCESSING array
// startProcessing(byte zeropage($1f) center_x, byte zeropage($20) center_y) // startProcessing(byte zeropage($20) center_x, byte zeropage($21) center_y)
startProcessing: { startProcessing: {
.label _0 = $21 .label _0 = $22
.label _1 = $21 .label _1 = $22
.label _2 = $21 .label _2 = $22
.label _4 = $a .label _4 = $a
.label _5 = $a .label _5 = $a
.label _7 = 8 .label _7 = 8
.label _8 = 8 .label _8 = 8
.label _10 = $27 .label _10 = $28
.label _11 = $27 .label _11 = $28
.label _12 = $27 .label _12 = $28
.label _14 = $29 .label _14 = $2a
.label _15 = $29 .label _15 = $2a
.label _16 = $29 .label _16 = $2a
.label center_x = $1f .label _22 = $2d
.label center_y = $20 .label center_x = $20
.label center_y = $21
.label i = 7 .label i = 7
.label screenPtr = $25 .label screenPtr = $26
.label spriteData = $a .label spriteData = $a
.label chargenData = 8 .label chargenData = 8
.label spriteX = $27 .label spriteX = $28
.label spriteY = $29 .label spriteY = $2a
.label spritePtr = $2b .label spritePtr = $2c
.label freeIdx = 7 .label freeIdx = 7
.label _42 = $23 .label _44 = $24
.label _43 = $21 .label _45 = $22
ldx #$ff ldx #$ff
b1: b1:
lda #0 lda #0
@ -224,19 +225,19 @@ startProcessing: {
sta _0+1 sta _0+1
lda _0 lda _0
asl asl
sta _42 sta _44
lda _0+1 lda _0+1
rol rol
sta _42+1 sta _44+1
asl _42 asl _44
rol _42+1 rol _44+1
lda _43 lda _45
clc clc
adc _42 adc _44
sta _43 sta _45
lda _43+1 lda _45+1
adc _42+1 adc _44+1
sta _43+1 sta _45+1
asl _1 asl _1
rol _1+1 rol _1+1
asl _1 asl _1
@ -378,6 +379,13 @@ startProcessing: {
stx spritePtr stx spritePtr
lda freeIdx lda freeIdx
asl asl
asl
asl
sta _22
lda #0
sta _22+1
lda freeIdx
asl
clc clc
adc freeIdx adc freeIdx
asl asl
@ -393,9 +401,9 @@ startProcessing: {
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_Y,x sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_Y,x
lda spriteY+1 lda spriteY+1
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_Y+1,x sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_Y+1,x
lda #$3c lda _22
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_VX,x sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_VX,x
lda #0 lda _22+1
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_VX+1,x sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_VX+1,x
lda #$3c lda #$3c
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_VY,x sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_VY,x
@ -428,9 +436,9 @@ startProcessing: {
// Find the non-space char closest to the center of the screen // Find the non-space char closest to the center of the screen
// If no non-space char is found the distance will be 0xffff // If no non-space char is found the distance will be 0xffff
getCharToProcess: { getCharToProcess: {
.label _9 = $2c .label _9 = $2f
.label _10 = $2c .label _10 = $2f
.label _11 = $2c .label _11 = $2f
.label return_dist = $14 .label return_dist = $14
.label x = $f .label x = $f
.label dist = $14 .label dist = $14
@ -441,8 +449,8 @@ getCharToProcess: {
.label closest_dist = $10 .label closest_dist = $10
.label closest_x = $12 .label closest_x = $12
.label closest_y = $13 .label closest_y = $13
.label _15 = $2e .label _15 = $31
.label _16 = $2c .label _16 = $2f
lda #0 lda #0
sta closest_y sta closest_y
sta closest_x sta closest_x
@ -778,16 +786,16 @@ irqBottom: {
} }
// Process any chars in the PROCESSING array // Process any chars in the PROCESSING array
processChars: { processChars: {
.label _14 = $35 .label _16 = $38
.label _24 = $33 .label _26 = $36
.label _28 = $38 .label processing = $33
.label _33 = $3a .label bitmask = $35
.label processing = $30
.label bitmask = $32
.label i = $1e .label i = $1e
.label xpos = $33 .label xpos = $36
.label ypos = $37 .label ypos = $3a
.label numActive = $1f
lda #0 lda #0
sta numActive
sta i sta i
b1: b1:
lda i lda i
@ -886,19 +894,19 @@ processChars: {
sta SPRITES_XPOS,x sta SPRITES_XPOS,x
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_Y ldy #OFFSET_STRUCT_PROCESSINGSPRITE_Y
lda (processing),y lda (processing),y
sta _14 sta _16
iny iny
lda (processing),y lda (processing),y
sta _14+1 sta _16+1
lsr _14+1 lsr _16+1
ror _14 ror _16
lsr _14+1 lsr _16+1
ror _14 ror _16
lsr _14+1 lsr _16+1
ror _14 ror _16
lsr _14+1 lsr _16+1
ror _14 ror _16
lda _14 lda _16
sta ypos sta ypos
sta SPRITES_YPOS,x sta SPRITES_YPOS,x
// Move sprite // Move sprite
@ -960,31 +968,25 @@ processChars: {
jmp b6 jmp b6
!b6: !b6:
!: !:
lsr _24+1 lsr _26+1
ror _24 ror _26
lsr _24+1 lsr _26+1
ror _24 ror _26
lsr _24+1 lsr _26+1
ror _24 ror _26
lda _24 lda _26
sec sec
sbc #BORDER_XPOS_LEFT/8 sbc #BORDER_XPOS_LEFT/8
asl asl
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_VX ldy #OFFSET_STRUCT_PROCESSINGSPRITE_VX
tax tax
lda (processing),y
clc clc
lda (processing),y
adc VXSIN,x adc VXSIN,x
sta _28 sta (processing),y
iny iny
lda (processing),y lda (processing),y
adc VXSIN+1,x adc VXSIN+1,x
sta _28+1
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_VX
lda _28
sta (processing),y
iny
lda _28+1
sta (processing),y sta (processing),y
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_VX ldy #OFFSET_STRUCT_PROCESSINGSPRITE_VX
sty $ff sty $ff
@ -1008,19 +1010,13 @@ processChars: {
asl asl
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_VY ldy #OFFSET_STRUCT_PROCESSINGSPRITE_VY
tax tax
lda (processing),y
clc clc
lda (processing),y
adc VYSIN,x adc VYSIN,x
sta _33 sta (processing),y
iny iny
lda (processing),y lda (processing),y
adc VYSIN+1,x adc VYSIN+1,x
sta _33+1
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_VY
lda _33
sta (processing),y
iny
lda _33+1
sta (processing),y sta (processing),y
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_VY ldy #OFFSET_STRUCT_PROCESSINGSPRITE_VY
clc clc
@ -1033,6 +1029,8 @@ processChars: {
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_Y+1 ldy #OFFSET_STRUCT_PROCESSINGSPRITE_Y+1
adc (processing),y adc (processing),y
sta (processing),y sta (processing),y
b7:
inc numActive
b2: b2:
inc i inc i
lda #NUM_PROCESSING-1+1 lda #NUM_PROCESSING-1+1
@ -1040,6 +1038,9 @@ processChars: {
beq !b1+ beq !b1+
jmp b1 jmp b1
!b1: !b1:
lax numActive
axs #-['0']
stx SCREEN+$3e7
rts rts
b6: b6:
// Set status to FREE // Set status to FREE
@ -1051,7 +1052,7 @@ processChars: {
// Disable the sprite // Disable the sprite
and SPRITES_ENABLE and SPRITES_ENABLE
sta SPRITES_ENABLE sta SPRITES_ENABLE
jmp b2 jmp b7
b4: b4:
lda SPRITES_XMSB lda SPRITES_XMSB
ora bitmask ora bitmask

View File

@ -86,11 +86,11 @@ startProcessing::@1: scope:[startProcessing] from startProcessing startProcessi
to:startProcessing::@2 to:startProcessing::@2
startProcessing::@2: scope:[startProcessing] from startProcessing::@1 startProcessing::@3 startProcessing::@2: scope:[startProcessing] from startProcessing::@1 startProcessing::@3
[48] (byte) startProcessing::i#2 ← phi( startProcessing::@1/(byte) 0 startProcessing::@3/(byte) startProcessing::i#1 ) [48] (byte) startProcessing::i#2 ← phi( startProcessing::@1/(byte) 0 startProcessing::@3/(byte) startProcessing::i#1 )
[49] (byte) startProcessing::$38 ← (byte) startProcessing::i#2 << (byte) 1 [49] (byte) startProcessing::$40 ← (byte) startProcessing::i#2 << (byte) 1
[50] (byte) startProcessing::$39 ← (byte) startProcessing::$38 + (byte) startProcessing::i#2 [50] (byte) startProcessing::$41 ← (byte) startProcessing::$40 + (byte) startProcessing::i#2
[51] (byte) startProcessing::$40 ← (byte) startProcessing::$39 << (byte) 2 [51] (byte) startProcessing::$42 ← (byte) startProcessing::$41 << (byte) 2
[52] (byte~) startProcessing::$27 ← (byte) startProcessing::$40 + (byte) startProcessing::i#2 [52] (byte~) startProcessing::$29 ← (byte) startProcessing::$42 + (byte) startProcessing::i#2
[53] if(*((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS + (byte~) startProcessing::$27)!=(const byte) STATUS_FREE#0) goto startProcessing::@3 [53] if(*((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS + (byte~) startProcessing::$29)!=(const byte) STATUS_FREE#0) goto startProcessing::@3
to:startProcessing::@4 to:startProcessing::@4
startProcessing::@4: scope:[startProcessing] from startProcessing::@2 startProcessing::@9 startProcessing::@4: scope:[startProcessing] from startProcessing::@2 startProcessing::@9
[54] (byte) startProcessing::freeIdx#2 ← phi( startProcessing::@9/(byte~) startProcessing::freeIdx#8 startProcessing::@2/(byte) startProcessing::i#2 ) [54] (byte) startProcessing::freeIdx#2 ← phi( startProcessing::@9/(byte~) startProcessing::freeIdx#8 startProcessing::@2/(byte) startProcessing::i#2 )
@ -98,9 +98,9 @@ startProcessing::@4: scope:[startProcessing] from startProcessing::@2 startProc
to:startProcessing::@5 to:startProcessing::@5
startProcessing::@5: scope:[startProcessing] from startProcessing::@4 startProcessing::@5: scope:[startProcessing] from startProcessing::@4
[56] (word~) startProcessing::$0 ← (word)(byte) startProcessing::center_y#0 [56] (word~) startProcessing::$0 ← (word)(byte) startProcessing::center_y#0
[57] (word) startProcessing::$42 ← (word~) startProcessing::$0 << (byte) 2 [57] (word) startProcessing::$44 ← (word~) startProcessing::$0 << (byte) 2
[58] (word) startProcessing::$43 ← (word) startProcessing::$42 + (word~) startProcessing::$0 [58] (word) startProcessing::$45 ← (word) startProcessing::$44 + (word~) startProcessing::$0
[59] (word~) startProcessing::$1 ← (word) startProcessing::$43 << (byte) 3 [59] (word~) startProcessing::$1 ← (word) startProcessing::$45 << (byte) 3
[60] (byte*~) startProcessing::$2 ← (const byte*) SCREEN#0 + (word~) startProcessing::$1 [60] (byte*~) startProcessing::$2 ← (const byte*) SCREEN#0 + (word~) startProcessing::$1
[61] (byte*) startProcessing::screenPtr#0 ← (byte*~) startProcessing::$2 + (byte) startProcessing::center_x#0 [61] (byte*) startProcessing::screenPtr#0 ← (byte*~) startProcessing::$2 + (byte) startProcessing::center_x#0
[62] (word~) startProcessing::$4 ← (word)(byte) startProcessing::freeIdx#2 [62] (word~) startProcessing::$4 ← (word)(byte) startProcessing::freeIdx#2
@ -135,334 +135,343 @@ startProcessing::@7: scope:[startProcessing] from startProcessing::@6
[85] (word~) startProcessing::$16 ← (const byte) BORDER_YPOS_TOP#0 + (word~) startProcessing::$15 [85] (word~) startProcessing::$16 ← (const byte) BORDER_YPOS_TOP#0 + (word~) startProcessing::$15
[86] (word) startProcessing::spriteY#0 ← (word~) startProcessing::$16 << (byte) 4 [86] (word) startProcessing::spriteY#0 ← (word~) startProcessing::$16 << (byte) 4
[87] (byte) startProcessing::spritePtr#0 ← (byte)(const byte*) SPRITE_DATA#0/(byte) $40 + (byte) startProcessing::freeIdx#2 [87] (byte) startProcessing::spritePtr#0 ← (byte)(const byte*) SPRITE_DATA#0/(byte) $40 + (byte) startProcessing::freeIdx#2
[88] (byte) startProcessing::$45 ← (byte) startProcessing::freeIdx#2 << (byte) 1 [88] (byte~) startProcessing::$21 ← (byte) startProcessing::freeIdx#2 << (byte) 3
[89] (byte) startProcessing::$46 ← (byte) startProcessing::$45 + (byte) startProcessing::freeIdx#2 [89] (word~) startProcessing::$22 ← (word)(byte~) startProcessing::$21
[90] (byte) startProcessing::$47 ← (byte) startProcessing::$46 << (byte) 2 [90] (byte) startProcessing::$47 ← (byte) startProcessing::freeIdx#2 << (byte) 1
[91] (byte~) startProcessing::$28 ← (byte) startProcessing::$47 + (byte) startProcessing::freeIdx#2 [91] (byte) startProcessing::$48 ← (byte) startProcessing::$47 + (byte) startProcessing::freeIdx#2
[92] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) startProcessing::$28) ← (word) startProcessing::spriteX#0 [92] (byte) startProcessing::$49 ← (byte) startProcessing::$48 << (byte) 2
[93] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y + (byte~) startProcessing::$28) ← (word) startProcessing::spriteY#0 [93] (byte~) startProcessing::$30 ← (byte) startProcessing::$49 + (byte) startProcessing::freeIdx#2
[94] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX + (byte~) startProcessing::$28) ← (byte) $3c [94] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) startProcessing::$30) ← (word) startProcessing::spriteX#0
[95] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY + (byte~) startProcessing::$28) ← (byte) $3c [95] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y + (byte~) startProcessing::$30) ← (word) startProcessing::spriteY#0
[96] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID + (byte~) startProcessing::$28) ← (byte) startProcessing::freeIdx#2 [96] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX + (byte~) startProcessing::$30) ← (word~) startProcessing::$22
[97] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR + (byte~) startProcessing::$28) ← (byte) startProcessing::spritePtr#0 [97] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY + (byte~) startProcessing::$30) ← (byte) $3c
[98] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS + (byte~) startProcessing::$28) ← (const byte) STATUS_NEW#0 [98] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID + (byte~) startProcessing::$30) ← (byte) startProcessing::freeIdx#2
[99] *((byte**)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR + (byte~) startProcessing::$28) ← (byte*) startProcessing::screenPtr#0 [99] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR + (byte~) startProcessing::$30) ← (byte) startProcessing::spritePtr#0
[100] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS + (byte~) startProcessing::$30) ← (const byte) STATUS_NEW#0
[101] *((byte**)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR + (byte~) startProcessing::$30) ← (byte*) startProcessing::screenPtr#0
to:startProcessing::@return to:startProcessing::@return
startProcessing::@return: scope:[startProcessing] from startProcessing::@7 startProcessing::@return: scope:[startProcessing] from startProcessing::@7
[100] return [102] return
to:@return to:@return
startProcessing::@8: scope:[startProcessing] from startProcessing::@4 startProcessing::@8: scope:[startProcessing] from startProcessing::@4
[101] (byte~) startProcessing::freeIdx#7 ← (byte) startProcessing::freeIdx#2 [103] (byte~) startProcessing::freeIdx#7 ← (byte) startProcessing::freeIdx#2
to:startProcessing::@1 to:startProcessing::@1
startProcessing::@3: scope:[startProcessing] from startProcessing::@2 startProcessing::@3: scope:[startProcessing] from startProcessing::@2
[102] (byte) startProcessing::i#1 ← ++ (byte) startProcessing::i#2 [104] (byte) startProcessing::i#1 ← ++ (byte) startProcessing::i#2
[103] if((byte) startProcessing::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto startProcessing::@2 [105] if((byte) startProcessing::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto startProcessing::@2
to:startProcessing::@9 to:startProcessing::@9
startProcessing::@9: scope:[startProcessing] from startProcessing::@3 startProcessing::@9: scope:[startProcessing] from startProcessing::@3
[104] (byte~) startProcessing::freeIdx#8 ← (byte) startProcessing::freeIdx#6 [106] (byte~) startProcessing::freeIdx#8 ← (byte) startProcessing::freeIdx#6
to:startProcessing::@4 to:startProcessing::@4
getCharToProcess: scope:[getCharToProcess] from main::@4 getCharToProcess: scope:[getCharToProcess] from main::@4
[105] phi() [107] phi()
to:getCharToProcess::@1 to:getCharToProcess::@1
getCharToProcess::@1: scope:[getCharToProcess] from getCharToProcess getCharToProcess::@9 getCharToProcess::@1: scope:[getCharToProcess] from getCharToProcess getCharToProcess::@9
[106] (byte) getCharToProcess::closest_y#9 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::return_y#1 ) [108] (byte) getCharToProcess::closest_y#9 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::return_y#1 )
[106] (byte) getCharToProcess::closest_x#9 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::return_x#1 ) [108] (byte) getCharToProcess::closest_x#9 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::return_x#1 )
[106] (word) getCharToProcess::closest_dist#8 ← phi( getCharToProcess/(const word) NOT_FOUND#0 getCharToProcess::@9/(word~) getCharToProcess::closest_dist#10 ) [108] (word) getCharToProcess::closest_dist#8 ← phi( getCharToProcess/(const word) NOT_FOUND#0 getCharToProcess::@9/(word~) getCharToProcess::closest_dist#10 )
[106] (byte) getCharToProcess::y#7 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::y#1 ) [108] (byte) getCharToProcess::y#7 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::y#1 )
[106] (byte*) getCharToProcess::screen_line#4 ← phi( getCharToProcess/(const byte[$3e8]) SCREEN_COPY#0 getCharToProcess::@9/(byte*) getCharToProcess::screen_line#1 ) [108] (byte*) getCharToProcess::screen_line#4 ← phi( getCharToProcess/(const byte[$3e8]) SCREEN_COPY#0 getCharToProcess::@9/(byte*) getCharToProcess::screen_line#1 )
to:getCharToProcess::@2 to:getCharToProcess::@2
getCharToProcess::@2: scope:[getCharToProcess] from getCharToProcess::@1 getCharToProcess::@10 getCharToProcess::@2: scope:[getCharToProcess] from getCharToProcess::@1 getCharToProcess::@10
[107] (byte) getCharToProcess::closest_y#7 ← phi( getCharToProcess::@1/(byte) getCharToProcess::closest_y#9 getCharToProcess::@10/(byte) getCharToProcess::return_y#1 ) [109] (byte) getCharToProcess::closest_y#7 ← phi( getCharToProcess::@1/(byte) getCharToProcess::closest_y#9 getCharToProcess::@10/(byte) getCharToProcess::return_y#1 )
[107] (byte) getCharToProcess::closest_x#7 ← phi( getCharToProcess::@1/(byte) getCharToProcess::closest_x#9 getCharToProcess::@10/(byte) getCharToProcess::return_x#1 ) [109] (byte) getCharToProcess::closest_x#7 ← phi( getCharToProcess::@1/(byte) getCharToProcess::closest_x#9 getCharToProcess::@10/(byte) getCharToProcess::return_x#1 )
[107] (word) getCharToProcess::closest_dist#2 ← phi( getCharToProcess::@1/(word) getCharToProcess::closest_dist#8 getCharToProcess::@10/(word~) getCharToProcess::closest_dist#12 ) [109] (word) getCharToProcess::closest_dist#2 ← phi( getCharToProcess::@1/(word) getCharToProcess::closest_dist#8 getCharToProcess::@10/(word~) getCharToProcess::closest_dist#12 )
[107] (byte) getCharToProcess::x#2 ← phi( getCharToProcess::@1/(byte) 0 getCharToProcess::@10/(byte) getCharToProcess::x#1 ) [109] (byte) getCharToProcess::x#2 ← phi( getCharToProcess::@1/(byte) 0 getCharToProcess::@10/(byte) getCharToProcess::x#1 )
[108] if(*((byte*) getCharToProcess::screen_line#4 + (byte) getCharToProcess::x#2)==(byte) ' ') goto getCharToProcess::@11 [110] if(*((byte*) getCharToProcess::screen_line#4 + (byte) getCharToProcess::x#2)==(byte) ' ') goto getCharToProcess::@11
to:getCharToProcess::@4 to:getCharToProcess::@4
getCharToProcess::@4: scope:[getCharToProcess] from getCharToProcess::@2 getCharToProcess::@4: scope:[getCharToProcess] from getCharToProcess::@2
[109] (byte~) getCharToProcess::$13 ← (byte) getCharToProcess::x#2 << (byte) 1 [111] (byte~) getCharToProcess::$13 ← (byte) getCharToProcess::x#2 << (byte) 1
[110] (byte~) getCharToProcess::$14 ← (byte) getCharToProcess::y#7 << (byte) 1 [112] (byte~) getCharToProcess::$14 ← (byte) getCharToProcess::y#7 << (byte) 1
[111] (word) getCharToProcess::dist#0 ← *((const word[$28]) SQUARES_X#0 + (byte~) getCharToProcess::$13) + *((const word[$19]) SQUARES_Y#0 + (byte~) getCharToProcess::$14) [113] (word) getCharToProcess::dist#0 ← *((const word[$28]) SQUARES_X#0 + (byte~) getCharToProcess::$13) + *((const word[$19]) SQUARES_Y#0 + (byte~) getCharToProcess::$14)
[112] if((word) getCharToProcess::dist#0>=(word) getCharToProcess::closest_dist#2) goto getCharToProcess::@12 [114] if((word) getCharToProcess::dist#0>=(word) getCharToProcess::closest_dist#2) goto getCharToProcess::@12
to:getCharToProcess::@5 to:getCharToProcess::@5
getCharToProcess::@5: scope:[getCharToProcess] from getCharToProcess::@4 getCharToProcess::@5: scope:[getCharToProcess] from getCharToProcess::@4
[113] (byte~) getCharToProcess::return_x#7 ← (byte) getCharToProcess::x#2 [115] (byte~) getCharToProcess::return_x#7 ← (byte) getCharToProcess::x#2
[114] (byte~) getCharToProcess::return_y#7 ← (byte) getCharToProcess::y#7 [116] (byte~) getCharToProcess::return_y#7 ← (byte) getCharToProcess::y#7
to:getCharToProcess::@3 to:getCharToProcess::@3
getCharToProcess::@3: scope:[getCharToProcess] from getCharToProcess::@11 getCharToProcess::@12 getCharToProcess::@5 getCharToProcess::@3: scope:[getCharToProcess] from getCharToProcess::@11 getCharToProcess::@12 getCharToProcess::@5
[115] (byte) getCharToProcess::return_y#1 ← phi( getCharToProcess::@11/(byte) getCharToProcess::closest_y#7 getCharToProcess::@12/(byte) getCharToProcess::closest_y#7 getCharToProcess::@5/(byte~) getCharToProcess::return_y#7 ) [117] (byte) getCharToProcess::return_y#1 ← phi( getCharToProcess::@11/(byte) getCharToProcess::closest_y#7 getCharToProcess::@12/(byte) getCharToProcess::closest_y#7 getCharToProcess::@5/(byte~) getCharToProcess::return_y#7 )
[115] (byte) getCharToProcess::return_x#1 ← phi( getCharToProcess::@11/(byte) getCharToProcess::closest_x#7 getCharToProcess::@12/(byte) getCharToProcess::closest_x#7 getCharToProcess::@5/(byte~) getCharToProcess::return_x#7 ) [117] (byte) getCharToProcess::return_x#1 ← phi( getCharToProcess::@11/(byte) getCharToProcess::closest_x#7 getCharToProcess::@12/(byte) getCharToProcess::closest_x#7 getCharToProcess::@5/(byte~) getCharToProcess::return_x#7 )
[115] (word) getCharToProcess::return_dist#1 ← phi( getCharToProcess::@11/(word~) getCharToProcess::return_dist#5 getCharToProcess::@12/(word~) getCharToProcess::return_dist#6 getCharToProcess::@5/(word) getCharToProcess::dist#0 ) [117] (word) getCharToProcess::return_dist#1 ← phi( getCharToProcess::@11/(word~) getCharToProcess::return_dist#5 getCharToProcess::@12/(word~) getCharToProcess::return_dist#6 getCharToProcess::@5/(word) getCharToProcess::dist#0 )
[116] (byte) getCharToProcess::x#1 ← ++ (byte) getCharToProcess::x#2 [118] (byte) getCharToProcess::x#1 ← ++ (byte) getCharToProcess::x#2
[117] if((byte) getCharToProcess::x#1!=(byte) $28) goto getCharToProcess::@10 [119] if((byte) getCharToProcess::x#1!=(byte) $28) goto getCharToProcess::@10
to:getCharToProcess::@6 to:getCharToProcess::@6
getCharToProcess::@6: scope:[getCharToProcess] from getCharToProcess::@3 getCharToProcess::@6: scope:[getCharToProcess] from getCharToProcess::@3
[118] (byte*) getCharToProcess::screen_line#1 ← (byte*) getCharToProcess::screen_line#4 + (byte) $28 [120] (byte*) getCharToProcess::screen_line#1 ← (byte*) getCharToProcess::screen_line#4 + (byte) $28
[119] (byte) getCharToProcess::y#1 ← ++ (byte) getCharToProcess::y#7 [121] (byte) getCharToProcess::y#1 ← ++ (byte) getCharToProcess::y#7
[120] if((byte) getCharToProcess::y#1!=(byte) $19) goto getCharToProcess::@9 [122] if((byte) getCharToProcess::y#1!=(byte) $19) goto getCharToProcess::@9
to:getCharToProcess::@7 to:getCharToProcess::@7
getCharToProcess::@7: scope:[getCharToProcess] from getCharToProcess::@6 getCharToProcess::@7: scope:[getCharToProcess] from getCharToProcess::@6
[121] if((word) getCharToProcess::return_dist#1==(const word) NOT_FOUND#0) goto getCharToProcess::@return [123] if((word) getCharToProcess::return_dist#1==(const word) NOT_FOUND#0) goto getCharToProcess::@return
to:getCharToProcess::@8 to:getCharToProcess::@8
getCharToProcess::@8: scope:[getCharToProcess] from getCharToProcess::@7 getCharToProcess::@8: scope:[getCharToProcess] from getCharToProcess::@7
[122] (word~) getCharToProcess::$9 ← (word)(byte) getCharToProcess::return_y#1 [124] (word~) getCharToProcess::$9 ← (word)(byte) getCharToProcess::return_y#1
[123] (word) getCharToProcess::$15 ← (word~) getCharToProcess::$9 << (byte) 2 [125] (word) getCharToProcess::$15 ← (word~) getCharToProcess::$9 << (byte) 2
[124] (word) getCharToProcess::$16 ← (word) getCharToProcess::$15 + (word~) getCharToProcess::$9 [126] (word) getCharToProcess::$16 ← (word) getCharToProcess::$15 + (word~) getCharToProcess::$9
[125] (word~) getCharToProcess::$10 ← (word) getCharToProcess::$16 << (byte) 3 [127] (word~) getCharToProcess::$10 ← (word) getCharToProcess::$16 << (byte) 3
[126] (byte*~) getCharToProcess::$11 ← (const byte[$3e8]) SCREEN_COPY#0 + (word~) getCharToProcess::$10 [128] (byte*~) getCharToProcess::$11 ← (const byte[$3e8]) SCREEN_COPY#0 + (word~) getCharToProcess::$10
[127] *((byte*~) getCharToProcess::$11 + (byte) getCharToProcess::return_x#1) ← (byte) ' ' [129] *((byte*~) getCharToProcess::$11 + (byte) getCharToProcess::return_x#1) ← (byte) ' '
to:getCharToProcess::@return to:getCharToProcess::@return
getCharToProcess::@return: scope:[getCharToProcess] from getCharToProcess::@7 getCharToProcess::@8 getCharToProcess::@return: scope:[getCharToProcess] from getCharToProcess::@7 getCharToProcess::@8
[128] return [130] return
to:@return to:@return
getCharToProcess::@9: scope:[getCharToProcess] from getCharToProcess::@6 getCharToProcess::@9: scope:[getCharToProcess] from getCharToProcess::@6
[129] (word~) getCharToProcess::closest_dist#10 ← (word) getCharToProcess::return_dist#1 [131] (word~) getCharToProcess::closest_dist#10 ← (word) getCharToProcess::return_dist#1
to:getCharToProcess::@1 to:getCharToProcess::@1
getCharToProcess::@10: scope:[getCharToProcess] from getCharToProcess::@3 getCharToProcess::@10: scope:[getCharToProcess] from getCharToProcess::@3
[130] (word~) getCharToProcess::closest_dist#12 ← (word) getCharToProcess::return_dist#1 [132] (word~) getCharToProcess::closest_dist#12 ← (word) getCharToProcess::return_dist#1
to:getCharToProcess::@2 to:getCharToProcess::@2
getCharToProcess::@12: scope:[getCharToProcess] from getCharToProcess::@4 getCharToProcess::@12: scope:[getCharToProcess] from getCharToProcess::@4
[131] (word~) getCharToProcess::return_dist#6 ← (word) getCharToProcess::closest_dist#2 [133] (word~) getCharToProcess::return_dist#6 ← (word) getCharToProcess::closest_dist#2
to:getCharToProcess::@3 to:getCharToProcess::@3
getCharToProcess::@11: scope:[getCharToProcess] from getCharToProcess::@2 getCharToProcess::@11: scope:[getCharToProcess] from getCharToProcess::@2
[132] (word~) getCharToProcess::return_dist#5 ← (word) getCharToProcess::closest_dist#2 [134] (word~) getCharToProcess::return_dist#5 ← (word) getCharToProcess::closest_dist#2
to:getCharToProcess::@3 to:getCharToProcess::@3
setupRasterIrq: scope:[setupRasterIrq] from main::@8 setupRasterIrq: scope:[setupRasterIrq] from main::@8
asm { sei } asm { sei }
[134] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0 [136] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0
[135] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 [137] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0
[136] *((const byte*) CIA1_INTERRUPT#0) ← (const byte) CIA_INTERRUPT_CLEAR#0 [138] *((const byte*) CIA1_INTERRUPT#0) ← (const byte) CIA_INTERRUPT_CLEAR#0
to:setupRasterIrq::@1 to:setupRasterIrq::@1
setupRasterIrq::@1: scope:[setupRasterIrq] from setupRasterIrq setupRasterIrq::@1: scope:[setupRasterIrq] from setupRasterIrq
[137] *((const byte*) VIC_CONTROL#0) ← *((const byte*) VIC_CONTROL#0) & (byte) $7f [139] *((const byte*) VIC_CONTROL#0) ← *((const byte*) VIC_CONTROL#0) & (byte) $7f
to:setupRasterIrq::@2 to:setupRasterIrq::@2
setupRasterIrq::@2: scope:[setupRasterIrq] from setupRasterIrq::@1 setupRasterIrq::@2: scope:[setupRasterIrq] from setupRasterIrq::@1
[138] *((const byte*) RASTER#0) ← <(const byte) RASTER_IRQ_TOP#0 [140] *((const byte*) RASTER#0) ← <(const byte) RASTER_IRQ_TOP#0
[139] *((const byte*) IRQ_ENABLE#0) ← (const byte) IRQ_RASTER#0 [141] *((const byte*) IRQ_ENABLE#0) ← (const byte) IRQ_RASTER#0
[140] *((const void()**) HARDWARE_IRQ#0) ← (const void()*) setupRasterIrq::irqRoutine#0 [142] *((const void()**) HARDWARE_IRQ#0) ← (const void()*) setupRasterIrq::irqRoutine#0
asm { cli } asm { cli }
to:setupRasterIrq::@return to:setupRasterIrq::@return
setupRasterIrq::@return: scope:[setupRasterIrq] from setupRasterIrq::@2 setupRasterIrq::@return: scope:[setupRasterIrq] from setupRasterIrq::@2
[142] return [144] return
to:@return to:@return
initSprites: scope:[initSprites] from main::@3 initSprites: scope:[initSprites] from main::@3
[143] phi() [145] phi()
to:initSprites::@1 to:initSprites::@1
initSprites::@1: scope:[initSprites] from initSprites initSprites::@1 initSprites::@1: scope:[initSprites] from initSprites initSprites::@1
[144] (byte*) initSprites::sp#2 ← phi( initSprites/(const byte*) SPRITE_DATA#0 initSprites::@1/(byte*) initSprites::sp#1 ) [146] (byte*) initSprites::sp#2 ← phi( initSprites/(const byte*) SPRITE_DATA#0 initSprites::@1/(byte*) initSprites::sp#1 )
[145] *((byte*) initSprites::sp#2) ← (byte) 0 [147] *((byte*) initSprites::sp#2) ← (byte) 0
[146] (byte*) initSprites::sp#1 ← ++ (byte*) initSprites::sp#2 [148] (byte*) initSprites::sp#1 ← ++ (byte*) initSprites::sp#2
[147] if((byte*) initSprites::sp#1<(const byte*) SPRITE_DATA#0+(const byte) NUM_PROCESSING#0*(byte) $40) goto initSprites::@1 [149] if((byte*) initSprites::sp#1<(const byte*) SPRITE_DATA#0+(const byte) NUM_PROCESSING#0*(byte) $40) goto initSprites::@1
to:initSprites::@2 to:initSprites::@2
initSprites::@2: scope:[initSprites] from initSprites::@1 initSprites::@2 initSprites::@2: scope:[initSprites] from initSprites::@1 initSprites::@2
[148] (byte) initSprites::i#2 ← phi( initSprites::@1/(byte) 0 initSprites::@2/(byte) initSprites::i#1 ) [150] (byte) initSprites::i#2 ← phi( initSprites::@1/(byte) 0 initSprites::@2/(byte) initSprites::i#1 )
[149] *((const byte*) SPRITES_COLS#0 + (byte) initSprites::i#2) ← (const byte) LIGHT_BLUE#0 [151] *((const byte*) SPRITES_COLS#0 + (byte) initSprites::i#2) ← (const byte) LIGHT_BLUE#0
[150] (byte) initSprites::i#1 ← ++ (byte) initSprites::i#2 [152] (byte) initSprites::i#1 ← ++ (byte) initSprites::i#2
[151] if((byte) initSprites::i#1!=(byte) 8) goto initSprites::@2 [153] if((byte) initSprites::i#1!=(byte) 8) goto initSprites::@2
to:initSprites::@3 to:initSprites::@3
initSprites::@3: scope:[initSprites] from initSprites::@2 initSprites::@3: scope:[initSprites] from initSprites::@2
[152] *((const byte*) SPRITES_MC#0) ← (byte) 0 [154] *((const byte*) SPRITES_MC#0) ← (byte) 0
[153] *((const byte*) SPRITES_EXPAND_X#0) ← (byte) 0 [155] *((const byte*) SPRITES_EXPAND_X#0) ← (byte) 0
[154] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte) 0 [156] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte) 0
to:initSprites::@return to:initSprites::@return
initSprites::@return: scope:[initSprites] from initSprites::@3 initSprites::@return: scope:[initSprites] from initSprites::@3
[155] return [157] return
to:@return to:@return
initSquareTables: scope:[initSquareTables] from main initSquareTables: scope:[initSquareTables] from main
[156] phi() [158] phi()
to:initSquareTables::@1 to:initSquareTables::@1
initSquareTables::@1: scope:[initSquareTables] from initSquareTables initSquareTables::@9 initSquareTables::@1: scope:[initSquareTables] from initSquareTables initSquareTables::@9
[157] (byte) initSquareTables::x#2 ← phi( initSquareTables/(byte) 0 initSquareTables::@9/(byte) initSquareTables::x#1 ) [159] (byte) initSquareTables::x#2 ← phi( initSquareTables/(byte) 0 initSquareTables::@9/(byte) initSquareTables::x#1 )
[158] if((byte) initSquareTables::x#2<(byte) $14) goto initSquareTables::@2 [160] if((byte) initSquareTables::x#2<(byte) $14) goto initSquareTables::@2
to:initSquareTables::@3 to:initSquareTables::@3
initSquareTables::@3: scope:[initSquareTables] from initSquareTables::@1 initSquareTables::@3: scope:[initSquareTables] from initSquareTables::@1
[159] (byte~) initSquareTables::$2 ← (byte) initSquareTables::x#2 - (byte) $14 [161] (byte~) initSquareTables::$2 ← (byte) initSquareTables::x#2 - (byte) $14
to:initSquareTables::@4 to:initSquareTables::@4
initSquareTables::@4: scope:[initSquareTables] from initSquareTables::@2 initSquareTables::@3 initSquareTables::@4: scope:[initSquareTables] from initSquareTables::@2 initSquareTables::@3
[160] (byte) initSquareTables::x_dist#0 ← phi( initSquareTables::@2/(byte~) initSquareTables::$4 initSquareTables::@3/(byte~) initSquareTables::$2 ) [162] (byte) initSquareTables::x_dist#0 ← phi( initSquareTables::@2/(byte~) initSquareTables::$4 initSquareTables::@3/(byte~) initSquareTables::$2 )
[161] (byte) mul8u::a#1 ← (byte) initSquareTables::x_dist#0 [163] (byte) mul8u::a#1 ← (byte) initSquareTables::x_dist#0
[162] (byte) mul8u::b#0 ← (byte) initSquareTables::x_dist#0 [164] (byte) mul8u::b#0 ← (byte) initSquareTables::x_dist#0
[163] call mul8u [165] call mul8u
[164] (word) mul8u::return#2 ← (word) mul8u::res#2 [166] (word) mul8u::return#2 ← (word) mul8u::res#2
to:initSquareTables::@9 to:initSquareTables::@9
initSquareTables::@9: scope:[initSquareTables] from initSquareTables::@4 initSquareTables::@9: scope:[initSquareTables] from initSquareTables::@4
[165] (word~) initSquareTables::$6 ← (word) mul8u::return#2 [167] (word~) initSquareTables::$6 ← (word) mul8u::return#2
[166] (byte~) initSquareTables::$16 ← (byte) initSquareTables::x#2 << (byte) 1 [168] (byte~) initSquareTables::$16 ← (byte) initSquareTables::x#2 << (byte) 1
[167] *((const word[$28]) SQUARES_X#0 + (byte~) initSquareTables::$16) ← (word~) initSquareTables::$6 [169] *((const word[$28]) SQUARES_X#0 + (byte~) initSquareTables::$16) ← (word~) initSquareTables::$6
[168] (byte) initSquareTables::x#1 ← ++ (byte) initSquareTables::x#2 [170] (byte) initSquareTables::x#1 ← ++ (byte) initSquareTables::x#2
[169] if((byte) initSquareTables::x#1!=(byte) $28) goto initSquareTables::@1 [171] if((byte) initSquareTables::x#1!=(byte) $28) goto initSquareTables::@1
to:initSquareTables::@5 to:initSquareTables::@5
initSquareTables::@5: scope:[initSquareTables] from initSquareTables::@10 initSquareTables::@9 initSquareTables::@5: scope:[initSquareTables] from initSquareTables::@10 initSquareTables::@9
[170] (byte) initSquareTables::y#2 ← phi( initSquareTables::@10/(byte) initSquareTables::y#1 initSquareTables::@9/(byte) 0 ) [172] (byte) initSquareTables::y#2 ← phi( initSquareTables::@10/(byte) initSquareTables::y#1 initSquareTables::@9/(byte) 0 )
[171] if((byte) initSquareTables::y#2<(byte) $c) goto initSquareTables::@6 [173] if((byte) initSquareTables::y#2<(byte) $c) goto initSquareTables::@6
to:initSquareTables::@7 to:initSquareTables::@7
initSquareTables::@7: scope:[initSquareTables] from initSquareTables::@5 initSquareTables::@7: scope:[initSquareTables] from initSquareTables::@5
[172] (byte~) initSquareTables::$10 ← (byte) initSquareTables::y#2 - (byte) $c [174] (byte~) initSquareTables::$10 ← (byte) initSquareTables::y#2 - (byte) $c
to:initSquareTables::@8 to:initSquareTables::@8
initSquareTables::@8: scope:[initSquareTables] from initSquareTables::@6 initSquareTables::@7 initSquareTables::@8: scope:[initSquareTables] from initSquareTables::@6 initSquareTables::@7
[173] (byte) initSquareTables::y_dist#0 ← phi( initSquareTables::@6/(byte~) initSquareTables::$12 initSquareTables::@7/(byte~) initSquareTables::$10 ) [175] (byte) initSquareTables::y_dist#0 ← phi( initSquareTables::@6/(byte~) initSquareTables::$12 initSquareTables::@7/(byte~) initSquareTables::$10 )
[174] (byte) mul8u::a#2 ← (byte) initSquareTables::y_dist#0 [176] (byte) mul8u::a#2 ← (byte) initSquareTables::y_dist#0
[175] (byte) mul8u::b#1 ← (byte) initSquareTables::y_dist#0 [177] (byte) mul8u::b#1 ← (byte) initSquareTables::y_dist#0
[176] call mul8u [178] call mul8u
[177] (word) mul8u::return#3 ← (word) mul8u::res#2 [179] (word) mul8u::return#3 ← (word) mul8u::res#2
to:initSquareTables::@10 to:initSquareTables::@10
initSquareTables::@10: scope:[initSquareTables] from initSquareTables::@8 initSquareTables::@10: scope:[initSquareTables] from initSquareTables::@8
[178] (word~) initSquareTables::$14 ← (word) mul8u::return#3 [180] (word~) initSquareTables::$14 ← (word) mul8u::return#3
[179] (byte~) initSquareTables::$17 ← (byte) initSquareTables::y#2 << (byte) 1 [181] (byte~) initSquareTables::$17 ← (byte) initSquareTables::y#2 << (byte) 1
[180] *((const word[$19]) SQUARES_Y#0 + (byte~) initSquareTables::$17) ← (word~) initSquareTables::$14 [182] *((const word[$19]) SQUARES_Y#0 + (byte~) initSquareTables::$17) ← (word~) initSquareTables::$14
[181] (byte) initSquareTables::y#1 ← ++ (byte) initSquareTables::y#2 [183] (byte) initSquareTables::y#1 ← ++ (byte) initSquareTables::y#2
[182] if((byte) initSquareTables::y#1!=(byte) $19) goto initSquareTables::@5 [184] if((byte) initSquareTables::y#1!=(byte) $19) goto initSquareTables::@5
to:initSquareTables::@return to:initSquareTables::@return
initSquareTables::@return: scope:[initSquareTables] from initSquareTables::@10 initSquareTables::@return: scope:[initSquareTables] from initSquareTables::@10
[183] return [185] return
to:@return to:@return
initSquareTables::@6: scope:[initSquareTables] from initSquareTables::@5 initSquareTables::@6: scope:[initSquareTables] from initSquareTables::@5
[184] (byte~) initSquareTables::$12 ← (byte) $c - (byte) initSquareTables::y#2 [186] (byte~) initSquareTables::$12 ← (byte) $c - (byte) initSquareTables::y#2
to:initSquareTables::@8 to:initSquareTables::@8
initSquareTables::@2: scope:[initSquareTables] from initSquareTables::@1 initSquareTables::@2: scope:[initSquareTables] from initSquareTables::@1
[185] (byte~) initSquareTables::$4 ← (byte) $14 - (byte) initSquareTables::x#2 [187] (byte~) initSquareTables::$4 ← (byte) $14 - (byte) initSquareTables::x#2
to:initSquareTables::@4 to:initSquareTables::@4
mul8u: scope:[mul8u] from initSquareTables::@4 initSquareTables::@8 mul8u: scope:[mul8u] from initSquareTables::@4 initSquareTables::@8
[186] (byte) mul8u::a#6 ← phi( initSquareTables::@8/(byte) mul8u::a#2 initSquareTables::@4/(byte) mul8u::a#1 ) [188] (byte) mul8u::a#6 ← phi( initSquareTables::@8/(byte) mul8u::a#2 initSquareTables::@4/(byte) mul8u::a#1 )
[186] (word) mul8u::mb#0 ← phi( initSquareTables::@8/(byte) mul8u::b#1 initSquareTables::@4/(byte) mul8u::b#0 ) [188] (word) mul8u::mb#0 ← phi( initSquareTables::@8/(byte) mul8u::b#1 initSquareTables::@4/(byte) mul8u::b#0 )
to:mul8u::@1 to:mul8u::@1
mul8u::@1: scope:[mul8u] from mul8u mul8u::@3 mul8u::@1: scope:[mul8u] from mul8u mul8u::@3
[187] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@3/(word) mul8u::mb#1 ) [189] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@3/(word) mul8u::mb#1 )
[187] (word) mul8u::res#2 ← phi( mul8u/(byte) 0 mul8u::@3/(word) mul8u::res#6 ) [189] (word) mul8u::res#2 ← phi( mul8u/(byte) 0 mul8u::@3/(word) mul8u::res#6 )
[187] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 ) [189] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 )
[188] if((byte) mul8u::a#3!=(byte) 0) goto mul8u::@2 [190] if((byte) mul8u::a#3!=(byte) 0) goto mul8u::@2
to:mul8u::@return to:mul8u::@return
mul8u::@return: scope:[mul8u] from mul8u::@1 mul8u::@return: scope:[mul8u] from mul8u::@1
[189] return [191] return
to:@return to:@return
mul8u::@2: scope:[mul8u] from mul8u::@1 mul8u::@2: scope:[mul8u] from mul8u::@1
[190] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte) 1 [192] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte) 1
[191] if((byte~) mul8u::$1==(byte) 0) goto mul8u::@3 [193] if((byte~) mul8u::$1==(byte) 0) goto mul8u::@3
to:mul8u::@4 to:mul8u::@4
mul8u::@4: scope:[mul8u] from mul8u::@2 mul8u::@4: scope:[mul8u] from mul8u::@2
[192] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [194] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2
to:mul8u::@3 to:mul8u::@3
mul8u::@3: scope:[mul8u] from mul8u::@2 mul8u::@4 mul8u::@3: scope:[mul8u] from mul8u::@2 mul8u::@4
[193] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 ) [195] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 )
[194] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte) 1 [196] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte) 1
[195] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte) 1 [197] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte) 1
to:mul8u::@1 to:mul8u::@1
irqBottom: scope:[irqBottom] from irqBottom: scope:[irqBottom] from
[196] phi() [198] phi()
to:irqBottom::@1 to:irqBottom::@1
irqBottom::@1: scope:[irqBottom] from irqBottom irqBottom::@1 irqBottom::@1: scope:[irqBottom] from irqBottom irqBottom::@1
[197] (byte) irqBottom::i#2 ← phi( irqBottom/(byte) 0 irqBottom::@1/(byte) irqBottom::i#1 ) [199] (byte) irqBottom::i#2 ← phi( irqBottom/(byte) 0 irqBottom::@1/(byte) irqBottom::i#1 )
[198] (byte) irqBottom::i#1 ← ++ (byte) irqBottom::i#2 [200] (byte) irqBottom::i#1 ← ++ (byte) irqBottom::i#2
[199] if((byte) irqBottom::i#1!=(byte) 5) goto irqBottom::@1 [201] if((byte) irqBottom::i#1!=(byte) 5) goto irqBottom::@1
to:irqBottom::@2 to:irqBottom::@2
irqBottom::@2: scope:[irqBottom] from irqBottom::@1 irqBottom::@2: scope:[irqBottom] from irqBottom::@1
[200] phi() [202] phi()
[201] call processChars [203] call processChars
to:irqBottom::@3 to:irqBottom::@3
irqBottom::@3: scope:[irqBottom] from irqBottom::@2 irqBottom::@3: scope:[irqBottom] from irqBottom::@2
[202] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_TOP#0 [204] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_TOP#0
[203] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqTop() [205] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqTop()
[204] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0 [206] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
to:irqBottom::@return to:irqBottom::@return
irqBottom::@return: scope:[irqBottom] from irqBottom::@3 irqBottom::@return: scope:[irqBottom] from irqBottom::@3
[205] return [207] return
to:@return to:@return
processChars: scope:[processChars] from irqBottom::@2 processChars: scope:[processChars] from irqBottom::@2
[206] phi() [208] phi()
to:processChars::@1 to:processChars::@1
processChars::@1: scope:[processChars] from processChars processChars::@2 processChars::@1: scope:[processChars] from processChars processChars::@2
[207] (byte) processChars::i#10 ← phi( processChars/(byte) 0 processChars::@2/(byte) processChars::i#1 ) [209] (byte) processChars::numActive#10 ← phi( processChars/(byte) 0 processChars::@2/(byte) processChars::numActive#3 )
[208] (byte) processChars::$64 ← (byte) processChars::i#10 << (byte) 1 [209] (byte) processChars::i#10 ← phi( processChars/(byte) 0 processChars::@2/(byte) processChars::i#1 )
[209] (byte) processChars::$65 ← (byte) processChars::$64 + (byte) processChars::i#10 [210] (byte) processChars::$64 ← (byte) processChars::i#10 << (byte) 1
[210] (byte) processChars::$66 ← (byte) processChars::$65 << (byte) 2 [211] (byte) processChars::$65 ← (byte) processChars::$64 + (byte) processChars::i#10
[211] (byte~) processChars::$36 ← (byte) processChars::$66 + (byte) processChars::i#10 [212] (byte) processChars::$66 ← (byte) processChars::$65 << (byte) 2
[212] (struct ProcessingSprite*) processChars::processing#0 ← (const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) processChars::$36 [213] (byte~) processChars::$36 ← (byte) processChars::$66 + (byte) processChars::i#10
[213] (byte) processChars::bitmask#0 ← (byte) 1 << *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID) [214] (struct ProcessingSprite*) processChars::processing#0 ← (const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) processChars::$36
[214] if(*((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS)==(const byte) STATUS_FREE#0) goto processChars::@2 [215] (byte) processChars::bitmask#0 ← (byte) 1 << *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)
to:processChars::@9 [216] if(*((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS)==(const byte) STATUS_FREE#0) goto processChars::@2
processChars::@9: scope:[processChars] from processChars::@1
[215] if(*((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS)!=(const byte) STATUS_NEW#0) goto processChars::@3
to:processChars::@10 to:processChars::@10
processChars::@10: scope:[processChars] from processChars::@9 processChars::@10: scope:[processChars] from processChars::@1
[216] *(*((byte**)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR)) ← (byte) ' ' [217] if(*((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS)!=(const byte) STATUS_NEW#0) goto processChars::@3
[217] *((const byte*) SPRITES_ENABLE#0) ← *((const byte*) SPRITES_ENABLE#0) | (byte) processChars::bitmask#0
[218] *((const byte*) SCREEN#0+(const word) SPRITE_PTRS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR)
[219] *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS) ← (const byte) STATUS_PROCESSING#0
to:processChars::@3
processChars::@3: scope:[processChars] from processChars::@10 processChars::@9
[220] (word) processChars::xpos#0 ← *((word*)(struct ProcessingSprite*) processChars::processing#0) >> (byte) 4
[221] (byte~) processChars::$10 ← > (word) processChars::xpos#0
[222] if((byte) 0!=(byte~) processChars::$10) goto processChars::@4
to:processChars::@7
processChars::@7: scope:[processChars] from processChars::@3
[223] (byte~) processChars::$11 ← (byte) $ff ^ (byte) processChars::bitmask#0
[224] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) & (byte~) processChars::$11
to:processChars::@5
processChars::@5: scope:[processChars] from processChars::@4 processChars::@7
[225] (byte~) processChars::$16 ← (byte) processChars::i#10 << (byte) 1
[226] (byte~) processChars::$13 ← (byte)(word) processChars::xpos#0
[227] *((const byte*) SPRITES_XPOS#0 + (byte~) processChars::$16) ← (byte~) processChars::$13
[228] (word~) processChars::$14 ← *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y) >> (byte) 4
[229] (byte) processChars::ypos#0 ← (byte)(word~) processChars::$14
[230] *((const byte*) SPRITES_YPOS#0 + (byte~) processChars::$16) ← (byte) processChars::ypos#0
[231] if(*((word*)(struct ProcessingSprite*) processChars::processing#0)<(const word) XPOS_LEFTMOST#0) goto processChars::@6
to:processChars::@13
processChars::@13: scope:[processChars] from processChars::@5
[232] if(*((word*)(struct ProcessingSprite*) processChars::processing#0)>(const word) XPOS_RIGHTMOST#0) goto processChars::@6
to:processChars::@12
processChars::@12: scope:[processChars] from processChars::@13
[233] if(*((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y)<(const word) YPOS_TOPMOST#0) goto processChars::@6
to:processChars::@11 to:processChars::@11
processChars::@11: scope:[processChars] from processChars::@12 processChars::@11: scope:[processChars] from processChars::@10
[234] if(*((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y)>(const word) YPOS_BOTTOMMOST#0) goto processChars::@6 [218] *(*((byte**)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR)) ← (byte) ' '
[219] *((const byte*) SPRITES_ENABLE#0) ← *((const byte*) SPRITES_ENABLE#0) | (byte) processChars::bitmask#0
[220] *((const byte*) SCREEN#0+(const word) SPRITE_PTRS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR)
[221] *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS) ← (const byte) STATUS_PROCESSING#0
to:processChars::@3
processChars::@3: scope:[processChars] from processChars::@10 processChars::@11
[222] (word) processChars::xpos#0 ← *((word*)(struct ProcessingSprite*) processChars::processing#0) >> (byte) 4
[223] (byte~) processChars::$12 ← > (word) processChars::xpos#0
[224] if((byte) 0!=(byte~) processChars::$12) goto processChars::@4
to:processChars::@8 to:processChars::@8
processChars::@8: scope:[processChars] from processChars::@11 processChars::@8: scope:[processChars] from processChars::@3
[235] (word~) processChars::$24 ← (word) processChars::xpos#0 >> (byte) 3 [225] (byte~) processChars::$13 ← (byte) $ff ^ (byte) processChars::bitmask#0
[236] (byte~) processChars::$25 ← (byte)(word~) processChars::$24 [226] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) & (byte~) processChars::$13
[237] (byte) processChars::xchar#0 ← (byte~) processChars::$25 - (const byte) BORDER_XPOS_LEFT#0/(byte) 8 to:processChars::@5
[238] (byte~) processChars::$37 ← (byte) processChars::xchar#0 << (byte) 1 processChars::@5: scope:[processChars] from processChars::@4 processChars::@8
[239] (word~) processChars::$28 ← *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX) + *((const word*) VXSIN#0 + (byte~) processChars::$37) [227] (byte~) processChars::$18 ← (byte) processChars::i#10 << (byte) 1
[240] *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX) ← (word~) processChars::$28 [228] (byte~) processChars::$15 ← (byte)(word) processChars::xpos#0
[241] *((word*)(struct ProcessingSprite*) processChars::processing#0) ← *((word*)(struct ProcessingSprite*) processChars::processing#0) + *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX) [229] *((const byte*) SPRITES_XPOS#0 + (byte~) processChars::$18) ← (byte~) processChars::$15
[242] (byte~) processChars::$30 ← (byte) processChars::ypos#0 >> (byte) 3 [230] (word~) processChars::$16 ← *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y) >> (byte) 4
[243] (byte) processChars::ychar#0 ← (byte~) processChars::$30 - (const byte) BORDER_YPOS_TOP#0/(byte) 8 [231] (byte) processChars::ypos#0 ← (byte)(word~) processChars::$16
[244] (byte~) processChars::$38 ← (byte) processChars::ychar#0 << (byte) 1 [232] *((const byte*) SPRITES_YPOS#0 + (byte~) processChars::$18) ← (byte) processChars::ypos#0
[245] (word~) processChars::$33 ← *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY) + *((const word*) VYSIN#0 + (byte~) processChars::$38) [233] if(*((word*)(struct ProcessingSprite*) processChars::processing#0)<(const word) XPOS_LEFTMOST#0) goto processChars::@6
[246] *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY) ← (word~) processChars::$33 to:processChars::@15
processChars::@15: scope:[processChars] from processChars::@5
[234] if(*((word*)(struct ProcessingSprite*) processChars::processing#0)>(const word) XPOS_RIGHTMOST#0) goto processChars::@6
to:processChars::@14
processChars::@14: scope:[processChars] from processChars::@15
[235] if(*((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y)<(const word) YPOS_TOPMOST#0) goto processChars::@6
to:processChars::@13
processChars::@13: scope:[processChars] from processChars::@14
[236] if(*((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y)>(const word) YPOS_BOTTOMMOST#0) goto processChars::@6
to:processChars::@9
processChars::@9: scope:[processChars] from processChars::@13
[237] (word~) processChars::$26 ← (word) processChars::xpos#0 >> (byte) 3
[238] (byte~) processChars::$27 ← (byte)(word~) processChars::$26
[239] (byte) processChars::xchar#0 ← (byte~) processChars::$27 - (const byte) BORDER_XPOS_LEFT#0/(byte) 8
[240] (byte~) processChars::$37 ← (byte) processChars::xchar#0 << (byte) 1
[241] *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX) ← *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX) + *((const word*) VXSIN#0 + (byte~) processChars::$37)
[242] *((word*)(struct ProcessingSprite*) processChars::processing#0) ← *((word*)(struct ProcessingSprite*) processChars::processing#0) + *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX)
[243] (byte~) processChars::$31 ← (byte) processChars::ypos#0 >> (byte) 3
[244] (byte) processChars::ychar#0 ← (byte~) processChars::$31 - (const byte) BORDER_YPOS_TOP#0/(byte) 8
[245] (byte~) processChars::$38 ← (byte) processChars::ychar#0 << (byte) 1
[246] *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY) ← *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY) + *((const word*) VYSIN#0 + (byte~) processChars::$38)
[247] *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y) ← *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y) + *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY) [247] *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y) ← *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y) + *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY)
to:processChars::@7
processChars::@7: scope:[processChars] from processChars::@6 processChars::@9
[248] (byte) processChars::numActive#1 ← ++ (byte) processChars::numActive#10
to:processChars::@2 to:processChars::@2
processChars::@2: scope:[processChars] from processChars::@1 processChars::@6 processChars::@8 processChars::@2: scope:[processChars] from processChars::@1 processChars::@7
[248] (byte) processChars::i#1 ← ++ (byte) processChars::i#10 [249] (byte) processChars::numActive#3 ← phi( processChars::@1/(byte) processChars::numActive#10 processChars::@7/(byte) processChars::numActive#1 )
[249] if((byte) processChars::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto processChars::@1 [250] (byte) processChars::i#1 ← ++ (byte) processChars::i#10
[251] if((byte) processChars::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto processChars::@1
to:processChars::@12
processChars::@12: scope:[processChars] from processChars::@2
[252] (byte~) processChars::$1 ← (byte) '0' + (byte) processChars::numActive#3
[253] *((const byte*) SCREEN#0+(word) $3e7) ← (byte~) processChars::$1
to:processChars::@return to:processChars::@return
processChars::@return: scope:[processChars] from processChars::@2 processChars::@return: scope:[processChars] from processChars::@12
[250] return [254] return
to:@return to:@return
processChars::@6: scope:[processChars] from processChars::@11 processChars::@12 processChars::@13 processChars::@5 processChars::@6: scope:[processChars] from processChars::@13 processChars::@14 processChars::@15 processChars::@5
[251] *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS) ← (const byte) STATUS_FREE#0 [255] *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS) ← (const byte) STATUS_FREE#0
[252] (byte~) processChars::$34 ← (byte) $ff ^ (byte) processChars::bitmask#0 [256] (byte~) processChars::$34 ← (byte) $ff ^ (byte) processChars::bitmask#0
[253] *((const byte*) SPRITES_ENABLE#0) ← *((const byte*) SPRITES_ENABLE#0) & (byte~) processChars::$34 [257] *((const byte*) SPRITES_ENABLE#0) ← *((const byte*) SPRITES_ENABLE#0) & (byte~) processChars::$34
to:processChars::@2 to:processChars::@7
processChars::@4: scope:[processChars] from processChars::@3 processChars::@4: scope:[processChars] from processChars::@3
[254] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) | (byte) processChars::bitmask#0 [258] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) | (byte) processChars::bitmask#0
to:processChars::@5 to:processChars::@5
irqTop: scope:[irqTop] from irqTop: scope:[irqTop] from
[255] phi() [259] phi()
to:irqTop::@1 to:irqTop::@1
irqTop::@1: scope:[irqTop] from irqTop irqTop::@1 irqTop::@1: scope:[irqTop] from irqTop irqTop::@1
[256] (byte) irqTop::i#2 ← phi( irqTop/(byte) 0 irqTop::@1/(byte) irqTop::i#1 ) [260] (byte) irqTop::i#2 ← phi( irqTop/(byte) 0 irqTop::@1/(byte) irqTop::i#1 )
[257] (byte) irqTop::i#1 ← ++ (byte) irqTop::i#2 [261] (byte) irqTop::i#1 ← ++ (byte) irqTop::i#2
[258] if((byte) irqTop::i#1!=(byte) 5) goto irqTop::@1 [262] if((byte) irqTop::i#1!=(byte) 5) goto irqTop::@1
to:irqTop::@2 to:irqTop::@2
irqTop::@2: scope:[irqTop] from irqTop::@1 irqTop::@2 irqTop::@2: scope:[irqTop] from irqTop::@1 irqTop::@2
[259] (byte) irqTop::i1#2 ← phi( irqTop::@1/(byte) 0 irqTop::@2/(byte) irqTop::i1#1 ) [263] (byte) irqTop::i1#2 ← phi( irqTop::@1/(byte) 0 irqTop::@2/(byte) irqTop::i1#1 )
[260] (byte) irqTop::i1#1 ← ++ (byte) irqTop::i1#2 [264] (byte) irqTop::i1#1 ← ++ (byte) irqTop::i1#2
[261] if((byte) irqTop::i1#1!=(byte) 8) goto irqTop::@2 [265] if((byte) irqTop::i1#1!=(byte) 8) goto irqTop::@2
to:irqTop::@3 to:irqTop::@3
irqTop::@3: scope:[irqTop] from irqTop::@2 irqTop::@3: scope:[irqTop] from irqTop::@2
[262] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_MIDDLE#0 [266] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_MIDDLE#0
[263] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqBottom() [267] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqBottom()
[264] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0 [268] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
to:irqTop::@return to:irqTop::@return
irqTop::@return: scope:[irqTop] from irqTop::@3 irqTop::@return: scope:[irqTop] from irqTop::@3
[265] return [269] return
to:@return to:@return

File diff suppressed because it is too large Load Diff

View File

@ -117,13 +117,13 @@
(word) YPOS_TOPMOST (word) YPOS_TOPMOST
(const word) YPOS_TOPMOST#0 YPOS_TOPMOST = (word)(const byte) BORDER_YPOS_TOP#0-(byte) 8<<(byte) 4 (const word) YPOS_TOPMOST#0 YPOS_TOPMOST = (word)(const byte) BORDER_YPOS_TOP#0-(byte) 8<<(byte) 4
(struct ProcessingChar()) getCharToProcess() (struct ProcessingChar()) getCharToProcess()
(word~) getCharToProcess::$10 $10 zp ZP_WORD:44 4.0 (word~) getCharToProcess::$10 $10 zp ZP_WORD:47 4.0
(byte*~) getCharToProcess::$11 $11 zp ZP_WORD:44 4.0 (byte*~) getCharToProcess::$11 $11 zp ZP_WORD:47 4.0
(byte~) getCharToProcess::$13 reg byte x 1001.0 (byte~) getCharToProcess::$13 reg byte x 1001.0
(byte~) getCharToProcess::$14 reg byte a 2002.0 (byte~) getCharToProcess::$14 reg byte a 2002.0
(word) getCharToProcess::$15 $15 zp ZP_WORD:46 4.0 (word) getCharToProcess::$15 $15 zp ZP_WORD:49 4.0
(word) getCharToProcess::$16 $16 zp ZP_WORD:44 4.0 (word) getCharToProcess::$16 $16 zp ZP_WORD:47 4.0
(word~) getCharToProcess::$9 $9 zp ZP_WORD:44 3.0 (word~) getCharToProcess::$9 $9 zp ZP_WORD:47 3.0
(label) getCharToProcess::@1 (label) getCharToProcess::@1
(label) getCharToProcess::@10 (label) getCharToProcess::@10
(label) getCharToProcess::@11 (label) getCharToProcess::@11
@ -293,16 +293,15 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(word) mul8u::return#2 return zp ZP_WORD:26 22.0 (word) mul8u::return#2 return zp ZP_WORD:26 22.0
(word) mul8u::return#3 return zp ZP_WORD:26 22.0 (word) mul8u::return#3 return zp ZP_WORD:26 22.0
(void()) processChars() (void()) processChars()
(byte~) processChars::$10 reg byte a 22.0 (byte~) processChars::$1 reg byte x 4.0
(byte~) processChars::$11 reg byte a 22.0 (byte~) processChars::$12 reg byte a 22.0
(byte~) processChars::$13 reg byte a 22.0 (byte~) processChars::$13 reg byte a 22.0
(word~) processChars::$14 $14 zp ZP_WORD:53 11.0 (byte~) processChars::$15 reg byte a 22.0
(byte~) processChars::$16 reg byte x 6.6000000000000005 (word~) processChars::$16 $16 zp ZP_WORD:56 11.0
(word~) processChars::$24 $24 zp ZP_WORD:51 11.0 (byte~) processChars::$18 reg byte x 6.6000000000000005
(byte~) processChars::$25 reg byte a 22.0 (word~) processChars::$26 $26 zp ZP_WORD:54 11.0
(word~) processChars::$28 $28 zp ZP_WORD:56 22.0 (byte~) processChars::$27 reg byte a 22.0
(byte~) processChars::$30 reg byte a 22.0 (byte~) processChars::$31 reg byte a 22.0
(word~) processChars::$33 $33 zp ZP_WORD:58 22.0
(byte~) processChars::$34 reg byte a 22.0 (byte~) processChars::$34 reg byte a 22.0
(byte~) processChars::$36 reg byte a 22.0 (byte~) processChars::$36 reg byte a 22.0
(byte~) processChars::$37 reg byte a 22.0 (byte~) processChars::$37 reg byte a 22.0
@ -315,6 +314,8 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(label) processChars::@11 (label) processChars::@11
(label) processChars::@12 (label) processChars::@12
(label) processChars::@13 (label) processChars::@13
(label) processChars::@14
(label) processChars::@15
(label) processChars::@2 (label) processChars::@2
(label) processChars::@3 (label) processChars::@3
(label) processChars::@4 (label) processChars::@4
@ -325,20 +326,24 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(label) processChars::@9 (label) processChars::@9
(label) processChars::@return (label) processChars::@return
(byte) processChars::bitmask (byte) processChars::bitmask
(byte) processChars::bitmask#0 bitmask zp ZP_BYTE:50 2.2916666666666665 (byte) processChars::bitmask#0 bitmask zp ZP_BYTE:53 2.2916666666666665
(byte) processChars::i (byte) processChars::i
(byte) processChars::i#1 i zp ZP_BYTE:30 16.5 (byte) processChars::i#1 i zp ZP_BYTE:30 16.5
(byte) processChars::i#10 i zp ZP_BYTE:30 1.4666666666666666 (byte) processChars::i#10 i zp ZP_BYTE:30 1.4666666666666666
(byte) processChars::numActive
(byte) processChars::numActive#1 numActive zp ZP_BYTE:31 22.0
(byte) processChars::numActive#10 numActive zp ZP_BYTE:31 0.7674418604651163
(byte) processChars::numActive#3 numActive zp ZP_BYTE:31 11.666666666666666
(struct ProcessingSprite*) processChars::processing (struct ProcessingSprite*) processChars::processing
(struct ProcessingSprite*) processChars::processing#0 processing zp ZP_WORD:48 0.3055555555555556 (struct ProcessingSprite*) processChars::processing#0 processing zp ZP_WORD:51 0.3235294117647059
(byte) processChars::xchar (byte) processChars::xchar
(byte) processChars::xchar#0 reg byte a 22.0 (byte) processChars::xchar#0 reg byte a 22.0
(word) processChars::xpos (word) processChars::xpos
(word) processChars::xpos#0 xpos zp ZP_WORD:51 2.0625 (word) processChars::xpos#0 xpos zp ZP_WORD:54 2.0625
(byte) processChars::ychar (byte) processChars::ychar
(byte) processChars::ychar#0 reg byte a 22.0 (byte) processChars::ychar#0 reg byte a 22.0
(byte) processChars::ypos (byte) processChars::ypos
(byte) processChars::ypos#0 ypos zp ZP_BYTE:55 2.5384615384615383 (byte) processChars::ypos#0 ypos zp ZP_BYTE:58 2.75
(void()) setupRasterIrq((word) setupRasterIrq::raster , (void()*) setupRasterIrq::irqRoutine) (void()) setupRasterIrq((word) setupRasterIrq::raster , (void()*) setupRasterIrq::irqRoutine)
(label) setupRasterIrq::@1 (label) setupRasterIrq::@1
(label) setupRasterIrq::@2 (label) setupRasterIrq::@2
@ -347,26 +352,28 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(const void()*) setupRasterIrq::irqRoutine#0 irqRoutine = &interrupt(HARDWARE_ALL)(void()) irqTop() (const void()*) setupRasterIrq::irqRoutine#0 irqRoutine = &interrupt(HARDWARE_ALL)(void()) irqTop()
(word) setupRasterIrq::raster (word) setupRasterIrq::raster
(void()) startProcessing((byte) startProcessing::center_x , (byte) startProcessing::center_y , (word) startProcessing::center_dist) (void()) startProcessing((byte) startProcessing::center_x , (byte) startProcessing::center_y , (word) startProcessing::center_dist)
(word~) startProcessing::$0 $0 zp ZP_WORD:33 3.0 (word~) startProcessing::$0 $0 zp ZP_WORD:34 3.0
(word~) startProcessing::$1 $1 zp ZP_WORD:33 4.0 (word~) startProcessing::$1 $1 zp ZP_WORD:34 4.0
(word~) startProcessing::$10 $10 zp ZP_WORD:39 4.0 (word~) startProcessing::$10 $10 zp ZP_WORD:40 4.0
(word~) startProcessing::$11 $11 zp ZP_WORD:39 4.0 (word~) startProcessing::$11 $11 zp ZP_WORD:40 4.0
(word~) startProcessing::$12 $12 zp ZP_WORD:39 4.0 (word~) startProcessing::$12 $12 zp ZP_WORD:40 4.0
(word~) startProcessing::$14 $14 zp ZP_WORD:41 4.0 (word~) startProcessing::$14 $14 zp ZP_WORD:42 4.0
(word~) startProcessing::$15 $15 zp ZP_WORD:41 4.0 (word~) startProcessing::$15 $15 zp ZP_WORD:42 4.0
(word~) startProcessing::$16 $16 zp ZP_WORD:41 4.0 (word~) startProcessing::$16 $16 zp ZP_WORD:42 4.0
(byte*~) startProcessing::$2 $2 zp ZP_WORD:33 1.2000000000000002 (byte*~) startProcessing::$2 $2 zp ZP_WORD:34 1.2000000000000002
(byte~) startProcessing::$27 reg byte a 2002.0 (byte~) startProcessing::$21 reg byte a 2.0
(byte~) startProcessing::$28 reg byte x 2.25 (word~) startProcessing::$22 $22 zp ZP_WORD:45 0.5714285714285714
(byte) startProcessing::$38 reg byte a 2002.0 (byte~) startProcessing::$29 reg byte a 2002.0
(byte) startProcessing::$39 reg byte a 2002.0 (byte~) startProcessing::$30 reg byte x 2.25
(word~) startProcessing::$4 $4 zp ZP_WORD:10 4.0 (word~) startProcessing::$4 $4 zp ZP_WORD:10 4.0
(byte) startProcessing::$40 reg byte a 2002.0 (byte) startProcessing::$40 reg byte a 2002.0
(word) startProcessing::$42 $42 zp ZP_WORD:35 4.0 (byte) startProcessing::$41 reg byte a 2002.0
(word) startProcessing::$43 $43 zp ZP_WORD:33 4.0 (byte) startProcessing::$42 reg byte a 2002.0
(byte) startProcessing::$45 reg byte a 4.0 (word) startProcessing::$44 $44 zp ZP_WORD:36 4.0
(byte) startProcessing::$46 reg byte a 4.0 (word) startProcessing::$45 $45 zp ZP_WORD:34 4.0
(byte) startProcessing::$47 reg byte a 4.0 (byte) startProcessing::$47 reg byte a 4.0
(byte) startProcessing::$48 reg byte a 4.0
(byte) startProcessing::$49 reg byte a 4.0
(word~) startProcessing::$5 $5 zp ZP_WORD:10 4.0 (word~) startProcessing::$5 $5 zp ZP_WORD:10 4.0
(word~) startProcessing::$7 $7 zp ZP_WORD:8 4.0 (word~) startProcessing::$7 $7 zp ZP_WORD:8 4.0
(word~) startProcessing::$8 $8 zp ZP_WORD:8 4.0 (word~) startProcessing::$8 $8 zp ZP_WORD:8 4.0
@ -383,9 +390,9 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(struct ProcessingChar) startProcessing::center (struct ProcessingChar) startProcessing::center
(word) startProcessing::center_dist (word) startProcessing::center_dist
(byte) startProcessing::center_x (byte) startProcessing::center_x
(byte) startProcessing::center_x#0 center_x zp ZP_BYTE:31 0.3846153846153846 (byte) startProcessing::center_x#0 center_x zp ZP_BYTE:32 0.3846153846153846
(byte) startProcessing::center_y (byte) startProcessing::center_y
(byte) startProcessing::center_y#0 center_y zp ZP_BYTE:32 0.2619047619047619 (byte) startProcessing::center_y#0 center_y zp ZP_BYTE:33 0.2619047619047619
(byte) startProcessing::ch (byte) startProcessing::ch
(byte) startProcessing::ch#0 reg byte a 2.0 (byte) startProcessing::ch#0 reg byte a 2.0
(byte*) startProcessing::chargenData (byte*) startProcessing::chargenData
@ -393,7 +400,7 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(byte*) startProcessing::chargenData#1 chargenData zp ZP_WORD:8 67.33333333333333 (byte*) startProcessing::chargenData#1 chargenData zp ZP_WORD:8 67.33333333333333
(byte*) startProcessing::chargenData#2 chargenData zp ZP_WORD:8 101.66666666666666 (byte*) startProcessing::chargenData#2 chargenData zp ZP_WORD:8 101.66666666666666
(byte) startProcessing::freeIdx (byte) startProcessing::freeIdx
(byte) startProcessing::freeIdx#2 freeIdx zp ZP_BYTE:7 31.285714285714285 (byte) startProcessing::freeIdx#2 freeIdx zp ZP_BYTE:7 29.90909090909092
(byte) startProcessing::freeIdx#6 reg byte x 22.444444444444443 (byte) startProcessing::freeIdx#6 reg byte x 22.444444444444443
(byte~) startProcessing::freeIdx#7 reg byte x 202.0 (byte~) startProcessing::freeIdx#7 reg byte x 202.0
(byte~) startProcessing::freeIdx#8 freeIdx zp ZP_BYTE:7 202.0 (byte~) startProcessing::freeIdx#8 freeIdx zp ZP_BYTE:7 202.0
@ -404,18 +411,18 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(byte) startProcessing::i1#1 reg byte x 151.5 (byte) startProcessing::i1#1 reg byte x 151.5
(byte) startProcessing::i1#2 reg byte x 50.5 (byte) startProcessing::i1#2 reg byte x 50.5
(byte*) startProcessing::screenPtr (byte*) startProcessing::screenPtr
(byte*) startProcessing::screenPtr#0 screenPtr zp ZP_WORD:37 0.10526315789473684 (byte*) startProcessing::screenPtr#0 screenPtr zp ZP_WORD:38 0.1
(byte*) startProcessing::spriteData (byte*) startProcessing::spriteData
(byte*) startProcessing::spriteData#0 spriteData zp ZP_WORD:10 0.5714285714285714 (byte*) startProcessing::spriteData#0 spriteData zp ZP_WORD:10 0.5714285714285714
(byte*) startProcessing::spriteData#1 spriteData zp ZP_WORD:10 50.5 (byte*) startProcessing::spriteData#1 spriteData zp ZP_WORD:10 50.5
(byte*) startProcessing::spriteData#2 spriteData zp ZP_WORD:10 152.5 (byte*) startProcessing::spriteData#2 spriteData zp ZP_WORD:10 152.5
(byte) startProcessing::spriteIdx (byte) startProcessing::spriteIdx
(byte) startProcessing::spritePtr (byte) startProcessing::spritePtr
(byte) startProcessing::spritePtr#0 spritePtr zp ZP_BYTE:43 0.4 (byte) startProcessing::spritePtr#0 spritePtr zp ZP_BYTE:44 0.3333333333333333
(word) startProcessing::spriteX (word) startProcessing::spriteX
(word) startProcessing::spriteX#0 spriteX zp ZP_WORD:39 0.4 (word) startProcessing::spriteX#0 spriteX zp ZP_WORD:40 0.3333333333333333
(word) startProcessing::spriteY (word) startProcessing::spriteY
(word) startProcessing::spriteY#0 spriteY zp ZP_WORD:41 0.5714285714285714 (word) startProcessing::spriteY#0 spriteY zp ZP_WORD:42 0.4444444444444444
zp ZP_WORD:2 [ main::src#2 main::src#1 ] zp ZP_WORD:2 [ main::src#2 main::src#1 ]
zp ZP_WORD:4 [ main::dst#2 main::dst#1 ] zp ZP_WORD:4 [ main::dst#2 main::dst#1 ]
@ -445,6 +452,7 @@ zp ZP_WORD:26 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::re
zp ZP_WORD:28 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] zp ZP_WORD:28 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ]
reg byte x [ irqBottom::i#2 irqBottom::i#1 ] reg byte x [ irqBottom::i#2 irqBottom::i#1 ]
zp ZP_BYTE:30 [ processChars::i#10 processChars::i#1 ] zp ZP_BYTE:30 [ processChars::i#10 processChars::i#1 ]
zp ZP_BYTE:31 [ processChars::numActive#10 processChars::numActive#3 processChars::numActive#1 ]
reg byte x [ irqTop::i#2 irqTop::i#1 ] reg byte x [ irqTop::i#2 irqTop::i#1 ]
reg byte x [ irqTop::i1#2 irqTop::i1#1 ] reg byte x [ irqTop::i1#2 irqTop::i1#1 ]
reg byte a [ main::$25 ] reg byte a [ main::$25 ]
@ -455,27 +463,29 @@ reg byte x [ getCharToProcess::return_x#0 ]
reg byte y [ getCharToProcess::return_y#0 ] reg byte y [ getCharToProcess::return_y#0 ]
reg byte x [ main::center_x#0 ] reg byte x [ main::center_x#0 ]
reg byte y [ main::center_y#0 ] reg byte y [ main::center_y#0 ]
zp ZP_BYTE:31 [ startProcessing::center_x#0 ] zp ZP_BYTE:32 [ startProcessing::center_x#0 ]
zp ZP_BYTE:32 [ startProcessing::center_y#0 ] zp ZP_BYTE:33 [ startProcessing::center_y#0 ]
reg byte a [ startProcessing::$38 ]
reg byte a [ startProcessing::$39 ]
reg byte a [ startProcessing::$40 ] reg byte a [ startProcessing::$40 ]
reg byte a [ startProcessing::$27 ] reg byte a [ startProcessing::$41 ]
zp ZP_WORD:33 [ startProcessing::$0 startProcessing::$43 startProcessing::$1 startProcessing::$2 ] reg byte a [ startProcessing::$42 ]
zp ZP_WORD:35 [ startProcessing::$42 ] reg byte a [ startProcessing::$29 ]
zp ZP_WORD:37 [ startProcessing::screenPtr#0 ] zp ZP_WORD:34 [ startProcessing::$0 startProcessing::$45 startProcessing::$1 startProcessing::$2 ]
zp ZP_WORD:36 [ startProcessing::$44 ]
zp ZP_WORD:38 [ startProcessing::screenPtr#0 ]
reg byte a [ startProcessing::ch#0 ] reg byte a [ startProcessing::ch#0 ]
zp ZP_WORD:39 [ startProcessing::$10 startProcessing::$11 startProcessing::$12 startProcessing::spriteX#0 ] zp ZP_WORD:40 [ startProcessing::$10 startProcessing::$11 startProcessing::$12 startProcessing::spriteX#0 ]
zp ZP_WORD:41 [ startProcessing::$14 startProcessing::$15 startProcessing::$16 startProcessing::spriteY#0 ] zp ZP_WORD:42 [ startProcessing::$14 startProcessing::$15 startProcessing::$16 startProcessing::spriteY#0 ]
zp ZP_BYTE:43 [ startProcessing::spritePtr#0 ] zp ZP_BYTE:44 [ startProcessing::spritePtr#0 ]
reg byte a [ startProcessing::$45 ] reg byte a [ startProcessing::$21 ]
reg byte a [ startProcessing::$46 ] zp ZP_WORD:45 [ startProcessing::$22 ]
reg byte a [ startProcessing::$47 ] reg byte a [ startProcessing::$47 ]
reg byte x [ startProcessing::$28 ] reg byte a [ startProcessing::$48 ]
reg byte a [ startProcessing::$49 ]
reg byte x [ startProcessing::$30 ]
reg byte x [ getCharToProcess::$13 ] reg byte x [ getCharToProcess::$13 ]
reg byte a [ getCharToProcess::$14 ] reg byte a [ getCharToProcess::$14 ]
zp ZP_WORD:44 [ getCharToProcess::$9 getCharToProcess::$16 getCharToProcess::$10 getCharToProcess::$11 ] zp ZP_WORD:47 [ getCharToProcess::$9 getCharToProcess::$16 getCharToProcess::$10 getCharToProcess::$11 ]
zp ZP_WORD:46 [ getCharToProcess::$15 ] zp ZP_WORD:49 [ getCharToProcess::$15 ]
reg byte a [ initSquareTables::$16 ] reg byte a [ initSquareTables::$16 ]
reg byte a [ initSquareTables::$17 ] reg byte a [ initSquareTables::$17 ]
reg byte a [ mul8u::$1 ] reg byte a [ mul8u::$1 ]
@ -483,21 +493,20 @@ reg byte a [ processChars::$64 ]
reg byte a [ processChars::$65 ] reg byte a [ processChars::$65 ]
reg byte a [ processChars::$66 ] reg byte a [ processChars::$66 ]
reg byte a [ processChars::$36 ] reg byte a [ processChars::$36 ]
zp ZP_WORD:48 [ processChars::processing#0 ] zp ZP_WORD:51 [ processChars::processing#0 ]
zp ZP_BYTE:50 [ processChars::bitmask#0 ] zp ZP_BYTE:53 [ processChars::bitmask#0 ]
zp ZP_WORD:51 [ processChars::xpos#0 processChars::$24 ] zp ZP_WORD:54 [ processChars::xpos#0 processChars::$26 ]
reg byte a [ processChars::$10 ] reg byte a [ processChars::$12 ]
reg byte a [ processChars::$11 ]
reg byte x [ processChars::$16 ]
reg byte a [ processChars::$13 ] reg byte a [ processChars::$13 ]
zp ZP_WORD:53 [ processChars::$14 ] reg byte x [ processChars::$18 ]
zp ZP_BYTE:55 [ processChars::ypos#0 ] reg byte a [ processChars::$15 ]
reg byte a [ processChars::$25 ] zp ZP_WORD:56 [ processChars::$16 ]
zp ZP_BYTE:58 [ processChars::ypos#0 ]
reg byte a [ processChars::$27 ]
reg byte a [ processChars::xchar#0 ] reg byte a [ processChars::xchar#0 ]
reg byte a [ processChars::$37 ] reg byte a [ processChars::$37 ]
zp ZP_WORD:56 [ processChars::$28 ] reg byte a [ processChars::$31 ]
reg byte a [ processChars::$30 ]
reg byte a [ processChars::ychar#0 ] reg byte a [ processChars::ychar#0 ]
reg byte a [ processChars::$38 ] reg byte a [ processChars::$38 ]
zp ZP_WORD:58 [ processChars::$33 ] reg byte x [ processChars::$1 ]
reg byte a [ processChars::$34 ] reg byte a [ processChars::$34 ]