mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-11-27 19:50:10 +00:00
Implemented support for char colors in clearscreen
This commit is contained in:
parent
4dfc4432c7
commit
68c3c5918c
@ -47,6 +47,8 @@ struct ProcessingSprite {
|
||||
byte id;
|
||||
// sprite pointer (0-255)
|
||||
byte ptr;
|
||||
// sprite color
|
||||
byte col;
|
||||
// status of the processing (0: free, 1: new, 2: processing)
|
||||
byte status;
|
||||
// Pointer to screen char being processed (used for deletion)
|
||||
@ -67,7 +69,7 @@ void main() {
|
||||
// Copy screen to screen copy
|
||||
for( byte* src=SCREEN, dst=SCREEN_COPY; src!=SCREEN+1000; src++, dst++) *dst = *src;
|
||||
// Init processing array
|
||||
for( byte i: 0..NUM_PROCESSING-1 ) PROCESSING[i] = { 0, 0, 0, 0, 0, 0, STATUS_FREE, 0};
|
||||
for( byte i: 0..NUM_PROCESSING-1 ) PROCESSING[i] = { 0, 0, 0, 0, 0, 0, 0, STATUS_FREE, 0};
|
||||
// Init sprites
|
||||
initSprites();
|
||||
// Set-up raster interrupts
|
||||
@ -125,7 +127,10 @@ void startProcessing(struct ProcessingChar center) {
|
||||
// Found a free sprite
|
||||
byte spriteIdx = freeIdx;
|
||||
// Copy char into sprite
|
||||
byte* screenPtr = SCREEN+(word)center.y*40+center.x;
|
||||
word offset = (word)center.y*40+center.x;
|
||||
byte* colPtr = COLS+offset;
|
||||
byte spriteCol = *colPtr;
|
||||
byte* screenPtr = SCREEN+offset;
|
||||
byte* spriteData = SPRITE_DATA+(word)spriteIdx*64;
|
||||
byte ch = (*screenPtr);
|
||||
byte* chargenData = CHARGEN+(word)ch*8;
|
||||
@ -142,7 +147,7 @@ void startProcessing(struct ProcessingChar center) {
|
||||
word spriteY = (BORDER_YPOS_TOP + (word)center.y*8) << 4;
|
||||
byte spritePtr = (byte)(SPRITE_DATA/64)+spriteIdx;
|
||||
// Put the sprite into the PROCESSING array
|
||||
PROCESSING[spriteIdx] = { spriteX, spriteY, (word)(spriteIdx*8), 60, spriteIdx, spritePtr, STATUS_NEW, screenPtr };
|
||||
PROCESSING[spriteIdx] = { spriteX, spriteY, (word)(spriteIdx*8), 60, spriteIdx, spritePtr, spriteCol, STATUS_NEW, screenPtr };
|
||||
}
|
||||
|
||||
const word XPOS_LEFTMOST = (word)(BORDER_XPOS_LEFT-8)<<4;
|
||||
@ -173,6 +178,8 @@ void processChars() {
|
||||
*(processing->screenPtr) = ' ';
|
||||
// Enable the sprite
|
||||
*SPRITES_ENABLE |= bitmask;
|
||||
// Set the sprite color
|
||||
SPRITES_COLS[processing->id] = processing->col;
|
||||
// Set sprite pointer
|
||||
*(SCREEN+SPRITE_PTRS+processing->id) = processing->ptr;
|
||||
// Set status
|
||||
|
@ -7,8 +7,9 @@
|
||||
.const OFFSET_STRUCT_PROCESSINGSPRITE_VY = 6
|
||||
.const OFFSET_STRUCT_PROCESSINGSPRITE_ID = 8
|
||||
.const OFFSET_STRUCT_PROCESSINGSPRITE_PTR = 9
|
||||
.const OFFSET_STRUCT_PROCESSINGSPRITE_STATUS = $a
|
||||
.const OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR = $b
|
||||
.const OFFSET_STRUCT_PROCESSINGSPRITE_COL = $a
|
||||
.const OFFSET_STRUCT_PROCESSINGSPRITE_STATUS = $b
|
||||
.const OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR = $c
|
||||
// Processor port data direction register
|
||||
.label PROCPORT_DDR = 0
|
||||
// Mask for PROCESSOR_PORT_DDR which allows only memory configuration to be written
|
||||
@ -117,9 +118,9 @@ main: {
|
||||
clc
|
||||
adc i
|
||||
asl
|
||||
asl
|
||||
clc
|
||||
adc i
|
||||
asl
|
||||
tax
|
||||
lda #0
|
||||
sta PROCESSING,x
|
||||
@ -132,6 +133,7 @@ main: {
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_VY+1,x
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_ID,x
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_PTR,x
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_COL,x
|
||||
lda #STATUS_FREE
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_STATUS,x
|
||||
lda #<0
|
||||
@ -170,30 +172,32 @@ main: {
|
||||
startProcessing: {
|
||||
.label _0 = $22
|
||||
.label _1 = $22
|
||||
.label _2 = $22
|
||||
.label _4 = $a
|
||||
.label _5 = $a
|
||||
.label _7 = 8
|
||||
.label _6 = $a
|
||||
.label _8 = 8
|
||||
.label _10 = $28
|
||||
.label _11 = $28
|
||||
.label _12 = $28
|
||||
.label _14 = $2a
|
||||
.label _15 = $2a
|
||||
.label _16 = $2a
|
||||
.label _22 = $2d
|
||||
.label _9 = 8
|
||||
.label _11 = $29
|
||||
.label _12 = $29
|
||||
.label _13 = $29
|
||||
.label _15 = $2b
|
||||
.label _16 = $2b
|
||||
.label _17 = $2b
|
||||
.label _23 = $2e
|
||||
.label center_x = $20
|
||||
.label center_y = $21
|
||||
.label i = 7
|
||||
.label screenPtr = $26
|
||||
.label offset = $22
|
||||
.label colPtr = $26
|
||||
.label spriteCol = $28
|
||||
.label screenPtr = $22
|
||||
.label spriteData = $a
|
||||
.label chargenData = 8
|
||||
.label spriteX = $28
|
||||
.label spriteY = $2a
|
||||
.label spritePtr = $2c
|
||||
.label spriteX = $29
|
||||
.label spriteY = $2b
|
||||
.label spritePtr = $2d
|
||||
.label freeIdx = 7
|
||||
.label _44 = $24
|
||||
.label _45 = $22
|
||||
.label _47 = $24
|
||||
.label _48 = $22
|
||||
ldx #$ff
|
||||
b1:
|
||||
lda #0
|
||||
@ -204,9 +208,9 @@ startProcessing: {
|
||||
clc
|
||||
adc i
|
||||
asl
|
||||
asl
|
||||
clc
|
||||
adc i
|
||||
asl
|
||||
tay
|
||||
lda #STATUS_FREE
|
||||
cmp PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_STATUS,y
|
||||
@ -225,55 +229,65 @@ startProcessing: {
|
||||
sta _0+1
|
||||
lda _0
|
||||
asl
|
||||
sta _44
|
||||
sta _47
|
||||
lda _0+1
|
||||
rol
|
||||
sta _44+1
|
||||
asl _44
|
||||
rol _44+1
|
||||
lda _45
|
||||
sta _47+1
|
||||
asl _47
|
||||
rol _47+1
|
||||
lda _48
|
||||
clc
|
||||
adc _44
|
||||
sta _45
|
||||
lda _45+1
|
||||
adc _44+1
|
||||
sta _45+1
|
||||
adc _47
|
||||
sta _48
|
||||
lda _48+1
|
||||
adc _47+1
|
||||
sta _48+1
|
||||
asl _1
|
||||
rol _1+1
|
||||
asl _1
|
||||
rol _1+1
|
||||
asl _1
|
||||
rol _1+1
|
||||
clc
|
||||
lda _2
|
||||
adc #<SCREEN
|
||||
sta _2
|
||||
lda _2+1
|
||||
adc #>SCREEN
|
||||
sta _2+1
|
||||
lda center_x
|
||||
clc
|
||||
adc _2
|
||||
adc offset
|
||||
sta offset
|
||||
bcc !+
|
||||
inc offset+1
|
||||
!:
|
||||
lda offset
|
||||
clc
|
||||
adc #<COLS
|
||||
sta colPtr
|
||||
lda offset+1
|
||||
adc #>COLS
|
||||
sta colPtr+1
|
||||
ldy #0
|
||||
lda (colPtr),y
|
||||
sta spriteCol
|
||||
clc
|
||||
lda screenPtr
|
||||
adc #<SCREEN
|
||||
sta screenPtr
|
||||
lda #0
|
||||
adc _2+1
|
||||
lda screenPtr+1
|
||||
adc #>SCREEN
|
||||
sta screenPtr+1
|
||||
lda freeIdx
|
||||
sta _4
|
||||
lda #0
|
||||
sta _4+1
|
||||
asl _5
|
||||
rol _5+1
|
||||
asl _5
|
||||
rol _5+1
|
||||
asl _5
|
||||
rol _5+1
|
||||
asl _5
|
||||
rol _5+1
|
||||
asl _5
|
||||
rol _5+1
|
||||
asl _5
|
||||
rol _5+1
|
||||
sta _5
|
||||
tya
|
||||
sta _5+1
|
||||
asl _6
|
||||
rol _6+1
|
||||
asl _6
|
||||
rol _6+1
|
||||
asl _6
|
||||
rol _6+1
|
||||
asl _6
|
||||
rol _6+1
|
||||
asl _6
|
||||
rol _6+1
|
||||
asl _6
|
||||
rol _6+1
|
||||
clc
|
||||
lda spriteData
|
||||
adc #<SPRITE_DATA
|
||||
@ -281,17 +295,16 @@ startProcessing: {
|
||||
lda spriteData+1
|
||||
adc #>SPRITE_DATA
|
||||
sta spriteData+1
|
||||
ldy center_x
|
||||
lda (_2),y
|
||||
sta _7
|
||||
lda #0
|
||||
sta _7+1
|
||||
asl _8
|
||||
rol _8+1
|
||||
asl _8
|
||||
rol _8+1
|
||||
asl _8
|
||||
rol _8+1
|
||||
lda (screenPtr),y
|
||||
sta _8
|
||||
tya
|
||||
sta _8+1
|
||||
asl _9
|
||||
rol _9+1
|
||||
asl _9
|
||||
rol _9+1
|
||||
asl _9
|
||||
rol _9+1
|
||||
clc
|
||||
lda chargenData
|
||||
adc #<CHARGEN
|
||||
@ -325,21 +338,21 @@ startProcessing: {
|
||||
sta PROCPORT
|
||||
cli
|
||||
lda center_x
|
||||
sta _10
|
||||
sta _11
|
||||
lda #0
|
||||
sta _10+1
|
||||
asl _11
|
||||
rol _11+1
|
||||
asl _11
|
||||
rol _11+1
|
||||
asl _11
|
||||
rol _11+1
|
||||
sta _11+1
|
||||
asl _12
|
||||
rol _12+1
|
||||
asl _12
|
||||
rol _12+1
|
||||
asl _12
|
||||
rol _12+1
|
||||
lda #BORDER_XPOS_LEFT
|
||||
clc
|
||||
adc _12
|
||||
sta _12
|
||||
adc _13
|
||||
sta _13
|
||||
bcc !+
|
||||
inc _12+1
|
||||
inc _13+1
|
||||
!:
|
||||
asl spriteX
|
||||
rol spriteX+1
|
||||
@ -350,21 +363,21 @@ startProcessing: {
|
||||
asl spriteX
|
||||
rol spriteX+1
|
||||
lda center_y
|
||||
sta _14
|
||||
sta _15
|
||||
lda #0
|
||||
sta _14+1
|
||||
asl _15
|
||||
rol _15+1
|
||||
asl _15
|
||||
rol _15+1
|
||||
asl _15
|
||||
rol _15+1
|
||||
sta _15+1
|
||||
asl _16
|
||||
rol _16+1
|
||||
asl _16
|
||||
rol _16+1
|
||||
asl _16
|
||||
rol _16+1
|
||||
lda #BORDER_YPOS_TOP
|
||||
clc
|
||||
adc _16
|
||||
sta _16
|
||||
adc _17
|
||||
sta _17
|
||||
bcc !+
|
||||
inc _16+1
|
||||
inc _17+1
|
||||
!:
|
||||
asl spriteY
|
||||
rol spriteY+1
|
||||
@ -381,17 +394,17 @@ startProcessing: {
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
sta _22
|
||||
sta _23
|
||||
lda #0
|
||||
sta _22+1
|
||||
sta _23+1
|
||||
lda freeIdx
|
||||
asl
|
||||
clc
|
||||
adc freeIdx
|
||||
asl
|
||||
asl
|
||||
clc
|
||||
adc freeIdx
|
||||
asl
|
||||
tax
|
||||
lda spriteX
|
||||
sta PROCESSING,x
|
||||
@ -401,9 +414,9 @@ startProcessing: {
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_Y,x
|
||||
lda spriteY+1
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_Y+1,x
|
||||
lda _22
|
||||
lda _23
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_VX,x
|
||||
lda _22+1
|
||||
lda _23+1
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_VX+1,x
|
||||
lda #$3c
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_VY,x
|
||||
@ -413,6 +426,8 @@ startProcessing: {
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_ID,x
|
||||
lda spritePtr
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_PTR,x
|
||||
lda spriteCol
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_COL,x
|
||||
lda #STATUS_NEW
|
||||
sta PROCESSING+OFFSET_STRUCT_PROCESSINGSPRITE_STATUS,x
|
||||
lda screenPtr
|
||||
@ -436,9 +451,9 @@ startProcessing: {
|
||||
// Find the non-space char closest to the center of the screen
|
||||
// If no non-space char is found the distance will be 0xffff
|
||||
getCharToProcess: {
|
||||
.label _9 = $2f
|
||||
.label _10 = $2f
|
||||
.label _11 = $2f
|
||||
.label _9 = $30
|
||||
.label _10 = $30
|
||||
.label _11 = $30
|
||||
.label return_dist = $14
|
||||
.label x = $f
|
||||
.label dist = $14
|
||||
@ -449,8 +464,8 @@ getCharToProcess: {
|
||||
.label closest_dist = $10
|
||||
.label closest_x = $12
|
||||
.label closest_y = $13
|
||||
.label _15 = $31
|
||||
.label _16 = $2f
|
||||
.label _15 = $32
|
||||
.label _16 = $30
|
||||
lda #0
|
||||
sta closest_y
|
||||
sta closest_x
|
||||
@ -781,13 +796,13 @@ irqBottom: {
|
||||
}
|
||||
// Process any chars in the PROCESSING array
|
||||
processChars: {
|
||||
.label _15 = $38
|
||||
.label _25 = $36
|
||||
.label processing = $33
|
||||
.label bitmask = $35
|
||||
.label _15 = $39
|
||||
.label _25 = $37
|
||||
.label processing = $34
|
||||
.label bitmask = $36
|
||||
.label i = $1e
|
||||
.label xpos = $36
|
||||
.label ypos = $3a
|
||||
.label xpos = $37
|
||||
.label ypos = $3b
|
||||
.label numActive = $1f
|
||||
lda #0
|
||||
sta numActive
|
||||
@ -798,9 +813,9 @@ processChars: {
|
||||
clc
|
||||
adc i
|
||||
asl
|
||||
asl
|
||||
clc
|
||||
adc i
|
||||
asl
|
||||
clc
|
||||
adc #<PROCESSING
|
||||
sta processing
|
||||
@ -843,6 +858,15 @@ processChars: {
|
||||
lda SPRITES_ENABLE
|
||||
ora bitmask
|
||||
sta SPRITES_ENABLE
|
||||
// Set the sprite color
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_COL
|
||||
lda (processing),y
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_ID
|
||||
pha
|
||||
lda (processing),y
|
||||
tay
|
||||
pla
|
||||
sta SPRITES_COLS,y
|
||||
// Set sprite pointer
|
||||
ldy #OFFSET_STRUCT_PROCESSINGSPRITE_PTR
|
||||
lda (processing),y
|
||||
@ -1079,7 +1103,7 @@ irqTop: {
|
||||
// SQUARES_Y[i] = (i-12)*(i-12)
|
||||
SQUARES_Y: .fill 2*$19, 0
|
||||
// Sprites currently being processed in the interrupt
|
||||
PROCESSING: .fill $d*NUM_PROCESSING, 0
|
||||
PROCESSING: .fill $e*NUM_PROCESSING, 0
|
||||
.pc = VXSIN "VXSIN"
|
||||
.for(var i=0; i<40; i++) {
|
||||
.word -sin(toRadians([i*360]/40))*4
|
||||
|
@ -31,428 +31,437 @@ main::@1: scope:[main] from main main::@1
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@1 main::@2
|
||||
[13] (byte) main::i#2 ← phi( main::@1/(byte) 0 main::@2/(byte) main::i#1 )
|
||||
[14] (byte) main::$25 ← (byte) main::i#2 << (byte) 1
|
||||
[15] (byte) main::$26 ← (byte) main::$25 + (byte) main::i#2
|
||||
[16] (byte) main::$27 ← (byte) main::$26 << (byte) 2
|
||||
[17] (byte~) main::$16 ← (byte) main::$27 + (byte) main::i#2
|
||||
[18] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) main::$16) ← (byte) 0
|
||||
[19] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y + (byte~) main::$16) ← (byte) 0
|
||||
[20] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX + (byte~) main::$16) ← (byte) 0
|
||||
[21] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY + (byte~) main::$16) ← (byte) 0
|
||||
[22] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID + (byte~) main::$16) ← (byte) 0
|
||||
[23] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR + (byte~) main::$16) ← (byte) 0
|
||||
[24] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS + (byte~) main::$16) ← (const byte) STATUS_FREE#0
|
||||
[25] *((byte**)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR + (byte~) main::$16) ← (byte*) 0
|
||||
[26] (byte) main::i#1 ← ++ (byte) main::i#2
|
||||
[27] if((byte) main::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto main::@2
|
||||
[14] (byte) main::$26 ← (byte) main::i#2 << (byte) 1
|
||||
[15] (byte) main::$27 ← (byte) main::$26 + (byte) main::i#2
|
||||
[16] (byte) main::$28 ← (byte) main::$27 << (byte) 1
|
||||
[17] (byte) main::$29 ← (byte) main::$28 + (byte) main::i#2
|
||||
[18] (byte~) main::$16 ← (byte) main::$29 << (byte) 1
|
||||
[19] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) main::$16) ← (byte) 0
|
||||
[20] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y + (byte~) main::$16) ← (byte) 0
|
||||
[21] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX + (byte~) main::$16) ← (byte) 0
|
||||
[22] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY + (byte~) main::$16) ← (byte) 0
|
||||
[23] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID + (byte~) main::$16) ← (byte) 0
|
||||
[24] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR + (byte~) main::$16) ← (byte) 0
|
||||
[25] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_COL + (byte~) main::$16) ← (byte) 0
|
||||
[26] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS + (byte~) main::$16) ← (const byte) STATUS_FREE#0
|
||||
[27] *((byte**)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR + (byte~) main::$16) ← (byte*) 0
|
||||
[28] (byte) main::i#1 ← ++ (byte) main::i#2
|
||||
[29] if((byte) main::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto main::@2
|
||||
to:main::@3
|
||||
main::@3: scope:[main] from main::@2
|
||||
[28] phi()
|
||||
[29] call initSprites
|
||||
[30] phi()
|
||||
[31] call initSprites
|
||||
to:main::@8
|
||||
main::@8: scope:[main] from main::@3
|
||||
[30] phi()
|
||||
[31] call setupRasterIrq
|
||||
[32] phi()
|
||||
[33] call setupRasterIrq
|
||||
to:main::@4
|
||||
main::@4: scope:[main] from main::@5 main::@8
|
||||
[32] phi()
|
||||
[33] call getCharToProcess
|
||||
[34] (byte) getCharToProcess::return_x#0 ← (byte) getCharToProcess::return_x#1
|
||||
[35] (byte) getCharToProcess::return_y#0 ← (byte) getCharToProcess::return_y#1
|
||||
[36] (word) getCharToProcess::return_dist#0 ← (word) getCharToProcess::return_dist#1
|
||||
[34] phi()
|
||||
[35] call getCharToProcess
|
||||
[36] (byte) getCharToProcess::return_x#0 ← (byte) getCharToProcess::return_x#1
|
||||
[37] (byte) getCharToProcess::return_y#0 ← (byte) getCharToProcess::return_y#1
|
||||
[38] (word) getCharToProcess::return_dist#0 ← (word) getCharToProcess::return_dist#1
|
||||
to:main::@9
|
||||
main::@9: scope:[main] from main::@4
|
||||
[37] (byte) main::center_x#0 ← (byte) getCharToProcess::return_x#0
|
||||
[38] (byte) main::center_y#0 ← (byte) getCharToProcess::return_y#0
|
||||
[39] (word) main::center_dist#0 ← (word) getCharToProcess::return_dist#0
|
||||
[40] if((word) main::center_dist#0!=(const word) NOT_FOUND#0) goto main::@5
|
||||
[39] (byte) main::center_x#0 ← (byte) getCharToProcess::return_x#0
|
||||
[40] (byte) main::center_y#0 ← (byte) getCharToProcess::return_y#0
|
||||
[41] (word) main::center_dist#0 ← (word) getCharToProcess::return_dist#0
|
||||
[42] if((word) main::center_dist#0!=(const word) NOT_FOUND#0) goto main::@5
|
||||
to:main::@6
|
||||
main::@6: scope:[main] from main::@9
|
||||
[41] *((const byte*) SCREEN#0+(word) $3e7) ← (byte) '.'
|
||||
[43] *((const byte*) SCREEN#0+(word) $3e7) ← (byte) '.'
|
||||
to:main::@7
|
||||
main::@7: scope:[main] from main::@6 main::@7
|
||||
[42] *((const byte*) COLS#0+(word) $3e7) ← ++ *((const byte*) COLS#0+(word) $3e7)
|
||||
[44] *((const byte*) COLS#0+(word) $3e7) ← ++ *((const byte*) COLS#0+(word) $3e7)
|
||||
to:main::@7
|
||||
main::@5: scope:[main] from main::@9
|
||||
[43] (byte) startProcessing::center_x#0 ← (byte) main::center_x#0
|
||||
[44] (byte) startProcessing::center_y#0 ← (byte) main::center_y#0
|
||||
[45] call startProcessing
|
||||
[45] (byte) startProcessing::center_x#0 ← (byte) main::center_x#0
|
||||
[46] (byte) startProcessing::center_y#0 ← (byte) main::center_y#0
|
||||
[47] call startProcessing
|
||||
to:main::@4
|
||||
startProcessing: scope:[startProcessing] from main::@5
|
||||
[46] phi()
|
||||
[48] phi()
|
||||
to:startProcessing::@1
|
||||
startProcessing::@1: scope:[startProcessing] from startProcessing startProcessing::@8
|
||||
[47] (byte) startProcessing::freeIdx#6 ← phi( startProcessing/(byte) $ff startProcessing::@8/(byte~) startProcessing::freeIdx#7 )
|
||||
[49] (byte) startProcessing::freeIdx#6 ← phi( startProcessing/(byte) $ff startProcessing::@8/(byte~) startProcessing::freeIdx#7 )
|
||||
to:startProcessing::@2
|
||||
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 )
|
||||
[49] (byte) startProcessing::$40 ← (byte) startProcessing::i#2 << (byte) 1
|
||||
[50] (byte) startProcessing::$41 ← (byte) startProcessing::$40 + (byte) startProcessing::i#2
|
||||
[51] (byte) startProcessing::$42 ← (byte) startProcessing::$41 << (byte) 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::$29)!=(const byte) STATUS_FREE#0) goto startProcessing::@3
|
||||
[50] (byte) startProcessing::i#2 ← phi( startProcessing::@1/(byte) 0 startProcessing::@3/(byte) startProcessing::i#1 )
|
||||
[51] (byte) startProcessing::$42 ← (byte) startProcessing::i#2 << (byte) 1
|
||||
[52] (byte) startProcessing::$43 ← (byte) startProcessing::$42 + (byte) startProcessing::i#2
|
||||
[53] (byte) startProcessing::$44 ← (byte) startProcessing::$43 << (byte) 1
|
||||
[54] (byte) startProcessing::$45 ← (byte) startProcessing::$44 + (byte) startProcessing::i#2
|
||||
[55] (byte~) startProcessing::$30 ← (byte) startProcessing::$45 << (byte) 1
|
||||
[56] if(*((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS + (byte~) startProcessing::$30)!=(const byte) STATUS_FREE#0) goto startProcessing::@3
|
||||
to:startProcessing::@4
|
||||
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 )
|
||||
[55] if((byte) startProcessing::freeIdx#2==(byte) $ff) goto startProcessing::@8
|
||||
[57] (byte) startProcessing::freeIdx#2 ← phi( startProcessing::@9/(byte~) startProcessing::freeIdx#8 startProcessing::@2/(byte) startProcessing::i#2 )
|
||||
[58] if((byte) startProcessing::freeIdx#2==(byte) $ff) goto startProcessing::@8
|
||||
to:startProcessing::@5
|
||||
startProcessing::@5: scope:[startProcessing] from startProcessing::@4
|
||||
[56] (word~) startProcessing::$0 ← (word)(byte) startProcessing::center_y#0
|
||||
[57] (word) startProcessing::$44 ← (word~) startProcessing::$0 << (byte) 2
|
||||
[58] (word) startProcessing::$45 ← (word) startProcessing::$44 + (word~) startProcessing::$0
|
||||
[59] (word~) startProcessing::$1 ← (word) startProcessing::$45 << (byte) 3
|
||||
[60] (byte*~) startProcessing::$2 ← (const byte*) SCREEN#0 + (word~) startProcessing::$1
|
||||
[61] (byte*) startProcessing::screenPtr#0 ← (byte*~) startProcessing::$2 + (byte) startProcessing::center_x#0
|
||||
[62] (word~) startProcessing::$4 ← (word)(byte) startProcessing::freeIdx#2
|
||||
[63] (word~) startProcessing::$5 ← (word~) startProcessing::$4 << (byte) 6
|
||||
[64] (byte*) startProcessing::spriteData#0 ← (const byte*) SPRITE_DATA#0 + (word~) startProcessing::$5
|
||||
[65] (byte) startProcessing::ch#0 ← *((byte*~) startProcessing::$2 + (byte) startProcessing::center_x#0)
|
||||
[66] (word~) startProcessing::$7 ← (word)(byte) startProcessing::ch#0
|
||||
[67] (word~) startProcessing::$8 ← (word~) startProcessing::$7 << (byte) 3
|
||||
[68] (byte*) startProcessing::chargenData#0 ← (const byte*) CHARGEN#0 + (word~) startProcessing::$8
|
||||
[59] (word~) startProcessing::$0 ← (word)(byte) startProcessing::center_y#0
|
||||
[60] (word) startProcessing::$47 ← (word~) startProcessing::$0 << (byte) 2
|
||||
[61] (word) startProcessing::$48 ← (word) startProcessing::$47 + (word~) startProcessing::$0
|
||||
[62] (word~) startProcessing::$1 ← (word) startProcessing::$48 << (byte) 3
|
||||
[63] (word) startProcessing::offset#0 ← (word~) startProcessing::$1 + (byte) startProcessing::center_x#0
|
||||
[64] (byte*) startProcessing::colPtr#0 ← (const byte*) COLS#0 + (word) startProcessing::offset#0
|
||||
[65] (byte) startProcessing::spriteCol#0 ← *((byte*) startProcessing::colPtr#0)
|
||||
[66] (byte*) startProcessing::screenPtr#0 ← (const byte*) SCREEN#0 + (word) startProcessing::offset#0
|
||||
[67] (word~) startProcessing::$5 ← (word)(byte) startProcessing::freeIdx#2
|
||||
[68] (word~) startProcessing::$6 ← (word~) startProcessing::$5 << (byte) 6
|
||||
[69] (byte*) startProcessing::spriteData#0 ← (const byte*) SPRITE_DATA#0 + (word~) startProcessing::$6
|
||||
[70] (byte) startProcessing::ch#0 ← *((byte*) startProcessing::screenPtr#0)
|
||||
[71] (word~) startProcessing::$8 ← (word)(byte) startProcessing::ch#0
|
||||
[72] (word~) startProcessing::$9 ← (word~) startProcessing::$8 << (byte) 3
|
||||
[73] (byte*) startProcessing::chargenData#0 ← (const byte*) CHARGEN#0 + (word~) startProcessing::$9
|
||||
asm { sei }
|
||||
[70] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0
|
||||
[75] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_CHARROM#0
|
||||
to:startProcessing::@6
|
||||
startProcessing::@6: scope:[startProcessing] from startProcessing::@5 startProcessing::@6
|
||||
[71] (byte) startProcessing::i1#2 ← phi( startProcessing::@5/(byte) 0 startProcessing::@6/(byte) startProcessing::i1#1 )
|
||||
[71] (byte*) startProcessing::spriteData#2 ← phi( startProcessing::@5/(byte*) startProcessing::spriteData#0 startProcessing::@6/(byte*) startProcessing::spriteData#1 )
|
||||
[71] (byte*) startProcessing::chargenData#2 ← phi( startProcessing::@5/(byte*) startProcessing::chargenData#0 startProcessing::@6/(byte*) startProcessing::chargenData#1 )
|
||||
[72] *((byte*) startProcessing::spriteData#2) ← *((byte*) startProcessing::chargenData#2)
|
||||
[73] (byte*) startProcessing::spriteData#1 ← (byte*) startProcessing::spriteData#2 + (byte) 3
|
||||
[74] (byte*) startProcessing::chargenData#1 ← ++ (byte*) startProcessing::chargenData#2
|
||||
[75] (byte) startProcessing::i1#1 ← ++ (byte) startProcessing::i1#2
|
||||
[76] if((byte) startProcessing::i1#1!=(byte) 8) goto startProcessing::@6
|
||||
[76] (byte) startProcessing::i1#2 ← phi( startProcessing::@5/(byte) 0 startProcessing::@6/(byte) startProcessing::i1#1 )
|
||||
[76] (byte*) startProcessing::spriteData#2 ← phi( startProcessing::@5/(byte*) startProcessing::spriteData#0 startProcessing::@6/(byte*) startProcessing::spriteData#1 )
|
||||
[76] (byte*) startProcessing::chargenData#2 ← phi( startProcessing::@5/(byte*) startProcessing::chargenData#0 startProcessing::@6/(byte*) startProcessing::chargenData#1 )
|
||||
[77] *((byte*) startProcessing::spriteData#2) ← *((byte*) startProcessing::chargenData#2)
|
||||
[78] (byte*) startProcessing::spriteData#1 ← (byte*) startProcessing::spriteData#2 + (byte) 3
|
||||
[79] (byte*) startProcessing::chargenData#1 ← ++ (byte*) startProcessing::chargenData#2
|
||||
[80] (byte) startProcessing::i1#1 ← ++ (byte) startProcessing::i1#2
|
||||
[81] if((byte) startProcessing::i1#1!=(byte) 8) goto startProcessing::@6
|
||||
to:startProcessing::@7
|
||||
startProcessing::@7: scope:[startProcessing] from startProcessing::@6
|
||||
[77] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0
|
||||
[82] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0
|
||||
asm { cli }
|
||||
[79] (word~) startProcessing::$10 ← (word)(byte) startProcessing::center_x#0
|
||||
[80] (word~) startProcessing::$11 ← (word~) startProcessing::$10 << (byte) 3
|
||||
[81] (word~) startProcessing::$12 ← (const byte) BORDER_XPOS_LEFT#0 + (word~) startProcessing::$11
|
||||
[82] (word) startProcessing::spriteX#0 ← (word~) startProcessing::$12 << (byte) 4
|
||||
[83] (word~) startProcessing::$14 ← (word)(byte) startProcessing::center_y#0
|
||||
[84] (word~) startProcessing::$15 ← (word~) startProcessing::$14 << (byte) 3
|
||||
[85] (word~) startProcessing::$16 ← (const byte) BORDER_YPOS_TOP#0 + (word~) startProcessing::$15
|
||||
[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
|
||||
[88] (byte~) startProcessing::$21 ← (byte) startProcessing::freeIdx#2 << (byte) 3
|
||||
[89] (word~) startProcessing::$22 ← (word)(byte~) startProcessing::$21
|
||||
[90] (byte) startProcessing::$47 ← (byte) startProcessing::freeIdx#2 << (byte) 1
|
||||
[91] (byte) startProcessing::$48 ← (byte) startProcessing::$47 + (byte) startProcessing::freeIdx#2
|
||||
[92] (byte) startProcessing::$49 ← (byte) startProcessing::$48 << (byte) 2
|
||||
[93] (byte~) startProcessing::$30 ← (byte) startProcessing::$49 + (byte) startProcessing::freeIdx#2
|
||||
[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_Y + (byte~) startProcessing::$30) ← (word) startProcessing::spriteY#0
|
||||
[96] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX + (byte~) startProcessing::$30) ← (word~) startProcessing::$22
|
||||
[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_ID + (byte~) startProcessing::$30) ← (byte) startProcessing::freeIdx#2
|
||||
[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
|
||||
[84] (word~) startProcessing::$11 ← (word)(byte) startProcessing::center_x#0
|
||||
[85] (word~) startProcessing::$12 ← (word~) startProcessing::$11 << (byte) 3
|
||||
[86] (word~) startProcessing::$13 ← (const byte) BORDER_XPOS_LEFT#0 + (word~) startProcessing::$12
|
||||
[87] (word) startProcessing::spriteX#0 ← (word~) startProcessing::$13 << (byte) 4
|
||||
[88] (word~) startProcessing::$15 ← (word)(byte) startProcessing::center_y#0
|
||||
[89] (word~) startProcessing::$16 ← (word~) startProcessing::$15 << (byte) 3
|
||||
[90] (word~) startProcessing::$17 ← (const byte) BORDER_YPOS_TOP#0 + (word~) startProcessing::$16
|
||||
[91] (word) startProcessing::spriteY#0 ← (word~) startProcessing::$17 << (byte) 4
|
||||
[92] (byte) startProcessing::spritePtr#0 ← (byte)(const byte*) SPRITE_DATA#0/(byte) $40 + (byte) startProcessing::freeIdx#2
|
||||
[93] (byte~) startProcessing::$22 ← (byte) startProcessing::freeIdx#2 << (byte) 3
|
||||
[94] (word~) startProcessing::$23 ← (word)(byte~) startProcessing::$22
|
||||
[95] (byte) startProcessing::$50 ← (byte) startProcessing::freeIdx#2 << (byte) 1
|
||||
[96] (byte) startProcessing::$51 ← (byte) startProcessing::$50 + (byte) startProcessing::freeIdx#2
|
||||
[97] (byte) startProcessing::$52 ← (byte) startProcessing::$51 << (byte) 1
|
||||
[98] (byte) startProcessing::$53 ← (byte) startProcessing::$52 + (byte) startProcessing::freeIdx#2
|
||||
[99] (byte~) startProcessing::$31 ← (byte) startProcessing::$53 << (byte) 1
|
||||
[100] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) startProcessing::$31) ← (word) startProcessing::spriteX#0
|
||||
[101] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y + (byte~) startProcessing::$31) ← (word) startProcessing::spriteY#0
|
||||
[102] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX + (byte~) startProcessing::$31) ← (word~) startProcessing::$23
|
||||
[103] *((word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY + (byte~) startProcessing::$31) ← (byte) $3c
|
||||
[104] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID + (byte~) startProcessing::$31) ← (byte) startProcessing::freeIdx#2
|
||||
[105] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR + (byte~) startProcessing::$31) ← (byte) startProcessing::spritePtr#0
|
||||
[106] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_COL + (byte~) startProcessing::$31) ← (byte) startProcessing::spriteCol#0
|
||||
[107] *((byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS + (byte~) startProcessing::$31) ← (const byte) STATUS_NEW#0
|
||||
[108] *((byte**)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR + (byte~) startProcessing::$31) ← (byte*) startProcessing::screenPtr#0
|
||||
to:startProcessing::@return
|
||||
startProcessing::@return: scope:[startProcessing] from startProcessing::@7
|
||||
[102] return
|
||||
[109] return
|
||||
to:@return
|
||||
startProcessing::@8: scope:[startProcessing] from startProcessing::@4
|
||||
[103] (byte~) startProcessing::freeIdx#7 ← (byte) startProcessing::freeIdx#2
|
||||
[110] (byte~) startProcessing::freeIdx#7 ← (byte) startProcessing::freeIdx#2
|
||||
to:startProcessing::@1
|
||||
startProcessing::@3: scope:[startProcessing] from startProcessing::@2
|
||||
[104] (byte) startProcessing::i#1 ← ++ (byte) startProcessing::i#2
|
||||
[105] if((byte) startProcessing::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto startProcessing::@2
|
||||
[111] (byte) startProcessing::i#1 ← ++ (byte) startProcessing::i#2
|
||||
[112] if((byte) startProcessing::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto startProcessing::@2
|
||||
to:startProcessing::@9
|
||||
startProcessing::@9: scope:[startProcessing] from startProcessing::@3
|
||||
[106] (byte~) startProcessing::freeIdx#8 ← (byte) startProcessing::freeIdx#6
|
||||
[113] (byte~) startProcessing::freeIdx#8 ← (byte) startProcessing::freeIdx#6
|
||||
to:startProcessing::@4
|
||||
getCharToProcess: scope:[getCharToProcess] from main::@4
|
||||
[107] phi()
|
||||
[114] phi()
|
||||
to:getCharToProcess::@1
|
||||
getCharToProcess::@1: scope:[getCharToProcess] from getCharToProcess getCharToProcess::@9
|
||||
[108] (byte) getCharToProcess::closest_y#9 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::return_y#1 )
|
||||
[108] (byte) getCharToProcess::closest_x#9 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::return_x#1 )
|
||||
[108] (word) getCharToProcess::closest_dist#8 ← phi( getCharToProcess/(const word) NOT_FOUND#0 getCharToProcess::@9/(word~) getCharToProcess::closest_dist#10 )
|
||||
[108] (byte) getCharToProcess::y#7 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::y#1 )
|
||||
[108] (byte*) getCharToProcess::screen_line#4 ← phi( getCharToProcess/(const byte[$3e8]) SCREEN_COPY#0 getCharToProcess::@9/(byte*) getCharToProcess::screen_line#1 )
|
||||
[115] (byte) getCharToProcess::closest_y#9 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::return_y#1 )
|
||||
[115] (byte) getCharToProcess::closest_x#9 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::return_x#1 )
|
||||
[115] (word) getCharToProcess::closest_dist#8 ← phi( getCharToProcess/(const word) NOT_FOUND#0 getCharToProcess::@9/(word~) getCharToProcess::closest_dist#10 )
|
||||
[115] (byte) getCharToProcess::y#7 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::y#1 )
|
||||
[115] (byte*) getCharToProcess::screen_line#4 ← phi( getCharToProcess/(const byte[$3e8]) SCREEN_COPY#0 getCharToProcess::@9/(byte*) getCharToProcess::screen_line#1 )
|
||||
to:getCharToProcess::@2
|
||||
getCharToProcess::@2: scope:[getCharToProcess] from getCharToProcess::@1 getCharToProcess::@10
|
||||
[109] (byte) getCharToProcess::closest_y#7 ← phi( getCharToProcess::@1/(byte) getCharToProcess::closest_y#9 getCharToProcess::@10/(byte) getCharToProcess::return_y#1 )
|
||||
[109] (byte) getCharToProcess::closest_x#7 ← phi( getCharToProcess::@1/(byte) getCharToProcess::closest_x#9 getCharToProcess::@10/(byte) getCharToProcess::return_x#1 )
|
||||
[109] (word) getCharToProcess::closest_dist#2 ← phi( getCharToProcess::@1/(word) getCharToProcess::closest_dist#8 getCharToProcess::@10/(word~) getCharToProcess::closest_dist#12 )
|
||||
[109] (byte) getCharToProcess::x#2 ← phi( getCharToProcess::@1/(byte) 0 getCharToProcess::@10/(byte) getCharToProcess::x#1 )
|
||||
[110] if(*((byte*) getCharToProcess::screen_line#4 + (byte) getCharToProcess::x#2)==(byte) ' ') goto getCharToProcess::@11
|
||||
[116] (byte) getCharToProcess::closest_y#7 ← phi( getCharToProcess::@1/(byte) getCharToProcess::closest_y#9 getCharToProcess::@10/(byte) getCharToProcess::return_y#1 )
|
||||
[116] (byte) getCharToProcess::closest_x#7 ← phi( getCharToProcess::@1/(byte) getCharToProcess::closest_x#9 getCharToProcess::@10/(byte) getCharToProcess::return_x#1 )
|
||||
[116] (word) getCharToProcess::closest_dist#2 ← phi( getCharToProcess::@1/(word) getCharToProcess::closest_dist#8 getCharToProcess::@10/(word~) getCharToProcess::closest_dist#12 )
|
||||
[116] (byte) getCharToProcess::x#2 ← phi( getCharToProcess::@1/(byte) 0 getCharToProcess::@10/(byte) getCharToProcess::x#1 )
|
||||
[117] if(*((byte*) getCharToProcess::screen_line#4 + (byte) getCharToProcess::x#2)==(byte) ' ') goto getCharToProcess::@11
|
||||
to:getCharToProcess::@4
|
||||
getCharToProcess::@4: scope:[getCharToProcess] from getCharToProcess::@2
|
||||
[111] (byte~) getCharToProcess::$13 ← (byte) getCharToProcess::x#2 << (byte) 1
|
||||
[112] (byte~) getCharToProcess::$14 ← (byte) getCharToProcess::y#7 << (byte) 1
|
||||
[113] (word) getCharToProcess::dist#0 ← *((const word[$28]) SQUARES_X#0 + (byte~) getCharToProcess::$13) + *((const word[$19]) SQUARES_Y#0 + (byte~) getCharToProcess::$14)
|
||||
[114] if((word) getCharToProcess::dist#0>=(word) getCharToProcess::closest_dist#2) goto getCharToProcess::@12
|
||||
[118] (byte~) getCharToProcess::$13 ← (byte) getCharToProcess::x#2 << (byte) 1
|
||||
[119] (byte~) getCharToProcess::$14 ← (byte) getCharToProcess::y#7 << (byte) 1
|
||||
[120] (word) getCharToProcess::dist#0 ← *((const word[$28]) SQUARES_X#0 + (byte~) getCharToProcess::$13) + *((const word[$19]) SQUARES_Y#0 + (byte~) getCharToProcess::$14)
|
||||
[121] if((word) getCharToProcess::dist#0>=(word) getCharToProcess::closest_dist#2) goto getCharToProcess::@12
|
||||
to:getCharToProcess::@5
|
||||
getCharToProcess::@5: scope:[getCharToProcess] from getCharToProcess::@4
|
||||
[115] (byte~) getCharToProcess::return_x#7 ← (byte) getCharToProcess::x#2
|
||||
[116] (byte~) getCharToProcess::return_y#7 ← (byte) getCharToProcess::y#7
|
||||
[122] (byte~) getCharToProcess::return_x#7 ← (byte) getCharToProcess::x#2
|
||||
[123] (byte~) getCharToProcess::return_y#7 ← (byte) getCharToProcess::y#7
|
||||
to:getCharToProcess::@3
|
||||
getCharToProcess::@3: scope:[getCharToProcess] from getCharToProcess::@11 getCharToProcess::@12 getCharToProcess::@5
|
||||
[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 )
|
||||
[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 )
|
||||
[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 )
|
||||
[118] (byte) getCharToProcess::x#1 ← ++ (byte) getCharToProcess::x#2
|
||||
[119] if((byte) getCharToProcess::x#1!=(byte) $28) goto getCharToProcess::@10
|
||||
[124] (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 )
|
||||
[124] (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 )
|
||||
[124] (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 )
|
||||
[125] (byte) getCharToProcess::x#1 ← ++ (byte) getCharToProcess::x#2
|
||||
[126] if((byte) getCharToProcess::x#1!=(byte) $28) goto getCharToProcess::@10
|
||||
to:getCharToProcess::@6
|
||||
getCharToProcess::@6: scope:[getCharToProcess] from getCharToProcess::@3
|
||||
[120] (byte*) getCharToProcess::screen_line#1 ← (byte*) getCharToProcess::screen_line#4 + (byte) $28
|
||||
[121] (byte) getCharToProcess::y#1 ← ++ (byte) getCharToProcess::y#7
|
||||
[122] if((byte) getCharToProcess::y#1!=(byte) $19) goto getCharToProcess::@9
|
||||
[127] (byte*) getCharToProcess::screen_line#1 ← (byte*) getCharToProcess::screen_line#4 + (byte) $28
|
||||
[128] (byte) getCharToProcess::y#1 ← ++ (byte) getCharToProcess::y#7
|
||||
[129] if((byte) getCharToProcess::y#1!=(byte) $19) goto getCharToProcess::@9
|
||||
to:getCharToProcess::@7
|
||||
getCharToProcess::@7: scope:[getCharToProcess] from getCharToProcess::@6
|
||||
[123] if((word) getCharToProcess::return_dist#1==(const word) NOT_FOUND#0) goto getCharToProcess::@return
|
||||
[130] if((word) getCharToProcess::return_dist#1==(const word) NOT_FOUND#0) goto getCharToProcess::@return
|
||||
to:getCharToProcess::@8
|
||||
getCharToProcess::@8: scope:[getCharToProcess] from getCharToProcess::@7
|
||||
[124] (word~) getCharToProcess::$9 ← (word)(byte) getCharToProcess::return_y#1
|
||||
[125] (word) getCharToProcess::$15 ← (word~) getCharToProcess::$9 << (byte) 2
|
||||
[126] (word) getCharToProcess::$16 ← (word) getCharToProcess::$15 + (word~) getCharToProcess::$9
|
||||
[127] (word~) getCharToProcess::$10 ← (word) getCharToProcess::$16 << (byte) 3
|
||||
[128] (byte*~) getCharToProcess::$11 ← (const byte[$3e8]) SCREEN_COPY#0 + (word~) getCharToProcess::$10
|
||||
[129] *((byte*~) getCharToProcess::$11 + (byte) getCharToProcess::return_x#1) ← (byte) ' '
|
||||
[131] (word~) getCharToProcess::$9 ← (word)(byte) getCharToProcess::return_y#1
|
||||
[132] (word) getCharToProcess::$15 ← (word~) getCharToProcess::$9 << (byte) 2
|
||||
[133] (word) getCharToProcess::$16 ← (word) getCharToProcess::$15 + (word~) getCharToProcess::$9
|
||||
[134] (word~) getCharToProcess::$10 ← (word) getCharToProcess::$16 << (byte) 3
|
||||
[135] (byte*~) getCharToProcess::$11 ← (const byte[$3e8]) SCREEN_COPY#0 + (word~) getCharToProcess::$10
|
||||
[136] *((byte*~) getCharToProcess::$11 + (byte) getCharToProcess::return_x#1) ← (byte) ' '
|
||||
to:getCharToProcess::@return
|
||||
getCharToProcess::@return: scope:[getCharToProcess] from getCharToProcess::@7 getCharToProcess::@8
|
||||
[130] return
|
||||
[137] return
|
||||
to:@return
|
||||
getCharToProcess::@9: scope:[getCharToProcess] from getCharToProcess::@6
|
||||
[131] (word~) getCharToProcess::closest_dist#10 ← (word) getCharToProcess::return_dist#1
|
||||
[138] (word~) getCharToProcess::closest_dist#10 ← (word) getCharToProcess::return_dist#1
|
||||
to:getCharToProcess::@1
|
||||
getCharToProcess::@10: scope:[getCharToProcess] from getCharToProcess::@3
|
||||
[132] (word~) getCharToProcess::closest_dist#12 ← (word) getCharToProcess::return_dist#1
|
||||
[139] (word~) getCharToProcess::closest_dist#12 ← (word) getCharToProcess::return_dist#1
|
||||
to:getCharToProcess::@2
|
||||
getCharToProcess::@12: scope:[getCharToProcess] from getCharToProcess::@4
|
||||
[133] (word~) getCharToProcess::return_dist#6 ← (word) getCharToProcess::closest_dist#2
|
||||
[140] (word~) getCharToProcess::return_dist#6 ← (word) getCharToProcess::closest_dist#2
|
||||
to:getCharToProcess::@3
|
||||
getCharToProcess::@11: scope:[getCharToProcess] from getCharToProcess::@2
|
||||
[134] (word~) getCharToProcess::return_dist#5 ← (word) getCharToProcess::closest_dist#2
|
||||
[141] (word~) getCharToProcess::return_dist#5 ← (word) getCharToProcess::closest_dist#2
|
||||
to:getCharToProcess::@3
|
||||
setupRasterIrq: scope:[setupRasterIrq] from main::@8
|
||||
asm { sei }
|
||||
[136] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0
|
||||
[137] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0
|
||||
[138] *((const byte*) CIA1_INTERRUPT#0) ← (const byte) CIA_INTERRUPT_CLEAR#0
|
||||
[143] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0
|
||||
[144] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0
|
||||
[145] *((const byte*) CIA1_INTERRUPT#0) ← (const byte) CIA_INTERRUPT_CLEAR#0
|
||||
to:setupRasterIrq::@1
|
||||
setupRasterIrq::@1: scope:[setupRasterIrq] from setupRasterIrq
|
||||
[139] *((const byte*) VIC_CONTROL#0) ← *((const byte*) VIC_CONTROL#0) & (byte) $7f
|
||||
[146] *((const byte*) VIC_CONTROL#0) ← *((const byte*) VIC_CONTROL#0) & (byte) $7f
|
||||
to:setupRasterIrq::@2
|
||||
setupRasterIrq::@2: scope:[setupRasterIrq] from setupRasterIrq::@1
|
||||
[140] *((const byte*) RASTER#0) ← <(const byte) RASTER_IRQ_TOP#0
|
||||
[141] *((const byte*) IRQ_ENABLE#0) ← (const byte) IRQ_RASTER#0
|
||||
[142] *((const void()**) HARDWARE_IRQ#0) ← (const void()*) setupRasterIrq::irqRoutine#0
|
||||
[147] *((const byte*) RASTER#0) ← <(const byte) RASTER_IRQ_TOP#0
|
||||
[148] *((const byte*) IRQ_ENABLE#0) ← (const byte) IRQ_RASTER#0
|
||||
[149] *((const void()**) HARDWARE_IRQ#0) ← (const void()*) setupRasterIrq::irqRoutine#0
|
||||
asm { cli }
|
||||
to:setupRasterIrq::@return
|
||||
setupRasterIrq::@return: scope:[setupRasterIrq] from setupRasterIrq::@2
|
||||
[144] return
|
||||
[151] return
|
||||
to:@return
|
||||
initSprites: scope:[initSprites] from main::@3
|
||||
[145] phi()
|
||||
[152] phi()
|
||||
to:initSprites::@1
|
||||
initSprites::@1: scope:[initSprites] from initSprites initSprites::@1
|
||||
[146] (byte*) initSprites::sp#2 ← phi( initSprites/(const byte*) SPRITE_DATA#0 initSprites::@1/(byte*) initSprites::sp#1 )
|
||||
[147] *((byte*) initSprites::sp#2) ← (byte) 0
|
||||
[148] (byte*) initSprites::sp#1 ← ++ (byte*) initSprites::sp#2
|
||||
[149] if((byte*) initSprites::sp#1<(const byte*) SPRITE_DATA#0+(const byte) NUM_PROCESSING#0*(byte) $40) goto initSprites::@1
|
||||
[153] (byte*) initSprites::sp#2 ← phi( initSprites/(const byte*) SPRITE_DATA#0 initSprites::@1/(byte*) initSprites::sp#1 )
|
||||
[154] *((byte*) initSprites::sp#2) ← (byte) 0
|
||||
[155] (byte*) initSprites::sp#1 ← ++ (byte*) initSprites::sp#2
|
||||
[156] if((byte*) initSprites::sp#1<(const byte*) SPRITE_DATA#0+(const byte) NUM_PROCESSING#0*(byte) $40) goto initSprites::@1
|
||||
to:initSprites::@2
|
||||
initSprites::@2: scope:[initSprites] from initSprites::@1 initSprites::@2
|
||||
[150] (byte) initSprites::i#2 ← phi( initSprites::@1/(byte) 0 initSprites::@2/(byte) initSprites::i#1 )
|
||||
[151] *((const byte*) SPRITES_COLS#0 + (byte) initSprites::i#2) ← (const byte) LIGHT_BLUE#0
|
||||
[152] (byte) initSprites::i#1 ← ++ (byte) initSprites::i#2
|
||||
[153] if((byte) initSprites::i#1!=(byte) 8) goto initSprites::@2
|
||||
[157] (byte) initSprites::i#2 ← phi( initSprites::@1/(byte) 0 initSprites::@2/(byte) initSprites::i#1 )
|
||||
[158] *((const byte*) SPRITES_COLS#0 + (byte) initSprites::i#2) ← (const byte) LIGHT_BLUE#0
|
||||
[159] (byte) initSprites::i#1 ← ++ (byte) initSprites::i#2
|
||||
[160] if((byte) initSprites::i#1!=(byte) 8) goto initSprites::@2
|
||||
to:initSprites::@3
|
||||
initSprites::@3: scope:[initSprites] from initSprites::@2
|
||||
[154] *((const byte*) SPRITES_MC#0) ← (byte) 0
|
||||
[155] *((const byte*) SPRITES_EXPAND_X#0) ← (byte) 0
|
||||
[156] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte) 0
|
||||
[161] *((const byte*) SPRITES_MC#0) ← (byte) 0
|
||||
[162] *((const byte*) SPRITES_EXPAND_X#0) ← (byte) 0
|
||||
[163] *((const byte*) SPRITES_EXPAND_Y#0) ← (byte) 0
|
||||
to:initSprites::@return
|
||||
initSprites::@return: scope:[initSprites] from initSprites::@3
|
||||
[157] return
|
||||
[164] return
|
||||
to:@return
|
||||
initSquareTables: scope:[initSquareTables] from main
|
||||
[158] phi()
|
||||
[165] phi()
|
||||
to:initSquareTables::@1
|
||||
initSquareTables::@1: scope:[initSquareTables] from initSquareTables initSquareTables::@9
|
||||
[159] (byte) initSquareTables::x#2 ← phi( initSquareTables/(byte) 0 initSquareTables::@9/(byte) initSquareTables::x#1 )
|
||||
[160] if((byte) initSquareTables::x#2<(byte) $14) goto initSquareTables::@2
|
||||
[166] (byte) initSquareTables::x#2 ← phi( initSquareTables/(byte) 0 initSquareTables::@9/(byte) initSquareTables::x#1 )
|
||||
[167] if((byte) initSquareTables::x#2<(byte) $14) goto initSquareTables::@2
|
||||
to:initSquareTables::@3
|
||||
initSquareTables::@3: scope:[initSquareTables] from initSquareTables::@1
|
||||
[161] (byte~) initSquareTables::$2 ← (byte) initSquareTables::x#2 - (byte) $14
|
||||
[168] (byte~) initSquareTables::$2 ← (byte) initSquareTables::x#2 - (byte) $14
|
||||
to:initSquareTables::@4
|
||||
initSquareTables::@4: scope:[initSquareTables] from initSquareTables::@2 initSquareTables::@3
|
||||
[162] (byte) initSquareTables::x_dist#0 ← phi( initSquareTables::@2/(byte~) initSquareTables::$4 initSquareTables::@3/(byte~) initSquareTables::$2 )
|
||||
[163] (byte) mul8u::a#1 ← (byte) initSquareTables::x_dist#0
|
||||
[164] (byte) mul8u::b#0 ← (byte) initSquareTables::x_dist#0
|
||||
[165] call mul8u
|
||||
[166] (word) mul8u::return#2 ← (word) mul8u::res#2
|
||||
[169] (byte) initSquareTables::x_dist#0 ← phi( initSquareTables::@2/(byte~) initSquareTables::$4 initSquareTables::@3/(byte~) initSquareTables::$2 )
|
||||
[170] (byte) mul8u::a#1 ← (byte) initSquareTables::x_dist#0
|
||||
[171] (byte) mul8u::b#0 ← (byte) initSquareTables::x_dist#0
|
||||
[172] call mul8u
|
||||
[173] (word) mul8u::return#2 ← (word) mul8u::res#2
|
||||
to:initSquareTables::@9
|
||||
initSquareTables::@9: scope:[initSquareTables] from initSquareTables::@4
|
||||
[167] (word~) initSquareTables::$6 ← (word) mul8u::return#2
|
||||
[168] (byte~) initSquareTables::$16 ← (byte) initSquareTables::x#2 << (byte) 1
|
||||
[169] *((const word[$28]) SQUARES_X#0 + (byte~) initSquareTables::$16) ← (word~) initSquareTables::$6
|
||||
[170] (byte) initSquareTables::x#1 ← ++ (byte) initSquareTables::x#2
|
||||
[171] if((byte) initSquareTables::x#1!=(byte) $28) goto initSquareTables::@1
|
||||
[174] (word~) initSquareTables::$6 ← (word) mul8u::return#2
|
||||
[175] (byte~) initSquareTables::$16 ← (byte) initSquareTables::x#2 << (byte) 1
|
||||
[176] *((const word[$28]) SQUARES_X#0 + (byte~) initSquareTables::$16) ← (word~) initSquareTables::$6
|
||||
[177] (byte) initSquareTables::x#1 ← ++ (byte) initSquareTables::x#2
|
||||
[178] if((byte) initSquareTables::x#1!=(byte) $28) goto initSquareTables::@1
|
||||
to:initSquareTables::@5
|
||||
initSquareTables::@5: scope:[initSquareTables] from initSquareTables::@10 initSquareTables::@9
|
||||
[172] (byte) initSquareTables::y#2 ← phi( initSquareTables::@10/(byte) initSquareTables::y#1 initSquareTables::@9/(byte) 0 )
|
||||
[173] if((byte) initSquareTables::y#2<(byte) $c) goto initSquareTables::@6
|
||||
[179] (byte) initSquareTables::y#2 ← phi( initSquareTables::@10/(byte) initSquareTables::y#1 initSquareTables::@9/(byte) 0 )
|
||||
[180] if((byte) initSquareTables::y#2<(byte) $c) goto initSquareTables::@6
|
||||
to:initSquareTables::@7
|
||||
initSquareTables::@7: scope:[initSquareTables] from initSquareTables::@5
|
||||
[174] (byte~) initSquareTables::$10 ← (byte) initSquareTables::y#2 - (byte) $c
|
||||
[181] (byte~) initSquareTables::$10 ← (byte) initSquareTables::y#2 - (byte) $c
|
||||
to:initSquareTables::@8
|
||||
initSquareTables::@8: scope:[initSquareTables] from initSquareTables::@6 initSquareTables::@7
|
||||
[175] (byte) initSquareTables::y_dist#0 ← phi( initSquareTables::@6/(byte~) initSquareTables::$12 initSquareTables::@7/(byte~) initSquareTables::$10 )
|
||||
[176] (byte) mul8u::a#2 ← (byte) initSquareTables::y_dist#0
|
||||
[177] (byte) mul8u::b#1 ← (byte) initSquareTables::y_dist#0
|
||||
[178] call mul8u
|
||||
[179] (word) mul8u::return#3 ← (word) mul8u::res#2
|
||||
[182] (byte) initSquareTables::y_dist#0 ← phi( initSquareTables::@6/(byte~) initSquareTables::$12 initSquareTables::@7/(byte~) initSquareTables::$10 )
|
||||
[183] (byte) mul8u::a#2 ← (byte) initSquareTables::y_dist#0
|
||||
[184] (byte) mul8u::b#1 ← (byte) initSquareTables::y_dist#0
|
||||
[185] call mul8u
|
||||
[186] (word) mul8u::return#3 ← (word) mul8u::res#2
|
||||
to:initSquareTables::@10
|
||||
initSquareTables::@10: scope:[initSquareTables] from initSquareTables::@8
|
||||
[180] (word~) initSquareTables::$14 ← (word) mul8u::return#3
|
||||
[181] (byte~) initSquareTables::$17 ← (byte) initSquareTables::y#2 << (byte) 1
|
||||
[182] *((const word[$19]) SQUARES_Y#0 + (byte~) initSquareTables::$17) ← (word~) initSquareTables::$14
|
||||
[183] (byte) initSquareTables::y#1 ← ++ (byte) initSquareTables::y#2
|
||||
[184] if((byte) initSquareTables::y#1!=(byte) $19) goto initSquareTables::@5
|
||||
[187] (word~) initSquareTables::$14 ← (word) mul8u::return#3
|
||||
[188] (byte~) initSquareTables::$17 ← (byte) initSquareTables::y#2 << (byte) 1
|
||||
[189] *((const word[$19]) SQUARES_Y#0 + (byte~) initSquareTables::$17) ← (word~) initSquareTables::$14
|
||||
[190] (byte) initSquareTables::y#1 ← ++ (byte) initSquareTables::y#2
|
||||
[191] if((byte) initSquareTables::y#1!=(byte) $19) goto initSquareTables::@5
|
||||
to:initSquareTables::@return
|
||||
initSquareTables::@return: scope:[initSquareTables] from initSquareTables::@10
|
||||
[185] return
|
||||
[192] return
|
||||
to:@return
|
||||
initSquareTables::@6: scope:[initSquareTables] from initSquareTables::@5
|
||||
[186] (byte~) initSquareTables::$12 ← (byte) $c - (byte) initSquareTables::y#2
|
||||
[193] (byte~) initSquareTables::$12 ← (byte) $c - (byte) initSquareTables::y#2
|
||||
to:initSquareTables::@8
|
||||
initSquareTables::@2: scope:[initSquareTables] from initSquareTables::@1
|
||||
[187] (byte~) initSquareTables::$4 ← (byte) $14 - (byte) initSquareTables::x#2
|
||||
[194] (byte~) initSquareTables::$4 ← (byte) $14 - (byte) initSquareTables::x#2
|
||||
to:initSquareTables::@4
|
||||
mul8u: scope:[mul8u] from initSquareTables::@4 initSquareTables::@8
|
||||
[188] (byte) mul8u::a#6 ← phi( initSquareTables::@8/(byte) mul8u::a#2 initSquareTables::@4/(byte) mul8u::a#1 )
|
||||
[188] (word) mul8u::mb#0 ← phi( initSquareTables::@8/(byte) mul8u::b#1 initSquareTables::@4/(byte) mul8u::b#0 )
|
||||
[195] (byte) mul8u::a#6 ← phi( initSquareTables::@8/(byte) mul8u::a#2 initSquareTables::@4/(byte) mul8u::a#1 )
|
||||
[195] (word) mul8u::mb#0 ← phi( initSquareTables::@8/(byte) mul8u::b#1 initSquareTables::@4/(byte) mul8u::b#0 )
|
||||
to:mul8u::@1
|
||||
mul8u::@1: scope:[mul8u] from mul8u mul8u::@3
|
||||
[189] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@3/(word) mul8u::mb#1 )
|
||||
[189] (word) mul8u::res#2 ← phi( mul8u/(byte) 0 mul8u::@3/(word) mul8u::res#6 )
|
||||
[189] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 )
|
||||
[190] if((byte) mul8u::a#3!=(byte) 0) goto mul8u::@2
|
||||
[196] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@3/(word) mul8u::mb#1 )
|
||||
[196] (word) mul8u::res#2 ← phi( mul8u/(byte) 0 mul8u::@3/(word) mul8u::res#6 )
|
||||
[196] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 )
|
||||
[197] if((byte) mul8u::a#3!=(byte) 0) goto mul8u::@2
|
||||
to:mul8u::@return
|
||||
mul8u::@return: scope:[mul8u] from mul8u::@1
|
||||
[191] return
|
||||
[198] return
|
||||
to:@return
|
||||
mul8u::@2: scope:[mul8u] from mul8u::@1
|
||||
[192] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte) 1
|
||||
[193] if((byte~) mul8u::$1==(byte) 0) goto mul8u::@3
|
||||
[199] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte) 1
|
||||
[200] if((byte~) mul8u::$1==(byte) 0) goto mul8u::@3
|
||||
to:mul8u::@4
|
||||
mul8u::@4: scope:[mul8u] from mul8u::@2
|
||||
[194] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2
|
||||
[201] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2
|
||||
to:mul8u::@3
|
||||
mul8u::@3: scope:[mul8u] from mul8u::@2 mul8u::@4
|
||||
[195] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 )
|
||||
[196] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte) 1
|
||||
[197] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte) 1
|
||||
[202] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 )
|
||||
[203] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte) 1
|
||||
[204] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte) 1
|
||||
to:mul8u::@1
|
||||
irqBottom: scope:[irqBottom] from
|
||||
[198] phi()
|
||||
[205] phi()
|
||||
to:irqBottom::@1
|
||||
irqBottom::@1: scope:[irqBottom] from irqBottom
|
||||
[199] phi()
|
||||
[200] call processChars
|
||||
[206] phi()
|
||||
[207] call processChars
|
||||
to:irqBottom::@2
|
||||
irqBottom::@2: scope:[irqBottom] from irqBottom::@1
|
||||
[201] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_TOP#0
|
||||
[202] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqTop()
|
||||
[203] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
[208] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_TOP#0
|
||||
[209] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqTop()
|
||||
[210] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
to:irqBottom::@return
|
||||
irqBottom::@return: scope:[irqBottom] from irqBottom::@2
|
||||
[204] return
|
||||
[211] return
|
||||
to:@return
|
||||
processChars: scope:[processChars] from irqBottom::@1
|
||||
[205] phi()
|
||||
[212] phi()
|
||||
to:processChars::@1
|
||||
processChars::@1: scope:[processChars] from processChars processChars::@2
|
||||
[206] (byte) processChars::numActive#10 ← phi( processChars/(byte) 0 processChars::@2/(byte) processChars::numActive#3 )
|
||||
[206] (byte) processChars::i#10 ← phi( processChars/(byte) 0 processChars::@2/(byte) processChars::i#1 )
|
||||
[207] (byte) processChars::$65 ← (byte) processChars::i#10 << (byte) 1
|
||||
[208] (byte) processChars::$66 ← (byte) processChars::$65 + (byte) processChars::i#10
|
||||
[209] (byte) processChars::$67 ← (byte) processChars::$66 << (byte) 2
|
||||
[210] (byte~) processChars::$37 ← (byte) processChars::$67 + (byte) processChars::i#10
|
||||
[211] (struct ProcessingSprite*) processChars::processing#0 ← (const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) processChars::$37
|
||||
[212] (byte) processChars::bitmask#0 ← (byte) 1 << *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)
|
||||
[213] if(*((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS)==(const byte) STATUS_FREE#0) goto processChars::@2
|
||||
[213] (byte) processChars::numActive#10 ← phi( processChars/(byte) 0 processChars::@2/(byte) processChars::numActive#3 )
|
||||
[213] (byte) processChars::i#10 ← phi( processChars/(byte) 0 processChars::@2/(byte) processChars::i#1 )
|
||||
[214] (byte) processChars::$67 ← (byte) processChars::i#10 << (byte) 1
|
||||
[215] (byte) processChars::$68 ← (byte) processChars::$67 + (byte) processChars::i#10
|
||||
[216] (byte) processChars::$69 ← (byte) processChars::$68 << (byte) 1
|
||||
[217] (byte) processChars::$70 ← (byte) processChars::$69 + (byte) processChars::i#10
|
||||
[218] (byte~) processChars::$37 ← (byte) processChars::$70 << (byte) 1
|
||||
[219] (struct ProcessingSprite*) processChars::processing#0 ← (const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) processChars::$37
|
||||
[220] (byte) processChars::bitmask#0 ← (byte) 1 << *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)
|
||||
[221] if(*((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS)==(const byte) STATUS_FREE#0) goto processChars::@2
|
||||
to:processChars::@10
|
||||
processChars::@10: scope:[processChars] from processChars::@1
|
||||
[214] if(*((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS)!=(const byte) STATUS_NEW#0) goto processChars::@3
|
||||
[222] if(*((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS)!=(const byte) STATUS_NEW#0) goto processChars::@3
|
||||
to:processChars::@11
|
||||
processChars::@11: scope:[processChars] from processChars::@10
|
||||
[215] *(*((byte**)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR)) ← (byte) ' '
|
||||
[216] *((const byte*) SPRITES_ENABLE#0) ← *((const byte*) SPRITES_ENABLE#0) | (byte) processChars::bitmask#0
|
||||
[217] *((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)
|
||||
[218] *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS) ← (const byte) STATUS_PROCESSING#0
|
||||
[223] *(*((byte**)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR)) ← (byte) ' '
|
||||
[224] *((const byte*) SPRITES_ENABLE#0) ← *((const byte*) SPRITES_ENABLE#0) | (byte) processChars::bitmask#0
|
||||
[225] *((const byte*) SPRITES_COLS#0 + *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID)) ← *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_COL)
|
||||
[226] *((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)
|
||||
[227] *((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
|
||||
[219] (word) processChars::xpos#0 ← *((word*)(struct ProcessingSprite*) processChars::processing#0) >> (byte) 4
|
||||
[220] (byte~) processChars::$11 ← > (word) processChars::xpos#0
|
||||
[221] if((byte) 0!=(byte~) processChars::$11) goto processChars::@4
|
||||
[228] (word) processChars::xpos#0 ← *((word*)(struct ProcessingSprite*) processChars::processing#0) >> (byte) 4
|
||||
[229] (byte~) processChars::$11 ← > (word) processChars::xpos#0
|
||||
[230] if((byte) 0!=(byte~) processChars::$11) goto processChars::@4
|
||||
to:processChars::@8
|
||||
processChars::@8: scope:[processChars] from processChars::@3
|
||||
[222] (byte~) processChars::$12 ← (byte) $ff ^ (byte) processChars::bitmask#0
|
||||
[223] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) & (byte~) processChars::$12
|
||||
[231] (byte~) processChars::$12 ← (byte) $ff ^ (byte) processChars::bitmask#0
|
||||
[232] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) & (byte~) processChars::$12
|
||||
to:processChars::@5
|
||||
processChars::@5: scope:[processChars] from processChars::@4 processChars::@8
|
||||
[224] (byte~) processChars::$17 ← (byte) processChars::i#10 << (byte) 1
|
||||
[225] (byte~) processChars::$14 ← (byte)(word) processChars::xpos#0
|
||||
[226] *((const byte*) SPRITES_XPOS#0 + (byte~) processChars::$17) ← (byte~) processChars::$14
|
||||
[227] (word~) processChars::$15 ← *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y) >> (byte) 4
|
||||
[228] (byte) processChars::ypos#0 ← (byte)(word~) processChars::$15
|
||||
[229] *((const byte*) SPRITES_YPOS#0 + (byte~) processChars::$17) ← (byte) processChars::ypos#0
|
||||
[230] if(*((word*)(struct ProcessingSprite*) processChars::processing#0)<(const word) XPOS_LEFTMOST#0) goto processChars::@6
|
||||
[233] (byte~) processChars::$17 ← (byte) processChars::i#10 << (byte) 1
|
||||
[234] (byte~) processChars::$14 ← (byte)(word) processChars::xpos#0
|
||||
[235] *((const byte*) SPRITES_XPOS#0 + (byte~) processChars::$17) ← (byte~) processChars::$14
|
||||
[236] (word~) processChars::$15 ← *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y) >> (byte) 4
|
||||
[237] (byte) processChars::ypos#0 ← (byte)(word~) processChars::$15
|
||||
[238] *((const byte*) SPRITES_YPOS#0 + (byte~) processChars::$17) ← (byte) processChars::ypos#0
|
||||
[239] if(*((word*)(struct ProcessingSprite*) processChars::processing#0)<(const word) XPOS_LEFTMOST#0) goto processChars::@6
|
||||
to:processChars::@14
|
||||
processChars::@14: scope:[processChars] from processChars::@5
|
||||
[231] if(*((word*)(struct ProcessingSprite*) processChars::processing#0)>(const word) XPOS_RIGHTMOST#0) goto processChars::@6
|
||||
[240] if(*((word*)(struct ProcessingSprite*) processChars::processing#0)>(const word) XPOS_RIGHTMOST#0) goto processChars::@6
|
||||
to:processChars::@13
|
||||
processChars::@13: scope:[processChars] from processChars::@14
|
||||
[232] if(*((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y)<(const word) YPOS_TOPMOST#0) goto processChars::@6
|
||||
[241] if(*((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y)<(const word) YPOS_TOPMOST#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_BOTTOMMOST#0) goto processChars::@6
|
||||
[242] 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::@12
|
||||
[234] (word~) processChars::$25 ← (word) processChars::xpos#0 >> (byte) 3
|
||||
[235] (byte~) processChars::$26 ← (byte)(word~) processChars::$25
|
||||
[236] (byte) processChars::xchar#0 ← (byte~) processChars::$26 - (const byte) BORDER_XPOS_LEFT#0/(byte) 8
|
||||
[237] (byte~) processChars::$38 ← (byte) processChars::xchar#0 << (byte) 1
|
||||
[238] *((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::$38)
|
||||
[239] *((word*)(struct ProcessingSprite*) processChars::processing#0) ← *((word*)(struct ProcessingSprite*) processChars::processing#0) + *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX)
|
||||
[240] (byte~) processChars::$30 ← (byte) processChars::ypos#0 >> (byte) 3
|
||||
[241] (byte) processChars::ychar#0 ← (byte~) processChars::$30 - (const byte) BORDER_YPOS_TOP#0/(byte) 8
|
||||
[242] (byte~) processChars::$39 ← (byte) processChars::ychar#0 << (byte) 1
|
||||
[243] *((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::$39)
|
||||
[244] *((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)
|
||||
[243] (word~) processChars::$25 ← (word) processChars::xpos#0 >> (byte) 3
|
||||
[244] (byte~) processChars::$26 ← (byte)(word~) processChars::$25
|
||||
[245] (byte) processChars::xchar#0 ← (byte~) processChars::$26 - (const byte) BORDER_XPOS_LEFT#0/(byte) 8
|
||||
[246] (byte~) processChars::$38 ← (byte) processChars::xchar#0 << (byte) 1
|
||||
[247] *((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::$38)
|
||||
[248] *((word*)(struct ProcessingSprite*) processChars::processing#0) ← *((word*)(struct ProcessingSprite*) processChars::processing#0) + *((word*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX)
|
||||
[249] (byte~) processChars::$30 ← (byte) processChars::ypos#0 >> (byte) 3
|
||||
[250] (byte) processChars::ychar#0 ← (byte~) processChars::$30 - (const byte) BORDER_YPOS_TOP#0/(byte) 8
|
||||
[251] (byte~) processChars::$39 ← (byte) processChars::ychar#0 << (byte) 1
|
||||
[252] *((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::$39)
|
||||
[253] *((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
|
||||
[245] (byte) processChars::numActive#1 ← ++ (byte) processChars::numActive#10
|
||||
[254] (byte) processChars::numActive#1 ← ++ (byte) processChars::numActive#10
|
||||
to:processChars::@2
|
||||
processChars::@2: scope:[processChars] from processChars::@1 processChars::@7
|
||||
[246] (byte) processChars::numActive#3 ← phi( processChars::@1/(byte) processChars::numActive#10 processChars::@7/(byte) processChars::numActive#1 )
|
||||
[247] (byte) processChars::i#1 ← ++ (byte) processChars::i#10
|
||||
[248] if((byte) processChars::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto processChars::@1
|
||||
[255] (byte) processChars::numActive#3 ← phi( processChars::@1/(byte) processChars::numActive#10 processChars::@7/(byte) processChars::numActive#1 )
|
||||
[256] (byte) processChars::i#1 ← ++ (byte) processChars::i#10
|
||||
[257] if((byte) processChars::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto processChars::@1
|
||||
to:processChars::@return
|
||||
processChars::@return: scope:[processChars] from processChars::@2
|
||||
[249] return
|
||||
to:@return
|
||||
processChars::@6: scope:[processChars] from processChars::@12 processChars::@13 processChars::@14 processChars::@5
|
||||
[250] *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS) ← (const byte) STATUS_FREE#0
|
||||
[251] (byte~) processChars::$33 ← (byte) $ff ^ (byte) processChars::bitmask#0
|
||||
[252] *((const byte*) SPRITES_ENABLE#0) ← *((const byte*) SPRITES_ENABLE#0) & (byte~) processChars::$33
|
||||
to:processChars::@7
|
||||
processChars::@4: scope:[processChars] from processChars::@3
|
||||
[253] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) | (byte) processChars::bitmask#0
|
||||
to:processChars::@5
|
||||
irqTop: scope:[irqTop] from
|
||||
[254] phi()
|
||||
to:irqTop::@1
|
||||
irqTop::@1: scope:[irqTop] from irqTop
|
||||
[255] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_MIDDLE#0
|
||||
[256] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqBottom()
|
||||
[257] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
to:irqTop::@return
|
||||
irqTop::@return: scope:[irqTop] from irqTop::@1
|
||||
[258] return
|
||||
to:@return
|
||||
processChars::@6: scope:[processChars] from processChars::@12 processChars::@13 processChars::@14 processChars::@5
|
||||
[259] *((byte*)(struct ProcessingSprite*) processChars::processing#0 + (const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS) ← (const byte) STATUS_FREE#0
|
||||
[260] (byte~) processChars::$33 ← (byte) $ff ^ (byte) processChars::bitmask#0
|
||||
[261] *((const byte*) SPRITES_ENABLE#0) ← *((const byte*) SPRITES_ENABLE#0) & (byte~) processChars::$33
|
||||
to:processChars::@7
|
||||
processChars::@4: scope:[processChars] from processChars::@3
|
||||
[262] *((const byte*) SPRITES_XMSB#0) ← *((const byte*) SPRITES_XMSB#0) | (byte) processChars::bitmask#0
|
||||
to:processChars::@5
|
||||
irqTop: scope:[irqTop] from
|
||||
[263] phi()
|
||||
to:irqTop::@1
|
||||
irqTop::@1: scope:[irqTop] from irqTop
|
||||
[264] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_MIDDLE#0
|
||||
[265] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqBottom()
|
||||
[266] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
to:irqTop::@return
|
||||
irqTop::@return: scope:[irqTop] from irqTop::@1
|
||||
[267] return
|
||||
to:@return
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -36,10 +36,11 @@
|
||||
(const word) NOT_FOUND#0 NOT_FOUND = (word) $ffff
|
||||
(byte) NUM_PROCESSING
|
||||
(const byte) NUM_PROCESSING#0 NUM_PROCESSING = (byte) 8
|
||||
(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_COL OFFSET_STRUCT_PROCESSINGSPRITE_COL = (byte) $a
|
||||
(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_ID OFFSET_STRUCT_PROCESSINGSPRITE_ID = (byte) 8
|
||||
(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR OFFSET_STRUCT_PROCESSINGSPRITE_PTR = (byte) 9
|
||||
(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR = (byte) $b
|
||||
(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS OFFSET_STRUCT_PROCESSINGSPRITE_STATUS = (byte) $a
|
||||
(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR = (byte) $c
|
||||
(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_STATUS OFFSET_STRUCT_PROCESSINGSPRITE_STATUS = (byte) $b
|
||||
(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX OFFSET_STRUCT_PROCESSINGSPRITE_VX = (byte) 4
|
||||
(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VY OFFSET_STRUCT_PROCESSINGSPRITE_VY = (byte) 6
|
||||
(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_Y OFFSET_STRUCT_PROCESSINGSPRITE_Y = (byte) 2
|
||||
@ -58,6 +59,7 @@
|
||||
(word) ProcessingChar::dist
|
||||
(byte) ProcessingChar::x
|
||||
(byte) ProcessingChar::y
|
||||
(byte) ProcessingSprite::col
|
||||
(byte) ProcessingSprite::id
|
||||
(byte) ProcessingSprite::ptr
|
||||
(byte*) ProcessingSprite::screenPtr
|
||||
@ -122,13 +124,13 @@
|
||||
(word) YPOS_TOPMOST
|
||||
(const word) YPOS_TOPMOST#0 YPOS_TOPMOST = (word)(const byte) BORDER_YPOS_TOP#0-(byte) 8<<(byte) 4
|
||||
(struct ProcessingChar()) getCharToProcess()
|
||||
(word~) getCharToProcess::$10 $10 zp ZP_WORD:47 4.0
|
||||
(byte*~) getCharToProcess::$11 $11 zp ZP_WORD:47 4.0
|
||||
(word~) getCharToProcess::$10 $10 zp ZP_WORD:48 4.0
|
||||
(byte*~) getCharToProcess::$11 $11 zp ZP_WORD:48 4.0
|
||||
(byte~) getCharToProcess::$13 reg byte x 1001.0
|
||||
(byte~) getCharToProcess::$14 reg byte a 2002.0
|
||||
(word) getCharToProcess::$15 $15 zp ZP_WORD:49 4.0
|
||||
(word) getCharToProcess::$16 $16 zp ZP_WORD:47 4.0
|
||||
(word~) getCharToProcess::$9 $9 zp ZP_WORD:47 3.0
|
||||
(word) getCharToProcess::$15 $15 zp ZP_WORD:50 4.0
|
||||
(word) getCharToProcess::$16 $16 zp ZP_WORD:48 4.0
|
||||
(word~) getCharToProcess::$9 $9 zp ZP_WORD:48 3.0
|
||||
(label) getCharToProcess::@1
|
||||
(label) getCharToProcess::@10
|
||||
(label) getCharToProcess::@11
|
||||
@ -230,10 +232,11 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
|
||||
(byte) irqTop::i
|
||||
(byte) irqTop::i1
|
||||
(void()) main()
|
||||
(byte~) main::$16 reg byte x 12.375
|
||||
(byte) main::$25 reg byte a 22.0
|
||||
(byte~) main::$16 reg byte x 12.222222222222221
|
||||
(byte) main::$26 reg byte a 22.0
|
||||
(byte) main::$27 reg byte a 22.0
|
||||
(byte) main::$28 reg byte a 22.0
|
||||
(byte) main::$29 reg byte a 22.0
|
||||
(struct ProcessingChar~) main::$9
|
||||
(label) main::@1
|
||||
(label) main::@2
|
||||
@ -255,7 +258,7 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
|
||||
(byte*) main::dst#2 dst zp ZP_WORD:4 11.0
|
||||
(byte) main::i
|
||||
(byte) main::i#1 i zp ZP_BYTE:6 16.5
|
||||
(byte) main::i#2 i zp ZP_BYTE:6 4.230769230769231
|
||||
(byte) main::i#2 i zp ZP_BYTE:6 3.6666666666666665
|
||||
(byte*) main::src
|
||||
(byte*) main::src#1 src zp ZP_WORD:2 11.0
|
||||
(byte*) main::src#2 src zp ZP_WORD:2 16.5
|
||||
@ -290,18 +293,19 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
|
||||
(byte~) processChars::$11 reg byte a 22.0
|
||||
(byte~) processChars::$12 reg byte a 22.0
|
||||
(byte~) processChars::$14 reg byte a 22.0
|
||||
(word~) processChars::$15 $15 zp ZP_WORD:56 11.0
|
||||
(word~) processChars::$15 $15 zp ZP_WORD:57 11.0
|
||||
(byte~) processChars::$17 reg byte x 6.6000000000000005
|
||||
(word~) processChars::$25 $25 zp ZP_WORD:54 11.0
|
||||
(word~) processChars::$25 $25 zp ZP_WORD:55 11.0
|
||||
(byte~) processChars::$26 reg byte a 22.0
|
||||
(byte~) processChars::$30 reg byte a 22.0
|
||||
(byte~) processChars::$33 reg byte a 22.0
|
||||
(byte~) processChars::$37 reg byte a 22.0
|
||||
(byte~) processChars::$38 reg byte a 22.0
|
||||
(byte~) processChars::$39 reg byte a 22.0
|
||||
(byte) processChars::$65 reg byte a 22.0
|
||||
(byte) processChars::$66 reg byte a 22.0
|
||||
(byte) processChars::$67 reg byte a 22.0
|
||||
(byte) processChars::$68 reg byte a 22.0
|
||||
(byte) processChars::$69 reg byte a 22.0
|
||||
(byte) processChars::$70 reg byte a 22.0
|
||||
(label) processChars::@1
|
||||
(label) processChars::@10
|
||||
(label) processChars::@11
|
||||
@ -318,24 +322,24 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
|
||||
(label) processChars::@9
|
||||
(label) processChars::@return
|
||||
(byte) processChars::bitmask
|
||||
(byte) processChars::bitmask#0 bitmask zp ZP_BYTE:53 2.2916666666666665
|
||||
(byte) processChars::bitmask#0 bitmask zp ZP_BYTE:54 2.2
|
||||
(byte) processChars::i
|
||||
(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.4042553191489362
|
||||
(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#10 numActive zp ZP_BYTE:31 0.7333333333333333
|
||||
(byte) processChars::numActive#3 numActive zp ZP_BYTE:31 11.0
|
||||
(struct ProcessingSprite*) processChars::processing
|
||||
(struct ProcessingSprite*) processChars::processing#0 processing zp ZP_WORD:51 0.3235294117647059
|
||||
(struct ProcessingSprite*) processChars::processing#0 processing zp ZP_WORD:52 0.3142857142857143
|
||||
(byte) processChars::xchar
|
||||
(byte) processChars::xchar#0 reg byte a 22.0
|
||||
(word) processChars::xpos
|
||||
(word) processChars::xpos#0 xpos zp ZP_WORD:54 2.0625
|
||||
(word) processChars::xpos#0 xpos zp ZP_WORD:55 2.0625
|
||||
(byte) processChars::ychar
|
||||
(byte) processChars::ychar#0 reg byte a 22.0
|
||||
(byte) processChars::ypos
|
||||
(byte) processChars::ypos#0 ypos zp ZP_BYTE:58 2.75
|
||||
(byte) processChars::ypos#0 ypos zp ZP_BYTE:59 2.75
|
||||
(void()) setupRasterIrq((word) setupRasterIrq::raster , (void()*) setupRasterIrq::irqRoutine)
|
||||
(label) setupRasterIrq::@1
|
||||
(label) setupRasterIrq::@2
|
||||
@ -346,29 +350,30 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
|
||||
(void()) startProcessing((byte) startProcessing::center_x , (byte) startProcessing::center_y , (word) startProcessing::center_dist)
|
||||
(word~) startProcessing::$0 $0 zp ZP_WORD:34 3.0
|
||||
(word~) startProcessing::$1 $1 zp ZP_WORD:34 4.0
|
||||
(word~) startProcessing::$10 $10 zp ZP_WORD:40 4.0
|
||||
(word~) startProcessing::$11 $11 zp ZP_WORD:40 4.0
|
||||
(word~) startProcessing::$12 $12 zp ZP_WORD:40 4.0
|
||||
(word~) startProcessing::$14 $14 zp ZP_WORD:42 4.0
|
||||
(word~) startProcessing::$15 $15 zp ZP_WORD:42 4.0
|
||||
(word~) startProcessing::$16 $16 zp ZP_WORD:42 4.0
|
||||
(byte*~) startProcessing::$2 $2 zp ZP_WORD:34 1.2000000000000002
|
||||
(byte~) startProcessing::$21 reg byte a 2.0
|
||||
(word~) startProcessing::$22 $22 zp ZP_WORD:45 0.5714285714285714
|
||||
(byte~) startProcessing::$29 reg byte a 2002.0
|
||||
(byte~) startProcessing::$30 reg byte x 2.25
|
||||
(word~) startProcessing::$4 $4 zp ZP_WORD:10 4.0
|
||||
(byte) startProcessing::$40 reg byte a 2002.0
|
||||
(byte) startProcessing::$41 reg byte a 2002.0
|
||||
(word~) startProcessing::$11 $11 zp ZP_WORD:41 4.0
|
||||
(word~) startProcessing::$12 $12 zp ZP_WORD:41 4.0
|
||||
(word~) startProcessing::$13 $13 zp ZP_WORD:41 4.0
|
||||
(word~) startProcessing::$15 $15 zp ZP_WORD:43 4.0
|
||||
(word~) startProcessing::$16 $16 zp ZP_WORD:43 4.0
|
||||
(word~) startProcessing::$17 $17 zp ZP_WORD:43 4.0
|
||||
(byte~) startProcessing::$22 reg byte a 2.0
|
||||
(word~) startProcessing::$23 $23 zp ZP_WORD:46 0.5
|
||||
(byte~) startProcessing::$30 reg byte a 2002.0
|
||||
(byte~) startProcessing::$31 reg byte x 2.2222222222222228
|
||||
(byte) startProcessing::$42 reg byte a 2002.0
|
||||
(word) startProcessing::$44 $44 zp ZP_WORD:36 4.0
|
||||
(word) startProcessing::$45 $45 zp ZP_WORD:34 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
|
||||
(byte) startProcessing::$43 reg byte a 2002.0
|
||||
(byte) startProcessing::$44 reg byte a 2002.0
|
||||
(byte) startProcessing::$45 reg byte a 2002.0
|
||||
(word) startProcessing::$47 $47 zp ZP_WORD:36 4.0
|
||||
(word) startProcessing::$48 $48 zp ZP_WORD:34 4.0
|
||||
(word~) startProcessing::$5 $5 zp ZP_WORD:10 4.0
|
||||
(word~) startProcessing::$7 $7 zp ZP_WORD:8 4.0
|
||||
(byte) startProcessing::$50 reg byte a 4.0
|
||||
(byte) startProcessing::$51 reg byte a 4.0
|
||||
(byte) startProcessing::$52 reg byte a 4.0
|
||||
(byte) startProcessing::$53 reg byte a 4.0
|
||||
(word~) startProcessing::$6 $6 zp ZP_WORD:10 4.0
|
||||
(word~) startProcessing::$8 $8 zp ZP_WORD:8 4.0
|
||||
(word~) startProcessing::$9 $9 zp ZP_WORD:8 4.0
|
||||
(label) startProcessing::@1
|
||||
(label) startProcessing::@2
|
||||
(label) startProcessing::@3
|
||||
@ -382,47 +387,53 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
|
||||
(struct ProcessingChar) startProcessing::center
|
||||
(word) startProcessing::center_dist
|
||||
(byte) startProcessing::center_x
|
||||
(byte) startProcessing::center_x#0 center_x zp ZP_BYTE:32 0.3846153846153846
|
||||
(byte) startProcessing::center_x#0 center_x zp ZP_BYTE:32 0.30952380952380953
|
||||
(byte) startProcessing::center_y
|
||||
(byte) startProcessing::center_y#0 center_y zp ZP_BYTE:33 0.2619047619047619
|
||||
(byte) startProcessing::center_y#0 center_y zp ZP_BYTE:33 0.24444444444444444
|
||||
(byte) startProcessing::ch
|
||||
(byte) startProcessing::ch#0 reg byte a 2.0
|
||||
(byte*) startProcessing::chargenData
|
||||
(byte*) startProcessing::chargenData#0 chargenData zp ZP_WORD:8 1.3333333333333333
|
||||
(byte*) startProcessing::chargenData#1 chargenData zp ZP_WORD:8 67.33333333333333
|
||||
(byte*) startProcessing::chargenData#2 chargenData zp ZP_WORD:8 101.66666666666666
|
||||
(byte*) startProcessing::colPtr
|
||||
(byte*) startProcessing::colPtr#0 colPtr zp ZP_WORD:38 4.0
|
||||
(byte) startProcessing::freeIdx
|
||||
(byte) startProcessing::freeIdx#2 freeIdx zp ZP_BYTE:7 29.90909090909092
|
||||
(byte) startProcessing::freeIdx#6 reg byte x 22.444444444444443
|
||||
(byte) startProcessing::freeIdx#2 freeIdx zp ZP_BYTE:7 28.0
|
||||
(byte) startProcessing::freeIdx#6 reg byte x 20.2
|
||||
(byte~) startProcessing::freeIdx#7 reg byte x 202.0
|
||||
(byte~) startProcessing::freeIdx#8 freeIdx zp ZP_BYTE:7 202.0
|
||||
(byte) startProcessing::i
|
||||
(byte) startProcessing::i#1 i zp ZP_BYTE:7 1501.5
|
||||
(byte) startProcessing::i#2 i zp ZP_BYTE:7 1001.0000000000001
|
||||
(byte) startProcessing::i#2 i zp ZP_BYTE:7 858.0
|
||||
(byte) startProcessing::i1
|
||||
(byte) startProcessing::i1#1 reg byte x 151.5
|
||||
(byte) startProcessing::i1#2 reg byte x 50.5
|
||||
(word) startProcessing::offset
|
||||
(word) startProcessing::offset#0 offset zp ZP_WORD:34 2.0
|
||||
(byte*) startProcessing::screenPtr
|
||||
(byte*) startProcessing::screenPtr#0 screenPtr zp ZP_WORD:38 0.1
|
||||
(byte*) startProcessing::screenPtr#0 screenPtr zp ZP_WORD:34 0.14285714285714285
|
||||
(byte) startProcessing::spriteCol
|
||||
(byte) startProcessing::spriteCol#0 spriteCol zp ZP_BYTE:40 0.0975609756097561
|
||||
(byte*) startProcessing::spriteData
|
||||
(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#2 spriteData zp ZP_WORD:10 152.5
|
||||
(byte) startProcessing::spriteIdx
|
||||
(byte) startProcessing::spritePtr
|
||||
(byte) startProcessing::spritePtr#0 spritePtr zp ZP_BYTE:44 0.3333333333333333
|
||||
(byte) startProcessing::spritePtr#0 spritePtr zp ZP_BYTE:45 0.3076923076923077
|
||||
(word) startProcessing::spriteX
|
||||
(word) startProcessing::spriteX#0 spriteX zp ZP_WORD:40 0.3333333333333333
|
||||
(word) startProcessing::spriteX#0 spriteX zp ZP_WORD:41 0.3076923076923077
|
||||
(word) startProcessing::spriteY
|
||||
(word) startProcessing::spriteY#0 spriteY zp ZP_WORD:42 0.4444444444444444
|
||||
(word) startProcessing::spriteY#0 spriteY zp ZP_WORD:43 0.4
|
||||
|
||||
zp ZP_WORD:2 [ main::src#2 main::src#1 ]
|
||||
zp ZP_WORD:4 [ main::dst#2 main::dst#1 ]
|
||||
zp ZP_BYTE:6 [ main::i#2 main::i#1 ]
|
||||
reg byte x [ startProcessing::freeIdx#6 startProcessing::freeIdx#7 ]
|
||||
zp ZP_BYTE:7 [ startProcessing::freeIdx#2 startProcessing::freeIdx#8 startProcessing::i#2 startProcessing::i#1 ]
|
||||
zp ZP_WORD:8 [ startProcessing::chargenData#2 startProcessing::chargenData#0 startProcessing::chargenData#1 startProcessing::$8 startProcessing::$7 ]
|
||||
zp ZP_WORD:10 [ startProcessing::spriteData#2 startProcessing::spriteData#0 startProcessing::spriteData#1 startProcessing::$5 startProcessing::$4 ]
|
||||
zp ZP_WORD:8 [ startProcessing::chargenData#2 startProcessing::chargenData#0 startProcessing::chargenData#1 startProcessing::$9 startProcessing::$8 ]
|
||||
zp ZP_WORD:10 [ startProcessing::spriteData#2 startProcessing::spriteData#0 startProcessing::spriteData#1 startProcessing::$6 startProcessing::$5 ]
|
||||
reg byte x [ startProcessing::i1#2 startProcessing::i1#1 ]
|
||||
zp ZP_WORD:12 [ getCharToProcess::screen_line#4 getCharToProcess::screen_line#1 ]
|
||||
zp ZP_BYTE:14 [ getCharToProcess::y#7 getCharToProcess::y#1 ]
|
||||
@ -444,9 +455,10 @@ 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_BYTE:30 [ processChars::i#10 processChars::i#1 ]
|
||||
zp ZP_BYTE:31 [ processChars::numActive#10 processChars::numActive#3 processChars::numActive#1 ]
|
||||
reg byte a [ main::$25 ]
|
||||
reg byte a [ main::$26 ]
|
||||
reg byte a [ main::$27 ]
|
||||
reg byte a [ main::$28 ]
|
||||
reg byte a [ main::$29 ]
|
||||
reg byte x [ main::$16 ]
|
||||
reg byte x [ getCharToProcess::return_x#0 ]
|
||||
reg byte y [ getCharToProcess::return_y#0 ]
|
||||
@ -454,43 +466,47 @@ reg byte x [ main::center_x#0 ]
|
||||
reg byte y [ main::center_y#0 ]
|
||||
zp ZP_BYTE:32 [ startProcessing::center_x#0 ]
|
||||
zp ZP_BYTE:33 [ startProcessing::center_y#0 ]
|
||||
reg byte a [ startProcessing::$40 ]
|
||||
reg byte a [ startProcessing::$41 ]
|
||||
reg byte a [ startProcessing::$42 ]
|
||||
reg byte a [ startProcessing::$29 ]
|
||||
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::$43 ]
|
||||
reg byte a [ startProcessing::$44 ]
|
||||
reg byte a [ startProcessing::$45 ]
|
||||
reg byte a [ startProcessing::$30 ]
|
||||
zp ZP_WORD:34 [ startProcessing::$0 startProcessing::$48 startProcessing::$1 startProcessing::offset#0 startProcessing::screenPtr#0 ]
|
||||
zp ZP_WORD:36 [ startProcessing::$47 ]
|
||||
zp ZP_WORD:38 [ startProcessing::colPtr#0 ]
|
||||
zp ZP_BYTE:40 [ startProcessing::spriteCol#0 ]
|
||||
reg byte a [ startProcessing::ch#0 ]
|
||||
zp ZP_WORD:40 [ startProcessing::$10 startProcessing::$11 startProcessing::$12 startProcessing::spriteX#0 ]
|
||||
zp ZP_WORD:42 [ startProcessing::$14 startProcessing::$15 startProcessing::$16 startProcessing::spriteY#0 ]
|
||||
zp ZP_BYTE:44 [ startProcessing::spritePtr#0 ]
|
||||
reg byte a [ startProcessing::$21 ]
|
||||
zp ZP_WORD:45 [ startProcessing::$22 ]
|
||||
reg byte a [ startProcessing::$47 ]
|
||||
reg byte a [ startProcessing::$48 ]
|
||||
reg byte a [ startProcessing::$49 ]
|
||||
reg byte x [ startProcessing::$30 ]
|
||||
zp ZP_WORD:41 [ startProcessing::$11 startProcessing::$12 startProcessing::$13 startProcessing::spriteX#0 ]
|
||||
zp ZP_WORD:43 [ startProcessing::$15 startProcessing::$16 startProcessing::$17 startProcessing::spriteY#0 ]
|
||||
zp ZP_BYTE:45 [ startProcessing::spritePtr#0 ]
|
||||
reg byte a [ startProcessing::$22 ]
|
||||
zp ZP_WORD:46 [ startProcessing::$23 ]
|
||||
reg byte a [ startProcessing::$50 ]
|
||||
reg byte a [ startProcessing::$51 ]
|
||||
reg byte a [ startProcessing::$52 ]
|
||||
reg byte a [ startProcessing::$53 ]
|
||||
reg byte x [ startProcessing::$31 ]
|
||||
reg byte x [ getCharToProcess::$13 ]
|
||||
reg byte a [ getCharToProcess::$14 ]
|
||||
zp ZP_WORD:47 [ getCharToProcess::$9 getCharToProcess::$16 getCharToProcess::$10 getCharToProcess::$11 ]
|
||||
zp ZP_WORD:49 [ getCharToProcess::$15 ]
|
||||
zp ZP_WORD:48 [ getCharToProcess::$9 getCharToProcess::$16 getCharToProcess::$10 getCharToProcess::$11 ]
|
||||
zp ZP_WORD:50 [ getCharToProcess::$15 ]
|
||||
reg byte a [ initSquareTables::$16 ]
|
||||
reg byte a [ initSquareTables::$17 ]
|
||||
reg byte a [ mul8u::$1 ]
|
||||
reg byte a [ processChars::$65 ]
|
||||
reg byte a [ processChars::$66 ]
|
||||
reg byte a [ processChars::$67 ]
|
||||
reg byte a [ processChars::$68 ]
|
||||
reg byte a [ processChars::$69 ]
|
||||
reg byte a [ processChars::$70 ]
|
||||
reg byte a [ processChars::$37 ]
|
||||
zp ZP_WORD:51 [ processChars::processing#0 ]
|
||||
zp ZP_BYTE:53 [ processChars::bitmask#0 ]
|
||||
zp ZP_WORD:54 [ processChars::xpos#0 processChars::$25 ]
|
||||
zp ZP_WORD:52 [ processChars::processing#0 ]
|
||||
zp ZP_BYTE:54 [ processChars::bitmask#0 ]
|
||||
zp ZP_WORD:55 [ processChars::xpos#0 processChars::$25 ]
|
||||
reg byte a [ processChars::$11 ]
|
||||
reg byte a [ processChars::$12 ]
|
||||
reg byte x [ processChars::$17 ]
|
||||
reg byte a [ processChars::$14 ]
|
||||
zp ZP_WORD:56 [ processChars::$15 ]
|
||||
zp ZP_BYTE:58 [ processChars::ypos#0 ]
|
||||
zp ZP_WORD:57 [ processChars::$15 ]
|
||||
zp ZP_BYTE:59 [ processChars::ypos#0 ]
|
||||
reg byte a [ processChars::$26 ]
|
||||
reg byte a [ processChars::xchar#0 ]
|
||||
reg byte a [ processChars::$38 ]
|
||||
|
Loading…
Reference in New Issue
Block a user