mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-04-03 08:30:49 +00:00
The sprite scroller is now working with the sine-dampened X-movement.
This commit is contained in:
parent
96779a5f24
commit
b8a2e10fd8
@ -49,7 +49,7 @@ void main() {
|
||||
|
||||
// Set the x-positions & pointers
|
||||
for(char s=0, x=0;s<PLEX_COUNT;s++,x+=8) {
|
||||
PLEX_PTR[s] = SPRITE_0+s;
|
||||
PLEX_PTR[s] = SPRITE_0+' ';
|
||||
PLEX_XPOS[s] = { XMOVEMENT_HI[x], XMOVEMENT[x] };
|
||||
}
|
||||
// Enable & initialize sprites
|
||||
@ -102,27 +102,31 @@ char SCROLL_TEXT[] = "camelot presents a spanking new contribution to the always
|
||||
char* scroll_text_next = SCROLL_TEXT;
|
||||
|
||||
// Y-sine index
|
||||
char sin_idx = 0;
|
||||
char y_sin_idx = 0;
|
||||
// X-movement index
|
||||
char x_movement_idx = 0;
|
||||
|
||||
// Move the plex sprites in an Y-sine and scroll them to the left.
|
||||
void plex_move() {
|
||||
char y_idx = sin_idx;
|
||||
char y_idx = y_sin_idx;
|
||||
char x_idx = x_movement_idx;
|
||||
for(char s: 0..PLEX_COUNT-1) {
|
||||
// Assign sine value
|
||||
PLEX_YPOS[s] = YSIN[y_idx];
|
||||
y_idx += 8;
|
||||
if(PLEX_XPOS[s]==0) {
|
||||
// Move sprite to far right
|
||||
PLEX_XPOS[s] = 11*32;
|
||||
PLEX_XPOS[s] = { XMOVEMENT_HI[x_idx], XMOVEMENT[x_idx] };
|
||||
if(x_idx==0) {
|
||||
// Page boundary crossed - new scroll char! Detection is a bit flaky!
|
||||
// Restart scroll text of needed
|
||||
if(*scroll_text_next==0)
|
||||
scroll_text_next = SCROLL_TEXT;
|
||||
// Read next char from the scroll text
|
||||
PLEX_PTR[s] = SPRITE_0+*scroll_text_next++;
|
||||
}
|
||||
//PLEX_XPOS[s]--;
|
||||
x_idx +=8;
|
||||
}
|
||||
sin_idx +=1;
|
||||
y_sin_idx += 3;
|
||||
x_movement_idx++;
|
||||
}
|
||||
|
||||
// Signal used between IRQ and main loop. Set to true when the IRQ is done showing the sprites.
|
||||
|
@ -41,15 +41,17 @@
|
||||
// The address of the sprite pointers on the current screen (screen+0x3f8).
|
||||
.label PLEX_SCREEN_PTR = $400+$3f8
|
||||
.const toSpritePtr1_return = SPRITES/$40
|
||||
.label plex_show_idx = $f
|
||||
.label plex_sprite_idx = $10
|
||||
.label plex_sprite_msb = $11
|
||||
.label plex_free_next = $12
|
||||
.label frame_done = $13
|
||||
.label plex_show_idx = $d
|
||||
.label plex_sprite_idx = $e
|
||||
.label plex_sprite_msb = $f
|
||||
.label plex_free_next = $10
|
||||
.label frame_done = $11
|
||||
// The next char to use from the scroll text
|
||||
.label scroll_text_next = 3
|
||||
.label scroll_text_next = 4
|
||||
// Y-sine index
|
||||
.label sin_idx = 2
|
||||
.label y_sin_idx = 2
|
||||
// X-movement index
|
||||
.label x_movement_idx = 3
|
||||
__bbegin:
|
||||
// plex_show_idx=0
|
||||
// The index in the PLEX tables of the next sprite to show
|
||||
@ -74,7 +76,7 @@ __bbegin:
|
||||
main: {
|
||||
.const toD0181_return = (>(SCREEN&$3fff)*4)|(>CHARSET_DEFAULT)/4&$f
|
||||
.label s = 2
|
||||
.label __13 = $14
|
||||
.label __13 = $12
|
||||
// asm
|
||||
// Create 2x2 font from CHARGEN
|
||||
sei
|
||||
@ -127,7 +129,8 @@ main: {
|
||||
lda #>SCROLL_TEXT
|
||||
sta.z scroll_text_next+1
|
||||
lda #0
|
||||
sta.z sin_idx
|
||||
sta.z x_movement_idx
|
||||
sta.z y_sin_idx
|
||||
jsr plex_move
|
||||
// plexSort()
|
||||
// Sort the sprites by y-position
|
||||
@ -181,11 +184,8 @@ main: {
|
||||
jsr plexSort
|
||||
jmp __b6
|
||||
__b2:
|
||||
// SPRITE_0+s
|
||||
lda #toSpritePtr1_return
|
||||
clc
|
||||
adc.z s
|
||||
// PLEX_PTR[s] = SPRITE_0+s
|
||||
// PLEX_PTR[s] = SPRITE_0+' '
|
||||
lda #toSpritePtr1_return+' '
|
||||
ldy.z s
|
||||
sta PLEX_PTR,y
|
||||
// PLEX_XPOS[s] = { XMOVEMENT_HI[x], XMOVEMENT[x] }
|
||||
@ -216,9 +216,9 @@ main: {
|
||||
// elements before the marker are shifted right one at a time until encountering one smaller than the current one.
|
||||
// It is then inserted at the spot. Now the marker can move forward.
|
||||
plexSort: {
|
||||
.label nxt_idx = $17
|
||||
.label nxt_y = $16
|
||||
.label m = 9
|
||||
.label nxt_idx = $14
|
||||
.label nxt_y = $15
|
||||
.label m = $c
|
||||
lda #0
|
||||
sta.z m
|
||||
__b1:
|
||||
@ -285,38 +285,45 @@ plexSort: {
|
||||
}
|
||||
// Move the plex sprites in an Y-sine and scroll them to the left.
|
||||
plex_move: {
|
||||
.label s = 9
|
||||
// y_idx = sin_idx
|
||||
ldx.z sin_idx
|
||||
.label y_idx = $c
|
||||
.label x_idx = $15
|
||||
.label s = $14
|
||||
.label __7 = $16
|
||||
// y_idx = y_sin_idx
|
||||
lda.z y_sin_idx
|
||||
sta.z y_idx
|
||||
// x_idx = x_movement_idx
|
||||
lda.z x_movement_idx
|
||||
sta.z x_idx
|
||||
lda #0
|
||||
sta.z s
|
||||
__b1:
|
||||
// PLEX_YPOS[s] = YSIN[y_idx]
|
||||
// Assign sine value
|
||||
lda YSIN,x
|
||||
ldy.z y_idx
|
||||
lda YSIN,y
|
||||
ldy.z s
|
||||
sta PLEX_YPOS,y
|
||||
// y_idx += 8
|
||||
txa
|
||||
lax.z y_idx
|
||||
axs #-[8]
|
||||
// PLEX_XPOS[s]==0
|
||||
stx.z y_idx
|
||||
// PLEX_XPOS[s] = { XMOVEMENT_HI[x_idx], XMOVEMENT[x_idx] }
|
||||
tya
|
||||
asl
|
||||
// if(PLEX_XPOS[s]==0)
|
||||
tay
|
||||
lda PLEX_XPOS+1,y
|
||||
tax
|
||||
ldy.z x_idx
|
||||
lda XMOVEMENT_HI,y
|
||||
sta.z __7+1
|
||||
lda XMOVEMENT,y
|
||||
sta.z __7
|
||||
sta PLEX_XPOS,x
|
||||
lda.z __7+1
|
||||
sta PLEX_XPOS+1,x
|
||||
// if(x_idx==0)
|
||||
tya
|
||||
cmp #0
|
||||
bne __b2
|
||||
lda PLEX_XPOS,y
|
||||
bne __b2
|
||||
// PLEX_XPOS[s] = 11*32
|
||||
lda.z s
|
||||
asl
|
||||
// Move sprite to far right
|
||||
tay
|
||||
lda #<$b*$20
|
||||
sta PLEX_XPOS,y
|
||||
lda #>$b*$20
|
||||
sta PLEX_XPOS+1,y
|
||||
// if(*scroll_text_next==0)
|
||||
ldy #0
|
||||
lda (scroll_text_next),y
|
||||
@ -342,13 +349,21 @@ plex_move: {
|
||||
inc.z scroll_text_next+1
|
||||
!:
|
||||
__b2:
|
||||
// x_idx +=8
|
||||
lax.z x_idx
|
||||
axs #-[8]
|
||||
stx.z x_idx
|
||||
// for(char s: 0..PLEX_COUNT-1)
|
||||
inc.z s
|
||||
lda #PLEX_COUNT-1+1
|
||||
cmp.z s
|
||||
bne __b1
|
||||
// sin_idx +=1
|
||||
inc.z sin_idx
|
||||
// y_sin_idx += 3
|
||||
lax.z y_sin_idx
|
||||
axs #-[3]
|
||||
stx.z y_sin_idx
|
||||
// x_movement_idx++;
|
||||
inc.z x_movement_idx
|
||||
// }
|
||||
rts
|
||||
}
|
||||
@ -372,13 +387,13 @@ plexInit: {
|
||||
// - num_chars The number of chars to convert
|
||||
font_2x2_to_sprites: {
|
||||
.const num_chars = $40
|
||||
.label __3 = $17
|
||||
.label char_right = $d
|
||||
.label sprite_idx = $a
|
||||
.label char_left = $b
|
||||
.label char_current = 5
|
||||
.label sprite = 7
|
||||
.label c = 9
|
||||
.label __3 = $18
|
||||
.label char_right = $a
|
||||
.label sprite_idx = $15
|
||||
.label char_left = 8
|
||||
.label char_current = $16
|
||||
.label sprite = 6
|
||||
.label c = $14
|
||||
lda #<SPRITES
|
||||
sta.z sprite
|
||||
lda #>SPRITES
|
||||
@ -500,18 +515,18 @@ font_2x2_to_sprites: {
|
||||
// - 0x80 - 0xbf Lower left glyphs
|
||||
// - 0xc0 - 0xff Lower right glyphs
|
||||
font_2x2: {
|
||||
.label __5 = $14
|
||||
.label __7 = $14
|
||||
.label next_2x2_left = 5
|
||||
.label next_2x2_right = $d
|
||||
.label glyph_bits = $16
|
||||
.label glyph_bits_2x2 = $14
|
||||
.label l2 = $17
|
||||
.label l = $a
|
||||
.label next_2x2_left_1 = $b
|
||||
.label next_2x2 = 5
|
||||
.label next_original = 7
|
||||
.label c = 9
|
||||
.label __5 = $12
|
||||
.label __7 = $12
|
||||
.label next_2x2_left = $16
|
||||
.label next_2x2_right = $a
|
||||
.label glyph_bits = $c
|
||||
.label glyph_bits_2x2 = $12
|
||||
.label l2 = $18
|
||||
.label l = $15
|
||||
.label next_2x2_left_1 = 8
|
||||
.label next_2x2 = $16
|
||||
.label next_original = 6
|
||||
.label c = $14
|
||||
lda #0
|
||||
sta.z c
|
||||
lda #<CHARGEN
|
||||
@ -660,7 +675,7 @@ font_2x2: {
|
||||
}
|
||||
// Show sprites from the multiplexer, rescheduling the IRQ as many times as needed
|
||||
plex_irq: {
|
||||
.label __4 = $18
|
||||
.label __4 = $19
|
||||
// asm
|
||||
sei
|
||||
__b3:
|
||||
@ -712,7 +727,7 @@ plex_irq: {
|
||||
// Show the next sprite.
|
||||
// plexSort() prepares showing the sprites
|
||||
plexShowSprite: {
|
||||
.label plex_sprite_idx2 = $19
|
||||
.label plex_sprite_idx2 = $1a
|
||||
// plex_sprite_idx2 = plex_sprite_idx*2
|
||||
lda.z plex_sprite_idx
|
||||
asl
|
||||
|
@ -87,84 +87,86 @@ main::@13: scope:[main] from main::@7
|
||||
[43] call plexSort
|
||||
to:main::@6
|
||||
main::@2: scope:[main] from main::@1
|
||||
[44] (byte~) main::$7 ← (const byte) toSpritePtr1_return#0 + (byte) main::s#2
|
||||
[45] *((const byte*) PLEX_PTR + (byte) main::s#2) ← (byte~) main::$7
|
||||
[46] (byte~) main::$12 ← (byte) main::s#2 << (byte) 1
|
||||
[47] (word~) main::$13 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) main::x#2) w= *((const byte*) XMOVEMENT + (byte) main::x#2)
|
||||
[48] *((const word*) PLEX_XPOS + (byte~) main::$12) ← (word~) main::$13
|
||||
[49] (byte) main::x#1 ← (byte) main::x#2 + (byte) 8
|
||||
[50] (byte) main::s#1 ← ++ (byte) main::s#2
|
||||
[44] *((const byte*) PLEX_PTR + (byte) main::s#2) ← (const byte) toSpritePtr1_return#0+(byte) ' '
|
||||
[45] (byte~) main::$12 ← (byte) main::s#2 << (byte) 1
|
||||
[46] (word~) main::$13 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) main::x#2) w= *((const byte*) XMOVEMENT + (byte) main::x#2)
|
||||
[47] *((const word*) PLEX_XPOS + (byte~) main::$12) ← (word~) main::$13
|
||||
[48] (byte) main::x#1 ← (byte) main::x#2 + (byte) 8
|
||||
[49] (byte) main::s#1 ← ++ (byte) main::s#2
|
||||
to:main::@1
|
||||
|
||||
(void()) plexSort()
|
||||
plexSort: scope:[plexSort] from main::@11 main::@13
|
||||
[51] phi()
|
||||
[50] phi()
|
||||
to:plexSort::@1
|
||||
plexSort::@1: scope:[plexSort] from plexSort plexSort::@2
|
||||
[52] (byte) plexSort::m#2 ← phi( plexSort/(byte) 0 plexSort::@2/(byte) plexSort::m#1 )
|
||||
[53] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2)
|
||||
[54] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0)
|
||||
[55] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2
|
||||
[51] (byte) plexSort::m#2 ← phi( plexSort/(byte) 0 plexSort::@2/(byte) plexSort::m#1 )
|
||||
[52] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2)
|
||||
[53] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0)
|
||||
[54] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2
|
||||
to:plexSort::@5
|
||||
plexSort::@5: scope:[plexSort] from plexSort::@1
|
||||
[56] (byte) plexSort::s#6 ← (byte) plexSort::m#2
|
||||
[55] (byte) plexSort::s#6 ← (byte) plexSort::m#2
|
||||
to:plexSort::@3
|
||||
plexSort::@3: scope:[plexSort] from plexSort::@5 plexSort::@7
|
||||
[57] (byte) plexSort::s#3 ← phi( plexSort::@7/(byte) plexSort::s#1 plexSort::@5/(byte) plexSort::s#6 )
|
||||
[58] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3)
|
||||
[59] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3
|
||||
[60] if((byte) plexSort::s#1==(byte) $ff) goto plexSort::@4
|
||||
[56] (byte) plexSort::s#3 ← phi( plexSort::@7/(byte) plexSort::s#1 plexSort::@5/(byte) plexSort::s#6 )
|
||||
[57] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3)
|
||||
[58] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3
|
||||
[59] if((byte) plexSort::s#1==(byte) $ff) goto plexSort::@4
|
||||
to:plexSort::@7
|
||||
plexSort::@7: scope:[plexSort] from plexSort::@3
|
||||
[61] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3
|
||||
[60] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3
|
||||
to:plexSort::@4
|
||||
plexSort::@4: scope:[plexSort] from plexSort::@3 plexSort::@7
|
||||
[62] (byte) plexSort::s#2 ← ++ (byte) plexSort::s#1
|
||||
[63] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0
|
||||
[61] (byte) plexSort::s#2 ← ++ (byte) plexSort::s#1
|
||||
[62] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0
|
||||
to:plexSort::@2
|
||||
plexSort::@2: scope:[plexSort] from plexSort::@1 plexSort::@4
|
||||
[64] (byte) plexSort::m#1 ← ++ (byte) plexSort::m#2
|
||||
[65] if((byte) plexSort::m#1!=(const nomodify byte) PLEX_COUNT-(byte) 2+(byte) 1) goto plexSort::@1
|
||||
[63] (byte) plexSort::m#1 ← ++ (byte) plexSort::m#2
|
||||
[64] if((byte) plexSort::m#1!=(const nomodify byte) PLEX_COUNT-(byte) 2+(byte) 1) goto plexSort::@1
|
||||
to:plexSort::@6
|
||||
plexSort::@6: scope:[plexSort] from plexSort::@2
|
||||
[66] (volatile byte) plex_show_idx ← (byte) 0
|
||||
[67] (volatile byte) plex_sprite_idx ← (byte) 0
|
||||
[68] (volatile byte) plex_sprite_msb ← (byte) 1
|
||||
[65] (volatile byte) plex_show_idx ← (byte) 0
|
||||
[66] (volatile byte) plex_sprite_idx ← (byte) 0
|
||||
[67] (volatile byte) plex_sprite_msb ← (byte) 1
|
||||
to:plexSort::plexFreePrepare1
|
||||
plexSort::plexFreePrepare1: scope:[plexSort] from plexSort::@6
|
||||
[69] phi()
|
||||
[68] phi()
|
||||
to:plexSort::plexFreePrepare1_@1
|
||||
plexSort::plexFreePrepare1_@1: scope:[plexSort] from plexSort::plexFreePrepare1 plexSort::plexFreePrepare1_@1
|
||||
[70] (byte) plexSort::plexFreePrepare1_s#2 ← phi( plexSort::plexFreePrepare1/(byte) 0 plexSort::plexFreePrepare1_@1/(byte) plexSort::plexFreePrepare1_s#1 )
|
||||
[71] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0
|
||||
[72] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2
|
||||
[73] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1
|
||||
[69] (byte) plexSort::plexFreePrepare1_s#2 ← phi( plexSort::plexFreePrepare1/(byte) 0 plexSort::plexFreePrepare1_@1/(byte) plexSort::plexFreePrepare1_s#1 )
|
||||
[70] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0
|
||||
[71] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2
|
||||
[72] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1
|
||||
to:plexSort::plexFreePrepare1_@2
|
||||
plexSort::plexFreePrepare1_@2: scope:[plexSort] from plexSort::plexFreePrepare1_@1
|
||||
[74] (volatile byte) plex_free_next ← (byte) 0
|
||||
[73] (volatile byte) plex_free_next ← (byte) 0
|
||||
to:plexSort::@return
|
||||
plexSort::@return: scope:[plexSort] from plexSort::plexFreePrepare1_@2
|
||||
[75] return
|
||||
[74] return
|
||||
to:@return
|
||||
|
||||
(void()) plex_move()
|
||||
plex_move: scope:[plex_move] from main::@5 main::@7
|
||||
[76] (byte*) scroll_text_next#25 ← phi( main::@7/(byte*) scroll_text_next#13 main::@5/(const byte*) SCROLL_TEXT )
|
||||
[76] (byte) sin_idx#10 ← phi( main::@7/(byte) sin_idx#12 main::@5/(byte) 0 )
|
||||
[77] (byte) plex_move::y_idx#0 ← (byte) sin_idx#10
|
||||
[75] (byte*) scroll_text_next#25 ← phi( main::@7/(byte*) scroll_text_next#13 main::@5/(const byte*) SCROLL_TEXT )
|
||||
[75] (byte) x_movement_idx#10 ← phi( main::@7/(byte) x_movement_idx#12 main::@5/(byte) 0 )
|
||||
[75] (byte) y_sin_idx#10 ← phi( main::@7/(byte) y_sin_idx#12 main::@5/(byte) 0 )
|
||||
[76] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#10
|
||||
[77] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#10
|
||||
to:plex_move::@1
|
||||
plex_move::@1: scope:[plex_move] from plex_move plex_move::@2
|
||||
[78] (byte*) scroll_text_next#11 ← phi( plex_move/(byte*) scroll_text_next#25 plex_move::@2/(byte*) scroll_text_next#13 )
|
||||
[78] (byte) plex_move::x_idx#2 ← phi( plex_move/(byte) plex_move::x_idx#0 plex_move::@2/(byte) plex_move::x_idx#1 )
|
||||
[78] (byte) plex_move::s#2 ← phi( plex_move/(byte) 0 plex_move::@2/(byte) plex_move::s#1 )
|
||||
[78] (byte) plex_move::y_idx#2 ← phi( plex_move/(byte) plex_move::y_idx#0 plex_move::@2/(byte) plex_move::y_idx#1 )
|
||||
[79] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2)
|
||||
[80] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8
|
||||
[81] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1
|
||||
[82] if(*((const word*) PLEX_XPOS + (byte~) plex_move::$6)!=(byte) 0) goto plex_move::@2
|
||||
[82] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2)
|
||||
[83] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7
|
||||
[84] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2
|
||||
to:plex_move::@4
|
||||
plex_move::@4: scope:[plex_move] from plex_move::@1
|
||||
[83] (byte~) plex_move::$7 ← (byte) plex_move::s#2 << (byte) 1
|
||||
[84] *((const word*) PLEX_XPOS + (byte~) plex_move::$7) ← (word)(number) $b*(number) $20
|
||||
[85] if(*((byte*) scroll_text_next#11)!=(byte) 0) goto plex_move::@6
|
||||
to:plex_move::@3
|
||||
plex_move::@6: scope:[plex_move] from plex_move::@4
|
||||
@ -178,155 +180,157 @@ plex_move::@3: scope:[plex_move] from plex_move::@4 plex_move::@6
|
||||
to:plex_move::@2
|
||||
plex_move::@2: scope:[plex_move] from plex_move::@1 plex_move::@3
|
||||
[91] (byte*) scroll_text_next#13 ← phi( plex_move::@1/(byte*) scroll_text_next#11 plex_move::@3/(byte*) scroll_text_next#4 )
|
||||
[92] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2
|
||||
[93] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1
|
||||
[92] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8
|
||||
[93] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2
|
||||
[94] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1
|
||||
to:plex_move::@5
|
||||
plex_move::@5: scope:[plex_move] from plex_move::@2
|
||||
[94] (byte) sin_idx#12 ← (byte) sin_idx#10 + (byte) 1
|
||||
[95] (byte) y_sin_idx#12 ← (byte) y_sin_idx#10 + (byte) 3
|
||||
[96] (byte) x_movement_idx#12 ← ++ (byte) x_movement_idx#10
|
||||
to:plex_move::@return
|
||||
plex_move::@return: scope:[plex_move] from plex_move::@5
|
||||
[95] return
|
||||
[97] return
|
||||
to:@return
|
||||
|
||||
(void()) plexInit((byte*) plexInit::screen)
|
||||
plexInit: scope:[plexInit] from main::@10
|
||||
[96] phi()
|
||||
[98] phi()
|
||||
to:plexInit::plexSetScreen1
|
||||
plexInit::plexSetScreen1: scope:[plexInit] from plexInit
|
||||
[97] phi()
|
||||
[99] phi()
|
||||
to:plexInit::@1
|
||||
plexInit::@1: scope:[plexInit] from plexInit::@1 plexInit::plexSetScreen1
|
||||
[98] (byte) plexInit::i#2 ← phi( plexInit::@1/(byte) plexInit::i#1 plexInit::plexSetScreen1/(byte) 0 )
|
||||
[99] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2
|
||||
[100] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2
|
||||
[101] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1
|
||||
[100] (byte) plexInit::i#2 ← phi( plexInit::@1/(byte) plexInit::i#1 plexInit::plexSetScreen1/(byte) 0 )
|
||||
[101] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2
|
||||
[102] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2
|
||||
[103] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1
|
||||
to:plexInit::@return
|
||||
plexInit::@return: scope:[plexInit] from plexInit::@1
|
||||
[102] return
|
||||
[104] return
|
||||
to:@return
|
||||
|
||||
(void()) font_2x2_to_sprites((byte*) font_2x2_to_sprites::font_2x2 , (byte*) font_2x2_to_sprites::sprites , (byte) font_2x2_to_sprites::num_chars)
|
||||
font_2x2_to_sprites: scope:[font_2x2_to_sprites] from main::@9
|
||||
[103] phi()
|
||||
[105] phi()
|
||||
to:font_2x2_to_sprites::@1
|
||||
font_2x2_to_sprites::@1: scope:[font_2x2_to_sprites] from font_2x2_to_sprites font_2x2_to_sprites::@7
|
||||
[104] (byte*) font_2x2_to_sprites::sprite#4 ← phi( font_2x2_to_sprites/(const nomodify byte*) SPRITES font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::sprite#1 )
|
||||
[104] (byte*) font_2x2_to_sprites::char_current#2 ← phi( font_2x2_to_sprites/(const byte*) FONT font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::char_current#1 )
|
||||
[104] (byte) font_2x2_to_sprites::c#2 ← phi( font_2x2_to_sprites/(byte) 0 font_2x2_to_sprites::@7/(byte) font_2x2_to_sprites::c#1 )
|
||||
[105] if((byte) font_2x2_to_sprites::c#2<(const byte) font_2x2_to_sprites::num_chars#0) goto font_2x2_to_sprites::@2
|
||||
[106] (byte*) font_2x2_to_sprites::sprite#4 ← phi( font_2x2_to_sprites/(const nomodify byte*) SPRITES font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::sprite#1 )
|
||||
[106] (byte*) font_2x2_to_sprites::char_current#2 ← phi( font_2x2_to_sprites/(const byte*) FONT font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::char_current#1 )
|
||||
[106] (byte) font_2x2_to_sprites::c#2 ← phi( font_2x2_to_sprites/(byte) 0 font_2x2_to_sprites::@7/(byte) font_2x2_to_sprites::c#1 )
|
||||
[107] if((byte) font_2x2_to_sprites::c#2<(const byte) font_2x2_to_sprites::num_chars#0) goto font_2x2_to_sprites::@2
|
||||
to:font_2x2_to_sprites::@return
|
||||
font_2x2_to_sprites::@return: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@1
|
||||
[106] return
|
||||
[108] return
|
||||
to:@return
|
||||
font_2x2_to_sprites::@2: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@1
|
||||
[107] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8
|
||||
[108] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2
|
||||
[109] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8
|
||||
[110] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2
|
||||
to:font_2x2_to_sprites::@3
|
||||
font_2x2_to_sprites::@3: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@2 font_2x2_to_sprites::@5
|
||||
[109] (byte*) font_2x2_to_sprites::char_right#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_right#4 )
|
||||
[109] (byte) font_2x2_to_sprites::sprite_idx#4 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::sprite_idx#3 )
|
||||
[109] (byte*) font_2x2_to_sprites::char_left#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_left#4 )
|
||||
[109] (byte) font_2x2_to_sprites::i#2 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::i#1 )
|
||||
[110] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7
|
||||
[111] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3)
|
||||
[112] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4
|
||||
[113] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3)
|
||||
[114] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1
|
||||
[115] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0
|
||||
[116] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2
|
||||
[117] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4
|
||||
[111] (byte*) font_2x2_to_sprites::char_right#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_right#4 )
|
||||
[111] (byte) font_2x2_to_sprites::sprite_idx#4 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::sprite_idx#3 )
|
||||
[111] (byte*) font_2x2_to_sprites::char_left#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_left#4 )
|
||||
[111] (byte) font_2x2_to_sprites::i#2 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::i#1 )
|
||||
[112] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7
|
||||
[113] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3)
|
||||
[114] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4
|
||||
[115] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3)
|
||||
[116] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1
|
||||
[117] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0
|
||||
[118] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2
|
||||
[119] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4
|
||||
to:font_2x2_to_sprites::@6
|
||||
font_2x2_to_sprites::@6: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@3
|
||||
[118] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8
|
||||
[120] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8
|
||||
to:font_2x2_to_sprites::@5
|
||||
font_2x2_to_sprites::@8: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@6
|
||||
[119] phi()
|
||||
[121] phi()
|
||||
to:font_2x2_to_sprites::@5
|
||||
font_2x2_to_sprites::@5: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@4 font_2x2_to_sprites::@6 font_2x2_to_sprites::@8
|
||||
[120] (byte*) font_2x2_to_sprites::char_right#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_right#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 )
|
||||
[120] (byte*) font_2x2_to_sprites::char_left#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 )
|
||||
[121] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2
|
||||
[122] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3
|
||||
[122] (byte*) font_2x2_to_sprites::char_right#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_right#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 )
|
||||
[122] (byte*) font_2x2_to_sprites::char_left#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 )
|
||||
[123] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2
|
||||
[124] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3
|
||||
to:font_2x2_to_sprites::@7
|
||||
font_2x2_to_sprites::@7: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@5
|
||||
[123] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8
|
||||
[124] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40
|
||||
[125] (byte) font_2x2_to_sprites::c#1 ← ++ (byte) font_2x2_to_sprites::c#2
|
||||
[125] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8
|
||||
[126] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40
|
||||
[127] (byte) font_2x2_to_sprites::c#1 ← ++ (byte) font_2x2_to_sprites::c#2
|
||||
to:font_2x2_to_sprites::@1
|
||||
font_2x2_to_sprites::@4: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@3
|
||||
[126] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8
|
||||
[127] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8
|
||||
[128] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8
|
||||
[129] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8
|
||||
to:font_2x2_to_sprites::@5
|
||||
|
||||
(void()) font_2x2((byte*) font_2x2::font_original , (byte*) font_2x2::font_2x2)
|
||||
font_2x2: scope:[font_2x2] from main
|
||||
[128] phi()
|
||||
[130] phi()
|
||||
to:font_2x2::@1
|
||||
font_2x2::@1: scope:[font_2x2] from font_2x2 font_2x2::@9
|
||||
[129] (byte) font_2x2::c#11 ← phi( font_2x2/(byte) 0 font_2x2::@9/(byte) font_2x2::c#1 )
|
||||
[129] (byte*) font_2x2::next_original#4 ← phi( font_2x2/(const nomodify byte*) CHARGEN font_2x2::@9/(byte*) font_2x2::next_original#1 )
|
||||
[129] (byte*) font_2x2::next_2x2_left#0 ← phi( font_2x2/(const byte*) FONT font_2x2::@9/(byte*) font_2x2::next_2x2#1 )
|
||||
[130] (byte*) font_2x2::next_2x2_right#0 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $40*(number) 8
|
||||
[131] (byte*) font_2x2::next_2x2_left#10 ← (byte*) font_2x2::next_2x2_left#0
|
||||
[131] (byte) font_2x2::c#11 ← phi( font_2x2/(byte) 0 font_2x2::@9/(byte) font_2x2::c#1 )
|
||||
[131] (byte*) font_2x2::next_original#4 ← phi( font_2x2/(const nomodify byte*) CHARGEN font_2x2::@9/(byte*) font_2x2::next_original#1 )
|
||||
[131] (byte*) font_2x2::next_2x2_left#0 ← phi( font_2x2/(const byte*) FONT font_2x2::@9/(byte*) font_2x2::next_2x2#1 )
|
||||
[132] (byte*) font_2x2::next_2x2_right#0 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $40*(number) 8
|
||||
[133] (byte*) font_2x2::next_2x2_left#10 ← (byte*) font_2x2::next_2x2_left#0
|
||||
to:font_2x2::@2
|
||||
font_2x2::@2: scope:[font_2x2] from font_2x2::@1 font_2x2::@8
|
||||
[132] (byte*) font_2x2::next_2x2_right#7 ← phi( font_2x2::@1/(byte*) font_2x2::next_2x2_right#0 font_2x2::@8/(byte*) font_2x2::next_2x2_right#8 )
|
||||
[132] (byte) font_2x2::l2#8 ← phi( font_2x2::@1/(byte) 0 font_2x2::@8/(byte) font_2x2::l2#9 )
|
||||
[132] (byte*) font_2x2::next_2x2_left#7 ← phi( font_2x2::@1/(byte*) font_2x2::next_2x2_left#10 font_2x2::@8/(byte*) font_2x2::next_2x2_left#8 )
|
||||
[132] (byte) font_2x2::l#2 ← phi( font_2x2::@1/(byte) 0 font_2x2::@8/(byte) font_2x2::l#1 )
|
||||
[133] (byte) font_2x2::glyph_bits#0 ← *((byte*) font_2x2::next_original#4 + (byte) font_2x2::l#2)
|
||||
[134] (byte*) font_2x2::next_2x2_right#7 ← phi( font_2x2::@1/(byte*) font_2x2::next_2x2_right#0 font_2x2::@8/(byte*) font_2x2::next_2x2_right#8 )
|
||||
[134] (byte) font_2x2::l2#8 ← phi( font_2x2::@1/(byte) 0 font_2x2::@8/(byte) font_2x2::l2#9 )
|
||||
[134] (byte*) font_2x2::next_2x2_left#7 ← phi( font_2x2::@1/(byte*) font_2x2::next_2x2_left#10 font_2x2::@8/(byte*) font_2x2::next_2x2_left#8 )
|
||||
[134] (byte) font_2x2::l#2 ← phi( font_2x2::@1/(byte) 0 font_2x2::@8/(byte) font_2x2::l#1 )
|
||||
[135] (byte) font_2x2::glyph_bits#0 ← *((byte*) font_2x2::next_original#4 + (byte) font_2x2::l#2)
|
||||
to:font_2x2::@3
|
||||
font_2x2::@3: scope:[font_2x2] from font_2x2::@2 font_2x2::@5
|
||||
[134] (byte) font_2x2::b#2 ← phi( font_2x2::@2/(byte) 0 font_2x2::@5/(byte) font_2x2::b#1 )
|
||||
[134] (word) font_2x2::glyph_bits_2x2#3 ← phi( font_2x2::@2/(word) 0 font_2x2::@5/(word) font_2x2::glyph_bits_2x2#2 )
|
||||
[134] (byte) font_2x2::glyph_bits#2 ← phi( font_2x2::@2/(byte) font_2x2::glyph_bits#0 font_2x2::@5/(byte) font_2x2::glyph_bits#1 )
|
||||
[135] (byte~) font_2x2::$1 ← (byte) font_2x2::glyph_bits#2 & (byte) $80
|
||||
[136] if((byte) 0!=(byte~) font_2x2::$1) goto font_2x2::@4
|
||||
[136] (byte) font_2x2::b#2 ← phi( font_2x2::@2/(byte) 0 font_2x2::@5/(byte) font_2x2::b#1 )
|
||||
[136] (word) font_2x2::glyph_bits_2x2#3 ← phi( font_2x2::@2/(word) 0 font_2x2::@5/(word) font_2x2::glyph_bits_2x2#2 )
|
||||
[136] (byte) font_2x2::glyph_bits#2 ← phi( font_2x2::@2/(byte) font_2x2::glyph_bits#0 font_2x2::@5/(byte) font_2x2::glyph_bits#1 )
|
||||
[137] (byte~) font_2x2::$1 ← (byte) font_2x2::glyph_bits#2 & (byte) $80
|
||||
[138] if((byte) 0!=(byte~) font_2x2::$1) goto font_2x2::@4
|
||||
to:font_2x2::@5
|
||||
font_2x2::@4: scope:[font_2x2] from font_2x2::@3
|
||||
[137] phi()
|
||||
[139] phi()
|
||||
to:font_2x2::@5
|
||||
font_2x2::@5: scope:[font_2x2] from font_2x2::@3 font_2x2::@4
|
||||
[138] (byte) font_2x2::glyph_bit#0 ← phi( font_2x2::@4/(byte) 1 font_2x2::@3/(byte) 0 )
|
||||
[139] (word~) font_2x2::$5 ← (word) font_2x2::glyph_bits_2x2#3 << (byte) 1
|
||||
[140] (word) font_2x2::glyph_bits_2x2#1 ← (word~) font_2x2::$5 | (byte) font_2x2::glyph_bit#0
|
||||
[141] (word~) font_2x2::$7 ← (word) font_2x2::glyph_bits_2x2#1 << (byte) 1
|
||||
[142] (word) font_2x2::glyph_bits_2x2#2 ← (word~) font_2x2::$7 | (byte) font_2x2::glyph_bit#0
|
||||
[143] (byte) font_2x2::glyph_bits#1 ← (byte) font_2x2::glyph_bits#2 << (byte) 1
|
||||
[144] (byte) font_2x2::b#1 ← ++ (byte) font_2x2::b#2
|
||||
[145] if((byte) font_2x2::b#1!=(byte) 8) goto font_2x2::@3
|
||||
[140] (byte) font_2x2::glyph_bit#0 ← phi( font_2x2::@4/(byte) 1 font_2x2::@3/(byte) 0 )
|
||||
[141] (word~) font_2x2::$5 ← (word) font_2x2::glyph_bits_2x2#3 << (byte) 1
|
||||
[142] (word) font_2x2::glyph_bits_2x2#1 ← (word~) font_2x2::$5 | (byte) font_2x2::glyph_bit#0
|
||||
[143] (word~) font_2x2::$7 ← (word) font_2x2::glyph_bits_2x2#1 << (byte) 1
|
||||
[144] (word) font_2x2::glyph_bits_2x2#2 ← (word~) font_2x2::$7 | (byte) font_2x2::glyph_bit#0
|
||||
[145] (byte) font_2x2::glyph_bits#1 ← (byte) font_2x2::glyph_bits#2 << (byte) 1
|
||||
[146] (byte) font_2x2::b#1 ← ++ (byte) font_2x2::b#2
|
||||
[147] if((byte) font_2x2::b#1!=(byte) 8) goto font_2x2::@3
|
||||
to:font_2x2::@6
|
||||
font_2x2::@6: scope:[font_2x2] from font_2x2::@5
|
||||
[146] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2
|
||||
[147] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12
|
||||
[148] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1
|
||||
[149] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12
|
||||
[150] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2
|
||||
[151] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$15
|
||||
[152] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1
|
||||
[153] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15
|
||||
[154] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2
|
||||
[155] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8
|
||||
[148] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2
|
||||
[149] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12
|
||||
[150] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1
|
||||
[151] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12
|
||||
[152] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2
|
||||
[153] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$15
|
||||
[154] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1
|
||||
[155] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15
|
||||
[156] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2
|
||||
[157] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8
|
||||
to:font_2x2::@7
|
||||
font_2x2::@7: scope:[font_2x2] from font_2x2::@6
|
||||
[156] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8
|
||||
[157] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8
|
||||
[158] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8
|
||||
[159] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8
|
||||
to:font_2x2::@8
|
||||
font_2x2::@8: scope:[font_2x2] from font_2x2::@6 font_2x2::@7
|
||||
[158] (byte*) font_2x2::next_2x2_right#8 ← phi( font_2x2::@7/(byte*) font_2x2::next_2x2_right#1 font_2x2::@6/(byte*) font_2x2::next_2x2_right#7 )
|
||||
[158] (byte) font_2x2::l2#9 ← phi( font_2x2::@7/(byte) 0 font_2x2::@6/(byte) font_2x2::l2#1 )
|
||||
[158] (byte*) font_2x2::next_2x2_left#8 ← phi( font_2x2::@7/(byte*) font_2x2::next_2x2_left#1 font_2x2::@6/(byte*) font_2x2::next_2x2_left#7 )
|
||||
[159] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2
|
||||
[160] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2
|
||||
[160] (byte*) font_2x2::next_2x2_right#8 ← phi( font_2x2::@7/(byte*) font_2x2::next_2x2_right#1 font_2x2::@6/(byte*) font_2x2::next_2x2_right#7 )
|
||||
[160] (byte) font_2x2::l2#9 ← phi( font_2x2::@7/(byte) 0 font_2x2::@6/(byte) font_2x2::l2#1 )
|
||||
[160] (byte*) font_2x2::next_2x2_left#8 ← phi( font_2x2::@7/(byte*) font_2x2::next_2x2_left#1 font_2x2::@6/(byte*) font_2x2::next_2x2_left#7 )
|
||||
[161] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2
|
||||
[162] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2
|
||||
to:font_2x2::@9
|
||||
font_2x2::@9: scope:[font_2x2] from font_2x2::@8
|
||||
[161] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8
|
||||
[162] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8
|
||||
[163] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11
|
||||
[164] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1
|
||||
[163] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8
|
||||
[164] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8
|
||||
[165] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11
|
||||
[166] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1
|
||||
to:font_2x2::@return
|
||||
font_2x2::@return: scope:[font_2x2] from font_2x2::@9
|
||||
[165] return
|
||||
[167] return
|
||||
to:@return
|
||||
|
||||
interrupt(KERNEL_MIN)(void()) plex_irq()
|
||||
@ -334,77 +338,77 @@ plex_irq: scope:[plex_irq] from
|
||||
asm { sei }
|
||||
to:plex_irq::@3
|
||||
plex_irq::@3: scope:[plex_irq] from plex_irq plex_irq::@7
|
||||
[167] phi()
|
||||
[168] call plexShowSprite
|
||||
[169] phi()
|
||||
[170] call plexShowSprite
|
||||
to:plex_irq::plexFreeNextYpos1
|
||||
plex_irq::plexFreeNextYpos1: scope:[plex_irq] from plex_irq::@3
|
||||
[169] (byte) plex_irq::plexFreeNextYpos1_return#0 ← *((const byte*) PLEX_FREE_YPOS + (volatile byte) plex_free_next)
|
||||
[171] (byte) plex_irq::plexFreeNextYpos1_return#0 ← *((const byte*) PLEX_FREE_YPOS + (volatile byte) plex_free_next)
|
||||
to:plex_irq::@6
|
||||
plex_irq::@6: scope:[plex_irq] from plex_irq::plexFreeNextYpos1
|
||||
[170] (byte~) plex_irq::$4 ← *((const nomodify byte*) RASTER) + (byte) 3
|
||||
[171] if((volatile byte) plex_show_idx>=(const nomodify byte) PLEX_COUNT) goto plex_irq::@4
|
||||
[172] (byte~) plex_irq::$4 ← *((const nomodify byte*) RASTER) + (byte) 3
|
||||
[173] if((volatile byte) plex_show_idx>=(const nomodify byte) PLEX_COUNT) goto plex_irq::@4
|
||||
to:plex_irq::@7
|
||||
plex_irq::@7: scope:[plex_irq] from plex_irq::@6
|
||||
[172] if((byte) plex_irq::plexFreeNextYpos1_return#0<(byte~) plex_irq::$4) goto plex_irq::@3
|
||||
[174] if((byte) plex_irq::plexFreeNextYpos1_return#0<(byte~) plex_irq::$4) goto plex_irq::@3
|
||||
to:plex_irq::@4
|
||||
plex_irq::@4: scope:[plex_irq] from plex_irq::@6 plex_irq::@7
|
||||
[173] if((volatile byte) plex_show_idx<(const nomodify byte) PLEX_COUNT) goto plex_irq::@1
|
||||
[175] if((volatile byte) plex_show_idx<(const nomodify byte) PLEX_COUNT) goto plex_irq::@1
|
||||
to:plex_irq::@5
|
||||
plex_irq::@5: scope:[plex_irq] from plex_irq::@4
|
||||
[174] *((const nomodify byte*) RASTER) ← (byte) $28
|
||||
[175] (volatile bool) frame_done ← true
|
||||
[176] *((const nomodify byte*) RASTER) ← (byte) $28
|
||||
[177] (volatile bool) frame_done ← true
|
||||
to:plex_irq::@2
|
||||
plex_irq::@2: scope:[plex_irq] from plex_irq::@1 plex_irq::@5
|
||||
[176] *((const nomodify byte*) IRQ_STATUS) ← (const nomodify byte) IRQ_RASTER
|
||||
[178] *((const nomodify byte*) IRQ_STATUS) ← (const nomodify byte) IRQ_RASTER
|
||||
asm { cli }
|
||||
to:plex_irq::@return
|
||||
plex_irq::@return: scope:[plex_irq] from plex_irq::@2
|
||||
[178] return
|
||||
[180] return
|
||||
to:@return
|
||||
plex_irq::@1: scope:[plex_irq] from plex_irq::@4
|
||||
[179] *((const nomodify byte*) RASTER) ← (byte) plex_irq::plexFreeNextYpos1_return#0
|
||||
[181] *((const nomodify byte*) RASTER) ← (byte) plex_irq::plexFreeNextYpos1_return#0
|
||||
to:plex_irq::@2
|
||||
|
||||
(void()) plexShowSprite()
|
||||
plexShowSprite: scope:[plexShowSprite] from plex_irq::@3
|
||||
[180] (byte) plexShowSprite::plex_sprite_idx2#0 ← (volatile byte) plex_sprite_idx << (byte) 1
|
||||
[181] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (volatile byte) plex_show_idx))
|
||||
[182] *((const nomodify byte*) SPRITES_YPOS + (byte) plexShowSprite::plex_sprite_idx2#0) ← (byte) plexShowSprite::plexFreeAdd1_ypos#0
|
||||
[182] (byte) plexShowSprite::plex_sprite_idx2#0 ← (volatile byte) plex_sprite_idx << (byte) 1
|
||||
[183] (byte) plexShowSprite::plexFreeAdd1_ypos#0 ← *((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (volatile byte) plex_show_idx))
|
||||
[184] *((const nomodify byte*) SPRITES_YPOS + (byte) plexShowSprite::plex_sprite_idx2#0) ← (byte) plexShowSprite::plexFreeAdd1_ypos#0
|
||||
to:plexShowSprite::plexFreeAdd1
|
||||
plexShowSprite::plexFreeAdd1: scope:[plexShowSprite] from plexShowSprite
|
||||
[183] (byte~) plexShowSprite::plexFreeAdd1_$0 ← (byte) plexShowSprite::plexFreeAdd1_ypos#0 + (byte) $15
|
||||
[184] *((const byte*) PLEX_FREE_YPOS + (volatile byte) plex_free_next) ← (byte~) plexShowSprite::plexFreeAdd1_$0
|
||||
[185] (byte~) plexShowSprite::plexFreeAdd1_$1 ← (volatile byte) plex_free_next + (byte) 1
|
||||
[186] (byte~) plexShowSprite::plexFreeAdd1_$2 ← (byte~) plexShowSprite::plexFreeAdd1_$1 & (byte) 7
|
||||
[187] (volatile byte) plex_free_next ← (byte~) plexShowSprite::plexFreeAdd1_$2
|
||||
[185] (byte~) plexShowSprite::plexFreeAdd1_$0 ← (byte) plexShowSprite::plexFreeAdd1_ypos#0 + (byte) $15
|
||||
[186] *((const byte*) PLEX_FREE_YPOS + (volatile byte) plex_free_next) ← (byte~) plexShowSprite::plexFreeAdd1_$0
|
||||
[187] (byte~) plexShowSprite::plexFreeAdd1_$1 ← (volatile byte) plex_free_next + (byte) 1
|
||||
[188] (byte~) plexShowSprite::plexFreeAdd1_$2 ← (byte~) plexShowSprite::plexFreeAdd1_$1 & (byte) 7
|
||||
[189] (volatile byte) plex_free_next ← (byte~) plexShowSprite::plexFreeAdd1_$2
|
||||
to:plexShowSprite::@5
|
||||
plexShowSprite::@5: scope:[plexShowSprite] from plexShowSprite::plexFreeAdd1
|
||||
[188] *((const byte*) PLEX_SCREEN_PTR#0 + (volatile byte) plex_sprite_idx) ← *((const byte*) PLEX_PTR + *((const byte*) PLEX_SORTED_IDX + (volatile byte) plex_show_idx))
|
||||
[189] (byte) plexShowSprite::xpos_idx#0 ← *((const byte*) PLEX_SORTED_IDX + (volatile byte) plex_show_idx)
|
||||
[190] (byte~) plexShowSprite::$11 ← (byte) plexShowSprite::xpos_idx#0 << (byte) 1
|
||||
[191] (byte~) plexShowSprite::$2 ← < *((const word*) PLEX_XPOS + (byte~) plexShowSprite::$11)
|
||||
[192] *((const nomodify byte*) SPRITES_XPOS + (byte) plexShowSprite::plex_sprite_idx2#0) ← (byte~) plexShowSprite::$2
|
||||
[193] (byte~) plexShowSprite::$3 ← > *((const word*) PLEX_XPOS + (byte~) plexShowSprite::$11)
|
||||
[194] if((byte~) plexShowSprite::$3!=(byte) 0) goto plexShowSprite::@1
|
||||
[190] *((const byte*) PLEX_SCREEN_PTR#0 + (volatile byte) plex_sprite_idx) ← *((const byte*) PLEX_PTR + *((const byte*) PLEX_SORTED_IDX + (volatile byte) plex_show_idx))
|
||||
[191] (byte) plexShowSprite::xpos_idx#0 ← *((const byte*) PLEX_SORTED_IDX + (volatile byte) plex_show_idx)
|
||||
[192] (byte~) plexShowSprite::$11 ← (byte) plexShowSprite::xpos_idx#0 << (byte) 1
|
||||
[193] (byte~) plexShowSprite::$2 ← < *((const word*) PLEX_XPOS + (byte~) plexShowSprite::$11)
|
||||
[194] *((const nomodify byte*) SPRITES_XPOS + (byte) plexShowSprite::plex_sprite_idx2#0) ← (byte~) plexShowSprite::$2
|
||||
[195] (byte~) plexShowSprite::$3 ← > *((const word*) PLEX_XPOS + (byte~) plexShowSprite::$11)
|
||||
[196] if((byte~) plexShowSprite::$3!=(byte) 0) goto plexShowSprite::@1
|
||||
to:plexShowSprite::@3
|
||||
plexShowSprite::@3: scope:[plexShowSprite] from plexShowSprite::@5
|
||||
[195] (byte~) plexShowSprite::$9 ← (byte) $ff ^ (volatile byte) plex_sprite_msb
|
||||
[196] *((const nomodify byte*) SPRITES_XMSB) ← *((const nomodify byte*) SPRITES_XMSB) & (byte~) plexShowSprite::$9
|
||||
[197] (byte~) plexShowSprite::$9 ← (byte) $ff ^ (volatile byte) plex_sprite_msb
|
||||
[198] *((const nomodify byte*) SPRITES_XMSB) ← *((const nomodify byte*) SPRITES_XMSB) & (byte~) plexShowSprite::$9
|
||||
to:plexShowSprite::@2
|
||||
plexShowSprite::@2: scope:[plexShowSprite] from plexShowSprite::@1 plexShowSprite::@3
|
||||
[197] (byte~) plexShowSprite::$5 ← (volatile byte) plex_sprite_idx + (byte) 1
|
||||
[198] (byte~) plexShowSprite::$6 ← (byte~) plexShowSprite::$5 & (byte) 7
|
||||
[199] (volatile byte) plex_sprite_idx ← (byte~) plexShowSprite::$6
|
||||
[200] (volatile byte) plex_show_idx ← ++ (volatile byte) plex_show_idx
|
||||
[201] (volatile byte) plex_sprite_msb ← (volatile byte) plex_sprite_msb << (byte) 1
|
||||
[202] if((volatile byte) plex_sprite_msb!=(byte) 0) goto plexShowSprite::@return
|
||||
[199] (byte~) plexShowSprite::$5 ← (volatile byte) plex_sprite_idx + (byte) 1
|
||||
[200] (byte~) plexShowSprite::$6 ← (byte~) plexShowSprite::$5 & (byte) 7
|
||||
[201] (volatile byte) plex_sprite_idx ← (byte~) plexShowSprite::$6
|
||||
[202] (volatile byte) plex_show_idx ← ++ (volatile byte) plex_show_idx
|
||||
[203] (volatile byte) plex_sprite_msb ← (volatile byte) plex_sprite_msb << (byte) 1
|
||||
[204] if((volatile byte) plex_sprite_msb!=(byte) 0) goto plexShowSprite::@return
|
||||
to:plexShowSprite::@4
|
||||
plexShowSprite::@4: scope:[plexShowSprite] from plexShowSprite::@2
|
||||
[203] (volatile byte) plex_sprite_msb ← (byte) 1
|
||||
[205] (volatile byte) plex_sprite_msb ← (byte) 1
|
||||
to:plexShowSprite::@return
|
||||
plexShowSprite::@return: scope:[plexShowSprite] from plexShowSprite::@2 plexShowSprite::@4
|
||||
[204] return
|
||||
[206] return
|
||||
to:@return
|
||||
plexShowSprite::@1: scope:[plexShowSprite] from plexShowSprite::@5
|
||||
[205] *((const nomodify byte*) SPRITES_XMSB) ← *((const nomodify byte*) SPRITES_XMSB) | (volatile byte) plex_sprite_msb
|
||||
[207] *((const nomodify byte*) SPRITES_XMSB) ← *((const nomodify byte*) SPRITES_XMSB) | (volatile byte) plex_sprite_msb
|
||||
to:plexShowSprite::@2
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -48,8 +48,8 @@
|
||||
(byte~) font_2x2::$12 reg byte a 10001.0
|
||||
(byte~) font_2x2::$14 reg byte y 20002.0
|
||||
(byte~) font_2x2::$15 reg byte a 10001.0
|
||||
(word~) font_2x2::$5 zp[2]:20 200002.0
|
||||
(word~) font_2x2::$7 zp[2]:20 200002.0
|
||||
(word~) font_2x2::$5 zp[2]:18 200002.0
|
||||
(word~) font_2x2::$7 zp[2]:18 200002.0
|
||||
(label) font_2x2::@1
|
||||
(label) font_2x2::@2
|
||||
(label) font_2x2::@3
|
||||
@ -64,45 +64,45 @@
|
||||
(byte) font_2x2::b#1 reg byte y 150001.5
|
||||
(byte) font_2x2::b#2 reg byte y 20000.2
|
||||
(byte) font_2x2::c
|
||||
(byte) font_2x2::c#1 c zp[1]:9 1501.5
|
||||
(byte) font_2x2::c#11 c zp[1]:9 58.88235294117647
|
||||
(byte) font_2x2::c#1 c zp[1]:20 1501.5
|
||||
(byte) font_2x2::c#11 c zp[1]:20 58.88235294117647
|
||||
(byte*) font_2x2::font_2x2
|
||||
(byte*) font_2x2::font_original
|
||||
(byte) font_2x2::glyph_bit
|
||||
(byte) font_2x2::glyph_bit#0 reg byte x 50000.5
|
||||
(byte) font_2x2::glyph_bits
|
||||
(byte) font_2x2::glyph_bits#0 glyph_bits zp[1]:22 20002.0
|
||||
(byte) font_2x2::glyph_bits#1 glyph_bits zp[1]:22 66667.33333333333
|
||||
(byte) font_2x2::glyph_bits#2 glyph_bits zp[1]:22 34444.88888888889
|
||||
(byte) font_2x2::glyph_bits#0 glyph_bits zp[1]:12 20002.0
|
||||
(byte) font_2x2::glyph_bits#1 glyph_bits zp[1]:12 66667.33333333333
|
||||
(byte) font_2x2::glyph_bits#2 glyph_bits zp[1]:12 34444.88888888889
|
||||
(word) font_2x2::glyph_bits_2x2
|
||||
(word) font_2x2::glyph_bits_2x2#1 glyph_bits_2x2 zp[2]:20 200002.0
|
||||
(word) font_2x2::glyph_bits_2x2#2 glyph_bits_2x2 zp[2]:20 27500.5
|
||||
(word) font_2x2::glyph_bits_2x2#3 glyph_bits_2x2 zp[2]:20 40000.4
|
||||
(word) font_2x2::glyph_bits_2x2#1 glyph_bits_2x2 zp[2]:18 200002.0
|
||||
(word) font_2x2::glyph_bits_2x2#2 glyph_bits_2x2 zp[2]:18 27500.5
|
||||
(word) font_2x2::glyph_bits_2x2#3 glyph_bits_2x2 zp[2]:18 40000.4
|
||||
(byte) font_2x2::l
|
||||
(byte) font_2x2::l#1 l zp[1]:10 15001.5
|
||||
(byte) font_2x2::l#2 l zp[1]:10 1111.2222222222222
|
||||
(byte) font_2x2::l#1 l zp[1]:21 15001.5
|
||||
(byte) font_2x2::l#2 l zp[1]:21 1111.2222222222222
|
||||
(byte) font_2x2::l2
|
||||
(byte) font_2x2::l2#1 l2 zp[1]:23 15001.5
|
||||
(byte) font_2x2::l2#8 l2 zp[1]:23 2727.5454545454545
|
||||
(byte) font_2x2::l2#9 l2 zp[1]:23 6667.333333333333
|
||||
(byte) font_2x2::l2#1 l2 zp[1]:24 15001.5
|
||||
(byte) font_2x2::l2#8 l2 zp[1]:24 2727.5454545454545
|
||||
(byte) font_2x2::l2#9 l2 zp[1]:24 6667.333333333333
|
||||
(byte*) font_2x2::next_2x2
|
||||
(byte*) font_2x2::next_2x2#1 next_2x2 zp[2]:5 500.5
|
||||
(byte*) font_2x2::next_2x2#1 next_2x2 zp[2]:22 500.5
|
||||
(byte*) font_2x2::next_2x2_left
|
||||
(byte*) font_2x2::next_2x2_left#0 next_2x2_left zp[2]:5 750.1875
|
||||
(byte*) font_2x2::next_2x2_left#1 next_2x2_left_1 zp[2]:11 10001.0
|
||||
(byte*) font_2x2::next_2x2_left#10 next_2x2_left_1 zp[2]:11 2002.0
|
||||
(byte*) font_2x2::next_2x2_left#7 next_2x2_left_1 zp[2]:11 1708.5416666666665
|
||||
(byte*) font_2x2::next_2x2_left#8 next_2x2_left_1 zp[2]:11 10001.0
|
||||
(byte*) font_2x2::next_2x2_left#0 next_2x2_left zp[2]:22 750.1875
|
||||
(byte*) font_2x2::next_2x2_left#1 next_2x2_left_1 zp[2]:8 10001.0
|
||||
(byte*) font_2x2::next_2x2_left#10 next_2x2_left_1 zp[2]:8 2002.0
|
||||
(byte*) font_2x2::next_2x2_left#7 next_2x2_left_1 zp[2]:8 1708.5416666666665
|
||||
(byte*) font_2x2::next_2x2_left#8 next_2x2_left_1 zp[2]:8 10001.0
|
||||
(byte*) font_2x2::next_2x2_right
|
||||
(byte*) font_2x2::next_2x2_right#0 next_2x2_right zp[2]:13 1001.0
|
||||
(byte*) font_2x2::next_2x2_right#1 next_2x2_right zp[2]:13 20002.0
|
||||
(byte*) font_2x2::next_2x2_right#7 next_2x2_right zp[2]:13 1708.5416666666665
|
||||
(byte*) font_2x2::next_2x2_right#8 next_2x2_right zp[2]:13 10001.0
|
||||
(byte*) font_2x2::next_2x2_right#0 next_2x2_right zp[2]:10 1001.0
|
||||
(byte*) font_2x2::next_2x2_right#1 next_2x2_right zp[2]:10 20002.0
|
||||
(byte*) font_2x2::next_2x2_right#7 next_2x2_right zp[2]:10 1708.5416666666665
|
||||
(byte*) font_2x2::next_2x2_right#8 next_2x2_right zp[2]:10 10001.0
|
||||
(byte*) font_2x2::next_original
|
||||
(byte*) font_2x2::next_original#1 next_original zp[2]:7 667.3333333333334
|
||||
(byte*) font_2x2::next_original#4 next_original zp[2]:7 363.7272727272727
|
||||
(byte*) font_2x2::next_original#1 next_original zp[2]:6 667.3333333333334
|
||||
(byte*) font_2x2::next_original#4 next_original zp[2]:6 363.7272727272727
|
||||
(void()) font_2x2_to_sprites((byte*) font_2x2_to_sprites::font_2x2 , (byte*) font_2x2_to_sprites::sprites , (byte) font_2x2_to_sprites::num_chars)
|
||||
(byte~) font_2x2_to_sprites::$3 zp[1]:23 10001.0
|
||||
(byte~) font_2x2_to_sprites::$3 zp[1]:24 10001.0
|
||||
(label) font_2x2_to_sprites::@1
|
||||
(label) font_2x2_to_sprites::@2
|
||||
(label) font_2x2_to_sprites::@3
|
||||
@ -113,21 +113,21 @@
|
||||
(label) font_2x2_to_sprites::@8
|
||||
(label) font_2x2_to_sprites::@return
|
||||
(byte) font_2x2_to_sprites::c
|
||||
(byte) font_2x2_to_sprites::c#1 c zp[1]:9 2002.0
|
||||
(byte) font_2x2_to_sprites::c#2 c zp[1]:9 136.5
|
||||
(byte) font_2x2_to_sprites::c#1 c zp[1]:20 2002.0
|
||||
(byte) font_2x2_to_sprites::c#2 c zp[1]:20 136.5
|
||||
(byte*) font_2x2_to_sprites::char_current
|
||||
(byte*) font_2x2_to_sprites::char_current#1 char_current zp[2]:5 667.3333333333334
|
||||
(byte*) font_2x2_to_sprites::char_current#2 char_current zp[2]:5 1200.3
|
||||
(byte*) font_2x2_to_sprites::char_current#1 char_current zp[2]:22 667.3333333333334
|
||||
(byte*) font_2x2_to_sprites::char_current#2 char_current zp[2]:22 1200.3
|
||||
(byte*) font_2x2_to_sprites::char_left
|
||||
(byte*) font_2x2_to_sprites::char_left#1 char_left zp[2]:11 10001.0
|
||||
(byte*) font_2x2_to_sprites::char_left#3 char_left zp[2]:11 2818.5454545454545
|
||||
(byte*) font_2x2_to_sprites::char_left#4 char_left zp[2]:11 10001.0
|
||||
(byte*) font_2x2_to_sprites::char_left#6 char_left zp[2]:11 2002.0
|
||||
(byte*) font_2x2_to_sprites::char_left#1 char_left zp[2]:8 10001.0
|
||||
(byte*) font_2x2_to_sprites::char_left#3 char_left zp[2]:8 2818.5454545454545
|
||||
(byte*) font_2x2_to_sprites::char_left#4 char_left zp[2]:8 10001.0
|
||||
(byte*) font_2x2_to_sprites::char_left#6 char_left zp[2]:8 2002.0
|
||||
(byte*) font_2x2_to_sprites::char_right
|
||||
(byte*) font_2x2_to_sprites::char_right#0 char_right zp[2]:13 1001.0
|
||||
(byte*) font_2x2_to_sprites::char_right#1 char_right zp[2]:13 20002.0
|
||||
(byte*) font_2x2_to_sprites::char_right#3 char_right zp[2]:13 2818.5454545454545
|
||||
(byte*) font_2x2_to_sprites::char_right#4 char_right zp[2]:13 10001.0
|
||||
(byte*) font_2x2_to_sprites::char_right#0 char_right zp[2]:10 1001.0
|
||||
(byte*) font_2x2_to_sprites::char_right#1 char_right zp[2]:10 20002.0
|
||||
(byte*) font_2x2_to_sprites::char_right#3 char_right zp[2]:10 2818.5454545454545
|
||||
(byte*) font_2x2_to_sprites::char_right#4 char_right zp[2]:10 10001.0
|
||||
(byte*) font_2x2_to_sprites::font_2x2
|
||||
(byte) font_2x2_to_sprites::i
|
||||
(byte) font_2x2_to_sprites::i#1 reg byte x 15001.5
|
||||
@ -135,19 +135,18 @@
|
||||
(byte) font_2x2_to_sprites::num_chars
|
||||
(const byte) font_2x2_to_sprites::num_chars#0 num_chars = (byte) $40
|
||||
(byte*) font_2x2_to_sprites::sprite
|
||||
(byte*) font_2x2_to_sprites::sprite#1 sprite zp[2]:7 1001.0
|
||||
(byte*) font_2x2_to_sprites::sprite#4 sprite zp[2]:7 1524.047619047619
|
||||
(byte*) font_2x2_to_sprites::sprite#1 sprite zp[2]:6 1001.0
|
||||
(byte*) font_2x2_to_sprites::sprite#4 sprite zp[2]:6 1524.047619047619
|
||||
(byte) font_2x2_to_sprites::sprite_idx
|
||||
(byte) font_2x2_to_sprites::sprite_idx#1 sprite_idx zp[1]:10 15001.5
|
||||
(byte) font_2x2_to_sprites::sprite_idx#1 sprite_idx zp[1]:21 15001.5
|
||||
(byte) font_2x2_to_sprites::sprite_idx#2 reg byte y 15001.5
|
||||
(byte) font_2x2_to_sprites::sprite_idx#3 sprite_idx zp[1]:10 2222.4444444444443
|
||||
(byte) font_2x2_to_sprites::sprite_idx#4 sprite_idx zp[1]:10 10001.0
|
||||
(byte) font_2x2_to_sprites::sprite_idx#3 sprite_idx zp[1]:21 2222.4444444444443
|
||||
(byte) font_2x2_to_sprites::sprite_idx#4 sprite_idx zp[1]:21 10001.0
|
||||
(byte*) font_2x2_to_sprites::sprites
|
||||
(volatile bool) frame_done loadstore zp[1]:19 25.72093023255814
|
||||
(volatile bool) frame_done loadstore zp[1]:17 26.333333333333332
|
||||
(void()) main()
|
||||
(byte~) main::$12 reg byte y 101.0
|
||||
(word~) main::$13 zp[2]:20 202.0
|
||||
(byte~) main::$7 reg byte a 202.0
|
||||
(word~) main::$13 zp[2]:18 202.0
|
||||
(label) main::@1
|
||||
(label) main::@10
|
||||
(label) main::@11
|
||||
@ -163,7 +162,7 @@
|
||||
(label) main::@9
|
||||
(byte) main::s
|
||||
(byte) main::s#1 s zp[1]:2 202.0
|
||||
(byte) main::s#2 s zp[1]:2 75.75
|
||||
(byte) main::s#2 s zp[1]:2 72.14285714285714
|
||||
(byte) main::s1
|
||||
(byte) main::s1#1 reg byte x 151.5
|
||||
(byte) main::s1#2 reg byte x 151.5
|
||||
@ -174,7 +173,7 @@
|
||||
(byte*) main::toD0181_screen
|
||||
(byte) main::x
|
||||
(byte) main::x#1 reg byte x 101.0
|
||||
(byte) main::x#2 reg byte x 57.714285714285715
|
||||
(byte) main::x#2 reg byte x 67.33333333333333
|
||||
(void()) plexInit((byte*) plexInit::screen)
|
||||
(label) plexInit::@1
|
||||
(label) plexInit::@return
|
||||
@ -204,7 +203,7 @@
|
||||
(byte) plexShowSprite::plexFreeAdd1_ypos
|
||||
(byte) plexShowSprite::plexFreeAdd1_ypos#0 reg byte a 151.5
|
||||
(byte) plexShowSprite::plex_sprite_idx2
|
||||
(byte) plexShowSprite::plex_sprite_idx2#0 plex_sprite_idx2 zp[1]:25 25.25
|
||||
(byte) plexShowSprite::plex_sprite_idx2#0 plex_sprite_idx2 zp[1]:26 25.25
|
||||
(byte) plexShowSprite::xpos_idx
|
||||
(byte) plexShowSprite::xpos_idx#0 reg byte a 202.0
|
||||
(byte) plexShowSprite::ypos
|
||||
@ -218,12 +217,12 @@
|
||||
(label) plexSort::@7
|
||||
(label) plexSort::@return
|
||||
(byte) plexSort::m
|
||||
(byte) plexSort::m#1 m zp[1]:9 150001.5
|
||||
(byte) plexSort::m#2 m zp[1]:9 41667.08333333333
|
||||
(byte) plexSort::m#1 m zp[1]:12 150001.5
|
||||
(byte) plexSort::m#2 m zp[1]:12 41667.08333333333
|
||||
(byte) plexSort::nxt_idx
|
||||
(byte) plexSort::nxt_idx#0 nxt_idx zp[1]:23 30000.300000000003
|
||||
(byte) plexSort::nxt_idx#0 nxt_idx zp[1]:20 30000.300000000003
|
||||
(byte) plexSort::nxt_y
|
||||
(byte) plexSort::nxt_y#0 nxt_y zp[1]:22 150000.375
|
||||
(byte) plexSort::nxt_y#0 nxt_y zp[1]:21 150000.375
|
||||
(label) plexSort::plexFreePrepare1
|
||||
(label) plexSort::plexFreePrepare1_@1
|
||||
(label) plexSort::plexFreePrepare1_@2
|
||||
@ -235,9 +234,9 @@
|
||||
(byte) plexSort::s#2 reg byte x 200002.0
|
||||
(byte) plexSort::s#3 reg byte x 2050002.5
|
||||
(byte) plexSort::s#6 reg byte x 200002.0
|
||||
(volatile byte) plex_free_next loadstore zp[1]:18 42.48387096774193
|
||||
(volatile byte) plex_free_next loadstore zp[1]:16 42.48387096774193
|
||||
interrupt(KERNEL_MIN)(void()) plex_irq()
|
||||
(byte~) plex_irq::$4 zp[1]:24 11.0
|
||||
(byte~) plex_irq::$4 zp[1]:25 11.0
|
||||
(label) plex_irq::@1
|
||||
(label) plex_irq::@2
|
||||
(label) plex_irq::@3
|
||||
@ -252,8 +251,8 @@ interrupt(KERNEL_MIN)(void()) plex_irq()
|
||||
(byte) plex_irq::rasterY
|
||||
(void()) plex_move()
|
||||
(byte~) plex_move::$4 reg byte a 200002.0
|
||||
(byte~) plex_move::$6 reg byte a 200002.0
|
||||
(byte~) plex_move::$7 reg byte a 200002.0
|
||||
(byte~) plex_move::$6 reg byte x 100001.0
|
||||
(word~) plex_move::$7 zp[2]:22 200002.0
|
||||
(label) plex_move::@1
|
||||
(label) plex_move::@2
|
||||
(label) plex_move::@3
|
||||
@ -262,60 +261,65 @@ interrupt(KERNEL_MIN)(void()) plex_irq()
|
||||
(label) plex_move::@6
|
||||
(label) plex_move::@return
|
||||
(byte) plex_move::s
|
||||
(byte) plex_move::s#1 s zp[1]:9 150001.5
|
||||
(byte) plex_move::s#2 s zp[1]:9 42857.57142857143
|
||||
(byte) plex_move::s#1 s zp[1]:20 150001.5
|
||||
(byte) plex_move::s#2 s zp[1]:20 33333.66666666667
|
||||
(byte) plex_move::x_idx
|
||||
(byte) plex_move::x_idx#0 x_idx zp[1]:21 2002.0
|
||||
(byte) plex_move::x_idx#1 x_idx zp[1]:21 66667.33333333333
|
||||
(byte) plex_move::x_idx#2 x_idx zp[1]:21 35786.142857142855
|
||||
(byte) plex_move::y_idx
|
||||
(byte) plex_move::y_idx#0 reg byte x 2002.0
|
||||
(byte) plex_move::y_idx#1 reg byte x 14285.857142857143
|
||||
(byte) plex_move::y_idx#2 reg byte x 150502.0
|
||||
(volatile byte) plex_show_idx loadstore zp[1]:15 46.0909090909091
|
||||
(volatile byte) plex_sprite_idx loadstore zp[1]:16 45.387096774193544
|
||||
(volatile byte) plex_sprite_msb loadstore zp[1]:17 48.757575757575765
|
||||
(byte) plex_move::y_idx#0 y_idx zp[1]:12 1001.0
|
||||
(byte) plex_move::y_idx#1 y_idx zp[1]:12 13333.466666666667
|
||||
(byte) plex_move::y_idx#2 y_idx zp[1]:12 150502.0
|
||||
(volatile byte) plex_show_idx loadstore zp[1]:13 46.0909090909091
|
||||
(volatile byte) plex_sprite_idx loadstore zp[1]:14 45.387096774193544
|
||||
(volatile byte) plex_sprite_msb loadstore zp[1]:15 48.757575757575765
|
||||
(byte*) scroll_text_next
|
||||
(byte*) scroll_text_next#11 scroll_text_next zp[2]:3 44556.11111111111
|
||||
(byte*) scroll_text_next#12 scroll_text_next zp[2]:3 100001.0
|
||||
(byte*) scroll_text_next#13 scroll_text_next zp[2]:3 14290.666666666668
|
||||
(byte*) scroll_text_next#25 scroll_text_next zp[2]:3 551.0
|
||||
(byte*) scroll_text_next#4 scroll_text_next zp[2]:3 200002.0
|
||||
(byte) sin_idx
|
||||
(byte) sin_idx#10 sin_idx zp[1]:2 116.83333333333334
|
||||
(byte) sin_idx#12 sin_idx zp[1]:2 61.22222222222223
|
||||
(byte*) scroll_text_next#11 scroll_text_next zp[2]:4 44556.11111111111
|
||||
(byte*) scroll_text_next#12 scroll_text_next zp[2]:4 100001.0
|
||||
(byte*) scroll_text_next#13 scroll_text_next zp[2]:4 13048.0
|
||||
(byte*) scroll_text_next#25 scroll_text_next zp[2]:4 367.33333333333337
|
||||
(byte*) scroll_text_next#4 scroll_text_next zp[2]:4 200002.0
|
||||
(label) toSpritePtr1
|
||||
(byte) toSpritePtr1_return
|
||||
(const byte) toSpritePtr1_return#0 toSpritePtr1_return = (byte)(word)(const nomodify byte*) SPRITES/(byte) $40
|
||||
(byte*) toSpritePtr1_sprite
|
||||
(byte) x_movement_idx
|
||||
(byte) x_movement_idx#10 x_movement_idx zp[1]:3 100.14285714285714
|
||||
(byte) x_movement_idx#12 x_movement_idx zp[1]:3 61.22222222222223
|
||||
(byte) y_sin_idx
|
||||
(byte) y_sin_idx#10 y_sin_idx zp[1]:2 105.14999999999999
|
||||
(byte) y_sin_idx#12 y_sin_idx zp[1]:2 58.0
|
||||
|
||||
reg byte x [ main::x#2 main::x#1 ]
|
||||
reg byte x [ main::s1#2 main::s1#1 ]
|
||||
reg byte x [ plexSort::s#3 plexSort::s#1 plexSort::s#6 ]
|
||||
reg byte x [ plexSort::plexFreePrepare1_s#2 plexSort::plexFreePrepare1_s#1 ]
|
||||
zp[1]:2 [ sin_idx#10 sin_idx#12 main::s#2 main::s#1 ]
|
||||
reg byte x [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 ]
|
||||
zp[2]:3 [ scroll_text_next#12 scroll_text_next#11 scroll_text_next#25 scroll_text_next#13 scroll_text_next#4 ]
|
||||
zp[1]:2 [ y_sin_idx#10 y_sin_idx#12 main::s#2 main::s#1 ]
|
||||
zp[1]:3 [ x_movement_idx#10 x_movement_idx#12 ]
|
||||
zp[2]:4 [ scroll_text_next#12 scroll_text_next#11 scroll_text_next#25 scroll_text_next#13 scroll_text_next#4 ]
|
||||
reg byte x [ plexInit::i#2 plexInit::i#1 ]
|
||||
reg byte x [ font_2x2_to_sprites::i#2 font_2x2_to_sprites::i#1 ]
|
||||
zp[2]:5 [ font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 ]
|
||||
zp[2]:7 [ font_2x2::next_original#4 font_2x2::next_original#1 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::sprite#1 ]
|
||||
zp[1]:9 [ font_2x2::c#11 font_2x2::c#1 font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 plex_move::s#2 plex_move::s#1 plexSort::m#2 plexSort::m#1 ]
|
||||
zp[1]:10 [ font_2x2::l#2 font_2x2::l#1 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::sprite_idx#1 ]
|
||||
zp[2]:11 [ font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::char_left#4 font_2x2_to_sprites::char_left#1 ]
|
||||
zp[2]:13 [ font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_right#4 font_2x2_to_sprites::char_right#1 ]
|
||||
zp[2]:6 [ font_2x2::next_original#4 font_2x2::next_original#1 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::sprite#1 ]
|
||||
zp[2]:8 [ font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::char_left#4 font_2x2_to_sprites::char_left#1 ]
|
||||
zp[2]:10 [ font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_right#4 font_2x2_to_sprites::char_right#1 ]
|
||||
zp[1]:12 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 plexSort::m#2 plexSort::m#1 ]
|
||||
reg byte y [ font_2x2::b#2 font_2x2::b#1 ]
|
||||
reg byte x [ font_2x2::glyph_bit#0 ]
|
||||
zp[1]:15 [ plex_show_idx ]
|
||||
zp[1]:16 [ plex_sprite_idx ]
|
||||
zp[1]:17 [ plex_sprite_msb ]
|
||||
zp[1]:18 [ plex_free_next ]
|
||||
zp[1]:19 [ frame_done ]
|
||||
reg byte a [ main::$7 ]
|
||||
zp[1]:13 [ plex_show_idx ]
|
||||
zp[1]:14 [ plex_sprite_idx ]
|
||||
zp[1]:15 [ plex_sprite_msb ]
|
||||
zp[1]:16 [ plex_free_next ]
|
||||
zp[1]:17 [ frame_done ]
|
||||
reg byte y [ main::$12 ]
|
||||
zp[2]:20 [ main::$13 font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 font_2x2::glyph_bits_2x2#1 ]
|
||||
zp[1]:22 [ plexSort::nxt_y#0 font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ]
|
||||
zp[2]:18 [ main::$13 font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 font_2x2::glyph_bits_2x2#1 ]
|
||||
zp[1]:20 [ plexSort::nxt_idx#0 font_2x2::c#11 font_2x2::c#1 font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 plex_move::s#2 plex_move::s#1 ]
|
||||
zp[1]:21 [ plexSort::nxt_y#0 font_2x2::l#2 font_2x2::l#1 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::sprite_idx#1 plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ]
|
||||
reg byte x [ plexSort::s#2 ]
|
||||
reg byte a [ plex_move::$6 ]
|
||||
reg byte a [ plex_move::$7 ]
|
||||
reg byte x [ plex_move::$6 ]
|
||||
zp[2]:22 [ plex_move::$7 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 ]
|
||||
reg byte a [ plex_move::$4 ]
|
||||
zp[1]:23 [ font_2x2_to_sprites::$3 plexSort::nxt_idx#0 font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ]
|
||||
zp[1]:24 [ font_2x2_to_sprites::$3 font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ]
|
||||
reg byte y [ font_2x2_to_sprites::sprite_idx#2 ]
|
||||
reg byte a [ font_2x2::$1 ]
|
||||
reg byte a [ font_2x2::$12 ]
|
||||
@ -323,8 +327,8 @@ reg byte y [ font_2x2::$11 ]
|
||||
reg byte a [ font_2x2::$15 ]
|
||||
reg byte y [ font_2x2::$14 ]
|
||||
reg byte x [ plex_irq::plexFreeNextYpos1_return#0 ]
|
||||
zp[1]:24 [ plex_irq::$4 ]
|
||||
zp[1]:25 [ plexShowSprite::plex_sprite_idx2#0 ]
|
||||
zp[1]:25 [ plex_irq::$4 ]
|
||||
zp[1]:26 [ plexShowSprite::plex_sprite_idx2#0 ]
|
||||
reg byte a [ plexShowSprite::plexFreeAdd1_ypos#0 ]
|
||||
reg byte a [ plexShowSprite::plexFreeAdd1_$0 ]
|
||||
reg byte a [ plexShowSprite::plexFreeAdd1_$1 ]
|
||||
|
Loading…
x
Reference in New Issue
Block a user