diff --git a/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxmodes.kc b/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxmodes.kc index 3e3e71ddf..7438b665d 100644 --- a/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxmodes.kc +++ b/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxmodes.kc @@ -14,25 +14,24 @@ void main() { const byte* MENU_SCREEN = $8000; const byte* MENU_CHARSET = $9800; // Charset ROM byte[] MENU_TEXT = - "C64DTV Graphics Modes EMBLHCC@" + - " CCMIIHO@" + - " MMMNCUL@" + + "C64DTV Graphics Modes CCLHBME@" + + " OHIIMCC@" + + " LUNCMMM@" + "----------------------------------------@" + "1. Standard Char (V) 0000000@" + - "2. Extended Color Char (V) 1000000@" + - "3. Multicolor Char (V) 0100000@" + - "4. Standard Bitmap (V) 0010000@" + - "5. Multicolor Bitmap (V) 0110000@" + - "6. High Color Standard Char (H) 0000100@" + - "7. High Extended Color Char (H) 1000100@" + - "8. High Multicolor Char (H) 0100100@" + - "9. High Multicolor Bitmap (H) 0110100@" + - "a. Sixs Fred (D) 1111100@" + - "b. Sixs Fred 2 (D) 1111000@" + - "c. Two Plane Bitmap (D) 1011100@" + - "d. Two Plane Multicol Bitmap (D) 1111100@" + - "e. 8bpp Pixel Cell (D) 1101110@" + - "f. Chunky 8bpp Bitmap (D) 1101111@" + + "2. Extended Color Char (V) 0000001@" + + "3. Multicolor Char (V) 0000010@" + + "4. Standard Bitmap (V) 0000100@" + + "5. Multicolor Bitmap (V) 0000110@" + + "6. High Color Standard Char (H) 0001000@" + + "7. High Extended Color Char (H) 0001001@" + + "8. High Multicolor Char (H) 0001010@" + + "9. High Multicolor Bitmap (H) 0001110@" + + "a. Sixs Fred 2 (D) 0010111@" + + "b. Two Plane Bitmap (D) 0011101@" + + "c. Sixs Fred (2 Plane MC BM) (D) 0011111@" + + "d. 8bpp Pixel Cell (D) 0111011@" + + "e. Chunky 8bpp Bitmap (D) 1111011@" + "----------------------------------------@" + " (V) vicII (H) vicII+hicol (D) c64dtv@" + "@" ; @@ -70,10 +69,14 @@ void menu() { print_str_lines(MENU_TEXT); // Wait for key press while(true) { - if(keyboard_key_pressed(KEY_C)!=0) { + if(keyboard_key_pressed(KEY_B)!=0) { mode_twoplanebitmap(); return; } + if(keyboard_key_pressed(KEY_C)!=0) { + mode_sixsfred(); + return; + } } } @@ -82,8 +85,15 @@ const byte* TWOPLANE_PLANEA = $4000; const byte* TWOPLANE_PLANEB = $6000; const byte* TWOPLANE_COLORS = $8000; -// Test the Two Plane Bitmap - generated from the two DTV linear graphics plane counters +// Two Plane Bitmap - generated from the two DTV linear graphics plane counters // Two Plane Bitmap Mode (CHUNK/COLDIS/MCM = 0, ECM/BMM/HICOL/LINEAR = 1) +// Resolution: 320x200 +// Linear Adressing +// GfxData/PlaneA Pixel Shifter (1), CharData/PlaneB Pixel Shifter (1): +// - Plane A = 0 Plane B = 0: 8bpp BgColor0[7:0] +// - Plane A = 0 Plane B = 1: 8bpp "0000" & ColorData[7:4] +// - Plane A = 1 Plane B = 0: 8bpp "0000" & ColorData[3:0] +// - Plane A = 1 Plane B = 1: 8bpp BgColor1[7:0] void mode_twoplanebitmap() { // DTV Graphics Mode *DTV_CONTROL = DTV_CONTROL_HIGHCOLOR_ON | DTV_CONTROL_LINEAR_ADDRESSING_ON; @@ -107,7 +117,7 @@ void mode_twoplanebitmap() { // DTV Color Bank *DTV_COLOR_BANK_LO = <(TWOPLANE_COLORS/$400); *DTV_COLOR_BANK_HI = >(TWOPLANE_COLORS/$400); - // DTV Palette - Grey Tone + // DTV Palette - Grey Tones for(byte i : 0..$f) { DTV_PALETTE[i] = i; } @@ -122,16 +132,14 @@ void mode_twoplanebitmap() { *col++ = (cy & $f)<<4 | (cx &$f); } } - - // Graphics for Plane A - horizontal stripes byte* gfxa = TWOPLANE_PLANEA; for(byte ay : 0..199) { for (byte ax : 0..39) { if((ay&4)==0) { - *gfxa++ = $00; + *gfxa++ = %00000000; } else { - *gfxa++ = $ff; + *gfxa++ = %11111111; } } } @@ -139,9 +147,10 @@ void mode_twoplanebitmap() { byte* gfxb = TWOPLANE_PLANEB; for(byte by : 0..199) { for ( byte bx : 0..39) { - *gfxb++ = $0f; + *gfxb++ = %00001111; } } + // Wait for keypress while(true) { if(keyboard_key_pressed(KEY_SPACE)!=0) { return; @@ -150,3 +159,75 @@ void mode_twoplanebitmap() { } +const byte* SIXSFRED_PLANEA = $4000; +const byte* SIXSFRED_PLANEB = $6000; +const byte* SIXSFRED_COLORS = $8000; + +// Sixs Fred Mode - 8bpp Packed Bitmap - Generated from the two DTV linear graphics plane counters +// Two Plane MultiColor Bitmap - 8bpp Packed Bitmap (CHUNK/COLDIS = 0, ECM/BMM/MCM/HICOL/LINEAR = 1) +// Resolution: 160x200 +// Linear Adressing +// GfxData/PlaneA Pixel Shifter (2), CharData/PlaneB Pixel Shifter (2): +// - 8bpp color (ColorData[3:0],CharData/PlaneB[1:0], GfxData/PlaneA[1:0]) +void mode_sixsfred() { + // DTV Graphics Mode + *DTV_CONTROL = DTV_CONTROL_HIGHCOLOR_ON | DTV_CONTROL_LINEAR_ADDRESSING_ON; + // VIC Graphics Mode + *VIC_CONTROL = VIC_ECM|VIC_BMM|VIC_DEN|VIC_RSEL|3; + *VIC_CONTROL2 = VIC_MCM|VIC_CSEL; + // Linear Graphics Plane A Counter + *DTV_PLANEA_START_LO = SIXSFRED_PLANEA; + *DTV_PLANEA_START_HI = 0; + *DTV_PLANEA_STEP = 1; + *DTV_PLANEA_MODULO_LO = 0; + *DTV_PLANEA_MODULO_HI = 0; + // Linear Graphics Plane B Counter + *DTV_PLANEB_START_LO = SIXSFRED_PLANEB; + *DTV_PLANEB_START_HI = 0; + *DTV_PLANEB_STEP = 1; + *DTV_PLANEB_MODULO_LO = 0; + *DTV_PLANEB_MODULO_HI = 0; + // DTV Color Bank + *DTV_COLOR_BANK_LO = <(SIXSFRED_COLORS/$400); + *DTV_COLOR_BANK_HI = >(SIXSFRED_COLORS/$400); + // DTV Palette - Grey Tones + for(byte i : 0..$f) { + DTV_PALETTE[i] = i; + } + // Screen colors + *BORDERCOL = $00; + // Colors for high 4 bits of 8bpp + byte* col=TWOPLANE_COLORS; + for(byte cy: 0..24 ) { + for(byte cx: 0..39) { + *col++ = (cx+cy) & $f; + } + } + // Graphics for Plane A () - horizontal stripes every 2 pixels + byte* gfxa = SIXSFRED_PLANEA; + byte[] row_bitmask = { %00000000, %01010101, %10101010, %11111111 }; + for(byte ay : 0..199) { + for (byte ax : 0..39) { + byte row = (ay>>1) & 3; + *gfxa++ = row_bitmask[row]; + } + } + // Graphics for Plane B - vertical stripes every 2 pixels + byte* gfxb = SIXSFRED_PLANEB; + for(byte by : 0..199) { + for ( byte bx : 0..39) { + *gfxb++ = %00011011; + } + } + // Wait for keypress + while(true) { + if(keyboard_key_pressed(KEY_SPACE)!=0) { + return; + } + } + +} + + diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.asm b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.asm index e88493993..62c7860ee 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.asm @@ -11,6 +11,7 @@ .const VIC_DEN = $10 .const VIC_RSEL = 8 .label VIC_CONTROL2 = $d016 + .const VIC_MCM = $10 .const VIC_CSEL = 8 .label VIC_MEMORY = $d018 .label COLS = $d800 @@ -41,6 +42,7 @@ .label DTV_COLOR_BANK_HI = $d037 .label DTV_GRAPHICS_VIC_BANK = $d03d .const KEY_C = $14 + .const KEY_B = $1c .const KEY_SPACE = $3c .label MENU_SCREEN = $8000 .label MENU_CHARSET = $9800 @@ -48,6 +50,9 @@ .label TWOPLANE_PLANEA = $4000 .label TWOPLANE_PLANEB = $6000 .label TWOPLANE_COLORS = $8000 + .label SIXSFRED_PLANEA = $4000 + .label SIXSFRED_PLANEB = $6000 + .label SIXSFRED_COLORS = $8000 .label print_char_cursor = 5 .label print_line_cursor = 7 jsr main @@ -113,13 +118,177 @@ menu: { breturn: rts b4: - ldy #KEY_C + ldx #KEY_B + jsr keyboard_key_pressed + cmp #0 + beq b6 + jsr mode_twoplanebitmap + jmp breturn + b6: + ldx #KEY_C jsr keyboard_key_pressed cmp #0 beq b4 - jsr mode_twoplanebitmap + jsr mode_sixsfred jmp breturn } +mode_sixsfred: { + .label col = 2 + .label cy = 4 + .label gfxa = 2 + .label ay = 4 + .label gfxb = 2 + .label by = 4 + lda #DTV_CONTROL_HIGHCOLOR_ON|DTV_CONTROL_LINEAR_ADDRESSING_ON + sta DTV_CONTROL + lda #VIC_ECM|VIC_BMM|VIC_DEN|VIC_RSEL|3 + sta VIC_CONTROL + lda #VIC_MCM|VIC_CSEL + sta VIC_CONTROL2 + lda #SIXSFRED_PLANEA + sta DTV_PLANEA_START_MI + lda #0 + sta DTV_PLANEA_START_HI + lda #1 + sta DTV_PLANEA_STEP + lda #0 + sta DTV_PLANEA_MODULO_LO + sta DTV_PLANEA_MODULO_HI + lda #SIXSFRED_PLANEB + sta DTV_PLANEB_START_MI + lda #0 + sta DTV_PLANEB_START_HI + lda #1 + sta DTV_PLANEB_STEP + lda #0 + sta DTV_PLANEB_MODULO_LO + sta DTV_PLANEB_MODULO_HI + lda #SIXSFRED_COLORS/$400 + sta DTV_COLOR_BANK_HI + ldx #0 + b1: + txa + sta DTV_PALETTE,x + inx + cpx #$10 + bne b1 + lda #0 + sta BORDERCOL + lda #TWOPLANE_COLORS + sta col+1 + lda #0 + sta cy + b2: + ldx #0 + b3: + txa + clc + adc cy + and #$f + ldy #0 + sta (col),y + inc col + bne !+ + inc col+1 + !: + inx + cpx #$28 + bne b3 + inc cy + lda cy + cmp #$19 + bne b2 + lda #SIXSFRED_PLANEA + sta gfxa+1 + lda #0 + sta ay + b4: + ldx #0 + b5: + lda ay + lsr + and #3 + tay + lda row_bitmask,y + ldy #0 + sta (gfxa),y + inc gfxa + bne !+ + inc gfxa+1 + !: + inx + cpx #$28 + bne b5 + inc ay + lda ay + cmp #$c8 + bne b4 + lda #0 + sta by + lda #SIXSFRED_PLANEB + sta gfxb+1 + b6: + ldx #0 + b7: + lda #$1b + ldy #0 + sta (gfxb),y + inc gfxb + bne !+ + inc gfxb+1 + !: + inx + cpx #$28 + bne b7 + inc by + lda by + cmp #$c8 + bne b6 + jmp b9 + breturn: + rts + b9: + ldx #KEY_SPACE + jsr keyboard_key_pressed + cmp #0 + beq b9 + jmp breturn + row_bitmask: .byte 0, $55, $aa, $ff +} +keyboard_key_pressed: { + .label colidx = 4 + txa + and #7 + sta colidx + txa + lsr + lsr + lsr + jsr keyboard_matrix_read + ldy colidx + and keyboard_matrix_col_bitmask,y + rts +} +keyboard_matrix_read: { + tay + lda keyboard_matrix_row_bitmask,y + sta CIA1_PORT_A + lda CIA1_PORT_B + eor #$ff + rts +} mode_twoplanebitmap: { .label _15 = 9 .label col = 2 @@ -261,7 +430,7 @@ mode_twoplanebitmap: { breturn: rts b11: - ldy #KEY_SPACE + ldx #KEY_SPACE jsr keyboard_key_pressed cmp #0 beq b11 @@ -276,26 +445,6 @@ mode_twoplanebitmap: { !: jmp b7 } -keyboard_key_pressed: { - tya - and #7 - tax - tya - lsr - lsr - lsr - jsr keyboard_matrix_read - and keyboard_matrix_col_bitmask,x - rts -} -keyboard_matrix_read: { - tay - lda keyboard_matrix_row_bitmask,y - sta CIA1_PORT_A - lda CIA1_PORT_B - eor #$ff - rts -} print_str_lines: { .label str = 2 lda #(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [48] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [49] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [50] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [51] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [52] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [53] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [54] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [55] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [56] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [57] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [58] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [59] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - to:mode_twoplanebitmap::@1 -mode_twoplanebitmap::@1: scope:[mode_twoplanebitmap] from mode_twoplanebitmap mode_twoplanebitmap::@1 - [60] (byte) mode_twoplanebitmap::i#2 ← phi( mode_twoplanebitmap/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@1/(byte) mode_twoplanebitmap::i#1 ) [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) - [61] *((const byte*) DTV_PALETTE#0 + (byte) mode_twoplanebitmap::i#2) ← (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) - [62] (byte) mode_twoplanebitmap::i#1 ← ++ (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) - [63] if((byte) mode_twoplanebitmap::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_twoplanebitmap::@1 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) - to:mode_twoplanebitmap::@14 -mode_twoplanebitmap::@14: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@1 - [64] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [65] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [66] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - to:mode_twoplanebitmap::@2 -mode_twoplanebitmap::@2: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@14 mode_twoplanebitmap::@15 - [67] (byte*) mode_twoplanebitmap::col#3 ← phi( mode_twoplanebitmap::@14/(const byte*) TWOPLANE_COLORS#0 mode_twoplanebitmap::@15/(byte*) mode_twoplanebitmap::col#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ) - [67] (byte) mode_twoplanebitmap::cy#4 ← phi( mode_twoplanebitmap::@14/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@15/(byte) mode_twoplanebitmap::cy#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ) - to:mode_twoplanebitmap::@3 -mode_twoplanebitmap::@3: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 - [68] (byte*) mode_twoplanebitmap::col#2 ← phi( mode_twoplanebitmap::@2/(byte*) mode_twoplanebitmap::col#3 mode_twoplanebitmap::@3/(byte*) mode_twoplanebitmap::col#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) - [68] (byte) mode_twoplanebitmap::cx#2 ← phi( mode_twoplanebitmap::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@3/(byte) mode_twoplanebitmap::cx#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) - [69] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) - [70] (byte~) mode_twoplanebitmap::$15 ← (byte~) mode_twoplanebitmap::$14 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ) - [71] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) - [72] (byte~) mode_twoplanebitmap::$17 ← (byte~) mode_twoplanebitmap::$15 | (byte~) mode_twoplanebitmap::$16 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ) - [73] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) - [74] (byte*) mode_twoplanebitmap::col#1 ← ++ (byte*) mode_twoplanebitmap::col#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ) - [75] (byte) mode_twoplanebitmap::cx#1 ← ++ (byte) mode_twoplanebitmap::cx#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) - [76] if((byte) mode_twoplanebitmap::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@3 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) - to:mode_twoplanebitmap::@15 -mode_twoplanebitmap::@15: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@3 - [77] (byte) mode_twoplanebitmap::cy#1 ← ++ (byte) mode_twoplanebitmap::cy#4 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) - [78] if((byte) mode_twoplanebitmap::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_twoplanebitmap::@2 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) - to:mode_twoplanebitmap::@4 -mode_twoplanebitmap::@4: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@15 mode_twoplanebitmap::@19 - [79] (byte*) mode_twoplanebitmap::gfxa#6 ← phi( mode_twoplanebitmap::@15/(const byte*) TWOPLANE_PLANEA#0 mode_twoplanebitmap::@19/(byte*) mode_twoplanebitmap::gfxa#7 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ) - [79] (byte) mode_twoplanebitmap::ay#4 ← phi( mode_twoplanebitmap::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@19/(byte) mode_twoplanebitmap::ay#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ) - to:mode_twoplanebitmap::@5 -mode_twoplanebitmap::@5: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@4 mode_twoplanebitmap::@7 - [80] (byte) mode_twoplanebitmap::ax#2 ← phi( mode_twoplanebitmap::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@7/(byte) mode_twoplanebitmap::ax#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) - [80] (byte*) mode_twoplanebitmap::gfxa#3 ← phi( mode_twoplanebitmap::@4/(byte*) mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::@7/(byte*) mode_twoplanebitmap::gfxa#7 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) - [81] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) - [82] if((byte~) mode_twoplanebitmap::$20!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@6 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) - to:mode_twoplanebitmap::@17 -mode_twoplanebitmap::@17: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@5 - [83] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) - [84] (byte*) mode_twoplanebitmap::gfxa#2 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ) - to:mode_twoplanebitmap::@7 -mode_twoplanebitmap::@7: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@17 mode_twoplanebitmap::@6 - [85] (byte*) mode_twoplanebitmap::gfxa#7 ← phi( mode_twoplanebitmap::@17/(byte*) mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::@6/(byte*) mode_twoplanebitmap::gfxa#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#2 ] ) - [86] (byte) mode_twoplanebitmap::ax#1 ← ++ (byte) mode_twoplanebitmap::ax#2 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) - [87] if((byte) mode_twoplanebitmap::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@5 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) - to:mode_twoplanebitmap::@19 -mode_twoplanebitmap::@19: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@7 - [88] (byte) mode_twoplanebitmap::ay#1 ← ++ (byte) mode_twoplanebitmap::ay#4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) - [89] if((byte) mode_twoplanebitmap::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) - to:mode_twoplanebitmap::@8 -mode_twoplanebitmap::@8: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@19 mode_twoplanebitmap::@21 - [90] (byte) mode_twoplanebitmap::by#4 ← phi( mode_twoplanebitmap::@19/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@21/(byte) mode_twoplanebitmap::by#1 ) [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ) - [90] (byte*) mode_twoplanebitmap::gfxb#3 ← phi( mode_twoplanebitmap::@19/(const byte*) TWOPLANE_PLANEB#0 mode_twoplanebitmap::@21/(byte*) mode_twoplanebitmap::gfxb#1 ) [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ) - to:mode_twoplanebitmap::@9 -mode_twoplanebitmap::@9: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@8 mode_twoplanebitmap::@9 - [91] (byte) mode_twoplanebitmap::bx#2 ← phi( mode_twoplanebitmap::@8/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@9/(byte) mode_twoplanebitmap::bx#1 ) [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) - [91] (byte*) mode_twoplanebitmap::gfxb#2 ← phi( mode_twoplanebitmap::@8/(byte*) mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::@9/(byte*) mode_twoplanebitmap::gfxb#1 ) [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) - [92] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) - [93] (byte*) mode_twoplanebitmap::gfxb#1 ← ++ (byte*) mode_twoplanebitmap::gfxb#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ) - [94] (byte) mode_twoplanebitmap::bx#1 ← ++ (byte) mode_twoplanebitmap::bx#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) - [95] if((byte) mode_twoplanebitmap::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@9 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) - to:mode_twoplanebitmap::@21 -mode_twoplanebitmap::@21: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@9 - [96] (byte) mode_twoplanebitmap::by#1 ← ++ (byte) mode_twoplanebitmap::by#4 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) - [97] if((byte) mode_twoplanebitmap::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@8 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) - to:mode_twoplanebitmap::@10 -mode_twoplanebitmap::@10: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@21 mode_twoplanebitmap::@28 - [98] if(true) goto mode_twoplanebitmap::@11 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - to:mode_twoplanebitmap::@return -mode_twoplanebitmap::@return: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@10 mode_twoplanebitmap::@28 - [99] return [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) +menu::@6: scope:[menu] from menu::@20 + [43] phi() [ ] ( main:2::menu:9 [ ] ) + [44] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9 [ keyboard_key_pressed::return#0 ] ) + [45] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#3 ] ( main:2::menu:9 [ keyboard_key_pressed::return#3 ] ) + to:menu::@21 +menu::@21: scope:[menu] from menu::@6 + [46] (byte~) menu::$30 ← (byte) keyboard_key_pressed::return#3 [ menu::$30 ] ( main:2::menu:9 [ menu::$30 ] ) + [47] if((byte~) menu::$30==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@3 [ ] ( main:2::menu:9 [ ] ) + to:menu::@14 +menu::@14: scope:[menu] from menu::@21 + [48] phi() [ ] ( main:2::menu:9 [ ] ) + [49] call mode_sixsfred param-assignment [ ] ( main:2::menu:9 [ ] ) + to:menu::@return +mode_sixsfred: scope:[mode_sixsfred] from menu::@14 + [50] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [51] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [52] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_MCM#0|(const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [53] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [54] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [55] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [56] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [57] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [58] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [59] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [60] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [61] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [62] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [63] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [64] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [65] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [66] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + to:mode_sixsfred::@1 +mode_sixsfred::@1: scope:[mode_sixsfred] from mode_sixsfred mode_sixsfred::@1 + [67] (byte) mode_sixsfred::i#2 ← phi( mode_sixsfred/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@1/(byte) mode_sixsfred::i#1 ) [ mode_sixsfred::i#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#2 ] ) + [68] *((const byte*) DTV_PALETTE#0 + (byte) mode_sixsfred::i#2) ← (byte) mode_sixsfred::i#2 [ mode_sixsfred::i#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#2 ] ) + [69] (byte) mode_sixsfred::i#1 ← ++ (byte) mode_sixsfred::i#2 [ mode_sixsfred::i#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#1 ] ) + [70] if((byte) mode_sixsfred::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_sixsfred::@1 [ mode_sixsfred::i#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#1 ] ) + to:mode_sixsfred::@12 +mode_sixsfred::@12: scope:[mode_sixsfred] from mode_sixsfred::@1 + [71] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + to:mode_sixsfred::@2 +mode_sixsfred::@2: scope:[mode_sixsfred] from mode_sixsfred::@12 mode_sixsfred::@13 + [72] (byte*) mode_sixsfred::col#3 ← phi( mode_sixsfred::@12/(const byte*) TWOPLANE_COLORS#0 mode_sixsfred::@13/(byte*) mode_sixsfred::col#1 ) [ mode_sixsfred::cy#4 mode_sixsfred::col#3 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#3 ] ) + [72] (byte) mode_sixsfred::cy#4 ← phi( mode_sixsfred::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@13/(byte) mode_sixsfred::cy#1 ) [ mode_sixsfred::cy#4 mode_sixsfred::col#3 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#3 ] ) + to:mode_sixsfred::@3 +mode_sixsfred::@3: scope:[mode_sixsfred] from mode_sixsfred::@2 mode_sixsfred::@3 + [73] (byte*) mode_sixsfred::col#2 ← phi( mode_sixsfred::@2/(byte*) mode_sixsfred::col#3 mode_sixsfred::@3/(byte*) mode_sixsfred::col#1 ) [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ) + [73] (byte) mode_sixsfred::cx#2 ← phi( mode_sixsfred::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@3/(byte) mode_sixsfred::cx#1 ) [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ) + [74] (byte~) mode_sixsfred::$15 ← (byte) mode_sixsfred::cx#2 + (byte) mode_sixsfred::cy#4 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ) + [75] (byte~) mode_sixsfred::$16 ← (byte~) mode_sixsfred::$15 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ) + [76] *((byte*) mode_sixsfred::col#2) ← (byte~) mode_sixsfred::$16 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ) + [77] (byte*) mode_sixsfred::col#1 ← ++ (byte*) mode_sixsfred::col#2 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#2 ] ) + [78] (byte) mode_sixsfred::cx#1 ← ++ (byte) mode_sixsfred::cx#2 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ) + [79] if((byte) mode_sixsfred::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@3 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ) + to:mode_sixsfred::@13 +mode_sixsfred::@13: scope:[mode_sixsfred] from mode_sixsfred::@3 + [80] (byte) mode_sixsfred::cy#1 ← ++ (byte) mode_sixsfred::cy#4 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ) + [81] if((byte) mode_sixsfred::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_sixsfred::@2 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ) + to:mode_sixsfred::@4 +mode_sixsfred::@4: scope:[mode_sixsfred] from mode_sixsfred::@13 mode_sixsfred::@15 + [82] (byte*) mode_sixsfred::gfxa#3 ← phi( mode_sixsfred::@13/(const byte*) SIXSFRED_PLANEA#0 mode_sixsfred::@15/(byte*) mode_sixsfred::gfxa#1 ) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#3 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#3 ] ) + [82] (byte) mode_sixsfred::ay#4 ← phi( mode_sixsfred::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@15/(byte) mode_sixsfred::ay#1 ) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#3 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#3 ] ) + to:mode_sixsfred::@5 +mode_sixsfred::@5: scope:[mode_sixsfred] from mode_sixsfred::@4 mode_sixsfred::@5 + [83] (byte) mode_sixsfred::ax#2 ← phi( mode_sixsfred::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@5/(byte) mode_sixsfred::ax#1 ) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ) + [83] (byte*) mode_sixsfred::gfxa#2 ← phi( mode_sixsfred::@4/(byte*) mode_sixsfred::gfxa#3 mode_sixsfred::@5/(byte*) mode_sixsfred::gfxa#1 ) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ) + [84] (byte~) mode_sixsfred::$19 ← (byte) mode_sixsfred::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ) + [85] (byte) mode_sixsfred::row#0 ← (byte~) mode_sixsfred::$19 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ) + [86] *((byte*) mode_sixsfred::gfxa#2) ← *((const byte[]) mode_sixsfred::row_bitmask#0 + (byte) mode_sixsfred::row#0) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ) + [87] (byte*) mode_sixsfred::gfxa#1 ← ++ (byte*) mode_sixsfred::gfxa#2 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#2 ] ) + [88] (byte) mode_sixsfred::ax#1 ← ++ (byte) mode_sixsfred::ax#2 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ) + [89] if((byte) mode_sixsfred::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@5 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ) + to:mode_sixsfred::@15 +mode_sixsfred::@15: scope:[mode_sixsfred] from mode_sixsfred::@5 + [90] (byte) mode_sixsfred::ay#1 ← ++ (byte) mode_sixsfred::ay#4 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ) + [91] if((byte) mode_sixsfred::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@4 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ) + to:mode_sixsfred::@6 +mode_sixsfred::@6: scope:[mode_sixsfred] from mode_sixsfred::@15 mode_sixsfred::@17 + [92] (byte) mode_sixsfred::by#4 ← phi( mode_sixsfred::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@17/(byte) mode_sixsfred::by#1 ) [ mode_sixsfred::gfxb#3 mode_sixsfred::by#4 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#3 mode_sixsfred::by#4 ] ) + [92] (byte*) mode_sixsfred::gfxb#3 ← phi( mode_sixsfred::@15/(const byte*) SIXSFRED_PLANEB#0 mode_sixsfred::@17/(byte*) mode_sixsfred::gfxb#1 ) [ mode_sixsfred::gfxb#3 mode_sixsfred::by#4 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#3 mode_sixsfred::by#4 ] ) + to:mode_sixsfred::@7 +mode_sixsfred::@7: scope:[mode_sixsfred] from mode_sixsfred::@6 mode_sixsfred::@7 + [93] (byte) mode_sixsfred::bx#2 ← phi( mode_sixsfred::@6/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@7/(byte) mode_sixsfred::bx#1 ) [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ) + [93] (byte*) mode_sixsfred::gfxb#2 ← phi( mode_sixsfred::@6/(byte*) mode_sixsfred::gfxb#3 mode_sixsfred::@7/(byte*) mode_sixsfred::gfxb#1 ) [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ) + [94] *((byte*) mode_sixsfred::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 27 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ) + [95] (byte*) mode_sixsfred::gfxb#1 ← ++ (byte*) mode_sixsfred::gfxb#2 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#2 ] ) + [96] (byte) mode_sixsfred::bx#1 ← ++ (byte) mode_sixsfred::bx#2 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ) + [97] if((byte) mode_sixsfred::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@7 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ) + to:mode_sixsfred::@17 +mode_sixsfred::@17: scope:[mode_sixsfred] from mode_sixsfred::@7 + [98] (byte) mode_sixsfred::by#1 ← ++ (byte) mode_sixsfred::by#4 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ) + [99] if((byte) mode_sixsfred::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@6 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ) + to:mode_sixsfred::@8 +mode_sixsfred::@8: scope:[mode_sixsfred] from mode_sixsfred::@17 mode_sixsfred::@24 + [100] if(true) goto mode_sixsfred::@9 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + to:mode_sixsfred::@return +mode_sixsfred::@return: scope:[mode_sixsfred] from mode_sixsfred::@24 mode_sixsfred::@8 + [101] return [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) to:@return -mode_twoplanebitmap::@11: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@10 - [100] phi() [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [101] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#0 ] ) - [102] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#3 ] ) - to:mode_twoplanebitmap::@28 -mode_twoplanebitmap::@28: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@11 - [103] (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#3 [ mode_twoplanebitmap::$27 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::$27 ] ) - [104] if((byte~) mode_twoplanebitmap::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@10 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - to:mode_twoplanebitmap::@return -mode_twoplanebitmap::@6: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@5 - [105] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) - [106] (byte*) mode_twoplanebitmap::gfxa#1 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ) - to:mode_twoplanebitmap::@7 -keyboard_key_pressed: scope:[keyboard_key_pressed] from menu::@4 mode_twoplanebitmap::@11 - [107] (byte) keyboard_key_pressed::key#2 ← phi( menu::@4/(const byte) KEY_C#0 mode_twoplanebitmap::@11/(const byte) KEY_SPACE#0 ) [ keyboard_key_pressed::key#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::key#2 ] ) - [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ) - [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#2 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) - [110] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) - [111] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) - [112] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) +mode_sixsfred::@9: scope:[mode_sixsfred] from mode_sixsfred::@8 + [102] phi() [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [103] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_sixsfred:49 [ keyboard_key_pressed::return#0 ] ) + [104] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#10 ] ( main:2::menu:9::mode_sixsfred:49 [ keyboard_key_pressed::return#10 ] ) + to:mode_sixsfred::@24 +mode_sixsfred::@24: scope:[mode_sixsfred] from mode_sixsfred::@9 + [105] (byte~) mode_sixsfred::$25 ← (byte) keyboard_key_pressed::return#10 [ mode_sixsfred::$25 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::$25 ] ) + [106] if((byte~) mode_sixsfred::$25==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_sixsfred::@8 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + to:mode_sixsfred::@return +keyboard_key_pressed: scope:[keyboard_key_pressed] from menu::@4 menu::@6 mode_sixsfred::@9 mode_twoplanebitmap::@11 + [107] (byte) keyboard_key_pressed::key#4 ← phi( menu::@4/(const byte) KEY_B#0 menu::@6/(const byte) KEY_C#0 mode_sixsfred::@9/(const byte) KEY_SPACE#0 mode_twoplanebitmap::@11/(const byte) KEY_SPACE#0 ) [ keyboard_key_pressed::key#4 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#4 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::key#4 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::key#4 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::key#4 ] ) + [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) + [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) + [110] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) + [111] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [112] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) to:keyboard_key_pressed::@2 keyboard_key_pressed::@2: scope:[keyboard_key_pressed] from keyboard_key_pressed - [113] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) - [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) + [113] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) + [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) to:keyboard_key_pressed::@return keyboard_key_pressed::@return: scope:[keyboard_key_pressed] from keyboard_key_pressed::@2 - [115] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) + [115] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) to:@return keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_key_pressed - [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) - [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) + [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) to:keyboard_matrix_read::@return keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read - [118] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [118] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) to:@return -print_str_lines: scope:[print_str_lines] from menu::@15 - [119] phi() [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) +mode_twoplanebitmap: scope:[mode_twoplanebitmap] from menu::@12 + [119] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [120] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [121] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [122] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [123] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [124] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [125] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [126] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [127] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [128] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [129] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [130] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [131] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [132] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [133] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [134] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [135] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + to:mode_twoplanebitmap::@1 +mode_twoplanebitmap::@1: scope:[mode_twoplanebitmap] from mode_twoplanebitmap mode_twoplanebitmap::@1 + [136] (byte) mode_twoplanebitmap::i#2 ← phi( mode_twoplanebitmap/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@1/(byte) mode_twoplanebitmap::i#1 ) [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) + [137] *((const byte*) DTV_PALETTE#0 + (byte) mode_twoplanebitmap::i#2) ← (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) + [138] (byte) mode_twoplanebitmap::i#1 ← ++ (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) + [139] if((byte) mode_twoplanebitmap::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_twoplanebitmap::@1 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) + to:mode_twoplanebitmap::@14 +mode_twoplanebitmap::@14: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@1 + [140] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [141] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [142] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + to:mode_twoplanebitmap::@2 +mode_twoplanebitmap::@2: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@14 mode_twoplanebitmap::@15 + [143] (byte*) mode_twoplanebitmap::col#3 ← phi( mode_twoplanebitmap::@14/(const byte*) TWOPLANE_COLORS#0 mode_twoplanebitmap::@15/(byte*) mode_twoplanebitmap::col#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ) + [143] (byte) mode_twoplanebitmap::cy#4 ← phi( mode_twoplanebitmap::@14/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@15/(byte) mode_twoplanebitmap::cy#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ) + to:mode_twoplanebitmap::@3 +mode_twoplanebitmap::@3: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 + [144] (byte*) mode_twoplanebitmap::col#2 ← phi( mode_twoplanebitmap::@2/(byte*) mode_twoplanebitmap::col#3 mode_twoplanebitmap::@3/(byte*) mode_twoplanebitmap::col#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) + [144] (byte) mode_twoplanebitmap::cx#2 ← phi( mode_twoplanebitmap::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@3/(byte) mode_twoplanebitmap::cx#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) + [145] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) + [146] (byte~) mode_twoplanebitmap::$15 ← (byte~) mode_twoplanebitmap::$14 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ) + [147] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) + [148] (byte~) mode_twoplanebitmap::$17 ← (byte~) mode_twoplanebitmap::$15 | (byte~) mode_twoplanebitmap::$16 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ) + [149] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) + [150] (byte*) mode_twoplanebitmap::col#1 ← ++ (byte*) mode_twoplanebitmap::col#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ) + [151] (byte) mode_twoplanebitmap::cx#1 ← ++ (byte) mode_twoplanebitmap::cx#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) + [152] if((byte) mode_twoplanebitmap::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@3 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) + to:mode_twoplanebitmap::@15 +mode_twoplanebitmap::@15: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@3 + [153] (byte) mode_twoplanebitmap::cy#1 ← ++ (byte) mode_twoplanebitmap::cy#4 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) + [154] if((byte) mode_twoplanebitmap::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_twoplanebitmap::@2 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) + to:mode_twoplanebitmap::@4 +mode_twoplanebitmap::@4: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@15 mode_twoplanebitmap::@19 + [155] (byte*) mode_twoplanebitmap::gfxa#6 ← phi( mode_twoplanebitmap::@15/(const byte*) TWOPLANE_PLANEA#0 mode_twoplanebitmap::@19/(byte*) mode_twoplanebitmap::gfxa#7 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ) + [155] (byte) mode_twoplanebitmap::ay#4 ← phi( mode_twoplanebitmap::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@19/(byte) mode_twoplanebitmap::ay#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ) + to:mode_twoplanebitmap::@5 +mode_twoplanebitmap::@5: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@4 mode_twoplanebitmap::@7 + [156] (byte) mode_twoplanebitmap::ax#2 ← phi( mode_twoplanebitmap::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@7/(byte) mode_twoplanebitmap::ax#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) + [156] (byte*) mode_twoplanebitmap::gfxa#3 ← phi( mode_twoplanebitmap::@4/(byte*) mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::@7/(byte*) mode_twoplanebitmap::gfxa#7 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) + [157] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) + [158] if((byte~) mode_twoplanebitmap::$20!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@6 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) + to:mode_twoplanebitmap::@17 +mode_twoplanebitmap::@17: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@5 + [159] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) + [160] (byte*) mode_twoplanebitmap::gfxa#2 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ) + to:mode_twoplanebitmap::@7 +mode_twoplanebitmap::@7: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@17 mode_twoplanebitmap::@6 + [161] (byte*) mode_twoplanebitmap::gfxa#7 ← phi( mode_twoplanebitmap::@17/(byte*) mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::@6/(byte*) mode_twoplanebitmap::gfxa#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#2 ] ) + [162] (byte) mode_twoplanebitmap::ax#1 ← ++ (byte) mode_twoplanebitmap::ax#2 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) + [163] if((byte) mode_twoplanebitmap::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@5 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) + to:mode_twoplanebitmap::@19 +mode_twoplanebitmap::@19: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@7 + [164] (byte) mode_twoplanebitmap::ay#1 ← ++ (byte) mode_twoplanebitmap::ay#4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) + [165] if((byte) mode_twoplanebitmap::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) + to:mode_twoplanebitmap::@8 +mode_twoplanebitmap::@8: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@19 mode_twoplanebitmap::@21 + [166] (byte) mode_twoplanebitmap::by#4 ← phi( mode_twoplanebitmap::@19/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@21/(byte) mode_twoplanebitmap::by#1 ) [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ) + [166] (byte*) mode_twoplanebitmap::gfxb#3 ← phi( mode_twoplanebitmap::@19/(const byte*) TWOPLANE_PLANEB#0 mode_twoplanebitmap::@21/(byte*) mode_twoplanebitmap::gfxb#1 ) [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ) + to:mode_twoplanebitmap::@9 +mode_twoplanebitmap::@9: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@8 mode_twoplanebitmap::@9 + [167] (byte) mode_twoplanebitmap::bx#2 ← phi( mode_twoplanebitmap::@8/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@9/(byte) mode_twoplanebitmap::bx#1 ) [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) + [167] (byte*) mode_twoplanebitmap::gfxb#2 ← phi( mode_twoplanebitmap::@8/(byte*) mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::@9/(byte*) mode_twoplanebitmap::gfxb#1 ) [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) + [168] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) + [169] (byte*) mode_twoplanebitmap::gfxb#1 ← ++ (byte*) mode_twoplanebitmap::gfxb#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ) + [170] (byte) mode_twoplanebitmap::bx#1 ← ++ (byte) mode_twoplanebitmap::bx#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) + [171] if((byte) mode_twoplanebitmap::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@9 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) + to:mode_twoplanebitmap::@21 +mode_twoplanebitmap::@21: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@9 + [172] (byte) mode_twoplanebitmap::by#1 ← ++ (byte) mode_twoplanebitmap::by#4 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) + [173] if((byte) mode_twoplanebitmap::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@8 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) + to:mode_twoplanebitmap::@10 +mode_twoplanebitmap::@10: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@21 mode_twoplanebitmap::@28 + [174] if(true) goto mode_twoplanebitmap::@11 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + to:mode_twoplanebitmap::@return +mode_twoplanebitmap::@return: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@10 mode_twoplanebitmap::@28 + [175] return [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + to:@return +mode_twoplanebitmap::@11: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@10 + [176] phi() [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [177] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#0 ] ) + [178] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#4 ] ) + to:mode_twoplanebitmap::@28 +mode_twoplanebitmap::@28: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@11 + [179] (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#4 [ mode_twoplanebitmap::$27 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::$27 ] ) + [180] if((byte~) mode_twoplanebitmap::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@10 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + to:mode_twoplanebitmap::@return +mode_twoplanebitmap::@6: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@5 + [181] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) + [182] (byte*) mode_twoplanebitmap::gfxa#1 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ) + to:mode_twoplanebitmap::@7 +print_str_lines: scope:[print_str_lines] from menu::@18 + [183] phi() [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@9 - [120] (byte*) print_line_cursor#17 ← phi( print_str_lines/(const byte*) MENU_SCREEN#0 print_str_lines::@9/(byte*) print_line_cursor#19 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [120] (byte*) print_char_cursor#19 ← phi( print_str_lines/(const byte*) MENU_SCREEN#0 print_str_lines::@9/(byte*~) print_char_cursor#56 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [120] (byte*) print_str_lines::str#2 ← phi( print_str_lines/(const string) MENU_TEXT#0 print_str_lines::@9/(byte*) print_str_lines::str#0 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [121] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) + [184] (byte*) print_line_cursor#17 ← phi( print_str_lines/(const byte*) MENU_SCREEN#0 print_str_lines::@9/(byte*) print_line_cursor#19 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) + [184] (byte*) print_char_cursor#19 ← phi( print_str_lines/(const byte*) MENU_SCREEN#0 print_str_lines::@9/(byte*~) print_char_cursor#61 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) + [184] (byte*) print_str_lines::str#2 ← phi( print_str_lines/(const string) MENU_TEXT#0 print_str_lines::@9/(byte*) print_str_lines::str#0 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) + [185] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) to:print_str_lines::@return print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 - [122] return [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) + [186] return [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) to:@return print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@1 print_str_lines::@5 - [123] (byte*) print_char_cursor#17 ← phi( print_str_lines::@1/(byte*) print_char_cursor#19 print_str_lines::@5/(byte*) print_char_cursor#32 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) - [123] (byte*) print_str_lines::str#3 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#2 print_str_lines::@5/(byte*) print_str_lines::str#0 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) - [124] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) - [125] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) - [126] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) + [187] (byte*) print_char_cursor#17 ← phi( print_str_lines::@1/(byte*) print_char_cursor#19 print_str_lines::@5/(byte*) print_char_cursor#32 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) + [187] (byte*) print_str_lines::str#3 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#2 print_str_lines::@5/(byte*) print_str_lines::str#0 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) + [188] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) + [189] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) + [190] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) to:print_str_lines::@8 print_str_lines::@8: scope:[print_str_lines] from print_str_lines::@4 - [127] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) - [128] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) + [191] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) + [192] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) to:print_str_lines::@5 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@4 print_str_lines::@8 - [129] (byte*) print_char_cursor#32 ← phi( print_str_lines::@4/(byte*) print_char_cursor#17 print_str_lines::@8/(byte*) print_char_cursor#1 ) [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ) - [130] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) + [193] (byte*) print_char_cursor#32 ← phi( print_str_lines::@4/(byte*) print_char_cursor#17 print_str_lines::@8/(byte*) print_char_cursor#1 ) [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ) + [194] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) to:print_str_lines::@9 print_str_lines::@9: scope:[print_str_lines] from print_str_lines::@5 - [131] phi() [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) - [132] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_line_cursor#19 ] ) - [133] (byte*~) print_char_cursor#56 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ) + [195] phi() [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) + [196] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_line_cursor#19 ] ) + [197] (byte*~) print_char_cursor#61 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ) to:print_str_lines::@1 print_ln: scope:[print_ln] from print_str_lines::@9 - [134] phi() [ print_line_cursor#17 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#17 print_char_cursor#32 ] ) + [198] phi() [ print_line_cursor#17 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#17 print_char_cursor#32 ] ) to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [135] (byte*) print_line_cursor#18 ← phi( print_ln/(byte*) print_line_cursor#17 print_ln::@1/(byte*) print_line_cursor#19 ) [ print_char_cursor#32 print_line_cursor#18 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_char_cursor#32 print_line_cursor#18 ] ) - [136] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) - [137] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) + [199] (byte*) print_line_cursor#18 ← phi( print_ln/(byte*) print_line_cursor#17 print_ln::@1/(byte*) print_line_cursor#19 ) [ print_char_cursor#32 print_line_cursor#18 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_char_cursor#32 print_line_cursor#18 ] ) + [200] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) + [201] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [138] return [ print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 ] ) + [202] return [ print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 ] ) to:@return -print_cls: scope:[print_cls] from menu::@14 - [139] phi() [ ] ( main:2::menu:9::print_cls:31 [ ] ) +print_cls: scope:[print_cls] from menu::@17 + [203] phi() [ ] ( main:2::menu:9::print_cls:31 [ ] ) to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [140] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) MENU_SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) - [141] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) - [142] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) - [143] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) + [204] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) MENU_SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) + [205] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) + [206] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) + [207] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [144] return [ ] ( main:2::menu:9::print_cls:31 [ ] ) + [208] return [ ] ( main:2::menu:9::print_cls:31 [ ] ) to:@return -print_set_screen: scope:[print_set_screen] from menu::@8 - [145] phi() [ ] ( main:2::menu:9::print_set_screen:29 [ ] ) +print_set_screen: scope:[print_set_screen] from menu::@9 + [209] phi() [ ] ( main:2::menu:9::print_set_screen:29 [ ] ) to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen - [146] return [ ] ( main:2::menu:9::print_set_screen:29 [ ] ) + [210] return [ ] ( main:2::menu:9::print_set_screen:29 [ ] ) to:@return diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.log b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.log index 625143992..d936361bc 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxmodes.log @@ -15,25 +15,24 @@ void main() { const byte* MENU_SCREEN = $8000; const byte* MENU_CHARSET = $9800; // Charset ROM byte[] MENU_TEXT = - "C64DTV Graphics Modes EMBLHCC@" + - " CCMIIHO@" + - " MMMNCUL@" + + "C64DTV Graphics Modes CCLHBME@" + + " OHIIMCC@" + + " LUNCMMM@" + "----------------------------------------@" + "1. Standard Char (V) 0000000@" + - "2. Extended Color Char (V) 1000000@" + - "3. Multicolor Char (V) 0100000@" + - "4. Standard Bitmap (V) 0010000@" + - "5. Multicolor Bitmap (V) 0110000@" + - "6. High Color Standard Char (H) 0000100@" + - "7. High Extended Color Char (H) 1000100@" + - "8. High Multicolor Char (H) 0100100@" + - "9. High Multicolor Bitmap (H) 0110100@" + - "a. Sixs Fred (D) 1111100@" + - "b. Sixs Fred 2 (D) 1111000@" + - "c. Two Plane Bitmap (D) 1011100@" + - "d. Two Plane Multicol Bitmap (D) 1111100@" + - "e. 8bpp Pixel Cell (D) 1101110@" + - "f. Chunky 8bpp Bitmap (D) 1101111@" + + "2. Extended Color Char (V) 0000001@" + + "3. Multicolor Char (V) 0000010@" + + "4. Standard Bitmap (V) 0000100@" + + "5. Multicolor Bitmap (V) 0000110@" + + "6. High Color Standard Char (H) 0001000@" + + "7. High Extended Color Char (H) 0001001@" + + "8. High Multicolor Char (H) 0001010@" + + "9. High Multicolor Bitmap (H) 0001110@" + + "a. Sixs Fred 2 (D) 0010111@" + + "b. Two Plane Bitmap (D) 0011101@" + + "c. Sixs Fred (2 Plane MC BM) (D) 0011111@" + + "d. 8bpp Pixel Cell (D) 0111011@" + + "e. Chunky 8bpp Bitmap (D) 1111011@" + "----------------------------------------@" + " (V) vicII (H) vicII+hicol (D) c64dtv@" + "@" ; @@ -71,10 +70,14 @@ void menu() { print_str_lines(MENU_TEXT); // Wait for key press while(true) { - if(keyboard_key_pressed(KEY_C)!=0) { + if(keyboard_key_pressed(KEY_B)!=0) { mode_twoplanebitmap(); return; } + if(keyboard_key_pressed(KEY_C)!=0) { + mode_sixsfred(); + return; + } } } @@ -83,8 +86,15 @@ const byte* TWOPLANE_PLANEA = $4000; const byte* TWOPLANE_PLANEB = $6000; const byte* TWOPLANE_COLORS = $8000; -// Test the Two Plane Bitmap - generated from the two DTV linear graphics plane counters +// Two Plane Bitmap - generated from the two DTV linear graphics plane counters // Two Plane Bitmap Mode (CHUNK/COLDIS/MCM = 0, ECM/BMM/HICOL/LINEAR = 1) +// Resolution: 320x200 +// Linear Adressing +// GfxData/PlaneA Pixel Shifter (1), CharData/PlaneB Pixel Shifter (1): +// - Plane A = 0 Plane B = 0: 8bpp BgColor0[7:0] +// - Plane A = 0 Plane B = 1: 8bpp "0000" & ColorData[7:4] +// - Plane A = 1 Plane B = 0: 8bpp "0000" & ColorData[3:0] +// - Plane A = 1 Plane B = 1: 8bpp BgColor1[7:0] void mode_twoplanebitmap() { // DTV Graphics Mode *DTV_CONTROL = DTV_CONTROL_HIGHCOLOR_ON | DTV_CONTROL_LINEAR_ADDRESSING_ON; @@ -108,7 +118,7 @@ void mode_twoplanebitmap() { // DTV Color Bank *DTV_COLOR_BANK_LO = <(TWOPLANE_COLORS/$400); *DTV_COLOR_BANK_HI = >(TWOPLANE_COLORS/$400); - // DTV Palette - Grey Tone + // DTV Palette - Grey Tones for(byte i : 0..$f) { DTV_PALETTE[i] = i; } @@ -123,16 +133,14 @@ void mode_twoplanebitmap() { *col++ = (cy & $f)<<4 | (cx &$f); } } - - // Graphics for Plane A - horizontal stripes byte* gfxa = TWOPLANE_PLANEA; for(byte ay : 0..199) { for (byte ax : 0..39) { if((ay&4)==0) { - *gfxa++ = $00; + *gfxa++ = %00000000; } else { - *gfxa++ = $ff; + *gfxa++ = %11111111; } } } @@ -140,9 +148,10 @@ void mode_twoplanebitmap() { byte* gfxb = TWOPLANE_PLANEB; for(byte by : 0..199) { for ( byte bx : 0..39) { - *gfxb++ = $0f; + *gfxb++ = %00001111; } } + // Wait for keypress while(true) { if(keyboard_key_pressed(KEY_SPACE)!=0) { return; @@ -151,6 +160,78 @@ void mode_twoplanebitmap() { } +const byte* SIXSFRED_PLANEA = $4000; +const byte* SIXSFRED_PLANEB = $6000; +const byte* SIXSFRED_COLORS = $8000; + +// Sixs Fred Mode - 8bpp Packed Bitmap - Generated from the two DTV linear graphics plane counters +// Two Plane MultiColor Bitmap - 8bpp Packed Bitmap (CHUNK/COLDIS = 0, ECM/BMM/MCM/HICOL/LINEAR = 1) +// Resolution: 160x200 +// Linear Adressing +// GfxData/PlaneA Pixel Shifter (2), CharData/PlaneB Pixel Shifter (2): +// - 8bpp color (ColorData[3:0],CharData/PlaneB[1:0], GfxData/PlaneA[1:0]) +void mode_sixsfred() { + // DTV Graphics Mode + *DTV_CONTROL = DTV_CONTROL_HIGHCOLOR_ON | DTV_CONTROL_LINEAR_ADDRESSING_ON; + // VIC Graphics Mode + *VIC_CONTROL = VIC_ECM|VIC_BMM|VIC_DEN|VIC_RSEL|3; + *VIC_CONTROL2 = VIC_MCM|VIC_CSEL; + // Linear Graphics Plane A Counter + *DTV_PLANEA_START_LO = SIXSFRED_PLANEA; + *DTV_PLANEA_START_HI = 0; + *DTV_PLANEA_STEP = 1; + *DTV_PLANEA_MODULO_LO = 0; + *DTV_PLANEA_MODULO_HI = 0; + // Linear Graphics Plane B Counter + *DTV_PLANEB_START_LO = SIXSFRED_PLANEB; + *DTV_PLANEB_START_HI = 0; + *DTV_PLANEB_STEP = 1; + *DTV_PLANEB_MODULO_LO = 0; + *DTV_PLANEB_MODULO_HI = 0; + // DTV Color Bank + *DTV_COLOR_BANK_LO = <(SIXSFRED_COLORS/$400); + *DTV_COLOR_BANK_HI = >(SIXSFRED_COLORS/$400); + // DTV Palette - Grey Tones + for(byte i : 0..$f) { + DTV_PALETTE[i] = i; + } + // Screen colors + *BORDERCOL = $00; + // Colors for high 4 bits of 8bpp + byte* col=TWOPLANE_COLORS; + for(byte cy: 0..24 ) { + for(byte cx: 0..39) { + *col++ = (cx+cy) & $f; + } + } + // Graphics for Plane A () - horizontal stripes + byte* gfxa = SIXSFRED_PLANEA; + byte[] row_bitmask = { %00000000, %01010101, %10101010, %11111111 }; + for(byte ay : 0..199) { + for (byte ax : 0..39) { + byte row = (ay>>1) & 3; + *gfxa++ = row_bitmask[row]; + } + } + // Graphics for Plane B - vertical stripes + byte* gfxb = SIXSFRED_PLANEB; + for(byte by : 0..199) { + for ( byte bx : 0..39) { + *gfxb++ = %00011011; + } + } + // Wait for keypress + while(true) { + if(keyboard_key_pressed(KEY_SPACE)!=0) { + return; + } + } + +} + + Importing c64dtv.kc PARSING src/test/java/dk/camelot64/kickc/test/kc/c64dtv.kc @@ -569,6 +650,9 @@ Adding pre/post-modifier (byte*) mode_twoplanebitmap::col ← ++ (byte*) mode_tw Adding pre/post-modifier (byte*) mode_twoplanebitmap::gfxa ← ++ (byte*) mode_twoplanebitmap::gfxa Adding pre/post-modifier (byte*) mode_twoplanebitmap::gfxa ← ++ (byte*) mode_twoplanebitmap::gfxa Adding pre/post-modifier (byte*) mode_twoplanebitmap::gfxb ← ++ (byte*) mode_twoplanebitmap::gfxb +Adding pre/post-modifier (byte*) mode_sixsfred::col ← ++ (byte*) mode_sixsfred::col +Adding pre/post-modifier (byte*) mode_sixsfred::gfxa ← ++ (byte*) mode_sixsfred::gfxa +Adding pre/post-modifier (byte*) mode_sixsfred::gfxb ← ++ (byte*) mode_sixsfred::gfxb STATEMENTS (byte*) PROCPORT ← (byte/signed byte/word/signed word/dword/signed dword) 1 @@ -935,28 +1019,27 @@ main::@return: endproc // main() (byte*) MENU_SCREEN ← (word/dword/signed dword) 32768 (byte*) MENU_CHARSET ← (word/dword/signed dword) 38912 - (string~) $0 ← (string) "C64DTV Graphics Modes EMBLHCC@" + (string) " CCMIIHO@" - (string~) $1 ← (string~) $0 + (string) " MMMNCUL@" + (string~) $0 ← (string) "C64DTV Graphics Modes CCLHBME@" + (string) " OHIIMCC@" + (string~) $1 ← (string~) $0 + (string) " LUNCMMM@" (string~) $2 ← (string~) $1 + (string) "----------------------------------------@" (string~) $3 ← (string~) $2 + (string) "1. Standard Char (V) 0000000@" - (string~) $4 ← (string~) $3 + (string) "2. Extended Color Char (V) 1000000@" - (string~) $5 ← (string~) $4 + (string) "3. Multicolor Char (V) 0100000@" - (string~) $6 ← (string~) $5 + (string) "4. Standard Bitmap (V) 0010000@" - (string~) $7 ← (string~) $6 + (string) "5. Multicolor Bitmap (V) 0110000@" - (string~) $8 ← (string~) $7 + (string) "6. High Color Standard Char (H) 0000100@" - (string~) $9 ← (string~) $8 + (string) "7. High Extended Color Char (H) 1000100@" - (string~) $10 ← (string~) $9 + (string) "8. High Multicolor Char (H) 0100100@" - (string~) $11 ← (string~) $10 + (string) "9. High Multicolor Bitmap (H) 0110100@" - (string~) $12 ← (string~) $11 + (string) "a. Sixs Fred (D) 1111100@" - (string~) $13 ← (string~) $12 + (string) "b. Sixs Fred 2 (D) 1111000@" - (string~) $14 ← (string~) $13 + (string) "c. Two Plane Bitmap (D) 1011100@" - (string~) $15 ← (string~) $14 + (string) "d. Two Plane Multicol Bitmap (D) 1111100@" - (string~) $16 ← (string~) $15 + (string) "e. 8bpp Pixel Cell (D) 1101110@" - (string~) $17 ← (string~) $16 + (string) "f. Chunky 8bpp Bitmap (D) 1101111@" - (string~) $18 ← (string~) $17 + (string) "----------------------------------------@" - (string~) $19 ← (string~) $18 + (string) " (V) vicII (H) vicII+hicol (D) c64dtv@" - (string~) $20 ← (string~) $19 + (string) "@" - (byte[]) MENU_TEXT ← (string~) $20 + (string~) $4 ← (string~) $3 + (string) "2. Extended Color Char (V) 0000001@" + (string~) $5 ← (string~) $4 + (string) "3. Multicolor Char (V) 0000010@" + (string~) $6 ← (string~) $5 + (string) "4. Standard Bitmap (V) 0000100@" + (string~) $7 ← (string~) $6 + (string) "5. Multicolor Bitmap (V) 0000110@" + (string~) $8 ← (string~) $7 + (string) "6. High Color Standard Char (H) 0001000@" + (string~) $9 ← (string~) $8 + (string) "7. High Extended Color Char (H) 0001001@" + (string~) $10 ← (string~) $9 + (string) "8. High Multicolor Char (H) 0001010@" + (string~) $11 ← (string~) $10 + (string) "9. High Multicolor Bitmap (H) 0001110@" + (string~) $12 ← (string~) $11 + (string) "a. Sixs Fred 2 (D) 0010111@" + (string~) $13 ← (string~) $12 + (string) "b. Two Plane Bitmap (D) 0011101@" + (string~) $14 ← (string~) $13 + (string) "c. Sixs Fred (2 Plane MC BM) (D) 0011111@" + (string~) $15 ← (string~) $14 + (string) "d. 8bpp Pixel Cell (D) 0111011@" + (string~) $16 ← (string~) $15 + (string) "e. Chunky 8bpp Bitmap (D) 1111011@" + (string~) $17 ← (string~) $16 + (string) "----------------------------------------@" + (string~) $18 ← (string~) $17 + (string) " (V) vicII (H) vicII+hicol (D) c64dtv@" + (string~) $19 ← (string~) $18 + (string) "@" + (byte[]) MENU_TEXT ← (string~) $19 (dword) DTV_COLOR_BANK_DEFAULT ← (dword/signed dword) 120832 proc (void()) menu() (dword~) menu::$0 ← ((dword)) (byte*) MENU_CHARSET @@ -1010,13 +1093,20 @@ menu::@3: if(true) goto menu::@4 goto menu::@5 menu::@4: - (byte~) menu::$26 ← call keyboard_key_pressed (byte) KEY_C + (byte~) menu::$26 ← call keyboard_key_pressed (byte) KEY_B (boolean~) menu::$27 ← (byte~) menu::$26 != (byte/signed byte/word/signed word/dword/signed dword) 0 (boolean~) menu::$28 ← ! (boolean~) menu::$27 if((boolean~) menu::$28) goto menu::@6 (void~) menu::$29 ← call mode_twoplanebitmap goto menu::@return menu::@6: + (byte~) menu::$30 ← call keyboard_key_pressed (byte) KEY_C + (boolean~) menu::$31 ← (byte~) menu::$30 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) menu::$32 ← ! (boolean~) menu::$31 + if((boolean~) menu::$32) goto menu::@7 + (void~) menu::$33 ← call mode_sixsfred + goto menu::@return +menu::@7: goto menu::@3 menu::@5: menu::@return: @@ -1132,6 +1222,108 @@ mode_twoplanebitmap::@12: mode_twoplanebitmap::@return: return endproc // mode_twoplanebitmap() + (byte*) SIXSFRED_PLANEA ← (word/signed word/dword/signed dword) 16384 + (byte*) SIXSFRED_PLANEB ← (word/signed word/dword/signed dword) 24576 + (byte*) SIXSFRED_COLORS ← (word/dword/signed dword) 32768 +proc (void()) mode_sixsfred() + (byte~) mode_sixsfred::$0 ← (byte) DTV_CONTROL_HIGHCOLOR_ON | (byte) DTV_CONTROL_LINEAR_ADDRESSING_ON + *((byte*) DTV_CONTROL) ← (byte~) mode_sixsfred::$0 + (byte~) mode_sixsfred::$1 ← (byte) VIC_ECM | (byte) VIC_BMM + (byte~) mode_sixsfred::$2 ← (byte~) mode_sixsfred::$1 | (byte) VIC_DEN + (byte~) mode_sixsfred::$3 ← (byte~) mode_sixsfred::$2 | (byte) VIC_RSEL + (byte/word/dword~) mode_sixsfred::$4 ← (byte~) mode_sixsfred::$3 | (byte/signed byte/word/signed word/dword/signed dword) 3 + *((byte*) VIC_CONTROL) ← (byte/word/dword~) mode_sixsfred::$4 + (byte~) mode_sixsfred::$5 ← (byte) VIC_MCM | (byte) VIC_CSEL + *((byte*) VIC_CONTROL2) ← (byte~) mode_sixsfred::$5 + (byte~) mode_sixsfred::$6 ← < (byte*) SIXSFRED_PLANEA + *((byte*) DTV_PLANEA_START_LO) ← (byte~) mode_sixsfred::$6 + (byte~) mode_sixsfred::$7 ← > (byte*) SIXSFRED_PLANEA + *((byte*) DTV_PLANEA_START_MI) ← (byte~) mode_sixsfred::$7 + *((byte*) DTV_PLANEA_START_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEA_STEP) ← (byte/signed byte/word/signed word/dword/signed dword) 1 + *((byte*) DTV_PLANEA_MODULO_LO) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEA_MODULO_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) mode_sixsfred::$8 ← < (byte*) SIXSFRED_PLANEB + *((byte*) DTV_PLANEB_START_LO) ← (byte~) mode_sixsfred::$8 + (byte~) mode_sixsfred::$9 ← > (byte*) SIXSFRED_PLANEB + *((byte*) DTV_PLANEB_START_MI) ← (byte~) mode_sixsfred::$9 + *((byte*) DTV_PLANEB_START_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEB_STEP) ← (byte/signed byte/word/signed word/dword/signed dword) 1 + *((byte*) DTV_PLANEB_MODULO_LO) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEB_MODULO_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte*~) mode_sixsfred::$10 ← (byte*) SIXSFRED_COLORS / (word/signed word/dword/signed dword) 1024 + (byte~) mode_sixsfred::$11 ← < (byte*~) mode_sixsfred::$10 + *((byte*) DTV_COLOR_BANK_LO) ← (byte~) mode_sixsfred::$11 + (byte*~) mode_sixsfred::$12 ← (byte*) SIXSFRED_COLORS / (word/signed word/dword/signed dword) 1024 + (byte~) mode_sixsfred::$13 ← > (byte*~) mode_sixsfred::$12 + *((byte*) DTV_COLOR_BANK_HI) ← (byte~) mode_sixsfred::$13 + (byte) mode_sixsfred::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 +mode_sixsfred::@1: + *((byte*) DTV_PALETTE + (byte) mode_sixsfred::i) ← (byte) mode_sixsfred::i + (byte) mode_sixsfred::i ← ++ (byte) mode_sixsfred::i + (boolean~) mode_sixsfred::$14 ← (byte) mode_sixsfred::i != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) mode_sixsfred::$14) goto mode_sixsfred::@1 + *((byte*) BORDERCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte*) mode_sixsfred::col ← (byte*) TWOPLANE_COLORS + (byte) mode_sixsfred::cy ← (byte/signed byte/word/signed word/dword/signed dword) 0 +mode_sixsfred::@2: + (byte) mode_sixsfred::cx ← (byte/signed byte/word/signed word/dword/signed dword) 0 +mode_sixsfred::@3: + (byte~) mode_sixsfred::$15 ← (byte) mode_sixsfred::cx + (byte) mode_sixsfred::cy + (byte~) mode_sixsfred::$16 ← (byte~) mode_sixsfred::$15 & (byte/signed byte/word/signed word/dword/signed dword) 15 + *((byte*) mode_sixsfred::col) ← (byte~) mode_sixsfred::$16 + (byte*) mode_sixsfred::col ← ++ (byte*) mode_sixsfred::col + (byte) mode_sixsfred::cx ← ++ (byte) mode_sixsfred::cx + (boolean~) mode_sixsfred::$17 ← (byte) mode_sixsfred::cx != (byte/signed byte/word/signed word/dword/signed dword) 40 + if((boolean~) mode_sixsfred::$17) goto mode_sixsfred::@3 + (byte) mode_sixsfred::cy ← ++ (byte) mode_sixsfred::cy + (boolean~) mode_sixsfred::$18 ← (byte) mode_sixsfred::cy != (byte/signed byte/word/signed word/dword/signed dword) 25 + if((boolean~) mode_sixsfred::$18) goto mode_sixsfred::@2 + (byte*) mode_sixsfred::gfxa ← (byte*) SIXSFRED_PLANEA + (byte[]) mode_sixsfred::row_bitmask ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 85, (byte/word/signed word/dword/signed dword) 170, (byte/word/signed word/dword/signed dword) 255 } + (byte) mode_sixsfred::ay ← (byte/signed byte/word/signed word/dword/signed dword) 0 +mode_sixsfred::@4: + (byte) mode_sixsfred::ax ← (byte/signed byte/word/signed word/dword/signed dword) 0 +mode_sixsfred::@5: + (byte~) mode_sixsfred::$19 ← (byte) mode_sixsfred::ay >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte~) mode_sixsfred::$20 ← (byte~) mode_sixsfred::$19 & (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) mode_sixsfred::row ← (byte~) mode_sixsfred::$20 + *((byte*) mode_sixsfred::gfxa) ← *((byte[]) mode_sixsfred::row_bitmask + (byte) mode_sixsfred::row) + (byte*) mode_sixsfred::gfxa ← ++ (byte*) mode_sixsfred::gfxa + (byte) mode_sixsfred::ax ← ++ (byte) mode_sixsfred::ax + (boolean~) mode_sixsfred::$21 ← (byte) mode_sixsfred::ax != (byte/signed byte/word/signed word/dword/signed dword) 40 + if((boolean~) mode_sixsfred::$21) goto mode_sixsfred::@5 + (byte) mode_sixsfred::ay ← ++ (byte) mode_sixsfred::ay + (boolean~) mode_sixsfred::$22 ← (byte) mode_sixsfred::ay != (byte/word/signed word/dword/signed dword) 200 + if((boolean~) mode_sixsfred::$22) goto mode_sixsfred::@4 + (byte*) mode_sixsfred::gfxb ← (byte*) SIXSFRED_PLANEB + (byte) mode_sixsfred::by ← (byte/signed byte/word/signed word/dword/signed dword) 0 +mode_sixsfred::@6: + (byte) mode_sixsfred::bx ← (byte/signed byte/word/signed word/dword/signed dword) 0 +mode_sixsfred::@7: + *((byte*) mode_sixsfred::gfxb) ← (byte/signed byte/word/signed word/dword/signed dword) 27 + (byte*) mode_sixsfred::gfxb ← ++ (byte*) mode_sixsfred::gfxb + (byte) mode_sixsfred::bx ← ++ (byte) mode_sixsfred::bx + (boolean~) mode_sixsfred::$23 ← (byte) mode_sixsfred::bx != (byte/signed byte/word/signed word/dword/signed dword) 40 + if((boolean~) mode_sixsfred::$23) goto mode_sixsfred::@7 + (byte) mode_sixsfred::by ← ++ (byte) mode_sixsfred::by + (boolean~) mode_sixsfred::$24 ← (byte) mode_sixsfred::by != (byte/word/signed word/dword/signed dword) 200 + if((boolean~) mode_sixsfred::$24) goto mode_sixsfred::@6 +mode_sixsfred::@8: + if(true) goto mode_sixsfred::@9 + goto mode_sixsfred::@10 +mode_sixsfred::@9: + (byte~) mode_sixsfred::$25 ← call keyboard_key_pressed (byte) KEY_SPACE + (boolean~) mode_sixsfred::$26 ← (byte~) mode_sixsfred::$25 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mode_sixsfred::$27 ← ! (boolean~) mode_sixsfred::$26 + if((boolean~) mode_sixsfred::$27) goto mode_sixsfred::@11 + goto mode_sixsfred::@return +mode_sixsfred::@11: + goto mode_sixsfred::@8 +mode_sixsfred::@10: +mode_sixsfred::@return: + return +endproc // mode_sixsfred() call main SYMBOLS @@ -1148,7 +1340,6 @@ SYMBOLS (string~) $18 (string~) $19 (string~) $2 -(string~) $20 (string~) $3 (string~) $4 (string~) $5 @@ -1287,6 +1478,9 @@ SYMBOLS (byte) PURPLE (byte*) RASTER (byte) RED +(byte*) SIXSFRED_COLORS +(byte*) SIXSFRED_PLANEA +(byte*) SIXSFRED_PLANEB (byte*) SPRITES_COLS (byte*) SPRITES_ENABLE (byte*) SPRITES_EXPAND_X @@ -1369,6 +1563,10 @@ SYMBOLS (boolean~) menu::$28 (void~) menu::$29 (dword~) menu::$3 +(byte~) menu::$30 +(boolean~) menu::$31 +(boolean~) menu::$32 +(void~) menu::$33 (word~) menu::$4 (byte~) menu::$5 (word~) menu::$6 @@ -1381,9 +1579,63 @@ SYMBOLS (label) menu::@4 (label) menu::@5 (label) menu::@6 +(label) menu::@7 (label) menu::@return (byte*) menu::c (byte) menu::i +(void()) mode_sixsfred() +(byte~) mode_sixsfred::$0 +(byte~) mode_sixsfred::$1 +(byte*~) mode_sixsfred::$10 +(byte~) mode_sixsfred::$11 +(byte*~) mode_sixsfred::$12 +(byte~) mode_sixsfred::$13 +(boolean~) mode_sixsfred::$14 +(byte~) mode_sixsfred::$15 +(byte~) mode_sixsfred::$16 +(boolean~) mode_sixsfred::$17 +(boolean~) mode_sixsfred::$18 +(byte~) mode_sixsfred::$19 +(byte~) mode_sixsfred::$2 +(byte~) mode_sixsfred::$20 +(boolean~) mode_sixsfred::$21 +(boolean~) mode_sixsfred::$22 +(boolean~) mode_sixsfred::$23 +(boolean~) mode_sixsfred::$24 +(byte~) mode_sixsfred::$25 +(boolean~) mode_sixsfred::$26 +(boolean~) mode_sixsfred::$27 +(byte~) mode_sixsfred::$3 +(byte/word/dword~) mode_sixsfred::$4 +(byte~) mode_sixsfred::$5 +(byte~) mode_sixsfred::$6 +(byte~) mode_sixsfred::$7 +(byte~) mode_sixsfred::$8 +(byte~) mode_sixsfred::$9 +(label) mode_sixsfred::@1 +(label) mode_sixsfred::@10 +(label) mode_sixsfred::@11 +(label) mode_sixsfred::@2 +(label) mode_sixsfred::@3 +(label) mode_sixsfred::@4 +(label) mode_sixsfred::@5 +(label) mode_sixsfred::@6 +(label) mode_sixsfred::@7 +(label) mode_sixsfred::@8 +(label) mode_sixsfred::@9 +(label) mode_sixsfred::@return +(byte) mode_sixsfred::ax +(byte) mode_sixsfred::ay +(byte) mode_sixsfred::bx +(byte) mode_sixsfred::by +(byte*) mode_sixsfred::col +(byte) mode_sixsfred::cx +(byte) mode_sixsfred::cy +(byte*) mode_sixsfred::gfxa +(byte*) mode_sixsfred::gfxb +(byte) mode_sixsfred::i +(byte) mode_sixsfred::row +(byte[]) mode_sixsfred::row_bitmask (void()) mode_twoplanebitmap() (byte~) mode_twoplanebitmap::$0 (byte~) mode_twoplanebitmap::$1 @@ -1605,6 +1857,9 @@ Promoting word/dword/signed dword to byte* in MENU_CHARSET ← ((byte*)) 38912 Promoting word/signed word/dword/signed dword to byte* in TWOPLANE_PLANEA ← ((byte*)) 16384 Promoting word/signed word/dword/signed dword to byte* in TWOPLANE_PLANEB ← ((byte*)) 24576 Promoting word/dword/signed dword to byte* in TWOPLANE_COLORS ← ((byte*)) 32768 +Promoting word/signed word/dword/signed dword to byte* in SIXSFRED_PLANEA ← ((byte*)) 16384 +Promoting word/signed word/dword/signed dword to byte* in SIXSFRED_PLANEB ← ((byte*)) 24576 +Promoting word/dword/signed dword to byte* in SIXSFRED_COLORS ← ((byte*)) 32768 INITIAL CONTROL FLOW GRAPH @begin: scope:[] from (byte*) PROCPORT ← ((byte*)) (byte/signed byte/word/signed word/dword/signed dword) 1 @@ -2080,28 +2335,27 @@ main::@return: scope:[main] from main::@3 @19: scope:[] from @18 (byte*) MENU_SCREEN ← ((byte*)) (word/dword/signed dword) 32768 (byte*) MENU_CHARSET ← ((byte*)) (word/dword/signed dword) 38912 - (string~) $0 ← (string) "C64DTV Graphics Modes EMBLHCC@" + (string) " CCMIIHO@" - (string~) $1 ← (string~) $0 + (string) " MMMNCUL@" + (string~) $0 ← (string) "C64DTV Graphics Modes CCLHBME@" + (string) " OHIIMCC@" + (string~) $1 ← (string~) $0 + (string) " LUNCMMM@" (string~) $2 ← (string~) $1 + (string) "----------------------------------------@" (string~) $3 ← (string~) $2 + (string) "1. Standard Char (V) 0000000@" - (string~) $4 ← (string~) $3 + (string) "2. Extended Color Char (V) 1000000@" - (string~) $5 ← (string~) $4 + (string) "3. Multicolor Char (V) 0100000@" - (string~) $6 ← (string~) $5 + (string) "4. Standard Bitmap (V) 0010000@" - (string~) $7 ← (string~) $6 + (string) "5. Multicolor Bitmap (V) 0110000@" - (string~) $8 ← (string~) $7 + (string) "6. High Color Standard Char (H) 0000100@" - (string~) $9 ← (string~) $8 + (string) "7. High Extended Color Char (H) 1000100@" - (string~) $10 ← (string~) $9 + (string) "8. High Multicolor Char (H) 0100100@" - (string~) $11 ← (string~) $10 + (string) "9. High Multicolor Bitmap (H) 0110100@" - (string~) $12 ← (string~) $11 + (string) "a. Sixs Fred (D) 1111100@" - (string~) $13 ← (string~) $12 + (string) "b. Sixs Fred 2 (D) 1111000@" - (string~) $14 ← (string~) $13 + (string) "c. Two Plane Bitmap (D) 1011100@" - (string~) $15 ← (string~) $14 + (string) "d. Two Plane Multicol Bitmap (D) 1111100@" - (string~) $16 ← (string~) $15 + (string) "e. 8bpp Pixel Cell (D) 1101110@" - (string~) $17 ← (string~) $16 + (string) "f. Chunky 8bpp Bitmap (D) 1101111@" - (string~) $18 ← (string~) $17 + (string) "----------------------------------------@" - (string~) $19 ← (string~) $18 + (string) " (V) vicII (H) vicII+hicol (D) c64dtv@" - (string~) $20 ← (string~) $19 + (string) "@" - (byte[]) MENU_TEXT ← (string~) $20 + (string~) $4 ← (string~) $3 + (string) "2. Extended Color Char (V) 0000001@" + (string~) $5 ← (string~) $4 + (string) "3. Multicolor Char (V) 0000010@" + (string~) $6 ← (string~) $5 + (string) "4. Standard Bitmap (V) 0000100@" + (string~) $7 ← (string~) $6 + (string) "5. Multicolor Bitmap (V) 0000110@" + (string~) $8 ← (string~) $7 + (string) "6. High Color Standard Char (H) 0001000@" + (string~) $9 ← (string~) $8 + (string) "7. High Extended Color Char (H) 0001001@" + (string~) $10 ← (string~) $9 + (string) "8. High Multicolor Char (H) 0001010@" + (string~) $11 ← (string~) $10 + (string) "9. High Multicolor Bitmap (H) 0001110@" + (string~) $12 ← (string~) $11 + (string) "a. Sixs Fred 2 (D) 0010111@" + (string~) $13 ← (string~) $12 + (string) "b. Two Plane Bitmap (D) 0011101@" + (string~) $14 ← (string~) $13 + (string) "c. Sixs Fred (2 Plane MC BM) (D) 0011111@" + (string~) $15 ← (string~) $14 + (string) "d. 8bpp Pixel Cell (D) 0111011@" + (string~) $16 ← (string~) $15 + (string) "e. Chunky 8bpp Bitmap (D) 1111011@" + (string~) $17 ← (string~) $16 + (string) "----------------------------------------@" + (string~) $18 ← (string~) $17 + (string) " (V) vicII (H) vicII+hicol (D) c64dtv@" + (string~) $19 ← (string~) $18 + (string) "@" + (byte[]) MENU_TEXT ← (string~) $19 (dword) DTV_COLOR_BANK_DEFAULT ← (dword/signed dword) 120832 to:@20 menu: scope:[menu] from @@ -2141,50 +2395,61 @@ menu::@1: scope:[menu] from menu menu::@1 (byte) menu::i ← ++ (byte) menu::i (boolean~) menu::$20 ← (byte) menu::i != (byte/signed byte/word/signed word/dword/signed dword) 16 if((boolean~) menu::$20) goto menu::@1 - to:menu::@7 -menu::@7: scope:[menu] from menu::@1 + to:menu::@8 +menu::@8: scope:[menu] from menu::@1 (byte*) menu::c ← (byte*) COLS to:menu::@2 -menu::@2: scope:[menu] from menu::@2 menu::@7 +menu::@2: scope:[menu] from menu::@2 menu::@8 *((byte*) menu::c) ← (byte) LIGHT_GREEN (byte*) menu::c ← ++ (byte*) menu::c (byte*~) menu::$21 ← (byte*) COLS + (word/signed word/dword/signed dword) 1000 (boolean~) menu::$22 ← (byte*) menu::c != (byte*~) menu::$21 if((boolean~) menu::$22) goto menu::@2 - to:menu::@8 -menu::@8: scope:[menu] from menu::@2 + to:menu::@9 +menu::@9: scope:[menu] from menu::@2 *((byte*) BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 *((byte*) BORDERCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 (void~) menu::$23 ← call print_set_screen (byte*) MENU_SCREEN (void~) menu::$24 ← call print_cls (void~) menu::$25 ← call print_str_lines (byte[]) MENU_TEXT to:menu::@3 -menu::@3: scope:[menu] from menu::@6 menu::@8 +menu::@3: scope:[menu] from menu::@7 menu::@9 if(true) goto menu::@4 - to:menu::@9 -menu::@4: scope:[menu] from menu::@10 menu::@3 - (byte~) menu::$26 ← call keyboard_key_pressed (byte) KEY_C + to:menu::@10 +menu::@4: scope:[menu] from menu::@11 menu::@3 + (byte~) menu::$26 ← call keyboard_key_pressed (byte) KEY_B (boolean~) menu::$27 ← (byte~) menu::$26 != (byte/signed byte/word/signed word/dword/signed dword) 0 (boolean~) menu::$28 ← ! (boolean~) menu::$27 if((boolean~) menu::$28) goto menu::@6 - to:menu::@11 -menu::@9: scope:[menu] from menu::@3 + to:menu::@12 +menu::@10: scope:[menu] from menu::@3 to:menu::@5 -menu::@5: scope:[menu] from menu::@13 menu::@9 +menu::@5: scope:[menu] from menu::@10 menu::@16 to:menu::@return -menu::@10: scope:[menu] from +menu::@11: scope:[menu] from to:menu::@4 -menu::@6: scope:[menu] from menu::@12 menu::@4 - to:menu::@3 -menu::@11: scope:[menu] from menu::@4 +menu::@6: scope:[menu] from menu::@13 menu::@4 + (byte~) menu::$30 ← call keyboard_key_pressed (byte) KEY_C + (boolean~) menu::$31 ← (byte~) menu::$30 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) menu::$32 ← ! (boolean~) menu::$31 + if((boolean~) menu::$32) goto menu::@7 + to:menu::@14 +menu::@12: scope:[menu] from menu::@4 (void~) menu::$29 ← call mode_twoplanebitmap to:menu::@return -menu::@return: scope:[menu] from menu::@11 menu::@5 +menu::@return: scope:[menu] from menu::@12 menu::@14 menu::@5 return to:@return -menu::@12: scope:[menu] from - to:menu::@6 menu::@13: scope:[menu] from + to:menu::@6 +menu::@7: scope:[menu] from menu::@15 menu::@6 + to:menu::@3 +menu::@14: scope:[menu] from menu::@6 + (void~) menu::$33 ← call mode_sixsfred + to:menu::@return +menu::@15: scope:[menu] from + to:menu::@7 +menu::@16: scope:[menu] from to:menu::@5 @20: scope:[] from @19 (byte*) TWOPLANE_PLANEA ← ((byte*)) (word/signed word/dword/signed dword) 16384 @@ -2337,9 +2602,146 @@ mode_twoplanebitmap::@26: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@27: scope:[mode_twoplanebitmap] from to:mode_twoplanebitmap::@12 @21: scope:[] from @20 + (byte*) SIXSFRED_PLANEA ← ((byte*)) (word/signed word/dword/signed dword) 16384 + (byte*) SIXSFRED_PLANEB ← ((byte*)) (word/signed word/dword/signed dword) 24576 + (byte*) SIXSFRED_COLORS ← ((byte*)) (word/dword/signed dword) 32768 + to:@22 +mode_sixsfred: scope:[mode_sixsfred] from + (byte~) mode_sixsfred::$0 ← (byte) DTV_CONTROL_HIGHCOLOR_ON | (byte) DTV_CONTROL_LINEAR_ADDRESSING_ON + *((byte*) DTV_CONTROL) ← (byte~) mode_sixsfred::$0 + (byte~) mode_sixsfred::$1 ← (byte) VIC_ECM | (byte) VIC_BMM + (byte~) mode_sixsfred::$2 ← (byte~) mode_sixsfred::$1 | (byte) VIC_DEN + (byte~) mode_sixsfred::$3 ← (byte~) mode_sixsfred::$2 | (byte) VIC_RSEL + (byte/word/dword~) mode_sixsfred::$4 ← (byte~) mode_sixsfred::$3 | (byte/signed byte/word/signed word/dword/signed dword) 3 + *((byte*) VIC_CONTROL) ← (byte/word/dword~) mode_sixsfred::$4 + (byte~) mode_sixsfred::$5 ← (byte) VIC_MCM | (byte) VIC_CSEL + *((byte*) VIC_CONTROL2) ← (byte~) mode_sixsfred::$5 + (byte~) mode_sixsfred::$6 ← < (byte*) SIXSFRED_PLANEA + *((byte*) DTV_PLANEA_START_LO) ← (byte~) mode_sixsfred::$6 + (byte~) mode_sixsfred::$7 ← > (byte*) SIXSFRED_PLANEA + *((byte*) DTV_PLANEA_START_MI) ← (byte~) mode_sixsfred::$7 + *((byte*) DTV_PLANEA_START_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEA_STEP) ← (byte/signed byte/word/signed word/dword/signed dword) 1 + *((byte*) DTV_PLANEA_MODULO_LO) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEA_MODULO_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) mode_sixsfred::$8 ← < (byte*) SIXSFRED_PLANEB + *((byte*) DTV_PLANEB_START_LO) ← (byte~) mode_sixsfred::$8 + (byte~) mode_sixsfred::$9 ← > (byte*) SIXSFRED_PLANEB + *((byte*) DTV_PLANEB_START_MI) ← (byte~) mode_sixsfred::$9 + *((byte*) DTV_PLANEB_START_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEB_STEP) ← (byte/signed byte/word/signed word/dword/signed dword) 1 + *((byte*) DTV_PLANEB_MODULO_LO) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEB_MODULO_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte*~) mode_sixsfred::$10 ← (byte*) SIXSFRED_COLORS / (word/signed word/dword/signed dword) 1024 + (byte~) mode_sixsfred::$11 ← < (byte*~) mode_sixsfred::$10 + *((byte*) DTV_COLOR_BANK_LO) ← (byte~) mode_sixsfred::$11 + (byte*~) mode_sixsfred::$12 ← (byte*) SIXSFRED_COLORS / (word/signed word/dword/signed dword) 1024 + (byte~) mode_sixsfred::$13 ← > (byte*~) mode_sixsfred::$12 + *((byte*) DTV_COLOR_BANK_HI) ← (byte~) mode_sixsfred::$13 + (byte) mode_sixsfred::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@1 +mode_sixsfred::@1: scope:[mode_sixsfred] from mode_sixsfred mode_sixsfred::@1 + *((byte*) DTV_PALETTE + (byte) mode_sixsfred::i) ← (byte) mode_sixsfred::i + (byte) mode_sixsfred::i ← ++ (byte) mode_sixsfred::i + (boolean~) mode_sixsfred::$14 ← (byte) mode_sixsfred::i != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) mode_sixsfred::$14) goto mode_sixsfred::@1 + to:mode_sixsfred::@12 +mode_sixsfred::@12: scope:[mode_sixsfred] from mode_sixsfred::@1 + *((byte*) BORDERCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte*) mode_sixsfred::col ← (byte*) TWOPLANE_COLORS + (byte) mode_sixsfred::cy ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@2 +mode_sixsfred::@2: scope:[mode_sixsfred] from mode_sixsfred::@12 mode_sixsfred::@13 + (byte) mode_sixsfred::cx ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@3 +mode_sixsfred::@3: scope:[mode_sixsfred] from mode_sixsfred::@2 mode_sixsfred::@3 + (byte~) mode_sixsfred::$15 ← (byte) mode_sixsfred::cx + (byte) mode_sixsfred::cy + (byte~) mode_sixsfred::$16 ← (byte~) mode_sixsfred::$15 & (byte/signed byte/word/signed word/dword/signed dword) 15 + *((byte*) mode_sixsfred::col) ← (byte~) mode_sixsfred::$16 + (byte*) mode_sixsfred::col ← ++ (byte*) mode_sixsfred::col + (byte) mode_sixsfred::cx ← ++ (byte) mode_sixsfred::cx + (boolean~) mode_sixsfred::$17 ← (byte) mode_sixsfred::cx != (byte/signed byte/word/signed word/dword/signed dword) 40 + if((boolean~) mode_sixsfred::$17) goto mode_sixsfred::@3 + to:mode_sixsfred::@13 +mode_sixsfred::@13: scope:[mode_sixsfred] from mode_sixsfred::@3 + (byte) mode_sixsfred::cy ← ++ (byte) mode_sixsfred::cy + (boolean~) mode_sixsfred::$18 ← (byte) mode_sixsfred::cy != (byte/signed byte/word/signed word/dword/signed dword) 25 + if((boolean~) mode_sixsfred::$18) goto mode_sixsfred::@2 + to:mode_sixsfred::@14 +mode_sixsfred::@14: scope:[mode_sixsfred] from mode_sixsfred::@13 + (byte*) mode_sixsfred::gfxa ← (byte*) SIXSFRED_PLANEA + (byte[]) mode_sixsfred::row_bitmask ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 85, (byte/word/signed word/dword/signed dword) 170, (byte/word/signed word/dword/signed dword) 255 } + (byte) mode_sixsfred::ay ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@4 +mode_sixsfred::@4: scope:[mode_sixsfred] from mode_sixsfred::@14 mode_sixsfred::@15 + (byte) mode_sixsfred::ax ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@5 +mode_sixsfred::@5: scope:[mode_sixsfred] from mode_sixsfred::@4 mode_sixsfred::@5 + (byte~) mode_sixsfred::$19 ← (byte) mode_sixsfred::ay >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte~) mode_sixsfred::$20 ← (byte~) mode_sixsfred::$19 & (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) mode_sixsfred::row ← (byte~) mode_sixsfred::$20 + *((byte*) mode_sixsfred::gfxa) ← *((byte[]) mode_sixsfred::row_bitmask + (byte) mode_sixsfred::row) + (byte*) mode_sixsfred::gfxa ← ++ (byte*) mode_sixsfred::gfxa + (byte) mode_sixsfred::ax ← ++ (byte) mode_sixsfred::ax + (boolean~) mode_sixsfred::$21 ← (byte) mode_sixsfred::ax != (byte/signed byte/word/signed word/dword/signed dword) 40 + if((boolean~) mode_sixsfred::$21) goto mode_sixsfred::@5 + to:mode_sixsfred::@15 +mode_sixsfred::@15: scope:[mode_sixsfred] from mode_sixsfred::@5 + (byte) mode_sixsfred::ay ← ++ (byte) mode_sixsfred::ay + (boolean~) mode_sixsfred::$22 ← (byte) mode_sixsfred::ay != (byte/word/signed word/dword/signed dword) 200 + if((boolean~) mode_sixsfred::$22) goto mode_sixsfred::@4 + to:mode_sixsfred::@16 +mode_sixsfred::@16: scope:[mode_sixsfred] from mode_sixsfred::@15 + (byte*) mode_sixsfred::gfxb ← (byte*) SIXSFRED_PLANEB + (byte) mode_sixsfred::by ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@6 +mode_sixsfred::@6: scope:[mode_sixsfred] from mode_sixsfred::@16 mode_sixsfred::@17 + (byte) mode_sixsfred::bx ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@7 +mode_sixsfred::@7: scope:[mode_sixsfred] from mode_sixsfred::@6 mode_sixsfred::@7 + *((byte*) mode_sixsfred::gfxb) ← (byte/signed byte/word/signed word/dword/signed dword) 27 + (byte*) mode_sixsfred::gfxb ← ++ (byte*) mode_sixsfred::gfxb + (byte) mode_sixsfred::bx ← ++ (byte) mode_sixsfred::bx + (boolean~) mode_sixsfred::$23 ← (byte) mode_sixsfred::bx != (byte/signed byte/word/signed word/dword/signed dword) 40 + if((boolean~) mode_sixsfred::$23) goto mode_sixsfred::@7 + to:mode_sixsfred::@17 +mode_sixsfred::@17: scope:[mode_sixsfred] from mode_sixsfred::@7 + (byte) mode_sixsfred::by ← ++ (byte) mode_sixsfred::by + (boolean~) mode_sixsfred::$24 ← (byte) mode_sixsfred::by != (byte/word/signed word/dword/signed dword) 200 + if((boolean~) mode_sixsfred::$24) goto mode_sixsfred::@6 + to:mode_sixsfred::@18 +mode_sixsfred::@18: scope:[mode_sixsfred] from mode_sixsfred::@17 + to:mode_sixsfred::@8 +mode_sixsfred::@8: scope:[mode_sixsfred] from mode_sixsfred::@11 mode_sixsfred::@18 + if(true) goto mode_sixsfred::@9 + to:mode_sixsfred::@19 +mode_sixsfred::@9: scope:[mode_sixsfred] from mode_sixsfred::@20 mode_sixsfred::@8 + (byte~) mode_sixsfred::$25 ← call keyboard_key_pressed (byte) KEY_SPACE + (boolean~) mode_sixsfred::$26 ← (byte~) mode_sixsfred::$25 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mode_sixsfred::$27 ← ! (boolean~) mode_sixsfred::$26 + if((boolean~) mode_sixsfred::$27) goto mode_sixsfred::@11 + to:mode_sixsfred::@21 +mode_sixsfred::@19: scope:[mode_sixsfred] from mode_sixsfred::@8 + to:mode_sixsfred::@10 +mode_sixsfred::@10: scope:[mode_sixsfred] from mode_sixsfred::@19 mode_sixsfred::@23 + to:mode_sixsfred::@return +mode_sixsfred::@20: scope:[mode_sixsfred] from + to:mode_sixsfred::@9 +mode_sixsfred::@11: scope:[mode_sixsfred] from mode_sixsfred::@22 mode_sixsfred::@9 + to:mode_sixsfred::@8 +mode_sixsfred::@21: scope:[mode_sixsfred] from mode_sixsfred::@9 + to:mode_sixsfred::@return +mode_sixsfred::@return: scope:[mode_sixsfred] from mode_sixsfred::@10 mode_sixsfred::@21 + return + to:@return +mode_sixsfred::@22: scope:[mode_sixsfred] from + to:mode_sixsfred::@11 +mode_sixsfred::@23: scope:[mode_sixsfred] from + to:mode_sixsfred::@10 +@22: scope:[] from @21 call main to:@end -@end: scope:[] from @21 +@end: scope:[] from @22 Removing unused procedure print_str_ln Removing unused procedure print_str_at @@ -2370,7 +2772,6 @@ Eliminating unused variable (byte*) SPRITES_COLS and assignment [17] (byte*) SPR Eliminating unused variable (byte*) D011 and assignment [19] (byte*) D011 ← ((byte*)) (word/dword/signed dword) 53265 Eliminating unused variable (byte) VIC_RST8 and assignment [20] (byte) VIC_RST8 ← (byte/word/signed word/dword/signed dword) 128 Eliminating unused variable (byte*) D016 and assignment [26] (byte*) D016 ← ((byte*)) (word/dword/signed dword) 53270 -Eliminating unused variable (byte) VIC_MCM and assignment [27] (byte) VIC_MCM ← (byte/signed byte/word/signed word/dword/signed dword) 16 Eliminating unused variable (byte*) D018 and assignment [29] (byte*) D018 ← ((byte*)) (word/dword/signed dword) 53272 Eliminating unused variable (byte*) CIA1_PORT_A_DDR and assignment [34] (byte*) CIA1_PORT_A_DDR ← ((byte*)) (word/dword/signed dword) 56322 Eliminating unused variable (byte*) CIA1_PORT_B_DDR and assignment [35] (byte*) CIA1_PORT_B_DDR ← ((byte*)) (word/dword/signed dword) 56323 @@ -2420,76 +2821,75 @@ Eliminating unused variable - keeping the call (void~) menu::$23 Eliminating unused variable - keeping the call (void~) menu::$24 Eliminating unused variable - keeping the call (void~) menu::$25 Eliminating unused variable - keeping the call (void~) menu::$29 -Eliminating unused variable (byte) KEY_3 and assignment [75] (byte) KEY_3 ← (byte/signed byte/word/signed word/dword/signed dword) 8 -Eliminating unused variable (byte) KEY_W and assignment [76] (byte) KEY_W ← (byte/signed byte/word/signed word/dword/signed dword) 9 -Eliminating unused variable (byte) KEY_A and assignment [77] (byte) KEY_A ← (byte/signed byte/word/signed word/dword/signed dword) 10 -Eliminating unused variable (byte) KEY_4 and assignment [78] (byte) KEY_4 ← (byte/signed byte/word/signed word/dword/signed dword) 11 -Eliminating unused variable (byte) KEY_Z and assignment [79] (byte) KEY_Z ← (byte/signed byte/word/signed word/dword/signed dword) 12 -Eliminating unused variable (byte) KEY_S and assignment [80] (byte) KEY_S ← (byte/signed byte/word/signed word/dword/signed dword) 13 -Eliminating unused variable (byte) KEY_E and assignment [81] (byte) KEY_E ← (byte/signed byte/word/signed word/dword/signed dword) 14 -Eliminating unused variable (byte) KEY_5 and assignment [82] (byte) KEY_5 ← (byte/signed byte/word/signed word/dword/signed dword) 16 -Eliminating unused variable (byte) KEY_R and assignment [83] (byte) KEY_R ← (byte/signed byte/word/signed word/dword/signed dword) 17 -Eliminating unused variable (byte) KEY_D and assignment [84] (byte) KEY_D ← (byte/signed byte/word/signed word/dword/signed dword) 18 -Eliminating unused variable (byte) KEY_6 and assignment [85] (byte) KEY_6 ← (byte/signed byte/word/signed word/dword/signed dword) 19 -Eliminating unused variable (byte) KEY_F and assignment [87] (byte) KEY_F ← (byte/signed byte/word/signed word/dword/signed dword) 21 -Eliminating unused variable (byte) KEY_T and assignment [88] (byte) KEY_T ← (byte/signed byte/word/signed word/dword/signed dword) 22 -Eliminating unused variable (byte) KEY_X and assignment [89] (byte) KEY_X ← (byte/signed byte/word/signed word/dword/signed dword) 23 -Eliminating unused variable (byte) KEY_7 and assignment [90] (byte) KEY_7 ← (byte/signed byte/word/signed word/dword/signed dword) 24 -Eliminating unused variable (byte) KEY_Y and assignment [91] (byte) KEY_Y ← (byte/signed byte/word/signed word/dword/signed dword) 25 -Eliminating unused variable (byte) KEY_G and assignment [92] (byte) KEY_G ← (byte/signed byte/word/signed word/dword/signed dword) 26 -Eliminating unused variable (byte) KEY_8 and assignment [93] (byte) KEY_8 ← (byte/signed byte/word/signed word/dword/signed dword) 27 -Eliminating unused variable (byte) KEY_B and assignment [94] (byte) KEY_B ← (byte/signed byte/word/signed word/dword/signed dword) 28 -Eliminating unused variable (byte) KEY_H and assignment [95] (byte) KEY_H ← (byte/signed byte/word/signed word/dword/signed dword) 29 -Eliminating unused variable (byte) KEY_U and assignment [96] (byte) KEY_U ← (byte/signed byte/word/signed word/dword/signed dword) 30 -Eliminating unused variable (byte) KEY_V and assignment [97] (byte) KEY_V ← (byte/signed byte/word/signed word/dword/signed dword) 31 -Eliminating unused variable (byte) KEY_9 and assignment [98] (byte) KEY_9 ← (byte/signed byte/word/signed word/dword/signed dword) 32 -Eliminating unused variable (byte) KEY_I and assignment [99] (byte) KEY_I ← (byte/signed byte/word/signed word/dword/signed dword) 33 -Eliminating unused variable (byte) KEY_J and assignment [100] (byte) KEY_J ← (byte/signed byte/word/signed word/dword/signed dword) 34 -Eliminating unused variable (byte) KEY_0 and assignment [101] (byte) KEY_0 ← (byte/signed byte/word/signed word/dword/signed dword) 35 -Eliminating unused variable (byte) KEY_M and assignment [102] (byte) KEY_M ← (byte/signed byte/word/signed word/dword/signed dword) 36 -Eliminating unused variable (byte) KEY_K and assignment [103] (byte) KEY_K ← (byte/signed byte/word/signed word/dword/signed dword) 37 -Eliminating unused variable (byte) KEY_O and assignment [104] (byte) KEY_O ← (byte/signed byte/word/signed word/dword/signed dword) 38 -Eliminating unused variable (byte) KEY_N and assignment [105] (byte) KEY_N ← (byte/signed byte/word/signed word/dword/signed dword) 39 -Eliminating unused variable (byte) KEY_PLUS and assignment [106] (byte) KEY_PLUS ← (byte/signed byte/word/signed word/dword/signed dword) 40 -Eliminating unused variable (byte) KEY_P and assignment [107] (byte) KEY_P ← (byte/signed byte/word/signed word/dword/signed dword) 41 -Eliminating unused variable (byte) KEY_L and assignment [108] (byte) KEY_L ← (byte/signed byte/word/signed word/dword/signed dword) 42 -Eliminating unused variable (byte) KEY_MINUS and assignment [109] (byte) KEY_MINUS ← (byte/signed byte/word/signed word/dword/signed dword) 43 -Eliminating unused variable (byte) KEY_DOT and assignment [110] (byte) KEY_DOT ← (byte/signed byte/word/signed word/dword/signed dword) 44 -Eliminating unused variable (byte) KEY_COLON and assignment [111] (byte) KEY_COLON ← (byte/signed byte/word/signed word/dword/signed dword) 45 -Eliminating unused variable (byte) KEY_AT and assignment [112] (byte) KEY_AT ← (byte/signed byte/word/signed word/dword/signed dword) 46 -Eliminating unused variable (byte) KEY_COMMA and assignment [113] (byte) KEY_COMMA ← (byte/signed byte/word/signed word/dword/signed dword) 47 -Eliminating unused variable (byte) KEY_POUND and assignment [114] (byte) KEY_POUND ← (byte/signed byte/word/signed word/dword/signed dword) 48 -Eliminating unused variable (byte) KEY_ASTERISK and assignment [115] (byte) KEY_ASTERISK ← (byte/signed byte/word/signed word/dword/signed dword) 49 -Eliminating unused variable (byte) KEY_SEMICOLON and assignment [116] (byte) KEY_SEMICOLON ← (byte/signed byte/word/signed word/dword/signed dword) 50 -Eliminating unused variable (byte) KEY_EQUALS and assignment [117] (byte) KEY_EQUALS ← (byte/signed byte/word/signed word/dword/signed dword) 53 -Eliminating unused variable (byte) KEY_ARROW_UP and assignment [118] (byte) KEY_ARROW_UP ← (byte/signed byte/word/signed word/dword/signed dword) 54 -Eliminating unused variable (byte) KEY_SLASH and assignment [119] (byte) KEY_SLASH ← (byte/signed byte/word/signed word/dword/signed dword) 55 -Eliminating unused variable (byte) KEY_1 and assignment [120] (byte) KEY_1 ← (byte/signed byte/word/signed word/dword/signed dword) 56 -Eliminating unused variable (byte) KEY_ARROW_LEFT and assignment [121] (byte) KEY_ARROW_LEFT ← (byte/signed byte/word/signed word/dword/signed dword) 57 -Eliminating unused variable (byte) KEY_2 and assignment [122] (byte) KEY_2 ← (byte/signed byte/word/signed word/dword/signed dword) 59 -Eliminating unused variable (byte) KEY_Q and assignment [124] (byte) KEY_Q ← (byte/signed byte/word/signed word/dword/signed dword) 62 -Creating constant string variable for inline (const string) $21 "C64DTV Graphics Modes EMBLHCC@" -Creating constant string variable for inline (const string) $22 " CCMIIHO@" -Creating constant string variable for inline (const string) $23 " MMMNCUL@" -Creating constant string variable for inline (const string) $24 "----------------------------------------@" -Creating constant string variable for inline (const string) $25 "1. Standard Char (V) 0000000@" -Creating constant string variable for inline (const string) $26 "2. Extended Color Char (V) 1000000@" -Creating constant string variable for inline (const string) $27 "3. Multicolor Char (V) 0100000@" -Creating constant string variable for inline (const string) $28 "4. Standard Bitmap (V) 0010000@" -Creating constant string variable for inline (const string) $29 "5. Multicolor Bitmap (V) 0110000@" -Creating constant string variable for inline (const string) $30 "6. High Color Standard Char (H) 0000100@" -Creating constant string variable for inline (const string) $31 "7. High Extended Color Char (H) 1000100@" -Creating constant string variable for inline (const string) $32 "8. High Multicolor Char (H) 0100100@" -Creating constant string variable for inline (const string) $33 "9. High Multicolor Bitmap (H) 0110100@" -Creating constant string variable for inline (const string) $34 "a. Sixs Fred (D) 1111100@" -Creating constant string variable for inline (const string) $35 "b. Sixs Fred 2 (D) 1111000@" -Creating constant string variable for inline (const string) $36 "c. Two Plane Bitmap (D) 1011100@" -Creating constant string variable for inline (const string) $37 "d. Two Plane Multicol Bitmap (D) 1111100@" -Creating constant string variable for inline (const string) $38 "e. 8bpp Pixel Cell (D) 1101110@" -Creating constant string variable for inline (const string) $39 "f. Chunky 8bpp Bitmap (D) 1101111@" -Creating constant string variable for inline (const string) $40 "----------------------------------------@" -Creating constant string variable for inline (const string) $41 " (V) vicII (H) vicII+hicol (D) c64dtv@" -Creating constant string variable for inline (const string) $42 "@" +Eliminating unused variable - keeping the call (void~) menu::$33 +Eliminating unused variable (byte) KEY_3 and assignment [76] (byte) KEY_3 ← (byte/signed byte/word/signed word/dword/signed dword) 8 +Eliminating unused variable (byte) KEY_W and assignment [77] (byte) KEY_W ← (byte/signed byte/word/signed word/dword/signed dword) 9 +Eliminating unused variable (byte) KEY_A and assignment [78] (byte) KEY_A ← (byte/signed byte/word/signed word/dword/signed dword) 10 +Eliminating unused variable (byte) KEY_4 and assignment [79] (byte) KEY_4 ← (byte/signed byte/word/signed word/dword/signed dword) 11 +Eliminating unused variable (byte) KEY_Z and assignment [80] (byte) KEY_Z ← (byte/signed byte/word/signed word/dword/signed dword) 12 +Eliminating unused variable (byte) KEY_S and assignment [81] (byte) KEY_S ← (byte/signed byte/word/signed word/dword/signed dword) 13 +Eliminating unused variable (byte) KEY_E and assignment [82] (byte) KEY_E ← (byte/signed byte/word/signed word/dword/signed dword) 14 +Eliminating unused variable (byte) KEY_5 and assignment [83] (byte) KEY_5 ← (byte/signed byte/word/signed word/dword/signed dword) 16 +Eliminating unused variable (byte) KEY_R and assignment [84] (byte) KEY_R ← (byte/signed byte/word/signed word/dword/signed dword) 17 +Eliminating unused variable (byte) KEY_D and assignment [85] (byte) KEY_D ← (byte/signed byte/word/signed word/dword/signed dword) 18 +Eliminating unused variable (byte) KEY_6 and assignment [86] (byte) KEY_6 ← (byte/signed byte/word/signed word/dword/signed dword) 19 +Eliminating unused variable (byte) KEY_F and assignment [88] (byte) KEY_F ← (byte/signed byte/word/signed word/dword/signed dword) 21 +Eliminating unused variable (byte) KEY_T and assignment [89] (byte) KEY_T ← (byte/signed byte/word/signed word/dword/signed dword) 22 +Eliminating unused variable (byte) KEY_X and assignment [90] (byte) KEY_X ← (byte/signed byte/word/signed word/dword/signed dword) 23 +Eliminating unused variable (byte) KEY_7 and assignment [91] (byte) KEY_7 ← (byte/signed byte/word/signed word/dword/signed dword) 24 +Eliminating unused variable (byte) KEY_Y and assignment [92] (byte) KEY_Y ← (byte/signed byte/word/signed word/dword/signed dword) 25 +Eliminating unused variable (byte) KEY_G and assignment [93] (byte) KEY_G ← (byte/signed byte/word/signed word/dword/signed dword) 26 +Eliminating unused variable (byte) KEY_8 and assignment [94] (byte) KEY_8 ← (byte/signed byte/word/signed word/dword/signed dword) 27 +Eliminating unused variable (byte) KEY_H and assignment [96] (byte) KEY_H ← (byte/signed byte/word/signed word/dword/signed dword) 29 +Eliminating unused variable (byte) KEY_U and assignment [97] (byte) KEY_U ← (byte/signed byte/word/signed word/dword/signed dword) 30 +Eliminating unused variable (byte) KEY_V and assignment [98] (byte) KEY_V ← (byte/signed byte/word/signed word/dword/signed dword) 31 +Eliminating unused variable (byte) KEY_9 and assignment [99] (byte) KEY_9 ← (byte/signed byte/word/signed word/dword/signed dword) 32 +Eliminating unused variable (byte) KEY_I and assignment [100] (byte) KEY_I ← (byte/signed byte/word/signed word/dword/signed dword) 33 +Eliminating unused variable (byte) KEY_J and assignment [101] (byte) KEY_J ← (byte/signed byte/word/signed word/dword/signed dword) 34 +Eliminating unused variable (byte) KEY_0 and assignment [102] (byte) KEY_0 ← (byte/signed byte/word/signed word/dword/signed dword) 35 +Eliminating unused variable (byte) KEY_M and assignment [103] (byte) KEY_M ← (byte/signed byte/word/signed word/dword/signed dword) 36 +Eliminating unused variable (byte) KEY_K and assignment [104] (byte) KEY_K ← (byte/signed byte/word/signed word/dword/signed dword) 37 +Eliminating unused variable (byte) KEY_O and assignment [105] (byte) KEY_O ← (byte/signed byte/word/signed word/dword/signed dword) 38 +Eliminating unused variable (byte) KEY_N and assignment [106] (byte) KEY_N ← (byte/signed byte/word/signed word/dword/signed dword) 39 +Eliminating unused variable (byte) KEY_PLUS and assignment [107] (byte) KEY_PLUS ← (byte/signed byte/word/signed word/dword/signed dword) 40 +Eliminating unused variable (byte) KEY_P and assignment [108] (byte) KEY_P ← (byte/signed byte/word/signed word/dword/signed dword) 41 +Eliminating unused variable (byte) KEY_L and assignment [109] (byte) KEY_L ← (byte/signed byte/word/signed word/dword/signed dword) 42 +Eliminating unused variable (byte) KEY_MINUS and assignment [110] (byte) KEY_MINUS ← (byte/signed byte/word/signed word/dword/signed dword) 43 +Eliminating unused variable (byte) KEY_DOT and assignment [111] (byte) KEY_DOT ← (byte/signed byte/word/signed word/dword/signed dword) 44 +Eliminating unused variable (byte) KEY_COLON and assignment [112] (byte) KEY_COLON ← (byte/signed byte/word/signed word/dword/signed dword) 45 +Eliminating unused variable (byte) KEY_AT and assignment [113] (byte) KEY_AT ← (byte/signed byte/word/signed word/dword/signed dword) 46 +Eliminating unused variable (byte) KEY_COMMA and assignment [114] (byte) KEY_COMMA ← (byte/signed byte/word/signed word/dword/signed dword) 47 +Eliminating unused variable (byte) KEY_POUND and assignment [115] (byte) KEY_POUND ← (byte/signed byte/word/signed word/dword/signed dword) 48 +Eliminating unused variable (byte) KEY_ASTERISK and assignment [116] (byte) KEY_ASTERISK ← (byte/signed byte/word/signed word/dword/signed dword) 49 +Eliminating unused variable (byte) KEY_SEMICOLON and assignment [117] (byte) KEY_SEMICOLON ← (byte/signed byte/word/signed word/dword/signed dword) 50 +Eliminating unused variable (byte) KEY_EQUALS and assignment [118] (byte) KEY_EQUALS ← (byte/signed byte/word/signed word/dword/signed dword) 53 +Eliminating unused variable (byte) KEY_ARROW_UP and assignment [119] (byte) KEY_ARROW_UP ← (byte/signed byte/word/signed word/dword/signed dword) 54 +Eliminating unused variable (byte) KEY_SLASH and assignment [120] (byte) KEY_SLASH ← (byte/signed byte/word/signed word/dword/signed dword) 55 +Eliminating unused variable (byte) KEY_1 and assignment [121] (byte) KEY_1 ← (byte/signed byte/word/signed word/dword/signed dword) 56 +Eliminating unused variable (byte) KEY_ARROW_LEFT and assignment [122] (byte) KEY_ARROW_LEFT ← (byte/signed byte/word/signed word/dword/signed dword) 57 +Eliminating unused variable (byte) KEY_2 and assignment [123] (byte) KEY_2 ← (byte/signed byte/word/signed word/dword/signed dword) 59 +Eliminating unused variable (byte) KEY_Q and assignment [125] (byte) KEY_Q ← (byte/signed byte/word/signed word/dword/signed dword) 62 +Creating constant string variable for inline (const string) $20 "C64DTV Graphics Modes CCLHBME@" +Creating constant string variable for inline (const string) $21 " OHIIMCC@" +Creating constant string variable for inline (const string) $22 " LUNCMMM@" +Creating constant string variable for inline (const string) $23 "----------------------------------------@" +Creating constant string variable for inline (const string) $24 "1. Standard Char (V) 0000000@" +Creating constant string variable for inline (const string) $25 "2. Extended Color Char (V) 0000001@" +Creating constant string variable for inline (const string) $26 "3. Multicolor Char (V) 0000010@" +Creating constant string variable for inline (const string) $27 "4. Standard Bitmap (V) 0000100@" +Creating constant string variable for inline (const string) $28 "5. Multicolor Bitmap (V) 0000110@" +Creating constant string variable for inline (const string) $29 "6. High Color Standard Char (H) 0001000@" +Creating constant string variable for inline (const string) $30 "7. High Extended Color Char (H) 0001001@" +Creating constant string variable for inline (const string) $31 "8. High Multicolor Char (H) 0001010@" +Creating constant string variable for inline (const string) $32 "9. High Multicolor Bitmap (H) 0001110@" +Creating constant string variable for inline (const string) $33 "a. Sixs Fred 2 (D) 0010111@" +Creating constant string variable for inline (const string) $34 "b. Two Plane Bitmap (D) 0011101@" +Creating constant string variable for inline (const string) $35 "c. Sixs Fred (2 Plane MC BM) (D) 0011111@" +Creating constant string variable for inline (const string) $36 "d. 8bpp Pixel Cell (D) 0111011@" +Creating constant string variable for inline (const string) $37 "e. Chunky 8bpp Bitmap (D) 1111011@" +Creating constant string variable for inline (const string) $38 "----------------------------------------@" +Creating constant string variable for inline (const string) $39 " (V) vicII (H) vicII+hicol (D) c64dtv@" +Creating constant string variable for inline (const string) $40 "@" Removing empty block print_str_lines::@6 Removing empty block print_str_lines::@3 Removing empty block print_str_lines::@7 @@ -2517,11 +2917,12 @@ Removing empty block main::@4 Removing empty block main::@3 Removing empty block main::@5 Removing empty block main::@6 -Removing empty block menu::@9 -Removing empty block menu::@5 Removing empty block menu::@10 -Removing empty block menu::@12 +Removing empty block menu::@5 +Removing empty block menu::@11 Removing empty block menu::@13 +Removing empty block menu::@15 +Removing empty block menu::@16 Removing empty block mode_twoplanebitmap::@18 Removing empty block mode_twoplanebitmap::@22 Removing empty block mode_twoplanebitmap::@23 @@ -2530,6 +2931,13 @@ Removing empty block mode_twoplanebitmap::@24 Removing empty block mode_twoplanebitmap::@25 Removing empty block mode_twoplanebitmap::@26 Removing empty block mode_twoplanebitmap::@27 +Removing empty block mode_sixsfred::@18 +Removing empty block mode_sixsfred::@19 +Removing empty block mode_sixsfred::@10 +Removing empty block mode_sixsfred::@20 +Removing empty block mode_sixsfred::@21 +Removing empty block mode_sixsfred::@22 +Removing empty block mode_sixsfred::@23 PROCEDURE MODIFY VARIABLE ANALYSIS print_str_lines modifies print_char_cursor print_str_lines modifies print_line_cursor @@ -2566,6 +2974,7 @@ CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN (byte) VIC_DEN#0 ← (byte/signed byte/word/signed word/dword/signed dword) 16 (byte) VIC_RSEL#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 (byte*) VIC_CONTROL2#0 ← ((byte*)) (word/dword/signed dword) 53270 + (byte) VIC_MCM#0 ← (byte/signed byte/word/signed word/dword/signed dword) 16 (byte) VIC_CSEL#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 (byte*) VIC_MEMORY#0 ← ((byte*)) (word/dword/signed dword) 53272 (byte*) COLS#0 ← ((byte*)) (word/dword/signed dword) 55296 @@ -2600,26 +3009,26 @@ CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN (byte*) print_line_cursor#0 ← (byte*) print_screen#0 (byte*) print_char_cursor#0 ← (byte*) print_line_cursor#0 to:@14 -print_str_lines: scope:[print_str_lines] from menu::@15 - (byte*) print_line_cursor#39 ← phi( menu::@15/(byte*) print_line_cursor#12 ) - (byte*) print_char_cursor#41 ← phi( menu::@15/(byte*) print_char_cursor#13 ) - (byte*) print_str_lines::str#4 ← phi( menu::@15/(byte*) print_str_lines::str#1 ) +print_str_lines: scope:[print_str_lines] from menu::@18 + (byte*) print_line_cursor#40 ← phi( menu::@18/(byte*) print_line_cursor#12 ) + (byte*) print_char_cursor#42 ← phi( menu::@18/(byte*) print_char_cursor#13 ) + (byte*) print_str_lines::str#4 ← phi( menu::@18/(byte*) print_str_lines::str#1 ) to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@11 - (byte*) print_line_cursor#31 ← phi( print_str_lines/(byte*) print_line_cursor#39 print_str_lines::@11/(byte*) print_line_cursor#1 ) - (byte*) print_char_cursor#33 ← phi( print_str_lines/(byte*) print_char_cursor#41 print_str_lines::@11/(byte*) print_char_cursor#2 ) + (byte*) print_line_cursor#31 ← phi( print_str_lines/(byte*) print_line_cursor#40 print_str_lines::@11/(byte*) print_line_cursor#1 ) + (byte*) print_char_cursor#33 ← phi( print_str_lines/(byte*) print_char_cursor#42 print_str_lines::@11/(byte*) print_char_cursor#2 ) (byte*) print_str_lines::str#2 ← phi( print_str_lines/(byte*) print_str_lines::str#4 print_str_lines::@11/(byte*) print_str_lines::str#5 ) (boolean~) print_str_lines::$0 ← *((byte*) print_str_lines::str#2) != (byte) '@' if((boolean~) print_str_lines::$0) goto print_str_lines::@2 to:print_str_lines::@return print_str_lines::@2: scope:[print_str_lines] from print_str_lines::@1 - (byte*) print_line_cursor#51 ← phi( print_str_lines::@1/(byte*) print_line_cursor#31 ) - (byte*) print_char_cursor#42 ← phi( print_str_lines::@1/(byte*) print_char_cursor#33 ) + (byte*) print_line_cursor#54 ← phi( print_str_lines::@1/(byte*) print_line_cursor#31 ) + (byte*) print_char_cursor#43 ← phi( print_str_lines::@1/(byte*) print_char_cursor#33 ) (byte*) print_str_lines::str#6 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#2 ) to:print_str_lines::@4 print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@2 print_str_lines::@5 - (byte*) print_line_cursor#46 ← phi( print_str_lines::@2/(byte*) print_line_cursor#51 print_str_lines::@5/(byte*) print_line_cursor#40 ) - (byte*) print_char_cursor#31 ← phi( print_str_lines::@2/(byte*) print_char_cursor#42 print_str_lines::@5/(byte*) print_char_cursor#43 ) + (byte*) print_line_cursor#48 ← phi( print_str_lines::@2/(byte*) print_line_cursor#54 print_str_lines::@5/(byte*) print_line_cursor#41 ) + (byte*) print_char_cursor#31 ← phi( print_str_lines::@2/(byte*) print_char_cursor#43 print_str_lines::@5/(byte*) print_char_cursor#44 ) (byte*) print_str_lines::str#3 ← phi( print_str_lines::@2/(byte*) print_str_lines::str#6 print_str_lines::@5/(byte*) print_str_lines::str#7 ) (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 @@ -2628,15 +3037,15 @@ print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@2 print_str if((boolean~) print_str_lines::$2) goto print_str_lines::@5 to:print_str_lines::@8 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@4 print_str_lines::@8 - (byte*) print_line_cursor#40 ← phi( print_str_lines::@4/(byte*) print_line_cursor#46 print_str_lines::@8/(byte*) print_line_cursor#47 ) - (byte*) print_char_cursor#43 ← phi( print_str_lines::@4/(byte*) print_char_cursor#31 print_str_lines::@8/(byte*) print_char_cursor#1 ) + (byte*) print_line_cursor#41 ← phi( print_str_lines::@4/(byte*) print_line_cursor#48 print_str_lines::@8/(byte*) print_line_cursor#49 ) + (byte*) print_char_cursor#44 ← phi( print_str_lines::@4/(byte*) print_char_cursor#31 print_str_lines::@8/(byte*) print_char_cursor#1 ) (byte*) print_str_lines::str#7 ← phi( print_str_lines::@4/(byte*) print_str_lines::str#0 print_str_lines::@8/(byte*) print_str_lines::str#8 ) (byte) print_str_lines::ch#1 ← phi( print_str_lines::@4/(byte) print_str_lines::ch#0 print_str_lines::@8/(byte) print_str_lines::ch#2 ) (boolean~) print_str_lines::$3 ← (byte) print_str_lines::ch#1 != (byte) '@' if((boolean~) print_str_lines::$3) goto print_str_lines::@4 to:print_str_lines::@9 print_str_lines::@8: scope:[print_str_lines] from print_str_lines::@4 - (byte*) print_line_cursor#47 ← phi( print_str_lines::@4/(byte*) print_line_cursor#46 ) + (byte*) print_line_cursor#49 ← phi( print_str_lines::@4/(byte*) print_line_cursor#48 ) (byte*) print_str_lines::str#8 ← phi( print_str_lines::@4/(byte*) print_str_lines::str#0 ) (byte*) print_char_cursor#17 ← phi( print_str_lines::@4/(byte*) print_char_cursor#31 ) (byte) print_str_lines::ch#2 ← phi( print_str_lines::@4/(byte) print_str_lines::ch#0 ) @@ -2645,8 +3054,8 @@ print_str_lines::@8: scope:[print_str_lines] from print_str_lines::@4 to:print_str_lines::@5 print_str_lines::@9: scope:[print_str_lines] from print_str_lines::@5 (byte*) print_str_lines::str#9 ← phi( print_str_lines::@5/(byte*) print_str_lines::str#7 ) - (byte*) print_char_cursor#32 ← phi( print_str_lines::@5/(byte*) print_char_cursor#43 ) - (byte*) print_line_cursor#30 ← phi( print_str_lines::@5/(byte*) print_line_cursor#40 ) + (byte*) print_char_cursor#32 ← phi( print_str_lines::@5/(byte*) print_char_cursor#44 ) + (byte*) print_line_cursor#30 ← phi( print_str_lines::@5/(byte*) print_line_cursor#41 ) call print_ln param-assignment to:print_str_lines::@11 print_str_lines::@11: scope:[print_str_lines] from print_str_lines::@9 @@ -2686,8 +3095,8 @@ print_ln::@return: scope:[print_ln] from print_ln::@2 (byte*) print_char_cursor#5 ← (byte*) print_char_cursor#21 return to:@return -print_cls: scope:[print_cls] from menu::@14 - (byte*) print_screen#8 ← phi( menu::@14/(byte*) print_screen#5 ) +print_cls: scope:[print_cls] from menu::@17 + (byte*) print_screen#8 ← phi( menu::@17/(byte*) print_screen#5 ) (byte*) print_cls::sc#0 ← (byte*) print_screen#8 to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 @@ -2711,8 +3120,8 @@ print_cls::@return: scope:[print_cls] from print_cls::@2 (byte*) print_char_cursor#7 ← (byte*) print_char_cursor#22 return to:@return -print_set_screen: scope:[print_set_screen] from menu::@8 - (byte*) print_set_screen::screen#1 ← phi( menu::@8/(byte*) print_set_screen::screen#0 ) +print_set_screen: scope:[print_set_screen] from menu::@9 + (byte*) print_set_screen::screen#1 ← phi( menu::@9/(byte*) print_set_screen::screen#0 ) (byte*) print_screen#1 ← (byte*) print_set_screen::screen#1 (byte*) print_line_cursor#7 ← (byte*) print_screen#1 (byte*) print_char_cursor#8 ← (byte*) print_line_cursor#7 @@ -2727,10 +3136,11 @@ print_set_screen::@return: scope:[print_set_screen] from print_set_screen return to:@return @14: scope:[] from @begin - (byte*) print_char_cursor#52 ← phi( @begin/(byte*) print_char_cursor#0 ) - (byte*) print_line_cursor#52 ← phi( @begin/(byte*) print_line_cursor#0 ) - (byte*) print_screen#33 ← phi( @begin/(byte*) print_screen#0 ) + (byte*) print_char_cursor#59 ← phi( @begin/(byte*) print_char_cursor#0 ) + (byte*) print_line_cursor#59 ← phi( @begin/(byte*) print_line_cursor#0 ) + (byte*) print_screen#40 ← phi( @begin/(byte*) print_screen#0 ) (byte) KEY_C#0 ← (byte/signed byte/word/signed word/dword/signed dword) 20 + (byte) KEY_B#0 ← (byte/signed byte/word/signed word/dword/signed dword) 28 (byte) KEY_SPACE#0 ← (byte/signed byte/word/signed word/dword/signed dword) 60 (byte[8]) keyboard_matrix_row_bitmask#0 ← { (byte/word/signed word/dword/signed dword) 254, (byte/word/signed word/dword/signed dword) 253, (byte/word/signed word/dword/signed dword) 251, (byte/word/signed word/dword/signed dword) 247, (byte/word/signed word/dword/signed dword) 239, (byte/word/signed word/dword/signed dword) 223, (byte/word/signed word/dword/signed dword) 191, (byte/signed byte/word/signed word/dword/signed dword) 127 } (byte[]) keyboard_matrix_col_bitmask#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 32, (byte/signed byte/word/signed word/dword/signed dword) 64, (byte/word/signed word/dword/signed dword) 128 } @@ -2747,11 +3157,11 @@ keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matri (byte) keyboard_matrix_read::return#1 ← (byte) keyboard_matrix_read::return#3 return to:@return -keyboard_key_pressed: scope:[keyboard_key_pressed] from menu::@4 mode_twoplanebitmap::@11 - (byte) keyboard_key_pressed::key#2 ← phi( menu::@4/(byte) keyboard_key_pressed::key#0 mode_twoplanebitmap::@11/(byte) keyboard_key_pressed::key#1 ) - (byte~) keyboard_key_pressed::$0 ← (byte) keyboard_key_pressed::key#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 +keyboard_key_pressed: scope:[keyboard_key_pressed] from menu::@4 menu::@6 mode_sixsfred::@9 mode_twoplanebitmap::@11 + (byte) keyboard_key_pressed::key#4 ← phi( menu::@4/(byte) keyboard_key_pressed::key#0 menu::@6/(byte) keyboard_key_pressed::key#1 mode_sixsfred::@9/(byte) keyboard_key_pressed::key#3 mode_twoplanebitmap::@11/(byte) keyboard_key_pressed::key#2 ) + (byte~) keyboard_key_pressed::$0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 (byte) keyboard_key_pressed::colidx#0 ← (byte~) keyboard_key_pressed::$0 - (byte~) keyboard_key_pressed::$1 ← (byte) keyboard_key_pressed::key#2 >> (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte~) keyboard_key_pressed::$1 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 (byte) keyboard_key_pressed::rowidx#0 ← (byte~) keyboard_key_pressed::$1 (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 call keyboard_matrix_read param-assignment @@ -2765,21 +3175,21 @@ keyboard_key_pressed::@2: scope:[keyboard_key_pressed] from keyboard_key_presse (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$3 to:keyboard_key_pressed::@return keyboard_key_pressed::@return: scope:[keyboard_key_pressed] from keyboard_key_pressed::@2 - (byte) keyboard_key_pressed::return#4 ← phi( keyboard_key_pressed::@2/(byte) keyboard_key_pressed::return#0 ) - (byte) keyboard_key_pressed::return#1 ← (byte) keyboard_key_pressed::return#4 + (byte) keyboard_key_pressed::return#6 ← phi( keyboard_key_pressed::@2/(byte) keyboard_key_pressed::return#0 ) + (byte) keyboard_key_pressed::return#1 ← (byte) keyboard_key_pressed::return#6 return to:@return -main: scope:[main] from @21 - (byte*) print_char_cursor#44 ← phi( @21/(byte*) print_char_cursor#40 ) - (byte*) print_line_cursor#41 ← phi( @21/(byte*) print_line_cursor#38 ) - (byte*) print_screen#23 ← phi( @21/(byte*) print_screen#22 ) +main: scope:[main] from @22 + (byte*) print_char_cursor#45 ← phi( @22/(byte*) print_char_cursor#41 ) + (byte*) print_line_cursor#42 ← phi( @22/(byte*) print_line_cursor#39 ) + (byte*) print_screen#24 ← phi( @22/(byte*) print_screen#23 ) asm { sei } *((byte*) DTV_FEATURE#0) ← (byte) DTV_FEATURE_ENABLE#0 to:main::@1 main::@1: scope:[main] from main main::@7 - (byte*) print_char_cursor#36 ← phi( main/(byte*) print_char_cursor#44 main::@7/(byte*) print_char_cursor#10 ) - (byte*) print_line_cursor#34 ← phi( main/(byte*) print_line_cursor#41 main::@7/(byte*) print_line_cursor#9 ) - (byte*) print_screen#18 ← phi( main/(byte*) print_screen#23 main::@7/(byte*) print_screen#3 ) + (byte*) print_char_cursor#36 ← phi( main/(byte*) print_char_cursor#45 main::@7/(byte*) print_char_cursor#10 ) + (byte*) print_line_cursor#34 ← phi( main/(byte*) print_line_cursor#42 main::@7/(byte*) print_line_cursor#9 ) + (byte*) print_screen#18 ← phi( main/(byte*) print_screen#24 main::@7/(byte*) print_screen#3 ) if(true) goto main::@2 to:main::@return main::@2: scope:[main] from main::@1 @@ -2806,39 +3216,38 @@ main::@return: scope:[main] from main::@1 return to:@return @19: scope:[] from @14 - (byte*) print_char_cursor#51 ← phi( @14/(byte*) print_char_cursor#52 ) - (byte*) print_line_cursor#50 ← phi( @14/(byte*) print_line_cursor#52 ) - (byte*) print_screen#32 ← phi( @14/(byte*) print_screen#33 ) + (byte*) print_char_cursor#58 ← phi( @14/(byte*) print_char_cursor#59 ) + (byte*) print_line_cursor#58 ← phi( @14/(byte*) print_line_cursor#59 ) + (byte*) print_screen#39 ← phi( @14/(byte*) print_screen#40 ) (byte*) MENU_SCREEN#0 ← ((byte*)) (word/dword/signed dword) 32768 (byte*) MENU_CHARSET#0 ← ((byte*)) (word/dword/signed dword) 38912 - (string~) $0 ← (const string) $21 + (const string) $22 - (string~) $1 ← (string~) $0 + (const string) $23 - (string~) $2 ← (string~) $1 + (const string) $24 - (string~) $3 ← (string~) $2 + (const string) $25 - (string~) $4 ← (string~) $3 + (const string) $26 - (string~) $5 ← (string~) $4 + (const string) $27 - (string~) $6 ← (string~) $5 + (const string) $28 - (string~) $7 ← (string~) $6 + (const string) $29 - (string~) $8 ← (string~) $7 + (const string) $30 - (string~) $9 ← (string~) $8 + (const string) $31 - (string~) $10 ← (string~) $9 + (const string) $32 - (string~) $11 ← (string~) $10 + (const string) $33 - (string~) $12 ← (string~) $11 + (const string) $34 - (string~) $13 ← (string~) $12 + (const string) $35 - (string~) $14 ← (string~) $13 + (const string) $36 - (string~) $15 ← (string~) $14 + (const string) $37 - (string~) $16 ← (string~) $15 + (const string) $38 - (string~) $17 ← (string~) $16 + (const string) $39 - (string~) $18 ← (string~) $17 + (const string) $40 - (string~) $19 ← (string~) $18 + (const string) $41 - (string~) $20 ← (string~) $19 + (const string) $42 - (byte[]) MENU_TEXT#0 ← (string~) $20 + (string~) $0 ← (const string) $20 + (const string) $21 + (string~) $1 ← (string~) $0 + (const string) $22 + (string~) $2 ← (string~) $1 + (const string) $23 + (string~) $3 ← (string~) $2 + (const string) $24 + (string~) $4 ← (string~) $3 + (const string) $25 + (string~) $5 ← (string~) $4 + (const string) $26 + (string~) $6 ← (string~) $5 + (const string) $27 + (string~) $7 ← (string~) $6 + (const string) $28 + (string~) $8 ← (string~) $7 + (const string) $29 + (string~) $9 ← (string~) $8 + (const string) $30 + (string~) $10 ← (string~) $9 + (const string) $31 + (string~) $11 ← (string~) $10 + (const string) $32 + (string~) $12 ← (string~) $11 + (const string) $33 + (string~) $13 ← (string~) $12 + (const string) $34 + (string~) $14 ← (string~) $13 + (const string) $35 + (string~) $15 ← (string~) $14 + (const string) $36 + (string~) $16 ← (string~) $15 + (const string) $37 + (string~) $17 ← (string~) $16 + (const string) $38 + (string~) $18 ← (string~) $17 + (const string) $39 + (string~) $19 ← (string~) $18 + (const string) $40 + (byte[]) MENU_TEXT#0 ← (string~) $19 (dword) DTV_COLOR_BANK_DEFAULT#0 ← (dword/signed dword) 120832 to:@20 menu: scope:[menu] from main::@2 - (byte*) print_char_cursor#55 ← phi( main::@2/(byte*) print_char_cursor#35 ) - (byte*) print_line_cursor#55 ← phi( main::@2/(byte*) print_line_cursor#33 ) - (byte*) print_screen#36 ← phi( main::@2/(byte*) print_screen#17 ) + (byte*) print_char_cursor#60 ← phi( main::@2/(byte*) print_char_cursor#35 ) + (byte*) print_line_cursor#60 ← phi( main::@2/(byte*) print_line_cursor#33 ) + (byte*) print_screen#41 ← phi( main::@2/(byte*) print_screen#17 ) (dword~) menu::$0 ← ((dword)) (byte*) MENU_CHARSET#0 (dword~) menu::$1 ← (dword~) menu::$0 / (dword/signed dword) 65536 (byte~) menu::$2 ← ((byte)) (dword~) menu::$1 @@ -2871,124 +3280,153 @@ menu: scope:[menu] from main::@2 (byte) menu::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:menu::@1 menu::@1: scope:[menu] from menu menu::@1 - (byte*) print_char_cursor#53 ← phi( menu/(byte*) print_char_cursor#55 menu::@1/(byte*) print_char_cursor#53 ) - (byte*) print_line_cursor#53 ← phi( menu/(byte*) print_line_cursor#55 menu::@1/(byte*) print_line_cursor#53 ) - (byte*) print_screen#34 ← phi( menu/(byte*) print_screen#36 menu::@1/(byte*) print_screen#34 ) + (byte*) print_char_cursor#55 ← phi( menu/(byte*) print_char_cursor#60 menu::@1/(byte*) print_char_cursor#55 ) + (byte*) print_line_cursor#55 ← phi( menu/(byte*) print_line_cursor#60 menu::@1/(byte*) print_line_cursor#55 ) + (byte*) print_screen#36 ← phi( menu/(byte*) print_screen#41 menu::@1/(byte*) print_screen#36 ) (byte) menu::i#2 ← phi( menu/(byte) menu::i#0 menu::@1/(byte) menu::i#1 ) *((byte*) DTV_PALETTE#0 + (byte) menu::i#2) ← *((byte[16]) DTV_PALETTE_DEFAULT#0 + (byte) menu::i#2) (byte) menu::i#1 ← ++ (byte) menu::i#2 (boolean~) menu::$20 ← (byte) menu::i#1 != (byte/signed byte/word/signed word/dword/signed dword) 16 if((boolean~) menu::$20) goto menu::@1 - to:menu::@7 -menu::@7: scope:[menu] from menu::@1 - (byte*) print_char_cursor#49 ← phi( menu::@1/(byte*) print_char_cursor#53 ) - (byte*) print_line_cursor#48 ← phi( menu::@1/(byte*) print_line_cursor#53 ) - (byte*) print_screen#29 ← phi( menu::@1/(byte*) print_screen#34 ) + to:menu::@8 +menu::@8: scope:[menu] from menu::@1 + (byte*) print_char_cursor#51 ← phi( menu::@1/(byte*) print_char_cursor#55 ) + (byte*) print_line_cursor#50 ← phi( menu::@1/(byte*) print_line_cursor#55 ) + (byte*) print_screen#31 ← phi( menu::@1/(byte*) print_screen#36 ) (byte*) menu::c#0 ← (byte*) COLS#0 to:menu::@2 -menu::@2: scope:[menu] from menu::@2 menu::@7 - (byte*) print_char_cursor#45 ← phi( menu::@2/(byte*) print_char_cursor#45 menu::@7/(byte*) print_char_cursor#49 ) - (byte*) print_line_cursor#42 ← phi( menu::@2/(byte*) print_line_cursor#42 menu::@7/(byte*) print_line_cursor#48 ) - (byte*) print_screen#24 ← phi( menu::@2/(byte*) print_screen#24 menu::@7/(byte*) print_screen#29 ) - (byte*) menu::c#2 ← phi( menu::@2/(byte*) menu::c#1 menu::@7/(byte*) menu::c#0 ) +menu::@2: scope:[menu] from menu::@2 menu::@8 + (byte*) print_char_cursor#46 ← phi( menu::@2/(byte*) print_char_cursor#46 menu::@8/(byte*) print_char_cursor#51 ) + (byte*) print_line_cursor#43 ← phi( menu::@2/(byte*) print_line_cursor#43 menu::@8/(byte*) print_line_cursor#50 ) + (byte*) print_screen#25 ← phi( menu::@2/(byte*) print_screen#25 menu::@8/(byte*) print_screen#31 ) + (byte*) menu::c#2 ← phi( menu::@2/(byte*) menu::c#1 menu::@8/(byte*) menu::c#0 ) *((byte*) menu::c#2) ← (byte) LIGHT_GREEN#0 (byte*) menu::c#1 ← ++ (byte*) menu::c#2 (byte*~) menu::$21 ← (byte*) COLS#0 + (word/signed word/dword/signed dword) 1000 (boolean~) menu::$22 ← (byte*) menu::c#1 != (byte*~) menu::$21 if((boolean~) menu::$22) goto menu::@2 - to:menu::@8 -menu::@8: scope:[menu] from menu::@2 - (byte*) print_char_cursor#37 ← phi( menu::@2/(byte*) print_char_cursor#45 ) - (byte*) print_line_cursor#35 ← phi( menu::@2/(byte*) print_line_cursor#42 ) - (byte*) print_screen#19 ← phi( menu::@2/(byte*) print_screen#24 ) + to:menu::@9 +menu::@9: scope:[menu] from menu::@2 + (byte*) print_char_cursor#37 ← phi( menu::@2/(byte*) print_char_cursor#46 ) + (byte*) print_line_cursor#35 ← phi( menu::@2/(byte*) print_line_cursor#43 ) + (byte*) print_screen#19 ← phi( menu::@2/(byte*) print_screen#25 ) *((byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 *((byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 (byte*) print_set_screen::screen#0 ← (byte*) MENU_SCREEN#0 call print_set_screen param-assignment - to:menu::@14 -menu::@14: scope:[menu] from menu::@8 - (byte*) print_char_cursor#26 ← phi( menu::@8/(byte*) print_char_cursor#9 ) - (byte*) print_line_cursor#25 ← phi( menu::@8/(byte*) print_line_cursor#8 ) - (byte*) print_screen#14 ← phi( menu::@8/(byte*) print_screen#2 ) + to:menu::@17 +menu::@17: scope:[menu] from menu::@9 + (byte*) print_char_cursor#26 ← phi( menu::@9/(byte*) print_char_cursor#9 ) + (byte*) print_line_cursor#25 ← phi( menu::@9/(byte*) print_line_cursor#8 ) + (byte*) print_screen#14 ← phi( menu::@9/(byte*) print_screen#2 ) (byte*) print_screen#5 ← (byte*) print_screen#14 (byte*) print_line_cursor#11 ← (byte*) print_line_cursor#25 (byte*) print_char_cursor#12 ← (byte*) print_char_cursor#26 call print_cls param-assignment - to:menu::@15 -menu::@15: scope:[menu] from menu::@14 - (byte*) print_screen#30 ← phi( menu::@14/(byte*) print_screen#5 ) - (byte*) print_char_cursor#27 ← phi( menu::@14/(byte*) print_char_cursor#7 ) - (byte*) print_line_cursor#26 ← phi( menu::@14/(byte*) print_line_cursor#6 ) + to:menu::@18 +menu::@18: scope:[menu] from menu::@17 + (byte*) print_screen#32 ← phi( menu::@17/(byte*) print_screen#5 ) + (byte*) print_char_cursor#27 ← phi( menu::@17/(byte*) print_char_cursor#7 ) + (byte*) print_line_cursor#26 ← phi( menu::@17/(byte*) print_line_cursor#6 ) (byte*) print_line_cursor#12 ← (byte*) print_line_cursor#26 (byte*) print_char_cursor#13 ← (byte*) print_char_cursor#27 (byte*) print_str_lines::str#1 ← (byte[]) MENU_TEXT#0 call print_str_lines param-assignment - to:menu::@16 -menu::@16: scope:[menu] from menu::@15 - (byte*) print_screen#25 ← phi( menu::@15/(byte*) print_screen#30 ) - (byte*) print_line_cursor#27 ← phi( menu::@15/(byte*) print_line_cursor#2 ) - (byte*) print_char_cursor#28 ← phi( menu::@15/(byte*) print_char_cursor#3 ) + to:menu::@19 +menu::@19: scope:[menu] from menu::@18 + (byte*) print_screen#26 ← phi( menu::@18/(byte*) print_screen#32 ) + (byte*) print_line_cursor#27 ← phi( menu::@18/(byte*) print_line_cursor#2 ) + (byte*) print_char_cursor#28 ← phi( menu::@18/(byte*) print_char_cursor#3 ) (byte*) print_char_cursor#14 ← (byte*) print_char_cursor#28 (byte*) print_line_cursor#13 ← (byte*) print_line_cursor#27 to:menu::@3 -menu::@3: scope:[menu] from menu::@16 menu::@6 - (byte*) print_char_cursor#39 ← phi( menu::@16/(byte*) print_char_cursor#14 menu::@6/(byte*) print_char_cursor#46 ) - (byte*) print_line_cursor#37 ← phi( menu::@16/(byte*) print_line_cursor#13 menu::@6/(byte*) print_line_cursor#43 ) - (byte*) print_screen#21 ← phi( menu::@16/(byte*) print_screen#25 menu::@6/(byte*) print_screen#26 ) +menu::@3: scope:[menu] from menu::@19 menu::@7 + (byte*) print_char_cursor#40 ← phi( menu::@19/(byte*) print_char_cursor#14 menu::@7/(byte*) print_char_cursor#47 ) + (byte*) print_line_cursor#38 ← phi( menu::@19/(byte*) print_line_cursor#13 menu::@7/(byte*) print_line_cursor#44 ) + (byte*) print_screen#22 ← phi( menu::@19/(byte*) print_screen#26 menu::@7/(byte*) print_screen#27 ) if(true) goto menu::@4 to:menu::@return menu::@4: scope:[menu] from menu::@3 - (byte*) print_char_cursor#54 ← phi( menu::@3/(byte*) print_char_cursor#39 ) - (byte*) print_line_cursor#54 ← phi( menu::@3/(byte*) print_line_cursor#37 ) - (byte*) print_screen#35 ← phi( menu::@3/(byte*) print_screen#21 ) - (byte) keyboard_key_pressed::key#0 ← (byte) KEY_C#0 + (byte*) print_char_cursor#56 ← phi( menu::@3/(byte*) print_char_cursor#40 ) + (byte*) print_line_cursor#56 ← phi( menu::@3/(byte*) print_line_cursor#38 ) + (byte*) print_screen#37 ← phi( menu::@3/(byte*) print_screen#22 ) + (byte) keyboard_key_pressed::key#0 ← (byte) KEY_B#0 call keyboard_key_pressed param-assignment (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#1 - to:menu::@17 -menu::@17: scope:[menu] from menu::@4 - (byte*) print_char_cursor#50 ← phi( menu::@4/(byte*) print_char_cursor#54 ) - (byte*) print_line_cursor#49 ← phi( menu::@4/(byte*) print_line_cursor#54 ) - (byte*) print_screen#31 ← phi( menu::@4/(byte*) print_screen#35 ) - (byte) keyboard_key_pressed::return#5 ← phi( menu::@4/(byte) keyboard_key_pressed::return#2 ) - (byte~) menu::$26 ← (byte) keyboard_key_pressed::return#5 + to:menu::@20 +menu::@20: scope:[menu] from menu::@4 + (byte*) print_char_cursor#52 ← phi( menu::@4/(byte*) print_char_cursor#56 ) + (byte*) print_line_cursor#51 ← phi( menu::@4/(byte*) print_line_cursor#56 ) + (byte*) print_screen#33 ← phi( menu::@4/(byte*) print_screen#37 ) + (byte) keyboard_key_pressed::return#7 ← phi( menu::@4/(byte) keyboard_key_pressed::return#2 ) + (byte~) menu::$26 ← (byte) keyboard_key_pressed::return#7 (boolean~) menu::$27 ← (byte~) menu::$26 != (byte/signed byte/word/signed word/dword/signed dword) 0 (boolean~) menu::$28 ← ! (boolean~) menu::$27 if((boolean~) menu::$28) goto menu::@6 - to:menu::@11 -menu::@6: scope:[menu] from menu::@17 - (byte*) print_char_cursor#46 ← phi( menu::@17/(byte*) print_char_cursor#50 ) - (byte*) print_line_cursor#43 ← phi( menu::@17/(byte*) print_line_cursor#49 ) - (byte*) print_screen#26 ← phi( menu::@17/(byte*) print_screen#31 ) - to:menu::@3 -menu::@11: scope:[menu] from menu::@17 - (byte*) print_char_cursor#47 ← phi( menu::@17/(byte*) print_char_cursor#50 ) - (byte*) print_line_cursor#44 ← phi( menu::@17/(byte*) print_line_cursor#49 ) - (byte*) print_screen#27 ← phi( menu::@17/(byte*) print_screen#31 ) + to:menu::@12 +menu::@6: scope:[menu] from menu::@20 + (byte*) print_char_cursor#57 ← phi( menu::@20/(byte*) print_char_cursor#52 ) + (byte*) print_line_cursor#57 ← phi( menu::@20/(byte*) print_line_cursor#51 ) + (byte*) print_screen#38 ← phi( menu::@20/(byte*) print_screen#33 ) + (byte) keyboard_key_pressed::key#1 ← (byte) KEY_C#0 + call keyboard_key_pressed param-assignment + (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#1 + to:menu::@21 +menu::@21: scope:[menu] from menu::@6 + (byte*) print_char_cursor#53 ← phi( menu::@6/(byte*) print_char_cursor#57 ) + (byte*) print_line_cursor#52 ← phi( menu::@6/(byte*) print_line_cursor#57 ) + (byte*) print_screen#34 ← phi( menu::@6/(byte*) print_screen#38 ) + (byte) keyboard_key_pressed::return#8 ← phi( menu::@6/(byte) keyboard_key_pressed::return#3 ) + (byte~) menu::$30 ← (byte) keyboard_key_pressed::return#8 + (boolean~) menu::$31 ← (byte~) menu::$30 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) menu::$32 ← ! (boolean~) menu::$31 + if((boolean~) menu::$32) goto menu::@7 + to:menu::@14 +menu::@12: scope:[menu] from menu::@20 + (byte*) print_char_cursor#48 ← phi( menu::@20/(byte*) print_char_cursor#52 ) + (byte*) print_line_cursor#45 ← phi( menu::@20/(byte*) print_line_cursor#51 ) + (byte*) print_screen#28 ← phi( menu::@20/(byte*) print_screen#33 ) call mode_twoplanebitmap param-assignment - to:menu::@18 -menu::@18: scope:[menu] from menu::@11 - (byte*) print_char_cursor#38 ← phi( menu::@11/(byte*) print_char_cursor#47 ) - (byte*) print_line_cursor#36 ← phi( menu::@11/(byte*) print_line_cursor#44 ) - (byte*) print_screen#20 ← phi( menu::@11/(byte*) print_screen#27 ) + to:menu::@22 +menu::@22: scope:[menu] from menu::@12 + (byte*) print_char_cursor#38 ← phi( menu::@12/(byte*) print_char_cursor#48 ) + (byte*) print_line_cursor#36 ← phi( menu::@12/(byte*) print_line_cursor#45 ) + (byte*) print_screen#20 ← phi( menu::@12/(byte*) print_screen#28 ) to:menu::@return -menu::@return: scope:[menu] from menu::@18 menu::@3 - (byte*) print_char_cursor#29 ← phi( menu::@18/(byte*) print_char_cursor#38 menu::@3/(byte*) print_char_cursor#39 ) - (byte*) print_line_cursor#28 ← phi( menu::@18/(byte*) print_line_cursor#36 menu::@3/(byte*) print_line_cursor#37 ) - (byte*) print_screen#15 ← phi( menu::@18/(byte*) print_screen#20 menu::@3/(byte*) print_screen#21 ) +menu::@return: scope:[menu] from menu::@22 menu::@23 menu::@3 + (byte*) print_char_cursor#29 ← phi( menu::@22/(byte*) print_char_cursor#38 menu::@23/(byte*) print_char_cursor#39 menu::@3/(byte*) print_char_cursor#40 ) + (byte*) print_line_cursor#28 ← phi( menu::@22/(byte*) print_line_cursor#36 menu::@23/(byte*) print_line_cursor#37 menu::@3/(byte*) print_line_cursor#38 ) + (byte*) print_screen#15 ← phi( menu::@22/(byte*) print_screen#20 menu::@23/(byte*) print_screen#21 menu::@3/(byte*) print_screen#22 ) (byte*) print_screen#6 ← (byte*) print_screen#15 (byte*) print_line_cursor#14 ← (byte*) print_line_cursor#28 (byte*) print_char_cursor#15 ← (byte*) print_char_cursor#29 return to:@return +menu::@7: scope:[menu] from menu::@21 + (byte*) print_char_cursor#47 ← phi( menu::@21/(byte*) print_char_cursor#53 ) + (byte*) print_line_cursor#44 ← phi( menu::@21/(byte*) print_line_cursor#52 ) + (byte*) print_screen#27 ← phi( menu::@21/(byte*) print_screen#34 ) + to:menu::@3 +menu::@14: scope:[menu] from menu::@21 + (byte*) print_char_cursor#49 ← phi( menu::@21/(byte*) print_char_cursor#53 ) + (byte*) print_line_cursor#46 ← phi( menu::@21/(byte*) print_line_cursor#52 ) + (byte*) print_screen#29 ← phi( menu::@21/(byte*) print_screen#34 ) + call mode_sixsfred param-assignment + to:menu::@23 +menu::@23: scope:[menu] from menu::@14 + (byte*) print_char_cursor#39 ← phi( menu::@14/(byte*) print_char_cursor#49 ) + (byte*) print_line_cursor#37 ← phi( menu::@14/(byte*) print_line_cursor#46 ) + (byte*) print_screen#21 ← phi( menu::@14/(byte*) print_screen#29 ) + to:menu::@return @20: scope:[] from @19 - (byte*) print_char_cursor#48 ← phi( @19/(byte*) print_char_cursor#51 ) - (byte*) print_line_cursor#45 ← phi( @19/(byte*) print_line_cursor#50 ) - (byte*) print_screen#28 ← phi( @19/(byte*) print_screen#32 ) + (byte*) print_char_cursor#54 ← phi( @19/(byte*) print_char_cursor#58 ) + (byte*) print_line_cursor#53 ← phi( @19/(byte*) print_line_cursor#58 ) + (byte*) print_screen#35 ← phi( @19/(byte*) print_screen#39 ) (byte*) TWOPLANE_PLANEA#0 ← ((byte*)) (word/signed word/dword/signed dword) 16384 (byte*) TWOPLANE_PLANEB#0 ← ((byte*)) (word/signed word/dword/signed dword) 24576 (byte*) TWOPLANE_COLORS#0 ← ((byte*)) (word/dword/signed dword) 32768 to:@21 -mode_twoplanebitmap: scope:[mode_twoplanebitmap] from menu::@11 +mode_twoplanebitmap: scope:[mode_twoplanebitmap] from menu::@12 (byte~) mode_twoplanebitmap::$0 ← (byte) DTV_CONTROL_HIGHCOLOR_ON#0 | (byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 *((byte*) DTV_CONTROL#0) ← (byte~) mode_twoplanebitmap::$0 (byte~) mode_twoplanebitmap::$1 ← (byte) VIC_ECM#0 | (byte) VIC_BMM#0 @@ -3138,13 +3576,13 @@ mode_twoplanebitmap::@10: scope:[mode_twoplanebitmap] from mode_twoplanebitmap: if(true) goto mode_twoplanebitmap::@11 to:mode_twoplanebitmap::@return mode_twoplanebitmap::@11: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@10 - (byte) keyboard_key_pressed::key#1 ← (byte) KEY_SPACE#0 + (byte) keyboard_key_pressed::key#2 ← (byte) KEY_SPACE#0 call keyboard_key_pressed param-assignment - (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#1 + (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#1 to:mode_twoplanebitmap::@28 mode_twoplanebitmap::@28: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@11 - (byte) keyboard_key_pressed::return#6 ← phi( mode_twoplanebitmap::@11/(byte) keyboard_key_pressed::return#3 ) - (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#6 + (byte) keyboard_key_pressed::return#9 ← phi( mode_twoplanebitmap::@11/(byte) keyboard_key_pressed::return#4 ) + (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#9 (boolean~) mode_twoplanebitmap::$28 ← (byte~) mode_twoplanebitmap::$27 != (byte/signed byte/word/signed word/dword/signed dword) 0 (boolean~) mode_twoplanebitmap::$29 ← ! (boolean~) mode_twoplanebitmap::$28 if((boolean~) mode_twoplanebitmap::$29) goto mode_twoplanebitmap::@13 @@ -3155,20 +3593,174 @@ mode_twoplanebitmap::@return: scope:[mode_twoplanebitmap] from mode_twoplanebit return to:@return @21: scope:[] from @20 - (byte*) print_char_cursor#40 ← phi( @20/(byte*) print_char_cursor#48 ) - (byte*) print_line_cursor#38 ← phi( @20/(byte*) print_line_cursor#45 ) - (byte*) print_screen#22 ← phi( @20/(byte*) print_screen#28 ) - call main param-assignment + (byte*) print_char_cursor#50 ← phi( @20/(byte*) print_char_cursor#54 ) + (byte*) print_line_cursor#47 ← phi( @20/(byte*) print_line_cursor#53 ) + (byte*) print_screen#30 ← phi( @20/(byte*) print_screen#35 ) + (byte*) SIXSFRED_PLANEA#0 ← ((byte*)) (word/signed word/dword/signed dword) 16384 + (byte*) SIXSFRED_PLANEB#0 ← ((byte*)) (word/signed word/dword/signed dword) 24576 + (byte*) SIXSFRED_COLORS#0 ← ((byte*)) (word/dword/signed dword) 32768 to:@22 +mode_sixsfred: scope:[mode_sixsfred] from menu::@14 + (byte~) mode_sixsfred::$0 ← (byte) DTV_CONTROL_HIGHCOLOR_ON#0 | (byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 + *((byte*) DTV_CONTROL#0) ← (byte~) mode_sixsfred::$0 + (byte~) mode_sixsfred::$1 ← (byte) VIC_ECM#0 | (byte) VIC_BMM#0 + (byte~) mode_sixsfred::$2 ← (byte~) mode_sixsfred::$1 | (byte) VIC_DEN#0 + (byte~) mode_sixsfred::$3 ← (byte~) mode_sixsfred::$2 | (byte) VIC_RSEL#0 + (byte/word/dword~) mode_sixsfred::$4 ← (byte~) mode_sixsfred::$3 | (byte/signed byte/word/signed word/dword/signed dword) 3 + *((byte*) VIC_CONTROL#0) ← (byte/word/dword~) mode_sixsfred::$4 + (byte~) mode_sixsfred::$5 ← (byte) VIC_MCM#0 | (byte) VIC_CSEL#0 + *((byte*) VIC_CONTROL2#0) ← (byte~) mode_sixsfred::$5 + (byte~) mode_sixsfred::$6 ← < (byte*) SIXSFRED_PLANEA#0 + *((byte*) DTV_PLANEA_START_LO#0) ← (byte~) mode_sixsfred::$6 + (byte~) mode_sixsfred::$7 ← > (byte*) SIXSFRED_PLANEA#0 + *((byte*) DTV_PLANEA_START_MI#0) ← (byte~) mode_sixsfred::$7 + *((byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 + *((byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) mode_sixsfred::$8 ← < (byte*) SIXSFRED_PLANEB#0 + *((byte*) DTV_PLANEB_START_LO#0) ← (byte~) mode_sixsfred::$8 + (byte~) mode_sixsfred::$9 ← > (byte*) SIXSFRED_PLANEB#0 + *((byte*) DTV_PLANEB_START_MI#0) ← (byte~) mode_sixsfred::$9 + *((byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 + *((byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte*~) mode_sixsfred::$10 ← (byte*) SIXSFRED_COLORS#0 / (word/signed word/dword/signed dword) 1024 + (byte~) mode_sixsfred::$11 ← < (byte*~) mode_sixsfred::$10 + *((byte*) DTV_COLOR_BANK_LO#0) ← (byte~) mode_sixsfred::$11 + (byte*~) mode_sixsfred::$12 ← (byte*) SIXSFRED_COLORS#0 / (word/signed word/dword/signed dword) 1024 + (byte~) mode_sixsfred::$13 ← > (byte*~) mode_sixsfred::$12 + *((byte*) DTV_COLOR_BANK_HI#0) ← (byte~) mode_sixsfred::$13 + (byte) mode_sixsfred::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@1 +mode_sixsfred::@1: scope:[mode_sixsfred] from mode_sixsfred mode_sixsfred::@1 + (byte) mode_sixsfred::i#2 ← phi( mode_sixsfred/(byte) mode_sixsfred::i#0 mode_sixsfred::@1/(byte) mode_sixsfred::i#1 ) + *((byte*) DTV_PALETTE#0 + (byte) mode_sixsfred::i#2) ← (byte) mode_sixsfred::i#2 + (byte) mode_sixsfred::i#1 ← ++ (byte) mode_sixsfred::i#2 + (boolean~) mode_sixsfred::$14 ← (byte) mode_sixsfred::i#1 != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) mode_sixsfred::$14) goto mode_sixsfred::@1 + to:mode_sixsfred::@12 +mode_sixsfred::@12: scope:[mode_sixsfred] from mode_sixsfred::@1 + *((byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte*) mode_sixsfred::col#0 ← (byte*) TWOPLANE_COLORS#0 + (byte) mode_sixsfred::cy#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@2 +mode_sixsfred::@2: scope:[mode_sixsfred] from mode_sixsfred::@12 mode_sixsfred::@13 + (byte*) mode_sixsfred::col#3 ← phi( mode_sixsfred::@12/(byte*) mode_sixsfred::col#0 mode_sixsfred::@13/(byte*) mode_sixsfred::col#4 ) + (byte) mode_sixsfred::cy#4 ← phi( mode_sixsfred::@12/(byte) mode_sixsfred::cy#0 mode_sixsfred::@13/(byte) mode_sixsfred::cy#1 ) + (byte) mode_sixsfred::cx#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@3 +mode_sixsfred::@3: scope:[mode_sixsfred] from mode_sixsfred::@2 mode_sixsfred::@3 + (byte*) mode_sixsfred::col#2 ← phi( mode_sixsfred::@2/(byte*) mode_sixsfred::col#3 mode_sixsfred::@3/(byte*) mode_sixsfred::col#1 ) + (byte) mode_sixsfred::cy#2 ← phi( mode_sixsfred::@2/(byte) mode_sixsfred::cy#4 mode_sixsfred::@3/(byte) mode_sixsfred::cy#2 ) + (byte) mode_sixsfred::cx#2 ← phi( mode_sixsfred::@2/(byte) mode_sixsfred::cx#0 mode_sixsfred::@3/(byte) mode_sixsfred::cx#1 ) + (byte~) mode_sixsfred::$15 ← (byte) mode_sixsfred::cx#2 + (byte) mode_sixsfred::cy#2 + (byte~) mode_sixsfred::$16 ← (byte~) mode_sixsfred::$15 & (byte/signed byte/word/signed word/dword/signed dword) 15 + *((byte*) mode_sixsfred::col#2) ← (byte~) mode_sixsfred::$16 + (byte*) mode_sixsfred::col#1 ← ++ (byte*) mode_sixsfred::col#2 + (byte) mode_sixsfred::cx#1 ← ++ (byte) mode_sixsfred::cx#2 + (boolean~) mode_sixsfred::$17 ← (byte) mode_sixsfred::cx#1 != (byte/signed byte/word/signed word/dword/signed dword) 40 + if((boolean~) mode_sixsfred::$17) goto mode_sixsfred::@3 + to:mode_sixsfred::@13 +mode_sixsfred::@13: scope:[mode_sixsfred] from mode_sixsfred::@3 + (byte*) mode_sixsfred::col#4 ← phi( mode_sixsfred::@3/(byte*) mode_sixsfred::col#1 ) + (byte) mode_sixsfred::cy#3 ← phi( mode_sixsfred::@3/(byte) mode_sixsfred::cy#2 ) + (byte) mode_sixsfred::cy#1 ← ++ (byte) mode_sixsfred::cy#3 + (boolean~) mode_sixsfred::$18 ← (byte) mode_sixsfred::cy#1 != (byte/signed byte/word/signed word/dword/signed dword) 25 + if((boolean~) mode_sixsfred::$18) goto mode_sixsfred::@2 + to:mode_sixsfred::@14 +mode_sixsfred::@14: scope:[mode_sixsfred] from mode_sixsfred::@13 + (byte*) mode_sixsfred::gfxa#0 ← (byte*) SIXSFRED_PLANEA#0 + (byte[]) mode_sixsfred::row_bitmask#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 85, (byte/word/signed word/dword/signed dword) 170, (byte/word/signed word/dword/signed dword) 255 } + (byte) mode_sixsfred::ay#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@4 +mode_sixsfred::@4: scope:[mode_sixsfred] from mode_sixsfred::@14 mode_sixsfred::@15 + (byte*) mode_sixsfred::gfxa#3 ← phi( mode_sixsfred::@14/(byte*) mode_sixsfred::gfxa#0 mode_sixsfred::@15/(byte*) mode_sixsfred::gfxa#4 ) + (byte) mode_sixsfred::ay#4 ← phi( mode_sixsfred::@14/(byte) mode_sixsfred::ay#0 mode_sixsfred::@15/(byte) mode_sixsfred::ay#1 ) + (byte) mode_sixsfred::ax#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@5 +mode_sixsfred::@5: scope:[mode_sixsfred] from mode_sixsfred::@4 mode_sixsfred::@5 + (byte) mode_sixsfred::ax#2 ← phi( mode_sixsfred::@4/(byte) mode_sixsfred::ax#0 mode_sixsfred::@5/(byte) mode_sixsfred::ax#1 ) + (byte*) mode_sixsfred::gfxa#2 ← phi( mode_sixsfred::@4/(byte*) mode_sixsfred::gfxa#3 mode_sixsfred::@5/(byte*) mode_sixsfred::gfxa#1 ) + (byte) mode_sixsfred::ay#2 ← phi( mode_sixsfred::@4/(byte) mode_sixsfred::ay#4 mode_sixsfred::@5/(byte) mode_sixsfred::ay#2 ) + (byte~) mode_sixsfred::$19 ← (byte) mode_sixsfred::ay#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte~) mode_sixsfred::$20 ← (byte~) mode_sixsfred::$19 & (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) mode_sixsfred::row#0 ← (byte~) mode_sixsfred::$20 + *((byte*) mode_sixsfred::gfxa#2) ← *((byte[]) mode_sixsfred::row_bitmask#0 + (byte) mode_sixsfred::row#0) + (byte*) mode_sixsfred::gfxa#1 ← ++ (byte*) mode_sixsfred::gfxa#2 + (byte) mode_sixsfred::ax#1 ← ++ (byte) mode_sixsfred::ax#2 + (boolean~) mode_sixsfred::$21 ← (byte) mode_sixsfred::ax#1 != (byte/signed byte/word/signed word/dword/signed dword) 40 + if((boolean~) mode_sixsfred::$21) goto mode_sixsfred::@5 + to:mode_sixsfred::@15 +mode_sixsfred::@15: scope:[mode_sixsfred] from mode_sixsfred::@5 + (byte*) mode_sixsfred::gfxa#4 ← phi( mode_sixsfred::@5/(byte*) mode_sixsfred::gfxa#1 ) + (byte) mode_sixsfred::ay#3 ← phi( mode_sixsfred::@5/(byte) mode_sixsfred::ay#2 ) + (byte) mode_sixsfred::ay#1 ← ++ (byte) mode_sixsfred::ay#3 + (boolean~) mode_sixsfred::$22 ← (byte) mode_sixsfred::ay#1 != (byte/word/signed word/dword/signed dword) 200 + if((boolean~) mode_sixsfred::$22) goto mode_sixsfred::@4 + to:mode_sixsfred::@16 +mode_sixsfred::@16: scope:[mode_sixsfred] from mode_sixsfred::@15 + (byte*) mode_sixsfred::gfxb#0 ← (byte*) SIXSFRED_PLANEB#0 + (byte) mode_sixsfred::by#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@6 +mode_sixsfred::@6: scope:[mode_sixsfred] from mode_sixsfred::@16 mode_sixsfred::@17 + (byte) mode_sixsfred::by#4 ← phi( mode_sixsfred::@16/(byte) mode_sixsfred::by#0 mode_sixsfred::@17/(byte) mode_sixsfred::by#1 ) + (byte*) mode_sixsfred::gfxb#3 ← phi( mode_sixsfred::@16/(byte*) mode_sixsfred::gfxb#0 mode_sixsfred::@17/(byte*) mode_sixsfred::gfxb#4 ) + (byte) mode_sixsfred::bx#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:mode_sixsfred::@7 +mode_sixsfred::@7: scope:[mode_sixsfred] from mode_sixsfred::@6 mode_sixsfred::@7 + (byte) mode_sixsfred::by#3 ← phi( mode_sixsfred::@6/(byte) mode_sixsfred::by#4 mode_sixsfred::@7/(byte) mode_sixsfred::by#3 ) + (byte) mode_sixsfred::bx#2 ← phi( mode_sixsfred::@6/(byte) mode_sixsfred::bx#0 mode_sixsfred::@7/(byte) mode_sixsfred::bx#1 ) + (byte*) mode_sixsfred::gfxb#2 ← phi( mode_sixsfred::@6/(byte*) mode_sixsfred::gfxb#3 mode_sixsfred::@7/(byte*) mode_sixsfred::gfxb#1 ) + *((byte*) mode_sixsfred::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 27 + (byte*) mode_sixsfred::gfxb#1 ← ++ (byte*) mode_sixsfred::gfxb#2 + (byte) mode_sixsfred::bx#1 ← ++ (byte) mode_sixsfred::bx#2 + (boolean~) mode_sixsfred::$23 ← (byte) mode_sixsfred::bx#1 != (byte/signed byte/word/signed word/dword/signed dword) 40 + if((boolean~) mode_sixsfred::$23) goto mode_sixsfred::@7 + to:mode_sixsfred::@17 +mode_sixsfred::@17: scope:[mode_sixsfred] from mode_sixsfred::@7 + (byte*) mode_sixsfred::gfxb#4 ← phi( mode_sixsfred::@7/(byte*) mode_sixsfred::gfxb#1 ) + (byte) mode_sixsfred::by#2 ← phi( mode_sixsfred::@7/(byte) mode_sixsfred::by#3 ) + (byte) mode_sixsfred::by#1 ← ++ (byte) mode_sixsfred::by#2 + (boolean~) mode_sixsfred::$24 ← (byte) mode_sixsfred::by#1 != (byte/word/signed word/dword/signed dword) 200 + if((boolean~) mode_sixsfred::$24) goto mode_sixsfred::@6 + to:mode_sixsfred::@8 +mode_sixsfred::@8: scope:[mode_sixsfred] from mode_sixsfred::@11 mode_sixsfred::@17 + if(true) goto mode_sixsfred::@9 + to:mode_sixsfred::@return +mode_sixsfred::@9: scope:[mode_sixsfred] from mode_sixsfred::@8 + (byte) keyboard_key_pressed::key#3 ← (byte) KEY_SPACE#0 + call keyboard_key_pressed param-assignment + (byte) keyboard_key_pressed::return#5 ← (byte) keyboard_key_pressed::return#1 + to:mode_sixsfred::@24 +mode_sixsfred::@24: scope:[mode_sixsfred] from mode_sixsfred::@9 + (byte) keyboard_key_pressed::return#10 ← phi( mode_sixsfred::@9/(byte) keyboard_key_pressed::return#5 ) + (byte~) mode_sixsfred::$25 ← (byte) keyboard_key_pressed::return#10 + (boolean~) mode_sixsfred::$26 ← (byte~) mode_sixsfred::$25 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mode_sixsfred::$27 ← ! (boolean~) mode_sixsfred::$26 + if((boolean~) mode_sixsfred::$27) goto mode_sixsfred::@11 + to:mode_sixsfred::@return +mode_sixsfred::@11: scope:[mode_sixsfred] from mode_sixsfred::@24 + to:mode_sixsfred::@8 +mode_sixsfred::@return: scope:[mode_sixsfred] from mode_sixsfred::@24 mode_sixsfred::@8 + return + to:@return @22: scope:[] from @21 - (byte*) print_char_cursor#30 ← phi( @21/(byte*) print_char_cursor#11 ) - (byte*) print_line_cursor#29 ← phi( @21/(byte*) print_line_cursor#10 ) - (byte*) print_screen#16 ← phi( @21/(byte*) print_screen#4 ) + (byte*) print_char_cursor#41 ← phi( @21/(byte*) print_char_cursor#50 ) + (byte*) print_line_cursor#39 ← phi( @21/(byte*) print_line_cursor#47 ) + (byte*) print_screen#23 ← phi( @21/(byte*) print_screen#30 ) + call main param-assignment + to:@23 +@23: scope:[] from @22 + (byte*) print_char_cursor#30 ← phi( @22/(byte*) print_char_cursor#11 ) + (byte*) print_line_cursor#29 ← phi( @22/(byte*) print_line_cursor#10 ) + (byte*) print_screen#16 ← phi( @22/(byte*) print_screen#4 ) (byte*) print_screen#7 ← (byte*) print_screen#16 (byte*) print_line_cursor#15 ← (byte*) print_line_cursor#29 (byte*) print_char_cursor#16 ← (byte*) print_char_cursor#30 to:@end -@end: scope:[] from @22 +@end: scope:[] from @23 SYMBOL TABLE SSA (string~) $0 @@ -3184,31 +3776,29 @@ SYMBOL TABLE SSA (string~) $18 (string~) $19 (string~) $2 -(string~) $20 -(const string) $21 = (string) "C64DTV Graphics Modes EMBLHCC@" -(const string) $22 = (string) " CCMIIHO@" -(const string) $23 = (string) " MMMNCUL@" -(const string) $24 = (string) "----------------------------------------@" -(const string) $25 = (string) "1. Standard Char (V) 0000000@" -(const string) $26 = (string) "2. Extended Color Char (V) 1000000@" -(const string) $27 = (string) "3. Multicolor Char (V) 0100000@" -(const string) $28 = (string) "4. Standard Bitmap (V) 0010000@" -(const string) $29 = (string) "5. Multicolor Bitmap (V) 0110000@" +(const string) $20 = (string) "C64DTV Graphics Modes CCLHBME@" +(const string) $21 = (string) " OHIIMCC@" +(const string) $22 = (string) " LUNCMMM@" +(const string) $23 = (string) "----------------------------------------@" +(const string) $24 = (string) "1. Standard Char (V) 0000000@" +(const string) $25 = (string) "2. Extended Color Char (V) 0000001@" +(const string) $26 = (string) "3. Multicolor Char (V) 0000010@" +(const string) $27 = (string) "4. Standard Bitmap (V) 0000100@" +(const string) $28 = (string) "5. Multicolor Bitmap (V) 0000110@" +(const string) $29 = (string) "6. High Color Standard Char (H) 0001000@" (string~) $3 -(const string) $30 = (string) "6. High Color Standard Char (H) 0000100@" -(const string) $31 = (string) "7. High Extended Color Char (H) 1000100@" -(const string) $32 = (string) "8. High Multicolor Char (H) 0100100@" -(const string) $33 = (string) "9. High Multicolor Bitmap (H) 0110100@" -(const string) $34 = (string) "a. Sixs Fred (D) 1111100@" -(const string) $35 = (string) "b. Sixs Fred 2 (D) 1111000@" -(const string) $36 = (string) "c. Two Plane Bitmap (D) 1011100@" -(const string) $37 = (string) "d. Two Plane Multicol Bitmap (D) 1111100@" -(const string) $38 = (string) "e. 8bpp Pixel Cell (D) 1101110@" -(const string) $39 = (string) "f. Chunky 8bpp Bitmap (D) 1101111@" +(const string) $30 = (string) "7. High Extended Color Char (H) 0001001@" +(const string) $31 = (string) "8. High Multicolor Char (H) 0001010@" +(const string) $32 = (string) "9. High Multicolor Bitmap (H) 0001110@" +(const string) $33 = (string) "a. Sixs Fred 2 (D) 0010111@" +(const string) $34 = (string) "b. Two Plane Bitmap (D) 0011101@" +(const string) $35 = (string) "c. Sixs Fred (2 Plane MC BM) (D) 0011111@" +(const string) $36 = (string) "d. 8bpp Pixel Cell (D) 0111011@" +(const string) $37 = (string) "e. Chunky 8bpp Bitmap (D) 1111011@" +(const string) $38 = (string) "----------------------------------------@" +(const string) $39 = (string) " (V) vicII (H) vicII+hicol (D) c64dtv@" (string~) $4 -(const string) $40 = (string) "----------------------------------------@" -(const string) $41 = (string) " (V) vicII (H) vicII+hicol (D) c64dtv@" -(const string) $42 = (string) "@" +(const string) $40 = (string) "@" (string~) $5 (string~) $6 (string~) $7 @@ -3219,6 +3809,7 @@ SYMBOL TABLE SSA (label) @20 (label) @21 (label) @22 +(label) @23 (label) @begin (label) @end (byte*) BGCOL @@ -3285,6 +3876,8 @@ SYMBOL TABLE SSA (byte*) DTV_PLANEB_START_MI#0 (byte*) DTV_PLANEB_STEP (byte*) DTV_PLANEB_STEP#0 +(byte) KEY_B +(byte) KEY_B#0 (byte) KEY_C (byte) KEY_C#0 (byte) KEY_SPACE @@ -3297,6 +3890,12 @@ SYMBOL TABLE SSA (byte*) MENU_SCREEN#0 (byte[]) MENU_TEXT (byte[]) MENU_TEXT#0 +(byte*) SIXSFRED_COLORS +(byte*) SIXSFRED_COLORS#0 +(byte*) SIXSFRED_PLANEA +(byte*) SIXSFRED_PLANEA#0 +(byte*) SIXSFRED_PLANEB +(byte*) SIXSFRED_PLANEB#0 (byte*) TWOPLANE_COLORS (byte*) TWOPLANE_COLORS#0 (byte*) TWOPLANE_PLANEA @@ -3315,6 +3914,8 @@ SYMBOL TABLE SSA (byte) VIC_DEN#0 (byte) VIC_ECM (byte) VIC_ECM#0 +(byte) VIC_MCM +(byte) VIC_MCM#0 (byte*) VIC_MEMORY (byte*) VIC_MEMORY#0 (byte) VIC_RSEL @@ -3333,14 +3934,20 @@ SYMBOL TABLE SSA (byte) keyboard_key_pressed::key#0 (byte) keyboard_key_pressed::key#1 (byte) keyboard_key_pressed::key#2 +(byte) keyboard_key_pressed::key#3 +(byte) keyboard_key_pressed::key#4 (byte) keyboard_key_pressed::return (byte) keyboard_key_pressed::return#0 (byte) keyboard_key_pressed::return#1 +(byte) keyboard_key_pressed::return#10 (byte) keyboard_key_pressed::return#2 (byte) keyboard_key_pressed::return#3 (byte) keyboard_key_pressed::return#4 (byte) keyboard_key_pressed::return#5 (byte) keyboard_key_pressed::return#6 +(byte) keyboard_key_pressed::return#7 +(byte) keyboard_key_pressed::return#8 +(byte) keyboard_key_pressed::return#9 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 (byte[]) keyboard_matrix_col_bitmask @@ -3387,6 +3994,9 @@ SYMBOL TABLE SSA (boolean~) menu::$27 (boolean~) menu::$28 (dword~) menu::$3 +(byte~) menu::$30 +(boolean~) menu::$31 +(boolean~) menu::$32 (word~) menu::$4 (byte~) menu::$5 (word~) menu::$6 @@ -3394,18 +4004,22 @@ SYMBOL TABLE SSA (byte~) menu::$8 (byte/word/dword~) menu::$9 (label) menu::@1 -(label) menu::@11 +(label) menu::@12 (label) menu::@14 -(label) menu::@15 -(label) menu::@16 (label) menu::@17 (label) menu::@18 +(label) menu::@19 (label) menu::@2 +(label) menu::@20 +(label) menu::@21 +(label) menu::@22 +(label) menu::@23 (label) menu::@3 (label) menu::@4 (label) menu::@6 (label) menu::@7 (label) menu::@8 +(label) menu::@9 (label) menu::@return (byte*) menu::c (byte*) menu::c#0 @@ -3415,6 +4029,109 @@ SYMBOL TABLE SSA (byte) menu::i#0 (byte) menu::i#1 (byte) menu::i#2 +(void()) mode_sixsfred() +(byte~) mode_sixsfred::$0 +(byte~) mode_sixsfred::$1 +(byte*~) mode_sixsfred::$10 +(byte~) mode_sixsfred::$11 +(byte*~) mode_sixsfred::$12 +(byte~) mode_sixsfred::$13 +(boolean~) mode_sixsfred::$14 +(byte~) mode_sixsfred::$15 +(byte~) mode_sixsfred::$16 +(boolean~) mode_sixsfred::$17 +(boolean~) mode_sixsfred::$18 +(byte~) mode_sixsfred::$19 +(byte~) mode_sixsfred::$2 +(byte~) mode_sixsfred::$20 +(boolean~) mode_sixsfred::$21 +(boolean~) mode_sixsfred::$22 +(boolean~) mode_sixsfred::$23 +(boolean~) mode_sixsfred::$24 +(byte~) mode_sixsfred::$25 +(boolean~) mode_sixsfred::$26 +(boolean~) mode_sixsfred::$27 +(byte~) mode_sixsfred::$3 +(byte/word/dword~) mode_sixsfred::$4 +(byte~) mode_sixsfred::$5 +(byte~) mode_sixsfred::$6 +(byte~) mode_sixsfred::$7 +(byte~) mode_sixsfred::$8 +(byte~) mode_sixsfred::$9 +(label) mode_sixsfred::@1 +(label) mode_sixsfred::@11 +(label) mode_sixsfred::@12 +(label) mode_sixsfred::@13 +(label) mode_sixsfred::@14 +(label) mode_sixsfred::@15 +(label) mode_sixsfred::@16 +(label) mode_sixsfred::@17 +(label) mode_sixsfred::@2 +(label) mode_sixsfred::@24 +(label) mode_sixsfred::@3 +(label) mode_sixsfred::@4 +(label) mode_sixsfred::@5 +(label) mode_sixsfred::@6 +(label) mode_sixsfred::@7 +(label) mode_sixsfred::@8 +(label) mode_sixsfred::@9 +(label) mode_sixsfred::@return +(byte) mode_sixsfred::ax +(byte) mode_sixsfred::ax#0 +(byte) mode_sixsfred::ax#1 +(byte) mode_sixsfred::ax#2 +(byte) mode_sixsfred::ay +(byte) mode_sixsfred::ay#0 +(byte) mode_sixsfred::ay#1 +(byte) mode_sixsfred::ay#2 +(byte) mode_sixsfred::ay#3 +(byte) mode_sixsfred::ay#4 +(byte) mode_sixsfred::bx +(byte) mode_sixsfred::bx#0 +(byte) mode_sixsfred::bx#1 +(byte) mode_sixsfred::bx#2 +(byte) mode_sixsfred::by +(byte) mode_sixsfred::by#0 +(byte) mode_sixsfred::by#1 +(byte) mode_sixsfred::by#2 +(byte) mode_sixsfred::by#3 +(byte) mode_sixsfred::by#4 +(byte*) mode_sixsfred::col +(byte*) mode_sixsfred::col#0 +(byte*) mode_sixsfred::col#1 +(byte*) mode_sixsfred::col#2 +(byte*) mode_sixsfred::col#3 +(byte*) mode_sixsfred::col#4 +(byte) mode_sixsfred::cx +(byte) mode_sixsfred::cx#0 +(byte) mode_sixsfred::cx#1 +(byte) mode_sixsfred::cx#2 +(byte) mode_sixsfred::cy +(byte) mode_sixsfred::cy#0 +(byte) mode_sixsfred::cy#1 +(byte) mode_sixsfred::cy#2 +(byte) mode_sixsfred::cy#3 +(byte) mode_sixsfred::cy#4 +(byte*) mode_sixsfred::gfxa +(byte*) mode_sixsfred::gfxa#0 +(byte*) mode_sixsfred::gfxa#1 +(byte*) mode_sixsfred::gfxa#2 +(byte*) mode_sixsfred::gfxa#3 +(byte*) mode_sixsfred::gfxa#4 +(byte*) mode_sixsfred::gfxb +(byte*) mode_sixsfred::gfxb#0 +(byte*) mode_sixsfred::gfxb#1 +(byte*) mode_sixsfred::gfxb#2 +(byte*) mode_sixsfred::gfxb#3 +(byte*) mode_sixsfred::gfxb#4 +(byte) mode_sixsfred::i +(byte) mode_sixsfred::i#0 +(byte) mode_sixsfred::i#1 +(byte) mode_sixsfred::i#2 +(byte) mode_sixsfred::row +(byte) mode_sixsfred::row#0 +(byte[]) mode_sixsfred::row_bitmask +(byte[]) mode_sixsfred::row_bitmask#0 (void()) mode_twoplanebitmap() (byte~) mode_twoplanebitmap::$0 (byte~) mode_twoplanebitmap::$1 @@ -3582,7 +4299,12 @@ SYMBOL TABLE SSA (byte*) print_char_cursor#53 (byte*) print_char_cursor#54 (byte*) print_char_cursor#55 +(byte*) print_char_cursor#56 +(byte*) print_char_cursor#57 +(byte*) print_char_cursor#58 +(byte*) print_char_cursor#59 (byte*) print_char_cursor#6 +(byte*) print_char_cursor#60 (byte*) print_char_cursor#7 (byte*) print_char_cursor#8 (byte*) print_char_cursor#9 @@ -3649,7 +4371,12 @@ SYMBOL TABLE SSA (byte*) print_line_cursor#53 (byte*) print_line_cursor#54 (byte*) print_line_cursor#55 +(byte*) print_line_cursor#56 +(byte*) print_line_cursor#57 +(byte*) print_line_cursor#58 +(byte*) print_line_cursor#59 (byte*) print_line_cursor#6 +(byte*) print_line_cursor#60 (byte*) print_line_cursor#7 (byte*) print_line_cursor#8 (byte*) print_line_cursor#9 @@ -3691,7 +4418,12 @@ SYMBOL TABLE SSA (byte*) print_screen#34 (byte*) print_screen#35 (byte*) print_screen#36 +(byte*) print_screen#37 +(byte*) print_screen#38 +(byte*) print_screen#39 (byte*) print_screen#4 +(byte*) print_screen#40 +(byte*) print_screen#41 (byte*) print_screen#5 (byte*) print_screen#6 (byte*) print_screen#7 @@ -3733,15 +4465,18 @@ SYMBOL TABLE SSA OPTIMIZING CONTROL FLOW GRAPH Culled Empty Block (label) mode_twoplanebitmap::@13 +Culled Empty Block (label) mode_sixsfred::@11 Succesful SSA optimization Pass2CullEmptyBlocks Inversing boolean not (boolean~) print_str_lines::$2 ← (byte) print_str_lines::ch#0 == (byte) '@' from (boolean~) print_str_lines::$1 ← (byte) print_str_lines::ch#0 != (byte) '@' Inversing boolean not (boolean~) menu::$28 ← (byte~) menu::$26 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) menu::$27 ← (byte~) menu::$26 != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) menu::$32 ← (byte~) menu::$30 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) menu::$31 ← (byte~) menu::$30 != (byte/signed byte/word/signed word/dword/signed dword) 0 Inversing boolean not (boolean~) mode_twoplanebitmap::$22 ← (byte~) mode_twoplanebitmap::$20 != (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) mode_twoplanebitmap::$21 ← (byte~) mode_twoplanebitmap::$20 == (byte/signed byte/word/signed word/dword/signed dword) 0 Inversing boolean not (boolean~) mode_twoplanebitmap::$29 ← (byte~) mode_twoplanebitmap::$27 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) mode_twoplanebitmap::$28 ← (byte~) mode_twoplanebitmap::$27 != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) mode_sixsfred::$27 ← (byte~) mode_sixsfred::$25 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) mode_sixsfred::$26 ← (byte~) mode_sixsfred::$25 != (byte/signed byte/word/signed word/dword/signed dword) 0 Succesful SSA optimization Pass2UnaryNotSimplification Not aliassing across scopes: print_str_lines::str#4 print_str_lines::str#1 -Not aliassing across scopes: print_char_cursor#41 print_char_cursor#13 -Not aliassing across scopes: print_line_cursor#39 print_line_cursor#12 +Not aliassing across scopes: print_char_cursor#42 print_char_cursor#13 +Not aliassing across scopes: print_line_cursor#40 print_line_cursor#12 Not aliassing across scopes: print_line_cursor#16 print_line_cursor#4 Not aliassing across scopes: print_char_cursor#18 print_char_cursor#5 Not aliassing across scopes: print_line_cursor#32 print_line_cursor#30 @@ -3751,23 +4486,23 @@ Not aliassing across scopes: print_cls::sc#0 print_screen#8 Not aliassing across scopes: print_set_screen::screen#1 print_set_screen::screen#0 Not aliassing across scopes: print_screen#1 print_set_screen::screen#1 Not aliassing across scopes: keyboard_matrix_read::rowid#1 keyboard_matrix_read::rowid#0 -Not aliassing across scopes: keyboard_key_pressed::key#2 keyboard_key_pressed::key#0 +Not aliassing across scopes: keyboard_key_pressed::key#4 keyboard_key_pressed::key#0 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_key_pressed::rowidx#0 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#1 Not aliassing across scopes: keyboard_key_pressed::$2 keyboard_matrix_read::return#4 -Not aliassing across scopes: print_screen#23 print_screen#22 -Not aliassing across scopes: print_line_cursor#41 print_line_cursor#38 -Not aliassing across scopes: print_char_cursor#44 print_char_cursor#40 +Not aliassing across scopes: print_screen#24 print_screen#23 +Not aliassing across scopes: print_line_cursor#42 print_line_cursor#39 +Not aliassing across scopes: print_char_cursor#45 print_char_cursor#41 Not aliassing across scopes: print_screen#12 print_screen#6 Not aliassing across scopes: print_line_cursor#23 print_line_cursor#14 Not aliassing across scopes: print_char_cursor#24 print_char_cursor#15 -Not aliassing across scopes: print_screen#36 print_screen#17 -Not aliassing across scopes: print_line_cursor#55 print_line_cursor#33 -Not aliassing across scopes: print_char_cursor#55 print_char_cursor#35 +Not aliassing across scopes: print_screen#41 print_screen#17 +Not aliassing across scopes: print_line_cursor#60 print_line_cursor#33 +Not aliassing across scopes: print_char_cursor#60 print_char_cursor#35 Not aliassing across scopes: menu::c#0 COLS#0 -Not aliassing identity: print_screen#24 print_screen#24 -Not aliassing identity: print_line_cursor#42 print_line_cursor#42 -Not aliassing identity: print_char_cursor#45 print_char_cursor#45 +Not aliassing identity: print_screen#25 print_screen#25 +Not aliassing identity: print_line_cursor#43 print_line_cursor#43 +Not aliassing identity: print_char_cursor#46 print_char_cursor#46 Not aliassing across scopes: print_set_screen::screen#0 MENU_SCREEN#0 Not aliassing across scopes: print_screen#14 print_screen#2 Not aliassing across scopes: print_line_cursor#25 print_line_cursor#8 @@ -3777,28 +4512,37 @@ Not aliassing across scopes: print_char_cursor#27 print_char_cursor#7 Not aliassing across scopes: print_str_lines::str#1 MENU_TEXT#0 Not aliassing across scopes: print_char_cursor#28 print_char_cursor#3 Not aliassing across scopes: print_line_cursor#27 print_line_cursor#2 -Not aliassing across scopes: keyboard_key_pressed::key#0 KEY_C#0 +Not aliassing across scopes: keyboard_key_pressed::key#0 KEY_B#0 Not aliassing across scopes: keyboard_key_pressed::return#2 keyboard_key_pressed::return#1 -Not aliassing across scopes: menu::$26 keyboard_key_pressed::return#5 +Not aliassing across scopes: menu::$26 keyboard_key_pressed::return#7 +Not aliassing across scopes: keyboard_key_pressed::key#1 KEY_C#0 +Not aliassing across scopes: keyboard_key_pressed::return#3 keyboard_key_pressed::return#1 +Not aliassing across scopes: menu::$30 keyboard_key_pressed::return#8 Not aliassing across scopes: mode_twoplanebitmap::col#0 TWOPLANE_COLORS#0 Not aliassing across scopes: mode_twoplanebitmap::gfxa#0 TWOPLANE_PLANEA#0 Not aliassing across scopes: mode_twoplanebitmap::gfxb#0 TWOPLANE_PLANEB#0 -Not aliassing across scopes: keyboard_key_pressed::key#1 KEY_SPACE#0 -Not aliassing across scopes: keyboard_key_pressed::return#3 keyboard_key_pressed::return#1 -Not aliassing across scopes: mode_twoplanebitmap::$27 keyboard_key_pressed::return#6 +Not aliassing across scopes: keyboard_key_pressed::key#2 KEY_SPACE#0 +Not aliassing across scopes: keyboard_key_pressed::return#4 keyboard_key_pressed::return#1 +Not aliassing across scopes: mode_twoplanebitmap::$27 keyboard_key_pressed::return#9 +Not aliassing across scopes: mode_sixsfred::col#0 TWOPLANE_COLORS#0 +Not aliassing across scopes: mode_sixsfred::gfxa#0 SIXSFRED_PLANEA#0 +Not aliassing across scopes: mode_sixsfred::gfxb#0 SIXSFRED_PLANEB#0 +Not aliassing across scopes: keyboard_key_pressed::key#3 KEY_SPACE#0 +Not aliassing across scopes: keyboard_key_pressed::return#5 keyboard_key_pressed::return#1 +Not aliassing across scopes: mode_sixsfred::$25 keyboard_key_pressed::return#10 Not aliassing across scopes: print_screen#16 print_screen#4 Not aliassing across scopes: print_line_cursor#29 print_line_cursor#10 Not aliassing across scopes: print_char_cursor#30 print_char_cursor#11 -Alias (byte*) print_screen#0 = (byte*) print_line_cursor#0 (byte*) print_char_cursor#0 (byte*) print_screen#33 (byte*) print_line_cursor#52 (byte*) print_char_cursor#52 (byte*) print_screen#32 (byte*) print_line_cursor#50 (byte*) print_char_cursor#51 (byte*) print_screen#28 (byte*) print_line_cursor#45 (byte*) print_char_cursor#48 (byte*) print_screen#22 (byte*) print_line_cursor#38 (byte*) print_char_cursor#40 +Alias (byte*) print_screen#0 = (byte*) print_line_cursor#0 (byte*) print_char_cursor#0 (byte*) print_screen#40 (byte*) print_line_cursor#59 (byte*) print_char_cursor#59 (byte*) print_screen#39 (byte*) print_line_cursor#58 (byte*) print_char_cursor#58 (byte*) print_screen#35 (byte*) print_line_cursor#53 (byte*) print_char_cursor#54 (byte*) print_screen#30 (byte*) print_line_cursor#47 (byte*) print_char_cursor#50 (byte*) print_screen#23 (byte*) print_line_cursor#39 (byte*) print_char_cursor#41 Alias (byte*) print_str_lines::str#2 = (byte*) print_str_lines::str#6 -Alias (byte*) print_char_cursor#19 = (byte*) print_char_cursor#42 (byte*) print_char_cursor#33 (byte*) print_char_cursor#3 -Alias (byte*) print_line_cursor#17 = (byte*) print_line_cursor#51 (byte*) print_line_cursor#31 (byte*) print_line_cursor#2 +Alias (byte*) print_char_cursor#19 = (byte*) print_char_cursor#43 (byte*) print_char_cursor#33 (byte*) print_char_cursor#3 +Alias (byte*) print_line_cursor#17 = (byte*) print_line_cursor#54 (byte*) print_line_cursor#31 (byte*) print_line_cursor#2 Alias (byte) print_str_lines::ch#0 = (byte) print_str_lines::ch#2 Alias (byte*) print_char_cursor#17 = (byte*) print_char_cursor#31 Alias (byte*) print_str_lines::str#0 = (byte*) print_str_lines::str#8 -Alias (byte*) print_line_cursor#46 = (byte*) print_line_cursor#47 -Alias (byte*) print_line_cursor#30 = (byte*) print_line_cursor#40 -Alias (byte*) print_char_cursor#32 = (byte*) print_char_cursor#43 +Alias (byte*) print_line_cursor#48 = (byte*) print_line_cursor#49 +Alias (byte*) print_line_cursor#30 = (byte*) print_line_cursor#41 +Alias (byte*) print_char_cursor#32 = (byte*) print_char_cursor#44 Alias (byte*) print_str_lines::str#5 = (byte*) print_str_lines::str#9 (byte*) print_str_lines::str#7 Alias (byte*) print_line_cursor#1 = (byte*) print_line_cursor#16 Alias (byte*) print_char_cursor#18 = (byte*) print_char_cursor#2 @@ -3809,31 +4553,32 @@ Alias (byte) keyboard_matrix_read::return#0 = (byte) keyboard_matrix_read::row_p Alias (byte) keyboard_key_pressed::colidx#0 = (byte~) keyboard_key_pressed::$0 (byte) keyboard_key_pressed::colidx#1 Alias (byte) keyboard_key_pressed::rowidx#0 = (byte~) keyboard_key_pressed::$1 Alias (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#4 -Alias (byte) keyboard_key_pressed::return#0 = (byte~) keyboard_key_pressed::$3 (byte) keyboard_key_pressed::return#4 (byte) keyboard_key_pressed::return#1 +Alias (byte) keyboard_key_pressed::return#0 = (byte~) keyboard_key_pressed::$3 (byte) keyboard_key_pressed::return#6 (byte) keyboard_key_pressed::return#1 Alias (byte*) print_screen#13 = (byte*) print_screen#17 (byte*) print_screen#18 (byte*) print_screen#4 Alias (byte*) print_line_cursor#10 = (byte*) print_line_cursor#33 (byte*) print_line_cursor#34 (byte*) print_line_cursor#24 Alias (byte*) print_char_cursor#11 = (byte*) print_char_cursor#35 (byte*) print_char_cursor#36 (byte*) print_char_cursor#25 Alias (byte*) print_screen#12 = (byte*) print_screen#3 Alias (byte*) print_line_cursor#23 = (byte*) print_line_cursor#9 Alias (byte*) print_char_cursor#10 = (byte*) print_char_cursor#24 -Alias (byte[]) MENU_TEXT#0 = (string~) $20 -Alias (byte*) print_screen#29 = (byte*) print_screen#34 -Alias (byte*) print_line_cursor#48 = (byte*) print_line_cursor#53 -Alias (byte*) print_char_cursor#49 = (byte*) print_char_cursor#53 -Alias (byte*) print_screen#19 = (byte*) print_screen#24 -Alias (byte*) print_line_cursor#35 = (byte*) print_line_cursor#42 -Alias (byte*) print_char_cursor#37 = (byte*) print_char_cursor#45 -Alias (byte*) print_screen#14 = (byte*) print_screen#5 (byte*) print_screen#30 (byte*) print_screen#25 +Alias (byte[]) MENU_TEXT#0 = (string~) $19 +Alias (byte*) print_screen#31 = (byte*) print_screen#36 +Alias (byte*) print_line_cursor#50 = (byte*) print_line_cursor#55 +Alias (byte*) print_char_cursor#51 = (byte*) print_char_cursor#55 +Alias (byte*) print_screen#19 = (byte*) print_screen#25 +Alias (byte*) print_line_cursor#35 = (byte*) print_line_cursor#43 +Alias (byte*) print_char_cursor#37 = (byte*) print_char_cursor#46 +Alias (byte*) print_screen#14 = (byte*) print_screen#5 (byte*) print_screen#32 (byte*) print_screen#26 Alias (byte*) print_line_cursor#11 = (byte*) print_line_cursor#25 Alias (byte*) print_char_cursor#12 = (byte*) print_char_cursor#26 Alias (byte*) print_line_cursor#12 = (byte*) print_line_cursor#26 Alias (byte*) print_char_cursor#13 = (byte*) print_char_cursor#27 Alias (byte*) print_char_cursor#14 = (byte*) print_char_cursor#28 Alias (byte*) print_line_cursor#13 = (byte*) print_line_cursor#27 -Alias (byte*) print_screen#20 = (byte*) print_screen#35 (byte*) print_screen#21 (byte*) print_screen#31 (byte*) print_screen#26 (byte*) print_screen#27 -Alias (byte*) print_line_cursor#36 = (byte*) print_line_cursor#54 (byte*) print_line_cursor#37 (byte*) print_line_cursor#49 (byte*) print_line_cursor#43 (byte*) print_line_cursor#44 -Alias (byte*) print_char_cursor#38 = (byte*) print_char_cursor#54 (byte*) print_char_cursor#39 (byte*) print_char_cursor#50 (byte*) print_char_cursor#46 (byte*) print_char_cursor#47 -Alias (byte) keyboard_key_pressed::return#2 = (byte) keyboard_key_pressed::return#5 +Alias (byte*) print_screen#20 = (byte*) print_screen#37 (byte*) print_screen#22 (byte*) print_screen#33 (byte*) print_screen#38 (byte*) print_screen#34 (byte*) print_screen#28 (byte*) print_screen#27 (byte*) print_screen#29 (byte*) print_screen#21 +Alias (byte*) print_line_cursor#36 = (byte*) print_line_cursor#56 (byte*) print_line_cursor#38 (byte*) print_line_cursor#51 (byte*) print_line_cursor#57 (byte*) print_line_cursor#52 (byte*) print_line_cursor#45 (byte*) print_line_cursor#44 (byte*) print_line_cursor#46 (byte*) print_line_cursor#37 +Alias (byte*) print_char_cursor#38 = (byte*) print_char_cursor#56 (byte*) print_char_cursor#40 (byte*) print_char_cursor#52 (byte*) print_char_cursor#57 (byte*) print_char_cursor#53 (byte*) print_char_cursor#48 (byte*) print_char_cursor#47 (byte*) print_char_cursor#49 (byte*) print_char_cursor#39 +Alias (byte) keyboard_key_pressed::return#2 = (byte) keyboard_key_pressed::return#7 +Alias (byte) keyboard_key_pressed::return#3 = (byte) keyboard_key_pressed::return#8 Alias (byte*) print_screen#15 = (byte*) print_screen#6 Alias (byte*) print_line_cursor#14 = (byte*) print_line_cursor#28 Alias (byte*) print_char_cursor#15 = (byte*) print_char_cursor#29 @@ -3846,14 +4591,22 @@ Alias (byte) mode_twoplanebitmap::ay#3 = (byte) mode_twoplanebitmap::ay#5 Alias (byte*) mode_twoplanebitmap::gfxa#7 = (byte*) mode_twoplanebitmap::gfxa#8 Alias (byte) mode_twoplanebitmap::by#2 = (byte) mode_twoplanebitmap::by#3 Alias (byte*) mode_twoplanebitmap::gfxb#1 = (byte*) mode_twoplanebitmap::gfxb#4 -Alias (byte) keyboard_key_pressed::return#3 = (byte) keyboard_key_pressed::return#6 +Alias (byte) keyboard_key_pressed::return#4 = (byte) keyboard_key_pressed::return#9 +Alias (byte) mode_sixsfred::cy#2 = (byte) mode_sixsfred::cy#3 +Alias (byte*) mode_sixsfred::col#1 = (byte*) mode_sixsfred::col#4 +Alias (byte) mode_sixsfred::row#0 = (byte~) mode_sixsfred::$20 +Alias (byte) mode_sixsfred::ay#2 = (byte) mode_sixsfred::ay#3 +Alias (byte*) mode_sixsfred::gfxa#1 = (byte*) mode_sixsfred::gfxa#4 +Alias (byte) mode_sixsfred::by#2 = (byte) mode_sixsfred::by#3 +Alias (byte*) mode_sixsfred::gfxb#1 = (byte*) mode_sixsfred::gfxb#4 +Alias (byte) keyboard_key_pressed::return#10 = (byte) keyboard_key_pressed::return#5 Alias (byte*) print_screen#16 = (byte*) print_screen#7 Alias (byte*) print_line_cursor#15 = (byte*) print_line_cursor#29 Alias (byte*) print_char_cursor#16 = (byte*) print_char_cursor#30 Succesful SSA optimization Pass2AliasElimination Not aliassing across scopes: print_str_lines::str#4 print_str_lines::str#1 -Not aliassing across scopes: print_char_cursor#41 print_char_cursor#13 -Not aliassing across scopes: print_line_cursor#39 print_line_cursor#12 +Not aliassing across scopes: print_char_cursor#42 print_char_cursor#13 +Not aliassing across scopes: print_line_cursor#40 print_line_cursor#12 Not aliassing across scopes: print_line_cursor#1 print_line_cursor#19 Not aliassing across scopes: print_char_cursor#18 print_line_cursor#19 Not aliassing across scopes: print_line_cursor#32 print_line_cursor#30 @@ -3863,19 +4616,19 @@ Not aliassing across scopes: print_cls::sc#0 print_screen#8 Not aliassing across scopes: print_set_screen::screen#1 print_set_screen::screen#0 Not aliassing across scopes: print_screen#1 print_set_screen::screen#1 Not aliassing across scopes: keyboard_matrix_read::rowid#1 keyboard_matrix_read::rowid#0 -Not aliassing across scopes: keyboard_key_pressed::key#2 keyboard_key_pressed::key#0 +Not aliassing across scopes: keyboard_key_pressed::key#4 keyboard_key_pressed::key#0 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_key_pressed::rowidx#0 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 Not aliassing across scopes: keyboard_key_pressed::$2 keyboard_matrix_read::return#2 -Not aliassing across scopes: print_screen#23 print_screen#0 -Not aliassing across scopes: print_line_cursor#41 print_screen#0 -Not aliassing across scopes: print_char_cursor#44 print_screen#0 +Not aliassing across scopes: print_screen#24 print_screen#0 +Not aliassing across scopes: print_line_cursor#42 print_screen#0 +Not aliassing across scopes: print_char_cursor#45 print_screen#0 Not aliassing across scopes: print_screen#12 print_screen#15 Not aliassing across scopes: print_line_cursor#23 print_line_cursor#14 Not aliassing across scopes: print_char_cursor#10 print_char_cursor#15 -Not aliassing across scopes: print_screen#36 print_screen#13 -Not aliassing across scopes: print_line_cursor#55 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#55 print_char_cursor#11 +Not aliassing across scopes: print_screen#41 print_screen#13 +Not aliassing across scopes: print_line_cursor#60 print_line_cursor#10 +Not aliassing across scopes: print_char_cursor#60 print_char_cursor#11 Not aliassing across scopes: menu::c#0 COLS#0 Not aliassing identity: print_screen#19 print_screen#19 Not aliassing identity: print_line_cursor#35 print_line_cursor#35 @@ -3889,21 +4642,30 @@ Not aliassing across scopes: print_char_cursor#13 print_line_cursor#21 Not aliassing across scopes: print_str_lines::str#1 MENU_TEXT#0 Not aliassing across scopes: print_char_cursor#14 print_char_cursor#19 Not aliassing across scopes: print_line_cursor#13 print_line_cursor#17 -Not aliassing across scopes: keyboard_key_pressed::key#0 KEY_C#0 +Not aliassing across scopes: keyboard_key_pressed::key#0 KEY_B#0 Not aliassing across scopes: keyboard_key_pressed::return#2 keyboard_key_pressed::return#0 Not aliassing across scopes: menu::$26 keyboard_key_pressed::return#2 +Not aliassing across scopes: keyboard_key_pressed::key#1 KEY_C#0 +Not aliassing across scopes: keyboard_key_pressed::return#3 keyboard_key_pressed::return#0 +Not aliassing across scopes: menu::$30 keyboard_key_pressed::return#3 Not aliassing across scopes: mode_twoplanebitmap::col#0 TWOPLANE_COLORS#0 Not aliassing across scopes: mode_twoplanebitmap::gfxa#0 TWOPLANE_PLANEA#0 Not aliassing across scopes: mode_twoplanebitmap::gfxb#0 TWOPLANE_PLANEB#0 -Not aliassing across scopes: keyboard_key_pressed::key#1 KEY_SPACE#0 -Not aliassing across scopes: keyboard_key_pressed::return#3 keyboard_key_pressed::return#0 -Not aliassing across scopes: mode_twoplanebitmap::$27 keyboard_key_pressed::return#3 +Not aliassing across scopes: keyboard_key_pressed::key#2 KEY_SPACE#0 +Not aliassing across scopes: keyboard_key_pressed::return#4 keyboard_key_pressed::return#0 +Not aliassing across scopes: mode_twoplanebitmap::$27 keyboard_key_pressed::return#4 +Not aliassing across scopes: mode_sixsfred::col#0 TWOPLANE_COLORS#0 +Not aliassing across scopes: mode_sixsfred::gfxa#0 SIXSFRED_PLANEA#0 +Not aliassing across scopes: mode_sixsfred::gfxb#0 SIXSFRED_PLANEB#0 +Not aliassing across scopes: keyboard_key_pressed::key#3 KEY_SPACE#0 +Not aliassing across scopes: keyboard_key_pressed::return#10 keyboard_key_pressed::return#0 +Not aliassing across scopes: mode_sixsfred::$25 keyboard_key_pressed::return#10 Not aliassing across scopes: print_screen#16 print_screen#13 Not aliassing across scopes: print_line_cursor#15 print_line_cursor#10 Not aliassing across scopes: print_char_cursor#16 print_char_cursor#11 Alias (byte) print_str_lines::ch#0 = (byte) print_str_lines::ch#1 Alias (byte*) print_str_lines::str#0 = (byte*) print_str_lines::str#5 -Alias (byte*) print_line_cursor#30 = (byte*) print_line_cursor#46 +Alias (byte*) print_line_cursor#30 = (byte*) print_line_cursor#48 Alias (byte*) print_screen#15 = (byte*) print_screen#20 Alias (byte*) print_line_cursor#14 = (byte*) print_line_cursor#36 Alias (byte*) print_char_cursor#15 = (byte*) print_char_cursor#38 @@ -3911,8 +4673,8 @@ Alias (byte) mode_twoplanebitmap::ax#2 = (byte) mode_twoplanebitmap::ax#3 Alias (byte) mode_twoplanebitmap::ay#2 = (byte) mode_twoplanebitmap::ay#3 Succesful SSA optimization Pass2AliasElimination Not aliassing across scopes: print_str_lines::str#4 print_str_lines::str#1 -Not aliassing across scopes: print_char_cursor#41 print_char_cursor#13 -Not aliassing across scopes: print_line_cursor#39 print_line_cursor#12 +Not aliassing across scopes: print_char_cursor#42 print_char_cursor#13 +Not aliassing across scopes: print_line_cursor#40 print_line_cursor#12 Not aliassing across scopes: print_line_cursor#1 print_line_cursor#19 Not aliassing across scopes: print_char_cursor#18 print_line_cursor#19 Not aliassing across scopes: print_line_cursor#32 print_line_cursor#30 @@ -3922,19 +4684,19 @@ Not aliassing across scopes: print_cls::sc#0 print_screen#8 Not aliassing across scopes: print_set_screen::screen#1 print_set_screen::screen#0 Not aliassing across scopes: print_screen#1 print_set_screen::screen#1 Not aliassing across scopes: keyboard_matrix_read::rowid#1 keyboard_matrix_read::rowid#0 -Not aliassing across scopes: keyboard_key_pressed::key#2 keyboard_key_pressed::key#0 +Not aliassing across scopes: keyboard_key_pressed::key#4 keyboard_key_pressed::key#0 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_key_pressed::rowidx#0 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 Not aliassing across scopes: keyboard_key_pressed::$2 keyboard_matrix_read::return#2 -Not aliassing across scopes: print_screen#23 print_screen#0 -Not aliassing across scopes: print_line_cursor#41 print_screen#0 -Not aliassing across scopes: print_char_cursor#44 print_screen#0 +Not aliassing across scopes: print_screen#24 print_screen#0 +Not aliassing across scopes: print_line_cursor#42 print_screen#0 +Not aliassing across scopes: print_char_cursor#45 print_screen#0 Not aliassing across scopes: print_screen#12 print_screen#15 Not aliassing across scopes: print_line_cursor#23 print_line_cursor#14 Not aliassing across scopes: print_char_cursor#10 print_char_cursor#15 -Not aliassing across scopes: print_screen#36 print_screen#13 -Not aliassing across scopes: print_line_cursor#55 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#55 print_char_cursor#11 +Not aliassing across scopes: print_screen#41 print_screen#13 +Not aliassing across scopes: print_line_cursor#60 print_line_cursor#10 +Not aliassing across scopes: print_char_cursor#60 print_char_cursor#11 Not aliassing across scopes: menu::c#0 COLS#0 Not aliassing identity: print_screen#19 print_screen#19 Not aliassing identity: print_line_cursor#35 print_line_cursor#35 @@ -3948,24 +4710,33 @@ Not aliassing across scopes: print_char_cursor#13 print_line_cursor#21 Not aliassing across scopes: print_str_lines::str#1 MENU_TEXT#0 Not aliassing across scopes: print_char_cursor#14 print_char_cursor#19 Not aliassing across scopes: print_line_cursor#13 print_line_cursor#17 -Not aliassing across scopes: keyboard_key_pressed::key#0 KEY_C#0 +Not aliassing across scopes: keyboard_key_pressed::key#0 KEY_B#0 Not aliassing across scopes: keyboard_key_pressed::return#2 keyboard_key_pressed::return#0 Not aliassing across scopes: menu::$26 keyboard_key_pressed::return#2 +Not aliassing across scopes: keyboard_key_pressed::key#1 KEY_C#0 +Not aliassing across scopes: keyboard_key_pressed::return#3 keyboard_key_pressed::return#0 +Not aliassing across scopes: menu::$30 keyboard_key_pressed::return#3 Not aliassing across scopes: mode_twoplanebitmap::col#0 TWOPLANE_COLORS#0 Not aliassing across scopes: mode_twoplanebitmap::gfxa#0 TWOPLANE_PLANEA#0 Not aliassing across scopes: mode_twoplanebitmap::gfxb#0 TWOPLANE_PLANEB#0 -Not aliassing across scopes: keyboard_key_pressed::key#1 KEY_SPACE#0 -Not aliassing across scopes: keyboard_key_pressed::return#3 keyboard_key_pressed::return#0 -Not aliassing across scopes: mode_twoplanebitmap::$27 keyboard_key_pressed::return#3 +Not aliassing across scopes: keyboard_key_pressed::key#2 KEY_SPACE#0 +Not aliassing across scopes: keyboard_key_pressed::return#4 keyboard_key_pressed::return#0 +Not aliassing across scopes: mode_twoplanebitmap::$27 keyboard_key_pressed::return#4 +Not aliassing across scopes: mode_sixsfred::col#0 TWOPLANE_COLORS#0 +Not aliassing across scopes: mode_sixsfred::gfxa#0 SIXSFRED_PLANEA#0 +Not aliassing across scopes: mode_sixsfred::gfxb#0 SIXSFRED_PLANEB#0 +Not aliassing across scopes: keyboard_key_pressed::key#3 KEY_SPACE#0 +Not aliassing across scopes: keyboard_key_pressed::return#10 keyboard_key_pressed::return#0 +Not aliassing across scopes: mode_sixsfred::$25 keyboard_key_pressed::return#10 Not aliassing across scopes: print_screen#16 print_screen#13 Not aliassing across scopes: print_line_cursor#15 print_line_cursor#10 Not aliassing across scopes: print_char_cursor#16 print_char_cursor#11 Self Phi Eliminated (byte*) print_line_cursor#30 Self Phi Eliminated (byte*) print_char_cursor#20 Self Phi Eliminated (byte*) print_line_cursor#21 -Self Phi Eliminated (byte*) print_screen#29 -Self Phi Eliminated (byte*) print_line_cursor#48 -Self Phi Eliminated (byte*) print_char_cursor#49 +Self Phi Eliminated (byte*) print_screen#31 +Self Phi Eliminated (byte*) print_line_cursor#50 +Self Phi Eliminated (byte*) print_char_cursor#51 Self Phi Eliminated (byte*) print_screen#19 Self Phi Eliminated (byte*) print_line_cursor#35 Self Phi Eliminated (byte*) print_char_cursor#37 @@ -3975,10 +4746,13 @@ Self Phi Eliminated (byte*) print_char_cursor#15 Self Phi Eliminated (byte) mode_twoplanebitmap::cy#2 Self Phi Eliminated (byte) mode_twoplanebitmap::ay#2 Self Phi Eliminated (byte) mode_twoplanebitmap::by#2 +Self Phi Eliminated (byte) mode_sixsfred::cy#2 +Self Phi Eliminated (byte) mode_sixsfred::ay#2 +Self Phi Eliminated (byte) mode_sixsfred::by#2 Succesful SSA optimization Pass2SelfPhiElimination Redundant Phi (byte*) print_str_lines::str#4 (byte*) print_str_lines::str#1 -Redundant Phi (byte*) print_char_cursor#41 (byte*) print_char_cursor#13 -Redundant Phi (byte*) print_line_cursor#39 (byte*) print_line_cursor#12 +Redundant Phi (byte*) print_char_cursor#42 (byte*) print_char_cursor#13 +Redundant Phi (byte*) print_line_cursor#40 (byte*) print_line_cursor#12 Redundant Phi (byte*) print_line_cursor#30 (byte*) print_line_cursor#17 Redundant Phi (byte*) print_line_cursor#1 (byte*) print_line_cursor#19 Redundant Phi (byte*) print_char_cursor#18 (byte*) print_line_cursor#19 @@ -3989,21 +4763,21 @@ Redundant Phi (byte*) print_screen#8 (byte*) print_screen#14 Redundant Phi (byte*) print_line_cursor#21 (byte*) print_screen#8 Redundant Phi (byte*) print_set_screen::screen#1 (byte*) print_set_screen::screen#0 Redundant Phi (byte) keyboard_matrix_read::rowid#1 (byte) keyboard_matrix_read::rowid#0 -Redundant Phi (byte*) print_screen#23 (byte*) print_screen#0 -Redundant Phi (byte*) print_line_cursor#41 (byte*) print_screen#0 -Redundant Phi (byte*) print_char_cursor#44 (byte*) print_screen#0 +Redundant Phi (byte*) print_screen#24 (byte*) print_screen#0 +Redundant Phi (byte*) print_line_cursor#42 (byte*) print_screen#0 +Redundant Phi (byte*) print_char_cursor#45 (byte*) print_screen#0 Redundant Phi (byte*) print_screen#12 (byte*) print_screen#15 Redundant Phi (byte*) print_line_cursor#23 (byte*) print_line_cursor#14 Redundant Phi (byte*) print_char_cursor#10 (byte*) print_char_cursor#15 -Redundant Phi (byte*) print_screen#36 (byte*) print_screen#13 -Redundant Phi (byte*) print_line_cursor#55 (byte*) print_line_cursor#10 -Redundant Phi (byte*) print_char_cursor#55 (byte*) print_char_cursor#11 -Redundant Phi (byte*) print_screen#29 (byte*) print_screen#36 -Redundant Phi (byte*) print_line_cursor#48 (byte*) print_line_cursor#55 -Redundant Phi (byte*) print_char_cursor#49 (byte*) print_char_cursor#55 -Redundant Phi (byte*) print_screen#19 (byte*) print_screen#29 -Redundant Phi (byte*) print_line_cursor#35 (byte*) print_line_cursor#48 -Redundant Phi (byte*) print_char_cursor#37 (byte*) print_char_cursor#49 +Redundant Phi (byte*) print_screen#41 (byte*) print_screen#13 +Redundant Phi (byte*) print_line_cursor#60 (byte*) print_line_cursor#10 +Redundant Phi (byte*) print_char_cursor#60 (byte*) print_char_cursor#11 +Redundant Phi (byte*) print_screen#31 (byte*) print_screen#41 +Redundant Phi (byte*) print_line_cursor#50 (byte*) print_line_cursor#60 +Redundant Phi (byte*) print_char_cursor#51 (byte*) print_char_cursor#60 +Redundant Phi (byte*) print_screen#19 (byte*) print_screen#31 +Redundant Phi (byte*) print_line_cursor#35 (byte*) print_line_cursor#50 +Redundant Phi (byte*) print_char_cursor#37 (byte*) print_char_cursor#51 Redundant Phi (byte*) print_screen#14 (byte*) print_screen#1 Redundant Phi (byte*) print_line_cursor#11 (byte*) print_screen#1 Redundant Phi (byte*) print_char_cursor#12 (byte*) print_screen#1 @@ -4017,6 +4791,9 @@ Redundant Phi (byte*) print_char_cursor#15 (byte*) print_char_cursor#14 Redundant Phi (byte) mode_twoplanebitmap::cy#2 (byte) mode_twoplanebitmap::cy#4 Redundant Phi (byte) mode_twoplanebitmap::ay#2 (byte) mode_twoplanebitmap::ay#4 Redundant Phi (byte) mode_twoplanebitmap::by#2 (byte) mode_twoplanebitmap::by#4 +Redundant Phi (byte) mode_sixsfred::cy#2 (byte) mode_sixsfred::cy#4 +Redundant Phi (byte) mode_sixsfred::ay#2 (byte) mode_sixsfred::ay#4 +Redundant Phi (byte) mode_sixsfred::by#2 (byte) mode_sixsfred::by#4 Redundant Phi (byte*) print_screen#16 (byte*) print_screen#13 Redundant Phi (byte*) print_line_cursor#15 (byte*) print_line_cursor#10 Redundant Phi (byte*) print_char_cursor#16 (byte*) print_char_cursor#11 @@ -4029,6 +4806,7 @@ Simple Condition (boolean~) print_cls::$1 if((byte*) print_cls::sc#1!=(byte*~) p Simple Condition (boolean~) menu::$20 if((byte) menu::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto menu::@1 Simple Condition (boolean~) menu::$22 if((byte*) menu::c#1!=(byte*~) menu::$21) goto menu::@2 Simple Condition (boolean~) menu::$28 if((byte~) menu::$26==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@6 +Simple Condition (boolean~) menu::$32 if((byte~) menu::$30==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@7 Simple Condition (boolean~) mode_twoplanebitmap::$13 if((byte) mode_twoplanebitmap::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_twoplanebitmap::@1 Simple Condition (boolean~) mode_twoplanebitmap::$18 if((byte) mode_twoplanebitmap::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@3 Simple Condition (boolean~) mode_twoplanebitmap::$19 if((byte) mode_twoplanebitmap::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_twoplanebitmap::@2 @@ -4038,6 +4816,14 @@ Simple Condition (boolean~) mode_twoplanebitmap::$24 if((byte) mode_twoplanebitm Simple Condition (boolean~) mode_twoplanebitmap::$25 if((byte) mode_twoplanebitmap::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@9 Simple Condition (boolean~) mode_twoplanebitmap::$26 if((byte) mode_twoplanebitmap::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@8 Simple Condition (boolean~) mode_twoplanebitmap::$29 if((byte~) mode_twoplanebitmap::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@10 +Simple Condition (boolean~) mode_sixsfred::$14 if((byte) mode_sixsfred::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_sixsfred::@1 +Simple Condition (boolean~) mode_sixsfred::$17 if((byte) mode_sixsfred::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@3 +Simple Condition (boolean~) mode_sixsfred::$18 if((byte) mode_sixsfred::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_sixsfred::@2 +Simple Condition (boolean~) mode_sixsfred::$21 if((byte) mode_sixsfred::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@5 +Simple Condition (boolean~) mode_sixsfred::$22 if((byte) mode_sixsfred::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@4 +Simple Condition (boolean~) mode_sixsfred::$23 if((byte) mode_sixsfred::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@7 +Simple Condition (boolean~) mode_sixsfred::$24 if((byte) mode_sixsfred::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@6 +Simple Condition (boolean~) mode_sixsfred::$27 if((byte~) mode_sixsfred::$25==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_sixsfred::@8 Succesful SSA optimization Pass2ConditionalJumpSimplification Constant (const byte*) BORDERCOL#0 = ((byte*))53280 Constant (const byte*) BGCOL#0 = ((byte*))53281 @@ -4049,6 +4835,7 @@ Constant (const byte) VIC_BMM#0 = 32 Constant (const byte) VIC_DEN#0 = 16 Constant (const byte) VIC_RSEL#0 = 8 Constant (const byte*) VIC_CONTROL2#0 = ((byte*))53270 +Constant (const byte) VIC_MCM#0 = 16 Constant (const byte) VIC_CSEL#0 = 8 Constant (const byte*) VIC_MEMORY#0 = ((byte*))53272 Constant (const byte*) COLS#0 = ((byte*))55296 @@ -4081,12 +4868,13 @@ Constant (const byte*) DTV_COLOR_BANK_HI#0 = ((byte*))53303 Constant (const byte*) DTV_GRAPHICS_VIC_BANK#0 = ((byte*))53309 Constant (const byte*) print_screen#0 = ((byte*))1024 Constant (const byte) KEY_C#0 = 20 +Constant (const byte) KEY_B#0 = 28 Constant (const byte) KEY_SPACE#0 = 60 Constant (const byte[8]) keyboard_matrix_row_bitmask#0 = { 254, 253, 251, 247, 239, 223, 191, 127 } Constant (const byte[]) keyboard_matrix_col_bitmask#0 = { 1, 2, 4, 8, 16, 32, 64, 128 } Constant (const byte*) MENU_SCREEN#0 = ((byte*))32768 Constant (const byte*) MENU_CHARSET#0 = ((byte*))38912 -Constant (const string) $0 = "C64DTV Graphics Modes EMBLHCC@"+" CCMIIHO@" +Constant (const string) $0 = "C64DTV Graphics Modes CCLHBME@"+" OHIIMCC@" Constant (const dword) DTV_COLOR_BANK_DEFAULT#0 = 120832 Constant (const byte) menu::i#0 = 0 Constant (const byte*) TWOPLANE_PLANEA#0 = ((byte*))16384 @@ -4099,8 +4887,19 @@ Constant (const byte) mode_twoplanebitmap::ay#0 = 0 Constant (const byte) mode_twoplanebitmap::ax#0 = 0 Constant (const byte) mode_twoplanebitmap::by#0 = 0 Constant (const byte) mode_twoplanebitmap::bx#0 = 0 +Constant (const byte*) SIXSFRED_PLANEA#0 = ((byte*))16384 +Constant (const byte*) SIXSFRED_PLANEB#0 = ((byte*))24576 +Constant (const byte*) SIXSFRED_COLORS#0 = ((byte*))32768 +Constant (const byte) mode_sixsfred::i#0 = 0 +Constant (const byte) mode_sixsfred::cy#0 = 0 +Constant (const byte) mode_sixsfred::cx#0 = 0 +Constant (const byte[]) mode_sixsfred::row_bitmask#0 = { 0, 85, 170, 255 } +Constant (const byte) mode_sixsfred::ay#0 = 0 +Constant (const byte) mode_sixsfred::ax#0 = 0 +Constant (const byte) mode_sixsfred::by#0 = 0 +Constant (const byte) mode_sixsfred::bx#0 = 0 Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $1 = "C64DTV Graphics Modes EMBLHCC@"+" CCMIIHO@"+" MMMNCUL@" +Constant (const string) $1 = "C64DTV Graphics Modes CCLHBME@"+" OHIIMCC@"+" LUNCMMM@" Constant (const dword) menu::$0 = ((dword))MENU_CHARSET#0 Constant (const dword) menu::$3 = DTV_COLOR_BANK_DEFAULT#0/1024 Constant (const word) menu::$6 = ((word))MENU_CHARSET#0 @@ -4110,7 +4909,8 @@ Constant (const word) menu::$15 = ((word))MENU_CHARSET#0 Constant (const byte*) menu::c#0 = COLS#0 Constant (const byte*) menu::$21 = COLS#0+1000 Constant (const byte*) print_set_screen::screen#0 = MENU_SCREEN#0 -Constant (const byte) keyboard_key_pressed::key#0 = KEY_C#0 +Constant (const byte) keyboard_key_pressed::key#0 = KEY_B#0 +Constant (const byte) keyboard_key_pressed::key#1 = KEY_C#0 Constant (const byte) mode_twoplanebitmap::$0 = DTV_CONTROL_HIGHCOLOR_ON#0|DTV_CONTROL_LINEAR_ADDRESSING_ON#0 Constant (const byte) mode_twoplanebitmap::$1 = VIC_ECM#0|VIC_BMM#0 Constant (const byte) mode_twoplanebitmap::$5 = SIXSFRED_PLANEA#0 +Constant (const byte) mode_sixsfred::$8 = SIXSFRED_PLANEB#0 +Constant (const byte*) mode_sixsfred::$10 = SIXSFRED_COLORS#0/1024 +Constant (const byte*) mode_sixsfred::$12 = SIXSFRED_COLORS#0/1024 +Constant (const byte*) mode_sixsfred::col#0 = TWOPLANE_COLORS#0 +Constant (const byte*) mode_sixsfred::gfxa#0 = SIXSFRED_PLANEA#0 +Constant (const byte*) mode_sixsfred::gfxb#0 = SIXSFRED_PLANEB#0 +Constant (const byte) keyboard_key_pressed::key#3 = KEY_SPACE#0 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) print_screen#1 = print_set_screen::screen#0 -Constant (const string) $2 = "C64DTV Graphics Modes EMBLHCC@"+" CCMIIHO@"+" MMMNCUL@"+"----------------------------------------@" +Constant (const string) $2 = "C64DTV Graphics Modes CCLHBME@"+" OHIIMCC@"+" LUNCMMM@"+"----------------------------------------@" Constant (const dword) menu::$1 = menu::$0/65536 Constant (const word) menu::$4 = ((word))menu::$3 Constant (const word/signed dword/dword) menu::$7 = menu::$6/16384 @@ -4135,61 +4948,66 @@ Constant (const word) menu::$16 = menu::$15&16383 Constant (const byte) mode_twoplanebitmap::$2 = mode_twoplanebitmap::$1|VIC_DEN#0 Constant (const byte) mode_twoplanebitmap::$10 = mode_twoplanebitmap::$11 +Constant (const byte) mode_sixsfred::$2 = mode_sixsfred::$1|VIC_DEN#0 +Constant (const byte) mode_sixsfred::$11 = mode_sixsfred::$12 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte*) print_cls::sc#0 = print_screen#1 Constant (const byte*) print_cls::$0 = print_screen#1+1000 -Constant (const string) $3 = "C64DTV Graphics Modes EMBLHCC@"+" CCMIIHO@"+" MMMNCUL@"+"----------------------------------------@"+"1. Standard Char (V) 0000000@" +Constant (const string) $3 = "C64DTV Graphics Modes CCLHBME@"+" OHIIMCC@"+" LUNCMMM@"+"----------------------------------------@"+"1. Standard Char (V) 0000000@" Constant (const byte) menu::$2 = ((byte))menu::$1 Constant (const byte) menu::$5 = (const byte*) TWOPLANE_PLANEA#0 -Constant inlined keyboard_key_pressed::key#1 = (const byte) KEY_SPACE#0 +Constant inlined keyboard_key_pressed::key#1 = (const byte) KEY_C#0 Constant inlined mode_twoplanebitmap::$7 = <(const byte*) TWOPLANE_PLANEB#0 Constant inlined mode_twoplanebitmap::$8 = >(const byte*) TWOPLANE_PLANEB#0 Constant inlined mode_twoplanebitmap::$1 = (const byte) VIC_ECM#0|(const byte) VIC_BMM#0 Constant inlined mode_twoplanebitmap::$2 = (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0 Constant inlined mode_twoplanebitmap::$3 = (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0 +Constant inlined keyboard_key_pressed::key#2 = (const byte) KEY_SPACE#0 Constant inlined mode_twoplanebitmap::$4 = (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 +Constant inlined keyboard_key_pressed::key#3 = (const byte) KEY_SPACE#0 +Constant inlined mode_sixsfred::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mode_sixsfred::cy#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mode_sixsfred::gfxb#0 = (const byte*) SIXSFRED_PLANEB#0 Constant inlined mode_twoplanebitmap::$0 = (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 Constant inlined print_str_lines::str#1 = (const string) MENU_TEXT#0 Constant inlined mode_twoplanebitmap::cy#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mode_twoplanebitmap::ax#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mode_twoplanebitmap::$9 = (const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 +Constant inlined mode_sixsfred::by#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined menu::$9 = (byte/signed byte/word/signed word/dword/signed dword) 3^((byte))((word))(const byte*) MENU_CHARSET#0/(word/signed word/dword/signed dword) 16384 Constant inlined print_cls::$0 = (const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000 Constant inlined menu::$7 = ((word))(const byte*) MENU_CHARSET#0/(word/signed word/dword/signed dword) 16384 +Constant inlined mode_sixsfred::$1 = (const byte) VIC_ECM#0|(const byte) VIC_BMM#0 Constant inlined menu::$8 = ((byte))((word))(const byte*) MENU_CHARSET#0/(word/signed word/dword/signed dword) 16384 +Constant inlined mode_sixsfred::$0 = (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 Constant inlined menu::$5 = <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 +Constant inlined mode_sixsfred::$3 = (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0 Constant inlined menu::$6 = ((word))(const byte*) MENU_CHARSET#0 +Constant inlined mode_sixsfred::$2 = (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0 +Constant inlined mode_sixsfred::$5 = (const byte) VIC_MCM#0|(const byte) VIC_CSEL#0 +Constant inlined mode_sixsfred::$4 = (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 +Constant inlined mode_sixsfred::$7 = >(const byte*) SIXSFRED_PLANEA#0 +Constant inlined mode_sixsfred::$6 = <(const byte*) SIXSFRED_PLANEA#0 +Constant inlined mode_sixsfred::$9 = >(const byte*) SIXSFRED_PLANEB#0 +Constant inlined mode_sixsfred::$8 = <(const byte*) SIXSFRED_PLANEB#0 Constant inlined menu::$16 = ((word))(const byte*) MENU_CHARSET#0&(word/signed word/dword/signed dword) 16383 Constant inlined menu::$17 = ((word))(const byte*) MENU_CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 Constant inlined mode_twoplanebitmap::gfxa#0 = (const byte*) TWOPLANE_PLANEA#0 @@ -4353,16 +5225,31 @@ Constant inlined menu::$0 = ((dword))(const byte*) MENU_CHARSET#0 Constant inlined menu::$13 = ((word))(const byte*) MENU_SCREEN#0&(word/signed word/dword/signed dword) 16383 Constant inlined menu::$10 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0 Constant inlined menu::$11 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 +Constant inlined mode_sixsfred::ay#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mode_sixsfred::cx#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mode_sixsfred::gfxa#0 = (const byte*) SIXSFRED_PLANEA#0 +Constant inlined mode_sixsfred::col#0 = (const byte*) TWOPLANE_COLORS#0 Constant inlined print_cls::sc#0 = (const byte*) MENU_SCREEN#0 +Constant inlined mode_sixsfred::$10 = (const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 +Constant inlined mode_sixsfred::$11 = <(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 Constant inlined mode_twoplanebitmap::$12 = >(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 +Constant inlined mode_sixsfred::$12 = (const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 Constant inlined mode_twoplanebitmap::$11 = (const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 +Constant inlined mode_sixsfred::$13 = >(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 Constant inlined mode_twoplanebitmap::$10 = <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 Constant inlined mode_twoplanebitmap::cx#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined menu::$21 = (const byte*) COLS#0+(word/signed word/dword/signed dword) 1000 Succesful SSA optimization Pass2ConstantInlining -Block Sequence Planned @begin @21 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@2 menu::@8 menu::@14 menu::@15 menu::@3 menu::@return menu::@4 menu::@17 menu::@11 mode_twoplanebitmap mode_twoplanebitmap::@1 mode_twoplanebitmap::@14 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@15 mode_twoplanebitmap::@4 mode_twoplanebitmap::@5 mode_twoplanebitmap::@17 mode_twoplanebitmap::@7 mode_twoplanebitmap::@19 mode_twoplanebitmap::@8 mode_twoplanebitmap::@9 mode_twoplanebitmap::@21 mode_twoplanebitmap::@10 mode_twoplanebitmap::@return mode_twoplanebitmap::@11 mode_twoplanebitmap::@28 mode_twoplanebitmap::@6 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_cls print_cls::@1 print_cls::@return print_set_screen print_set_screen::@return -Added new block during phi lifting menu::@19(between menu::@1 and menu::@1) -Added new block during phi lifting menu::@20(between menu::@2 and menu::@2) +Block Sequence Planned @begin @22 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@2 menu::@9 menu::@17 menu::@18 menu::@3 menu::@return menu::@4 menu::@20 menu::@12 menu::@6 menu::@21 menu::@14 mode_sixsfred mode_sixsfred::@1 mode_sixsfred::@12 mode_sixsfred::@2 mode_sixsfred::@3 mode_sixsfred::@13 mode_sixsfred::@4 mode_sixsfred::@5 mode_sixsfred::@15 mode_sixsfred::@6 mode_sixsfred::@7 mode_sixsfred::@17 mode_sixsfred::@8 mode_sixsfred::@return mode_sixsfred::@9 mode_sixsfred::@24 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return mode_twoplanebitmap mode_twoplanebitmap::@1 mode_twoplanebitmap::@14 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@15 mode_twoplanebitmap::@4 mode_twoplanebitmap::@5 mode_twoplanebitmap::@17 mode_twoplanebitmap::@7 mode_twoplanebitmap::@19 mode_twoplanebitmap::@8 mode_twoplanebitmap::@9 mode_twoplanebitmap::@21 mode_twoplanebitmap::@10 mode_twoplanebitmap::@return mode_twoplanebitmap::@11 mode_twoplanebitmap::@28 mode_twoplanebitmap::@6 print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_cls print_cls::@1 print_cls::@return print_set_screen print_set_screen::@return +Added new block during phi lifting menu::@24(between menu::@1 and menu::@1) +Added new block during phi lifting menu::@25(between menu::@2 and menu::@2) +Added new block during phi lifting mode_sixsfred::@25(between mode_sixsfred::@1 and mode_sixsfred::@1) +Added new block during phi lifting mode_sixsfred::@26(between mode_sixsfred::@13 and mode_sixsfred::@2) +Added new block during phi lifting mode_sixsfred::@27(between mode_sixsfred::@3 and mode_sixsfred::@3) +Added new block during phi lifting mode_sixsfred::@28(between mode_sixsfred::@15 and mode_sixsfred::@4) +Added new block during phi lifting mode_sixsfred::@29(between mode_sixsfred::@5 and mode_sixsfred::@5) +Added new block during phi lifting mode_sixsfred::@30(between mode_sixsfred::@17 and mode_sixsfred::@6) +Added new block during phi lifting mode_sixsfred::@31(between mode_sixsfred::@7 and mode_sixsfred::@7) Added new block during phi lifting mode_twoplanebitmap::@29(between mode_twoplanebitmap::@1 and mode_twoplanebitmap::@1) Added new block during phi lifting mode_twoplanebitmap::@30(between mode_twoplanebitmap::@15 and mode_twoplanebitmap::@2) Added new block during phi lifting mode_twoplanebitmap::@31(between mode_twoplanebitmap::@3 and mode_twoplanebitmap::@3) @@ -4375,15 +5262,18 @@ Added new block during phi lifting print_str_lines::@13(between print_str_lines: Added new block during phi lifting print_str_lines::@14(between print_str_lines::@4 and print_str_lines::@5) Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1) Added new block during phi lifting print_cls::@3(between print_cls::@1 and print_cls::@1) -Block Sequence Planned @begin @21 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@2 menu::@8 menu::@14 menu::@15 menu::@3 menu::@return menu::@4 menu::@17 menu::@11 menu::@20 menu::@19 mode_twoplanebitmap mode_twoplanebitmap::@1 mode_twoplanebitmap::@14 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@15 mode_twoplanebitmap::@4 mode_twoplanebitmap::@5 mode_twoplanebitmap::@17 mode_twoplanebitmap::@7 mode_twoplanebitmap::@19 mode_twoplanebitmap::@8 mode_twoplanebitmap::@9 mode_twoplanebitmap::@21 mode_twoplanebitmap::@10 mode_twoplanebitmap::@return mode_twoplanebitmap::@11 mode_twoplanebitmap::@28 mode_twoplanebitmap::@34 mode_twoplanebitmap::@35 mode_twoplanebitmap::@32 mode_twoplanebitmap::@33 mode_twoplanebitmap::@6 mode_twoplanebitmap::@30 mode_twoplanebitmap::@31 mode_twoplanebitmap::@29 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@12 print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_str_lines::@13 print_str_lines::@14 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_cls print_cls::@1 print_cls::@return print_cls::@3 print_set_screen print_set_screen::@return +Block Sequence Planned @begin @22 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@2 menu::@9 menu::@17 menu::@18 menu::@3 menu::@return menu::@4 menu::@20 menu::@12 menu::@6 menu::@21 menu::@14 menu::@25 menu::@24 mode_sixsfred mode_sixsfred::@1 mode_sixsfred::@12 mode_sixsfred::@2 mode_sixsfred::@3 mode_sixsfred::@13 mode_sixsfred::@4 mode_sixsfred::@5 mode_sixsfred::@15 mode_sixsfred::@6 mode_sixsfred::@7 mode_sixsfred::@17 mode_sixsfred::@8 mode_sixsfred::@return mode_sixsfred::@9 mode_sixsfred::@24 mode_sixsfred::@30 mode_sixsfred::@31 mode_sixsfred::@28 mode_sixsfred::@29 mode_sixsfred::@26 mode_sixsfred::@27 mode_sixsfred::@25 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return mode_twoplanebitmap mode_twoplanebitmap::@1 mode_twoplanebitmap::@14 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@15 mode_twoplanebitmap::@4 mode_twoplanebitmap::@5 mode_twoplanebitmap::@17 mode_twoplanebitmap::@7 mode_twoplanebitmap::@19 mode_twoplanebitmap::@8 mode_twoplanebitmap::@9 mode_twoplanebitmap::@21 mode_twoplanebitmap::@10 mode_twoplanebitmap::@return mode_twoplanebitmap::@11 mode_twoplanebitmap::@28 mode_twoplanebitmap::@34 mode_twoplanebitmap::@35 mode_twoplanebitmap::@32 mode_twoplanebitmap::@33 mode_twoplanebitmap::@6 mode_twoplanebitmap::@30 mode_twoplanebitmap::@31 mode_twoplanebitmap::@29 print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@12 print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_str_lines::@13 print_str_lines::@14 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_cls print_cls::@1 print_cls::@return print_cls::@3 print_set_screen print_set_screen::@return Adding NOP phi() at start of @begin -Adding NOP phi() at start of @21 +Adding NOP phi() at start of @22 Adding NOP phi() at start of @end Adding NOP phi() at start of main::@2 -Adding NOP phi() at start of menu::@14 -Adding NOP phi() at start of menu::@15 +Adding NOP phi() at start of menu::@17 +Adding NOP phi() at start of menu::@18 Adding NOP phi() at start of menu::@4 -Adding NOP phi() at start of menu::@11 +Adding NOP phi() at start of menu::@12 +Adding NOP phi() at start of menu::@6 +Adding NOP phi() at start of menu::@14 +Adding NOP phi() at start of mode_sixsfred::@9 Adding NOP phi() at start of mode_twoplanebitmap::@11 Adding NOP phi() at start of print_str_lines Adding NOP phi() at start of print_str_lines::@9 @@ -4392,10 +5282,11 @@ Adding NOP phi() at start of print_set_screen CALL GRAPH Calls in [] to main:2 Calls in [main] to menu:9 -Calls in [menu] to print_set_screen:29 print_cls:31 print_str_lines:33 keyboard_key_pressed:37 mode_twoplanebitmap:42 -Calls in [mode_twoplanebitmap] to keyboard_key_pressed:107 -Calls in [keyboard_key_pressed] to keyboard_matrix_read:131 -Calls in [print_str_lines] to print_ln:155 +Calls in [menu] to print_set_screen:29 print_cls:31 print_str_lines:33 keyboard_key_pressed:37 mode_twoplanebitmap:42 keyboard_key_pressed:44 mode_sixsfred:49 +Calls in [mode_sixsfred] to keyboard_key_pressed:108 +Calls in [keyboard_key_pressed] to keyboard_matrix_read:129 +Calls in [mode_twoplanebitmap] to keyboard_key_pressed:199 +Calls in [print_str_lines] to print_ln:235 Propagating live ranges... Propagating live ranges... @@ -4409,42 +5300,65 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Created 25 initial phi equivalence classes -Coalesced [43] menu::c#3 ← menu::c#1 -Coalesced [44] menu::i#3 ← menu::i#1 -Coalesced [70] mode_twoplanebitmap::col#6 ← mode_twoplanebitmap::col#3 -Coalesced [83] mode_twoplanebitmap::gfxa#10 ← mode_twoplanebitmap::gfxa#6 -Coalesced [89] mode_twoplanebitmap::gfxa#12 ← mode_twoplanebitmap::gfxa#2 -Coalesced [96] mode_twoplanebitmap::gfxb#6 ← mode_twoplanebitmap::gfxb#3 -Coalesced [111] mode_twoplanebitmap::gfxb#5 ← mode_twoplanebitmap::gfxb#1 -Coalesced [112] mode_twoplanebitmap::by#5 ← mode_twoplanebitmap::by#1 -Coalesced (already) [113] mode_twoplanebitmap::gfxb#7 ← mode_twoplanebitmap::gfxb#1 -Coalesced [114] mode_twoplanebitmap::bx#3 ← mode_twoplanebitmap::bx#1 -Coalesced [115] mode_twoplanebitmap::ay#8 ← mode_twoplanebitmap::ay#1 -Coalesced [116] mode_twoplanebitmap::gfxa#9 ← mode_twoplanebitmap::gfxa#7 -Coalesced (already) [117] mode_twoplanebitmap::gfxa#11 ← mode_twoplanebitmap::gfxa#7 -Coalesced [118] mode_twoplanebitmap::ax#6 ← mode_twoplanebitmap::ax#1 -Coalesced [121] mode_twoplanebitmap::gfxa#13 ← mode_twoplanebitmap::gfxa#1 -Coalesced [122] mode_twoplanebitmap::cy#5 ← mode_twoplanebitmap::cy#1 -Coalesced [123] mode_twoplanebitmap::col#5 ← mode_twoplanebitmap::col#1 -Coalesced [124] mode_twoplanebitmap::cx#3 ← mode_twoplanebitmap::cx#1 -Coalesced (already) [125] mode_twoplanebitmap::col#7 ← mode_twoplanebitmap::col#1 -Coalesced [126] mode_twoplanebitmap::i#3 ← mode_twoplanebitmap::i#1 -Coalesced [143] print_str_lines::str#11 ← print_str_lines::str#2 -Coalesced [144] print_char_cursor#57 ← print_char_cursor#19 -Coalesced [151] print_char_cursor#60 ← print_char_cursor#1 -Coalesced [156] print_str_lines::str#10 ← print_str_lines::str#0 -Not coalescing [157] print_char_cursor#56 ← print_line_cursor#19 -Coalesced [158] print_line_cursor#56 ← print_line_cursor#19 -Coalesced (already) [159] print_str_lines::str#12 ← print_str_lines::str#0 -Coalesced [160] print_char_cursor#58 ← print_char_cursor#32 -Coalesced (already) [161] print_char_cursor#59 ← print_char_cursor#17 -Coalesced [162] print_line_cursor#57 ← print_line_cursor#17 -Coalesced (already) [167] print_line_cursor#58 ← print_line_cursor#19 -Coalesced [174] print_cls::sc#3 ← print_cls::sc#1 -Coalesced down to 17 phi equivalence classes -Culled Empty Block (label) menu::@20 -Culled Empty Block (label) menu::@19 +Created 38 initial phi equivalence classes +Coalesced [50] menu::c#3 ← menu::c#1 +Coalesced [51] menu::i#3 ← menu::i#1 +Coalesced [75] mode_sixsfred::col#6 ← mode_sixsfred::col#3 +Coalesced [86] mode_sixsfred::gfxa#6 ← mode_sixsfred::gfxa#3 +Coalesced [97] mode_sixsfred::gfxb#6 ← mode_sixsfred::gfxb#3 +Coalesced [112] mode_sixsfred::gfxb#5 ← mode_sixsfred::gfxb#1 +Coalesced [113] mode_sixsfred::by#5 ← mode_sixsfred::by#1 +Coalesced (already) [114] mode_sixsfred::gfxb#7 ← mode_sixsfred::gfxb#1 +Coalesced [115] mode_sixsfred::bx#3 ← mode_sixsfred::bx#1 +Coalesced [116] mode_sixsfred::ay#5 ← mode_sixsfred::ay#1 +Coalesced [117] mode_sixsfred::gfxa#5 ← mode_sixsfred::gfxa#1 +Coalesced (already) [118] mode_sixsfred::gfxa#7 ← mode_sixsfred::gfxa#1 +Coalesced [119] mode_sixsfred::ax#3 ← mode_sixsfred::ax#1 +Coalesced [120] mode_sixsfred::cy#5 ← mode_sixsfred::cy#1 +Coalesced [121] mode_sixsfred::col#5 ← mode_sixsfred::col#1 +Coalesced [122] mode_sixsfred::cx#3 ← mode_sixsfred::cx#1 +Coalesced (already) [123] mode_sixsfred::col#7 ← mode_sixsfred::col#1 +Coalesced [124] mode_sixsfred::i#3 ← mode_sixsfred::i#1 +Coalesced [162] mode_twoplanebitmap::col#6 ← mode_twoplanebitmap::col#3 +Coalesced [175] mode_twoplanebitmap::gfxa#10 ← mode_twoplanebitmap::gfxa#6 +Coalesced [181] mode_twoplanebitmap::gfxa#12 ← mode_twoplanebitmap::gfxa#2 +Coalesced [188] mode_twoplanebitmap::gfxb#6 ← mode_twoplanebitmap::gfxb#3 +Coalesced [203] mode_twoplanebitmap::gfxb#5 ← mode_twoplanebitmap::gfxb#1 +Coalesced [204] mode_twoplanebitmap::by#5 ← mode_twoplanebitmap::by#1 +Coalesced (already) [205] mode_twoplanebitmap::gfxb#7 ← mode_twoplanebitmap::gfxb#1 +Coalesced [206] mode_twoplanebitmap::bx#3 ← mode_twoplanebitmap::bx#1 +Coalesced [207] mode_twoplanebitmap::ay#8 ← mode_twoplanebitmap::ay#1 +Coalesced [208] mode_twoplanebitmap::gfxa#9 ← mode_twoplanebitmap::gfxa#7 +Coalesced (already) [209] mode_twoplanebitmap::gfxa#11 ← mode_twoplanebitmap::gfxa#7 +Coalesced [210] mode_twoplanebitmap::ax#6 ← mode_twoplanebitmap::ax#1 +Coalesced [213] mode_twoplanebitmap::gfxa#13 ← mode_twoplanebitmap::gfxa#1 +Coalesced [214] mode_twoplanebitmap::cy#5 ← mode_twoplanebitmap::cy#1 +Coalesced [215] mode_twoplanebitmap::col#5 ← mode_twoplanebitmap::col#1 +Coalesced [216] mode_twoplanebitmap::cx#3 ← mode_twoplanebitmap::cx#1 +Coalesced (already) [217] mode_twoplanebitmap::col#7 ← mode_twoplanebitmap::col#1 +Coalesced [218] mode_twoplanebitmap::i#3 ← mode_twoplanebitmap::i#1 +Coalesced [223] print_str_lines::str#11 ← print_str_lines::str#2 +Coalesced [224] print_char_cursor#62 ← print_char_cursor#19 +Coalesced [231] print_char_cursor#65 ← print_char_cursor#1 +Coalesced [236] print_str_lines::str#10 ← print_str_lines::str#0 +Not coalescing [237] print_char_cursor#61 ← print_line_cursor#19 +Coalesced [238] print_line_cursor#61 ← print_line_cursor#19 +Coalesced (already) [239] print_str_lines::str#12 ← print_str_lines::str#0 +Coalesced [240] print_char_cursor#63 ← print_char_cursor#32 +Coalesced (already) [241] print_char_cursor#64 ← print_char_cursor#17 +Coalesced [242] print_line_cursor#62 ← print_line_cursor#17 +Coalesced (already) [247] print_line_cursor#63 ← print_line_cursor#19 +Coalesced [254] print_cls::sc#3 ← print_cls::sc#1 +Coalesced down to 27 phi equivalence classes +Culled Empty Block (label) menu::@25 +Culled Empty Block (label) menu::@24 +Culled Empty Block (label) mode_sixsfred::@30 +Culled Empty Block (label) mode_sixsfred::@31 +Culled Empty Block (label) mode_sixsfred::@28 +Culled Empty Block (label) mode_sixsfred::@29 +Culled Empty Block (label) mode_sixsfred::@26 +Culled Empty Block (label) mode_sixsfred::@27 +Culled Empty Block (label) mode_sixsfred::@25 Culled Empty Block (label) mode_twoplanebitmap::@34 Culled Empty Block (label) mode_twoplanebitmap::@35 Culled Empty Block (label) mode_twoplanebitmap::@32 @@ -4457,15 +5371,18 @@ Culled Empty Block (label) print_str_lines::@13 Culled Empty Block (label) print_str_lines::@14 Culled Empty Block (label) print_ln::@3 Culled Empty Block (label) print_cls::@3 -Block Sequence Planned @begin @21 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@2 menu::@8 menu::@14 menu::@15 menu::@3 menu::@return menu::@4 menu::@17 menu::@11 mode_twoplanebitmap mode_twoplanebitmap::@1 mode_twoplanebitmap::@14 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@15 mode_twoplanebitmap::@4 mode_twoplanebitmap::@5 mode_twoplanebitmap::@17 mode_twoplanebitmap::@7 mode_twoplanebitmap::@19 mode_twoplanebitmap::@8 mode_twoplanebitmap::@9 mode_twoplanebitmap::@21 mode_twoplanebitmap::@10 mode_twoplanebitmap::@return mode_twoplanebitmap::@11 mode_twoplanebitmap::@28 mode_twoplanebitmap::@6 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_cls print_cls::@1 print_cls::@return print_set_screen print_set_screen::@return +Block Sequence Planned @begin @22 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@2 menu::@9 menu::@17 menu::@18 menu::@3 menu::@return menu::@4 menu::@20 menu::@12 menu::@6 menu::@21 menu::@14 mode_sixsfred mode_sixsfred::@1 mode_sixsfred::@12 mode_sixsfred::@2 mode_sixsfred::@3 mode_sixsfred::@13 mode_sixsfred::@4 mode_sixsfred::@5 mode_sixsfred::@15 mode_sixsfred::@6 mode_sixsfred::@7 mode_sixsfred::@17 mode_sixsfred::@8 mode_sixsfred::@return mode_sixsfred::@9 mode_sixsfred::@24 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return mode_twoplanebitmap mode_twoplanebitmap::@1 mode_twoplanebitmap::@14 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@15 mode_twoplanebitmap::@4 mode_twoplanebitmap::@5 mode_twoplanebitmap::@17 mode_twoplanebitmap::@7 mode_twoplanebitmap::@19 mode_twoplanebitmap::@8 mode_twoplanebitmap::@9 mode_twoplanebitmap::@21 mode_twoplanebitmap::@10 mode_twoplanebitmap::@return mode_twoplanebitmap::@11 mode_twoplanebitmap::@28 mode_twoplanebitmap::@6 print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_cls print_cls::@1 print_cls::@return print_set_screen print_set_screen::@return Adding NOP phi() at start of @begin -Adding NOP phi() at start of @21 +Adding NOP phi() at start of @22 Adding NOP phi() at start of @end Adding NOP phi() at start of main::@2 -Adding NOP phi() at start of menu::@14 -Adding NOP phi() at start of menu::@15 +Adding NOP phi() at start of menu::@17 +Adding NOP phi() at start of menu::@18 Adding NOP phi() at start of menu::@4 -Adding NOP phi() at start of menu::@11 +Adding NOP phi() at start of menu::@12 +Adding NOP phi() at start of menu::@6 +Adding NOP phi() at start of menu::@14 +Adding NOP phi() at start of mode_sixsfred::@9 Adding NOP phi() at start of mode_twoplanebitmap::@11 Adding NOP phi() at start of print_str_lines Adding NOP phi() at start of print_str_lines::@9 @@ -4487,14 +5404,14 @@ Propagating live ranges... FINAL CONTROL FLOW GRAPH @begin: scope:[] from [0] phi() [ ] ( ) - to:@21 -@21: scope:[] from @begin + to:@22 +@22: scope:[] from @begin [1] phi() [ ] ( ) [2] call main param-assignment [ ] ( ) to:@end -@end: scope:[] from @21 +@end: scope:[] from @22 [3] phi() [ ] ( ) -main: scope:[main] from @21 +main: scope:[main] from @22 asm { sei } [5] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) to:main::@1 @@ -4530,295 +5447,430 @@ menu::@2: scope:[menu] from menu::@1 menu::@2 [24] *((byte*) menu::c#2) ← (const byte) LIGHT_GREEN#0 [ menu::c#2 ] ( main:2::menu:9 [ menu::c#2 ] ) [25] (byte*) menu::c#1 ← ++ (byte*) menu::c#2 [ menu::c#1 ] ( main:2::menu:9 [ menu::c#1 ] ) [26] if((byte*) menu::c#1!=(const byte*) COLS#0+(word/signed word/dword/signed dword) 1000) goto menu::@2 [ menu::c#1 ] ( main:2::menu:9 [ menu::c#1 ] ) - to:menu::@8 -menu::@8: scope:[menu] from menu::@2 + to:menu::@9 +menu::@9: scope:[menu] from menu::@2 [27] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9 [ ] ) [28] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9 [ ] ) [29] call print_set_screen param-assignment [ ] ( main:2::menu:9 [ ] ) - to:menu::@14 -menu::@14: scope:[menu] from menu::@8 + to:menu::@17 +menu::@17: scope:[menu] from menu::@9 [30] phi() [ ] ( main:2::menu:9 [ ] ) [31] call print_cls param-assignment [ ] ( main:2::menu:9 [ ] ) - to:menu::@15 -menu::@15: scope:[menu] from menu::@14 + to:menu::@18 +menu::@18: scope:[menu] from menu::@17 [32] phi() [ ] ( main:2::menu:9 [ ] ) [33] call print_str_lines param-assignment [ ] ( main:2::menu:9 [ ] ) to:menu::@3 -menu::@3: scope:[menu] from menu::@15 menu::@17 +menu::@3: scope:[menu] from menu::@18 menu::@21 [34] if(true) goto menu::@4 [ ] ( main:2::menu:9 [ ] ) to:menu::@return -menu::@return: scope:[menu] from menu::@11 menu::@3 +menu::@return: scope:[menu] from menu::@12 menu::@14 menu::@3 [35] return [ ] ( main:2::menu:9 [ ] ) to:@return menu::@4: scope:[menu] from menu::@3 [36] phi() [ ] ( main:2::menu:9 [ ] ) [37] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9 [ keyboard_key_pressed::return#0 ] ) [38] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#2 ] ( main:2::menu:9 [ keyboard_key_pressed::return#2 ] ) - to:menu::@17 -menu::@17: scope:[menu] from menu::@4 + to:menu::@20 +menu::@20: scope:[menu] from menu::@4 [39] (byte~) menu::$26 ← (byte) keyboard_key_pressed::return#2 [ menu::$26 ] ( main:2::menu:9 [ menu::$26 ] ) - [40] if((byte~) menu::$26==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@3 [ ] ( main:2::menu:9 [ ] ) - to:menu::@11 -menu::@11: scope:[menu] from menu::@17 + [40] if((byte~) menu::$26==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@6 [ ] ( main:2::menu:9 [ ] ) + to:menu::@12 +menu::@12: scope:[menu] from menu::@20 [41] phi() [ ] ( main:2::menu:9 [ ] ) [42] call mode_twoplanebitmap param-assignment [ ] ( main:2::menu:9 [ ] ) to:menu::@return -mode_twoplanebitmap: scope:[mode_twoplanebitmap] from menu::@11 - [43] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [44] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [45] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [46] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [47] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [48] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [49] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [50] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [51] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [52] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [53] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [54] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [55] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [56] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [57] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [58] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [59] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - to:mode_twoplanebitmap::@1 -mode_twoplanebitmap::@1: scope:[mode_twoplanebitmap] from mode_twoplanebitmap mode_twoplanebitmap::@1 - [60] (byte) mode_twoplanebitmap::i#2 ← phi( mode_twoplanebitmap/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@1/(byte) mode_twoplanebitmap::i#1 ) [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) - [61] *((const byte*) DTV_PALETTE#0 + (byte) mode_twoplanebitmap::i#2) ← (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) - [62] (byte) mode_twoplanebitmap::i#1 ← ++ (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) - [63] if((byte) mode_twoplanebitmap::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_twoplanebitmap::@1 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) - to:mode_twoplanebitmap::@14 -mode_twoplanebitmap::@14: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@1 - [64] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [65] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [66] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - to:mode_twoplanebitmap::@2 -mode_twoplanebitmap::@2: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@14 mode_twoplanebitmap::@15 - [67] (byte*) mode_twoplanebitmap::col#3 ← phi( mode_twoplanebitmap::@14/(const byte*) TWOPLANE_COLORS#0 mode_twoplanebitmap::@15/(byte*) mode_twoplanebitmap::col#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ) - [67] (byte) mode_twoplanebitmap::cy#4 ← phi( mode_twoplanebitmap::@14/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@15/(byte) mode_twoplanebitmap::cy#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ) - to:mode_twoplanebitmap::@3 -mode_twoplanebitmap::@3: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 - [68] (byte*) mode_twoplanebitmap::col#2 ← phi( mode_twoplanebitmap::@2/(byte*) mode_twoplanebitmap::col#3 mode_twoplanebitmap::@3/(byte*) mode_twoplanebitmap::col#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) - [68] (byte) mode_twoplanebitmap::cx#2 ← phi( mode_twoplanebitmap::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@3/(byte) mode_twoplanebitmap::cx#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) - [69] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) - [70] (byte~) mode_twoplanebitmap::$15 ← (byte~) mode_twoplanebitmap::$14 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ) - [71] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) - [72] (byte~) mode_twoplanebitmap::$17 ← (byte~) mode_twoplanebitmap::$15 | (byte~) mode_twoplanebitmap::$16 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ) - [73] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) - [74] (byte*) mode_twoplanebitmap::col#1 ← ++ (byte*) mode_twoplanebitmap::col#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ) - [75] (byte) mode_twoplanebitmap::cx#1 ← ++ (byte) mode_twoplanebitmap::cx#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) - [76] if((byte) mode_twoplanebitmap::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@3 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) - to:mode_twoplanebitmap::@15 -mode_twoplanebitmap::@15: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@3 - [77] (byte) mode_twoplanebitmap::cy#1 ← ++ (byte) mode_twoplanebitmap::cy#4 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) - [78] if((byte) mode_twoplanebitmap::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_twoplanebitmap::@2 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) - to:mode_twoplanebitmap::@4 -mode_twoplanebitmap::@4: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@15 mode_twoplanebitmap::@19 - [79] (byte*) mode_twoplanebitmap::gfxa#6 ← phi( mode_twoplanebitmap::@15/(const byte*) TWOPLANE_PLANEA#0 mode_twoplanebitmap::@19/(byte*) mode_twoplanebitmap::gfxa#7 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ) - [79] (byte) mode_twoplanebitmap::ay#4 ← phi( mode_twoplanebitmap::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@19/(byte) mode_twoplanebitmap::ay#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ) - to:mode_twoplanebitmap::@5 -mode_twoplanebitmap::@5: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@4 mode_twoplanebitmap::@7 - [80] (byte) mode_twoplanebitmap::ax#2 ← phi( mode_twoplanebitmap::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@7/(byte) mode_twoplanebitmap::ax#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) - [80] (byte*) mode_twoplanebitmap::gfxa#3 ← phi( mode_twoplanebitmap::@4/(byte*) mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::@7/(byte*) mode_twoplanebitmap::gfxa#7 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) - [81] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) - [82] if((byte~) mode_twoplanebitmap::$20!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@6 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) - to:mode_twoplanebitmap::@17 -mode_twoplanebitmap::@17: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@5 - [83] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) - [84] (byte*) mode_twoplanebitmap::gfxa#2 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ) - to:mode_twoplanebitmap::@7 -mode_twoplanebitmap::@7: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@17 mode_twoplanebitmap::@6 - [85] (byte*) mode_twoplanebitmap::gfxa#7 ← phi( mode_twoplanebitmap::@17/(byte*) mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::@6/(byte*) mode_twoplanebitmap::gfxa#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#2 ] ) - [86] (byte) mode_twoplanebitmap::ax#1 ← ++ (byte) mode_twoplanebitmap::ax#2 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) - [87] if((byte) mode_twoplanebitmap::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@5 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) - to:mode_twoplanebitmap::@19 -mode_twoplanebitmap::@19: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@7 - [88] (byte) mode_twoplanebitmap::ay#1 ← ++ (byte) mode_twoplanebitmap::ay#4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) - [89] if((byte) mode_twoplanebitmap::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) - to:mode_twoplanebitmap::@8 -mode_twoplanebitmap::@8: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@19 mode_twoplanebitmap::@21 - [90] (byte) mode_twoplanebitmap::by#4 ← phi( mode_twoplanebitmap::@19/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@21/(byte) mode_twoplanebitmap::by#1 ) [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ) - [90] (byte*) mode_twoplanebitmap::gfxb#3 ← phi( mode_twoplanebitmap::@19/(const byte*) TWOPLANE_PLANEB#0 mode_twoplanebitmap::@21/(byte*) mode_twoplanebitmap::gfxb#1 ) [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ) - to:mode_twoplanebitmap::@9 -mode_twoplanebitmap::@9: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@8 mode_twoplanebitmap::@9 - [91] (byte) mode_twoplanebitmap::bx#2 ← phi( mode_twoplanebitmap::@8/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@9/(byte) mode_twoplanebitmap::bx#1 ) [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) - [91] (byte*) mode_twoplanebitmap::gfxb#2 ← phi( mode_twoplanebitmap::@8/(byte*) mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::@9/(byte*) mode_twoplanebitmap::gfxb#1 ) [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) - [92] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) - [93] (byte*) mode_twoplanebitmap::gfxb#1 ← ++ (byte*) mode_twoplanebitmap::gfxb#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ) - [94] (byte) mode_twoplanebitmap::bx#1 ← ++ (byte) mode_twoplanebitmap::bx#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) - [95] if((byte) mode_twoplanebitmap::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@9 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) - to:mode_twoplanebitmap::@21 -mode_twoplanebitmap::@21: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@9 - [96] (byte) mode_twoplanebitmap::by#1 ← ++ (byte) mode_twoplanebitmap::by#4 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) - [97] if((byte) mode_twoplanebitmap::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@8 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) - to:mode_twoplanebitmap::@10 -mode_twoplanebitmap::@10: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@21 mode_twoplanebitmap::@28 - [98] if(true) goto mode_twoplanebitmap::@11 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - to:mode_twoplanebitmap::@return -mode_twoplanebitmap::@return: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@10 mode_twoplanebitmap::@28 - [99] return [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) +menu::@6: scope:[menu] from menu::@20 + [43] phi() [ ] ( main:2::menu:9 [ ] ) + [44] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9 [ keyboard_key_pressed::return#0 ] ) + [45] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#3 ] ( main:2::menu:9 [ keyboard_key_pressed::return#3 ] ) + to:menu::@21 +menu::@21: scope:[menu] from menu::@6 + [46] (byte~) menu::$30 ← (byte) keyboard_key_pressed::return#3 [ menu::$30 ] ( main:2::menu:9 [ menu::$30 ] ) + [47] if((byte~) menu::$30==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@3 [ ] ( main:2::menu:9 [ ] ) + to:menu::@14 +menu::@14: scope:[menu] from menu::@21 + [48] phi() [ ] ( main:2::menu:9 [ ] ) + [49] call mode_sixsfred param-assignment [ ] ( main:2::menu:9 [ ] ) + to:menu::@return +mode_sixsfred: scope:[mode_sixsfred] from menu::@14 + [50] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [51] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [52] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_MCM#0|(const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [53] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [54] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [55] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [56] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [57] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [58] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [59] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [60] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [61] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [62] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [63] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [64] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [65] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [66] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + to:mode_sixsfred::@1 +mode_sixsfred::@1: scope:[mode_sixsfred] from mode_sixsfred mode_sixsfred::@1 + [67] (byte) mode_sixsfred::i#2 ← phi( mode_sixsfred/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@1/(byte) mode_sixsfred::i#1 ) [ mode_sixsfred::i#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#2 ] ) + [68] *((const byte*) DTV_PALETTE#0 + (byte) mode_sixsfred::i#2) ← (byte) mode_sixsfred::i#2 [ mode_sixsfred::i#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#2 ] ) + [69] (byte) mode_sixsfred::i#1 ← ++ (byte) mode_sixsfred::i#2 [ mode_sixsfred::i#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#1 ] ) + [70] if((byte) mode_sixsfred::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_sixsfred::@1 [ mode_sixsfred::i#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#1 ] ) + to:mode_sixsfred::@12 +mode_sixsfred::@12: scope:[mode_sixsfred] from mode_sixsfred::@1 + [71] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + to:mode_sixsfred::@2 +mode_sixsfred::@2: scope:[mode_sixsfred] from mode_sixsfred::@12 mode_sixsfred::@13 + [72] (byte*) mode_sixsfred::col#3 ← phi( mode_sixsfred::@12/(const byte*) TWOPLANE_COLORS#0 mode_sixsfred::@13/(byte*) mode_sixsfred::col#1 ) [ mode_sixsfred::cy#4 mode_sixsfred::col#3 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#3 ] ) + [72] (byte) mode_sixsfred::cy#4 ← phi( mode_sixsfred::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@13/(byte) mode_sixsfred::cy#1 ) [ mode_sixsfred::cy#4 mode_sixsfred::col#3 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#3 ] ) + to:mode_sixsfred::@3 +mode_sixsfred::@3: scope:[mode_sixsfred] from mode_sixsfred::@2 mode_sixsfred::@3 + [73] (byte*) mode_sixsfred::col#2 ← phi( mode_sixsfred::@2/(byte*) mode_sixsfred::col#3 mode_sixsfred::@3/(byte*) mode_sixsfred::col#1 ) [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ) + [73] (byte) mode_sixsfred::cx#2 ← phi( mode_sixsfred::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@3/(byte) mode_sixsfred::cx#1 ) [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ) + [74] (byte~) mode_sixsfred::$15 ← (byte) mode_sixsfred::cx#2 + (byte) mode_sixsfred::cy#4 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ) + [75] (byte~) mode_sixsfred::$16 ← (byte~) mode_sixsfred::$15 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ) + [76] *((byte*) mode_sixsfred::col#2) ← (byte~) mode_sixsfred::$16 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ) + [77] (byte*) mode_sixsfred::col#1 ← ++ (byte*) mode_sixsfred::col#2 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#2 ] ) + [78] (byte) mode_sixsfred::cx#1 ← ++ (byte) mode_sixsfred::cx#2 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ) + [79] if((byte) mode_sixsfred::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@3 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ) + to:mode_sixsfred::@13 +mode_sixsfred::@13: scope:[mode_sixsfred] from mode_sixsfred::@3 + [80] (byte) mode_sixsfred::cy#1 ← ++ (byte) mode_sixsfred::cy#4 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ) + [81] if((byte) mode_sixsfred::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_sixsfred::@2 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ) + to:mode_sixsfred::@4 +mode_sixsfred::@4: scope:[mode_sixsfred] from mode_sixsfred::@13 mode_sixsfred::@15 + [82] (byte*) mode_sixsfred::gfxa#3 ← phi( mode_sixsfred::@13/(const byte*) SIXSFRED_PLANEA#0 mode_sixsfred::@15/(byte*) mode_sixsfred::gfxa#1 ) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#3 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#3 ] ) + [82] (byte) mode_sixsfred::ay#4 ← phi( mode_sixsfred::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@15/(byte) mode_sixsfred::ay#1 ) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#3 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#3 ] ) + to:mode_sixsfred::@5 +mode_sixsfred::@5: scope:[mode_sixsfred] from mode_sixsfred::@4 mode_sixsfred::@5 + [83] (byte) mode_sixsfred::ax#2 ← phi( mode_sixsfred::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@5/(byte) mode_sixsfred::ax#1 ) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ) + [83] (byte*) mode_sixsfred::gfxa#2 ← phi( mode_sixsfred::@4/(byte*) mode_sixsfred::gfxa#3 mode_sixsfred::@5/(byte*) mode_sixsfred::gfxa#1 ) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ) + [84] (byte~) mode_sixsfred::$19 ← (byte) mode_sixsfred::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ) + [85] (byte) mode_sixsfred::row#0 ← (byte~) mode_sixsfred::$19 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ) + [86] *((byte*) mode_sixsfred::gfxa#2) ← *((const byte[]) mode_sixsfred::row_bitmask#0 + (byte) mode_sixsfred::row#0) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ) + [87] (byte*) mode_sixsfred::gfxa#1 ← ++ (byte*) mode_sixsfred::gfxa#2 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#2 ] ) + [88] (byte) mode_sixsfred::ax#1 ← ++ (byte) mode_sixsfred::ax#2 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ) + [89] if((byte) mode_sixsfred::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@5 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ) + to:mode_sixsfred::@15 +mode_sixsfred::@15: scope:[mode_sixsfred] from mode_sixsfred::@5 + [90] (byte) mode_sixsfred::ay#1 ← ++ (byte) mode_sixsfred::ay#4 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ) + [91] if((byte) mode_sixsfred::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@4 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ) + to:mode_sixsfred::@6 +mode_sixsfred::@6: scope:[mode_sixsfred] from mode_sixsfred::@15 mode_sixsfred::@17 + [92] (byte) mode_sixsfred::by#4 ← phi( mode_sixsfred::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@17/(byte) mode_sixsfred::by#1 ) [ mode_sixsfred::gfxb#3 mode_sixsfred::by#4 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#3 mode_sixsfred::by#4 ] ) + [92] (byte*) mode_sixsfred::gfxb#3 ← phi( mode_sixsfred::@15/(const byte*) SIXSFRED_PLANEB#0 mode_sixsfred::@17/(byte*) mode_sixsfred::gfxb#1 ) [ mode_sixsfred::gfxb#3 mode_sixsfred::by#4 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#3 mode_sixsfred::by#4 ] ) + to:mode_sixsfred::@7 +mode_sixsfred::@7: scope:[mode_sixsfred] from mode_sixsfred::@6 mode_sixsfred::@7 + [93] (byte) mode_sixsfred::bx#2 ← phi( mode_sixsfred::@6/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_sixsfred::@7/(byte) mode_sixsfred::bx#1 ) [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ) + [93] (byte*) mode_sixsfred::gfxb#2 ← phi( mode_sixsfred::@6/(byte*) mode_sixsfred::gfxb#3 mode_sixsfred::@7/(byte*) mode_sixsfred::gfxb#1 ) [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ) + [94] *((byte*) mode_sixsfred::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 27 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ) + [95] (byte*) mode_sixsfred::gfxb#1 ← ++ (byte*) mode_sixsfred::gfxb#2 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#2 ] ) + [96] (byte) mode_sixsfred::bx#1 ← ++ (byte) mode_sixsfred::bx#2 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ) + [97] if((byte) mode_sixsfred::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@7 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ) + to:mode_sixsfred::@17 +mode_sixsfred::@17: scope:[mode_sixsfred] from mode_sixsfred::@7 + [98] (byte) mode_sixsfred::by#1 ← ++ (byte) mode_sixsfred::by#4 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ) + [99] if((byte) mode_sixsfred::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@6 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ) + to:mode_sixsfred::@8 +mode_sixsfred::@8: scope:[mode_sixsfred] from mode_sixsfred::@17 mode_sixsfred::@24 + [100] if(true) goto mode_sixsfred::@9 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + to:mode_sixsfred::@return +mode_sixsfred::@return: scope:[mode_sixsfred] from mode_sixsfred::@24 mode_sixsfred::@8 + [101] return [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) to:@return -mode_twoplanebitmap::@11: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@10 - [100] phi() [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - [101] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#0 ] ) - [102] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#3 ] ) - to:mode_twoplanebitmap::@28 -mode_twoplanebitmap::@28: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@11 - [103] (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#3 [ mode_twoplanebitmap::$27 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::$27 ] ) - [104] if((byte~) mode_twoplanebitmap::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@10 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) - to:mode_twoplanebitmap::@return -mode_twoplanebitmap::@6: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@5 - [105] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) - [106] (byte*) mode_twoplanebitmap::gfxa#1 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ) - to:mode_twoplanebitmap::@7 -keyboard_key_pressed: scope:[keyboard_key_pressed] from menu::@4 mode_twoplanebitmap::@11 - [107] (byte) keyboard_key_pressed::key#2 ← phi( menu::@4/(const byte) KEY_C#0 mode_twoplanebitmap::@11/(const byte) KEY_SPACE#0 ) [ keyboard_key_pressed::key#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::key#2 ] ) - [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ) - [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#2 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) - [110] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) - [111] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) - [112] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) +mode_sixsfred::@9: scope:[mode_sixsfred] from mode_sixsfred::@8 + [102] phi() [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + [103] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_sixsfred:49 [ keyboard_key_pressed::return#0 ] ) + [104] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#10 ] ( main:2::menu:9::mode_sixsfred:49 [ keyboard_key_pressed::return#10 ] ) + to:mode_sixsfred::@24 +mode_sixsfred::@24: scope:[mode_sixsfred] from mode_sixsfred::@9 + [105] (byte~) mode_sixsfred::$25 ← (byte) keyboard_key_pressed::return#10 [ mode_sixsfred::$25 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::$25 ] ) + [106] if((byte~) mode_sixsfred::$25==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_sixsfred::@8 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + to:mode_sixsfred::@return +keyboard_key_pressed: scope:[keyboard_key_pressed] from menu::@4 menu::@6 mode_sixsfred::@9 mode_twoplanebitmap::@11 + [107] (byte) keyboard_key_pressed::key#4 ← phi( menu::@4/(const byte) KEY_B#0 menu::@6/(const byte) KEY_C#0 mode_sixsfred::@9/(const byte) KEY_SPACE#0 mode_twoplanebitmap::@11/(const byte) KEY_SPACE#0 ) [ keyboard_key_pressed::key#4 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#4 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::key#4 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::key#4 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::key#4 ] ) + [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) + [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) + [110] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) + [111] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [112] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) to:keyboard_key_pressed::@2 keyboard_key_pressed::@2: scope:[keyboard_key_pressed] from keyboard_key_pressed - [113] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) - [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) + [113] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) + [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) to:keyboard_key_pressed::@return keyboard_key_pressed::@return: scope:[keyboard_key_pressed] from keyboard_key_pressed::@2 - [115] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) + [115] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) to:@return keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_key_pressed - [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) - [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) + [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) to:keyboard_matrix_read::@return keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read - [118] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [118] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) to:@return -print_str_lines: scope:[print_str_lines] from menu::@15 - [119] phi() [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) +mode_twoplanebitmap: scope:[mode_twoplanebitmap] from menu::@12 + [119] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [120] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [121] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [122] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [123] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [124] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [125] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [126] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [127] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [128] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [129] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [130] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [131] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [132] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [133] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [134] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [135] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + to:mode_twoplanebitmap::@1 +mode_twoplanebitmap::@1: scope:[mode_twoplanebitmap] from mode_twoplanebitmap mode_twoplanebitmap::@1 + [136] (byte) mode_twoplanebitmap::i#2 ← phi( mode_twoplanebitmap/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@1/(byte) mode_twoplanebitmap::i#1 ) [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) + [137] *((const byte*) DTV_PALETTE#0 + (byte) mode_twoplanebitmap::i#2) ← (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) + [138] (byte) mode_twoplanebitmap::i#1 ← ++ (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) + [139] if((byte) mode_twoplanebitmap::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_twoplanebitmap::@1 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) + to:mode_twoplanebitmap::@14 +mode_twoplanebitmap::@14: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@1 + [140] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [141] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [142] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + to:mode_twoplanebitmap::@2 +mode_twoplanebitmap::@2: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@14 mode_twoplanebitmap::@15 + [143] (byte*) mode_twoplanebitmap::col#3 ← phi( mode_twoplanebitmap::@14/(const byte*) TWOPLANE_COLORS#0 mode_twoplanebitmap::@15/(byte*) mode_twoplanebitmap::col#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ) + [143] (byte) mode_twoplanebitmap::cy#4 ← phi( mode_twoplanebitmap::@14/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@15/(byte) mode_twoplanebitmap::cy#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#3 ] ) + to:mode_twoplanebitmap::@3 +mode_twoplanebitmap::@3: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 + [144] (byte*) mode_twoplanebitmap::col#2 ← phi( mode_twoplanebitmap::@2/(byte*) mode_twoplanebitmap::col#3 mode_twoplanebitmap::@3/(byte*) mode_twoplanebitmap::col#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) + [144] (byte) mode_twoplanebitmap::cx#2 ← phi( mode_twoplanebitmap::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@3/(byte) mode_twoplanebitmap::cx#1 ) [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) + [145] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) + [146] (byte~) mode_twoplanebitmap::$15 ← (byte~) mode_twoplanebitmap::$14 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ) + [147] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) + [148] (byte~) mode_twoplanebitmap::$17 ← (byte~) mode_twoplanebitmap::$15 | (byte~) mode_twoplanebitmap::$16 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ) + [149] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) + [150] (byte*) mode_twoplanebitmap::col#1 ← ++ (byte*) mode_twoplanebitmap::col#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ) + [151] (byte) mode_twoplanebitmap::cx#1 ← ++ (byte) mode_twoplanebitmap::cx#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) + [152] if((byte) mode_twoplanebitmap::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@3 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) + to:mode_twoplanebitmap::@15 +mode_twoplanebitmap::@15: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@3 + [153] (byte) mode_twoplanebitmap::cy#1 ← ++ (byte) mode_twoplanebitmap::cy#4 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) + [154] if((byte) mode_twoplanebitmap::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_twoplanebitmap::@2 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) + to:mode_twoplanebitmap::@4 +mode_twoplanebitmap::@4: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@15 mode_twoplanebitmap::@19 + [155] (byte*) mode_twoplanebitmap::gfxa#6 ← phi( mode_twoplanebitmap::@15/(const byte*) TWOPLANE_PLANEA#0 mode_twoplanebitmap::@19/(byte*) mode_twoplanebitmap::gfxa#7 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ) + [155] (byte) mode_twoplanebitmap::ay#4 ← phi( mode_twoplanebitmap::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@19/(byte) mode_twoplanebitmap::ay#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#6 ] ) + to:mode_twoplanebitmap::@5 +mode_twoplanebitmap::@5: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@4 mode_twoplanebitmap::@7 + [156] (byte) mode_twoplanebitmap::ax#2 ← phi( mode_twoplanebitmap::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@7/(byte) mode_twoplanebitmap::ax#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) + [156] (byte*) mode_twoplanebitmap::gfxa#3 ← phi( mode_twoplanebitmap::@4/(byte*) mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::@7/(byte*) mode_twoplanebitmap::gfxa#7 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) + [157] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) + [158] if((byte~) mode_twoplanebitmap::$20!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@6 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) + to:mode_twoplanebitmap::@17 +mode_twoplanebitmap::@17: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@5 + [159] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) + [160] (byte*) mode_twoplanebitmap::gfxa#2 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ) + to:mode_twoplanebitmap::@7 +mode_twoplanebitmap::@7: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@17 mode_twoplanebitmap::@6 + [161] (byte*) mode_twoplanebitmap::gfxa#7 ← phi( mode_twoplanebitmap::@17/(byte*) mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::@6/(byte*) mode_twoplanebitmap::gfxa#1 ) [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#2 ] ) + [162] (byte) mode_twoplanebitmap::ax#1 ← ++ (byte) mode_twoplanebitmap::ax#2 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) + [163] if((byte) mode_twoplanebitmap::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@5 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) + to:mode_twoplanebitmap::@19 +mode_twoplanebitmap::@19: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@7 + [164] (byte) mode_twoplanebitmap::ay#1 ← ++ (byte) mode_twoplanebitmap::ay#4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) + [165] if((byte) mode_twoplanebitmap::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) + to:mode_twoplanebitmap::@8 +mode_twoplanebitmap::@8: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@19 mode_twoplanebitmap::@21 + [166] (byte) mode_twoplanebitmap::by#4 ← phi( mode_twoplanebitmap::@19/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@21/(byte) mode_twoplanebitmap::by#1 ) [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ) + [166] (byte*) mode_twoplanebitmap::gfxb#3 ← phi( mode_twoplanebitmap::@19/(const byte*) TWOPLANE_PLANEB#0 mode_twoplanebitmap::@21/(byte*) mode_twoplanebitmap::gfxb#1 ) [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::by#4 ] ) + to:mode_twoplanebitmap::@9 +mode_twoplanebitmap::@9: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@8 mode_twoplanebitmap::@9 + [167] (byte) mode_twoplanebitmap::bx#2 ← phi( mode_twoplanebitmap::@8/(byte/signed byte/word/signed word/dword/signed dword) 0 mode_twoplanebitmap::@9/(byte) mode_twoplanebitmap::bx#1 ) [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) + [167] (byte*) mode_twoplanebitmap::gfxb#2 ← phi( mode_twoplanebitmap::@8/(byte*) mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::@9/(byte*) mode_twoplanebitmap::gfxb#1 ) [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) + [168] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) + [169] (byte*) mode_twoplanebitmap::gfxb#1 ← ++ (byte*) mode_twoplanebitmap::gfxb#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ) + [170] (byte) mode_twoplanebitmap::bx#1 ← ++ (byte) mode_twoplanebitmap::bx#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) + [171] if((byte) mode_twoplanebitmap::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@9 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) + to:mode_twoplanebitmap::@21 +mode_twoplanebitmap::@21: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@9 + [172] (byte) mode_twoplanebitmap::by#1 ← ++ (byte) mode_twoplanebitmap::by#4 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) + [173] if((byte) mode_twoplanebitmap::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@8 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) + to:mode_twoplanebitmap::@10 +mode_twoplanebitmap::@10: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@21 mode_twoplanebitmap::@28 + [174] if(true) goto mode_twoplanebitmap::@11 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + to:mode_twoplanebitmap::@return +mode_twoplanebitmap::@return: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@10 mode_twoplanebitmap::@28 + [175] return [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + to:@return +mode_twoplanebitmap::@11: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@10 + [176] phi() [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + [177] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#0 ] ) + [178] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#4 ] ) + to:mode_twoplanebitmap::@28 +mode_twoplanebitmap::@28: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@11 + [179] (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#4 [ mode_twoplanebitmap::$27 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::$27 ] ) + [180] if((byte~) mode_twoplanebitmap::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@10 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + to:mode_twoplanebitmap::@return +mode_twoplanebitmap::@6: scope:[mode_twoplanebitmap] from mode_twoplanebitmap::@5 + [181] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) + [182] (byte*) mode_twoplanebitmap::gfxa#1 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ) + to:mode_twoplanebitmap::@7 +print_str_lines: scope:[print_str_lines] from menu::@18 + [183] phi() [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@9 - [120] (byte*) print_line_cursor#17 ← phi( print_str_lines/(const byte*) MENU_SCREEN#0 print_str_lines::@9/(byte*) print_line_cursor#19 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [120] (byte*) print_char_cursor#19 ← phi( print_str_lines/(const byte*) MENU_SCREEN#0 print_str_lines::@9/(byte*~) print_char_cursor#56 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [120] (byte*) print_str_lines::str#2 ← phi( print_str_lines/(const string) MENU_TEXT#0 print_str_lines::@9/(byte*) print_str_lines::str#0 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [121] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) + [184] (byte*) print_line_cursor#17 ← phi( print_str_lines/(const byte*) MENU_SCREEN#0 print_str_lines::@9/(byte*) print_line_cursor#19 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) + [184] (byte*) print_char_cursor#19 ← phi( print_str_lines/(const byte*) MENU_SCREEN#0 print_str_lines::@9/(byte*~) print_char_cursor#61 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) + [184] (byte*) print_str_lines::str#2 ← phi( print_str_lines/(const string) MENU_TEXT#0 print_str_lines::@9/(byte*) print_str_lines::str#0 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) + [185] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) to:print_str_lines::@return print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 - [122] return [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) + [186] return [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) to:@return print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@1 print_str_lines::@5 - [123] (byte*) print_char_cursor#17 ← phi( print_str_lines::@1/(byte*) print_char_cursor#19 print_str_lines::@5/(byte*) print_char_cursor#32 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) - [123] (byte*) print_str_lines::str#3 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#2 print_str_lines::@5/(byte*) print_str_lines::str#0 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) - [124] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) - [125] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) - [126] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) + [187] (byte*) print_char_cursor#17 ← phi( print_str_lines::@1/(byte*) print_char_cursor#19 print_str_lines::@5/(byte*) print_char_cursor#32 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) + [187] (byte*) print_str_lines::str#3 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#2 print_str_lines::@5/(byte*) print_str_lines::str#0 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) + [188] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) + [189] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) + [190] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) to:print_str_lines::@8 print_str_lines::@8: scope:[print_str_lines] from print_str_lines::@4 - [127] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) - [128] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) + [191] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) + [192] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) to:print_str_lines::@5 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@4 print_str_lines::@8 - [129] (byte*) print_char_cursor#32 ← phi( print_str_lines::@4/(byte*) print_char_cursor#17 print_str_lines::@8/(byte*) print_char_cursor#1 ) [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ) - [130] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) + [193] (byte*) print_char_cursor#32 ← phi( print_str_lines::@4/(byte*) print_char_cursor#17 print_str_lines::@8/(byte*) print_char_cursor#1 ) [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ) + [194] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) to:print_str_lines::@9 print_str_lines::@9: scope:[print_str_lines] from print_str_lines::@5 - [131] phi() [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) - [132] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_line_cursor#19 ] ) - [133] (byte*~) print_char_cursor#56 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ) + [195] phi() [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) + [196] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_line_cursor#19 ] ) + [197] (byte*~) print_char_cursor#61 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ) to:print_str_lines::@1 print_ln: scope:[print_ln] from print_str_lines::@9 - [134] phi() [ print_line_cursor#17 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#17 print_char_cursor#32 ] ) + [198] phi() [ print_line_cursor#17 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#17 print_char_cursor#32 ] ) to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [135] (byte*) print_line_cursor#18 ← phi( print_ln/(byte*) print_line_cursor#17 print_ln::@1/(byte*) print_line_cursor#19 ) [ print_char_cursor#32 print_line_cursor#18 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_char_cursor#32 print_line_cursor#18 ] ) - [136] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) - [137] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) + [199] (byte*) print_line_cursor#18 ← phi( print_ln/(byte*) print_line_cursor#17 print_ln::@1/(byte*) print_line_cursor#19 ) [ print_char_cursor#32 print_line_cursor#18 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_char_cursor#32 print_line_cursor#18 ] ) + [200] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) + [201] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [138] return [ print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 ] ) + [202] return [ print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 ] ) to:@return -print_cls: scope:[print_cls] from menu::@14 - [139] phi() [ ] ( main:2::menu:9::print_cls:31 [ ] ) +print_cls: scope:[print_cls] from menu::@17 + [203] phi() [ ] ( main:2::menu:9::print_cls:31 [ ] ) to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [140] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) MENU_SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) - [141] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) - [142] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) - [143] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) + [204] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) MENU_SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) + [205] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) + [206] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) + [207] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [144] return [ ] ( main:2::menu:9::print_cls:31 [ ] ) + [208] return [ ] ( main:2::menu:9::print_cls:31 [ ] ) to:@return -print_set_screen: scope:[print_set_screen] from menu::@8 - [145] phi() [ ] ( main:2::menu:9::print_set_screen:29 [ ] ) +print_set_screen: scope:[print_set_screen] from menu::@9 + [209] phi() [ ] ( main:2::menu:9::print_set_screen:29 [ ] ) to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen - [146] return [ ] ( main:2::menu:9::print_set_screen:29 [ ] ) + [210] return [ ] ( main:2::menu:9::print_set_screen:29 [ ] ) to:@return DOMINATORS @begin dominated by @begin -@21 dominated by @begin @21 -@end dominated by @end @begin @21 -main dominated by main @begin @21 -main::@1 dominated by main main::@1 @begin @21 -main::@return dominated by main main::@1 @begin main::@return @21 -main::@2 dominated by main main::@1 main::@2 @begin @21 -menu dominated by main main::@1 main::@2 @begin menu @21 -menu::@1 dominated by main main::@1 main::@2 @begin menu::@1 menu @21 -menu::@2 dominated by main main::@1 main::@2 @begin menu::@1 menu::@2 menu @21 -menu::@8 dominated by main main::@1 main::@2 @begin menu::@8 menu::@1 menu::@2 menu @21 -menu::@14 dominated by main main::@1 main::@2 @begin menu::@8 menu::@1 menu::@2 menu @21 menu::@14 -menu::@15 dominated by main main::@1 main::@2 @begin menu::@8 menu::@1 menu::@2 menu menu::@15 @21 menu::@14 -menu::@3 dominated by main main::@1 main::@2 @begin menu::@8 menu::@3 menu::@1 menu::@2 menu menu::@15 @21 menu::@14 -menu::@return dominated by main main::@1 main::@2 @begin menu::@return menu::@8 menu::@3 menu::@1 menu::@2 menu menu::@15 @21 menu::@14 -menu::@4 dominated by main main::@1 main::@2 @begin menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@15 @21 menu::@14 -menu::@17 dominated by main main::@1 main::@2 @begin menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@17 menu::@15 @21 menu::@14 -menu::@11 dominated by main main::@1 main::@2 @begin menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap dominated by main mode_twoplanebitmap main::@1 main::@2 @begin menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@1 dominated by mode_twoplanebitmap::@1 main mode_twoplanebitmap main::@1 main::@2 @begin menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@14 dominated by mode_twoplanebitmap::@1 main mode_twoplanebitmap main::@1 main::@2 @begin mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@2 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 main mode_twoplanebitmap main::@1 main::@2 @begin mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@3 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 main mode_twoplanebitmap main::@1 main::@2 @begin mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@15 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 main mode_twoplanebitmap main::@1 main::@2 @begin mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@4 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 @begin mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@5 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 @begin mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@17 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 @begin mode_twoplanebitmap::@17 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@7 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 @begin mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@19 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 @begin mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@8 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@9 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@21 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@21 mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@10 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@21 mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 mode_twoplanebitmap::@10 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@return dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@21 mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 mode_twoplanebitmap::@10 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu mode_twoplanebitmap::@return menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@11 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@21 mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 mode_twoplanebitmap::@11 mode_twoplanebitmap::@10 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@28 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@28 mode_twoplanebitmap::@21 mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 mode_twoplanebitmap::@11 mode_twoplanebitmap::@10 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -mode_twoplanebitmap::@6 dominated by mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@6 @begin mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@11 menu::@17 menu::@15 @21 menu::@14 -keyboard_key_pressed dominated by main main::@1 main::@2 @begin menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu keyboard_key_pressed menu::@15 @21 menu::@14 -keyboard_key_pressed::@2 dominated by main main::@1 main::@2 keyboard_key_pressed::@2 @begin menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu keyboard_key_pressed menu::@15 @21 menu::@14 -keyboard_key_pressed::@return dominated by main main::@1 main::@2 keyboard_key_pressed::@2 @begin keyboard_key_pressed::@return menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu keyboard_key_pressed menu::@15 @21 menu::@14 -keyboard_matrix_read dominated by main main::@1 main::@2 @begin keyboard_matrix_read menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu keyboard_key_pressed menu::@15 @21 menu::@14 -keyboard_matrix_read::@return dominated by main main::@1 main::@2 @begin keyboard_matrix_read menu::@8 menu::@3 menu::@4 menu::@1 menu::@2 menu keyboard_matrix_read::@return keyboard_key_pressed menu::@15 @21 menu::@14 -print_str_lines dominated by main main::@1 main::@2 print_str_lines @begin menu::@8 menu::@1 menu::@2 menu menu::@15 @21 menu::@14 -print_str_lines::@1 dominated by main main::@1 main::@2 print_str_lines @begin menu::@8 menu::@1 menu::@2 print_str_lines::@1 menu menu::@15 @21 menu::@14 -print_str_lines::@return dominated by main main::@1 main::@2 print_str_lines @begin print_str_lines::@return menu::@8 menu::@1 menu::@2 print_str_lines::@1 menu menu::@15 @21 menu::@14 -print_str_lines::@4 dominated by main main::@1 main::@2 print_str_lines @begin menu::@8 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu menu::@15 @21 menu::@14 -print_str_lines::@8 dominated by main main::@1 main::@2 print_str_lines @begin menu::@8 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@8 menu::@15 @21 menu::@14 -print_str_lines::@5 dominated by main main::@1 main::@2 print_str_lines @begin menu::@8 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@15 @21 menu::@14 -print_str_lines::@9 dominated by main main::@1 main::@2 print_str_lines @begin menu::@8 print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@15 @21 menu::@14 -print_ln dominated by main main::@1 main::@2 print_str_lines @begin print_ln menu::@8 print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@15 @21 menu::@14 -print_ln::@1 dominated by print_ln::@1 main main::@1 main::@2 print_str_lines @begin print_ln menu::@8 print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@15 @21 menu::@14 -print_ln::@return dominated by print_ln::@1 main print_ln::@return main::@1 main::@2 print_str_lines @begin print_ln menu::@8 print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@15 @21 menu::@14 -print_cls dominated by main main::@1 main::@2 @begin menu::@8 menu::@1 menu::@2 menu print_cls @21 menu::@14 -print_cls::@1 dominated by main main::@1 main::@2 @begin menu::@8 menu::@1 menu::@2 print_cls::@1 menu print_cls @21 menu::@14 -print_cls::@return dominated by main main::@1 main::@2 @begin print_cls::@return menu::@8 menu::@1 menu::@2 print_cls::@1 menu print_cls @21 menu::@14 -print_set_screen dominated by main main::@1 main::@2 @begin print_set_screen menu::@8 menu::@1 menu::@2 menu @21 -print_set_screen::@return dominated by main main::@1 main::@2 @begin print_set_screen menu::@8 menu::@1 menu::@2 menu print_set_screen::@return @21 +@22 dominated by @22 @begin +@end dominated by @22 @end @begin +main dominated by @22 main @begin +main::@1 dominated by @22 main main::@1 @begin +main::@return dominated by @22 main main::@1 @begin main::@return +main::@2 dominated by @22 main main::@1 main::@2 @begin +menu dominated by @22 main main::@1 main::@2 @begin menu +menu::@1 dominated by @22 main main::@1 main::@2 @begin menu::@1 menu +menu::@2 dominated by @22 main main::@1 main::@2 @begin menu::@1 menu::@2 menu +menu::@9 dominated by @22 main main::@1 main::@2 @begin menu::@1 menu::@2 menu menu::@9 +menu::@17 dominated by @22 main main::@1 main::@2 @begin menu::@1 menu::@2 menu menu::@9 menu::@17 +menu::@18 dominated by @22 main main::@1 main::@2 @begin menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@17 +menu::@3 dominated by @22 main main::@1 main::@2 @begin menu::@3 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@17 +menu::@return dominated by @22 main main::@1 main::@2 @begin menu::@return menu::@3 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@17 +menu::@4 dominated by @22 main main::@1 main::@2 @begin menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@17 +menu::@20 dominated by @22 main main::@1 main::@2 @begin menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@17 +menu::@12 dominated by @22 main main::@1 main::@2 @begin menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +menu::@6 dominated by @22 main main::@1 main::@2 @begin menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@17 +menu::@21 dominated by @22 main main::@1 main::@2 menu::@21 @begin menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@17 +menu::@14 dominated by @22 main main::@1 main::@2 menu::@21 @begin menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@17 menu::@14 +mode_sixsfred dominated by @22 main main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@1 dominated by @22 main main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 menu menu::@9 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@12 dominated by @22 main mode_sixsfred::@12 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 menu menu::@9 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@2 dominated by @22 main mode_sixsfred::@12 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@2 menu menu::@9 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@3 dominated by @22 main mode_sixsfred::@12 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu menu::@9 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@13 dominated by @22 main mode_sixsfred::@12 mode_sixsfred::@13 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu menu::@9 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@4 dominated by @22 main mode_sixsfred::@12 mode_sixsfred::@13 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu mode_sixsfred::@4 menu::@9 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@5 dominated by @22 main mode_sixsfred::@12 mode_sixsfred::@13 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu mode_sixsfred::@5 mode_sixsfred::@4 menu::@9 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@15 dominated by @22 main mode_sixsfred::@12 mode_sixsfred::@13 mode_sixsfred::@15 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu mode_sixsfred::@5 mode_sixsfred::@4 menu::@9 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@6 dominated by @22 main mode_sixsfred::@12 mode_sixsfred::@13 mode_sixsfred::@15 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu mode_sixsfred::@5 mode_sixsfred::@4 menu::@9 mode_sixsfred::@6 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@7 dominated by @22 main mode_sixsfred::@12 mode_sixsfred::@13 mode_sixsfred::@15 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu mode_sixsfred::@5 mode_sixsfred::@4 menu::@9 mode_sixsfred::@7 mode_sixsfred::@6 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@17 dominated by @22 main mode_sixsfred::@12 mode_sixsfred::@13 mode_sixsfred::@15 mode_sixsfred::@17 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu mode_sixsfred::@5 mode_sixsfred::@4 menu::@9 mode_sixsfred::@7 mode_sixsfred::@6 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@8 dominated by @22 main mode_sixsfred::@12 mode_sixsfred::@13 mode_sixsfred::@15 mode_sixsfred::@17 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu mode_sixsfred::@5 mode_sixsfred::@4 menu::@9 mode_sixsfred::@7 mode_sixsfred::@6 mode_sixsfred::@8 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@return dominated by @22 main mode_sixsfred::@12 mode_sixsfred::@13 mode_sixsfred::@15 mode_sixsfred::@17 main::@1 main::@2 menu::@21 @begin mode_sixsfred mode_sixsfred::@return menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu mode_sixsfred::@5 mode_sixsfred::@4 menu::@9 mode_sixsfred::@7 mode_sixsfred::@6 mode_sixsfred::@8 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@9 dominated by @22 main mode_sixsfred::@12 mode_sixsfred::@13 mode_sixsfred::@15 mode_sixsfred::@17 main::@1 main::@2 menu::@21 @begin mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu mode_sixsfred::@5 mode_sixsfred::@4 menu::@9 mode_sixsfred::@7 mode_sixsfred::@6 mode_sixsfred::@9 mode_sixsfred::@8 menu::@18 menu::@17 menu::@14 +mode_sixsfred::@24 dominated by @22 main mode_sixsfred::@12 mode_sixsfred::@13 mode_sixsfred::@15 mode_sixsfred::@17 main::@1 main::@2 menu::@21 @begin mode_sixsfred::@24 mode_sixsfred menu::@6 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 mode_sixsfred::@1 mode_sixsfred::@3 mode_sixsfred::@2 menu mode_sixsfred::@5 mode_sixsfred::@4 menu::@9 mode_sixsfred::@7 mode_sixsfred::@6 mode_sixsfred::@9 mode_sixsfred::@8 menu::@18 menu::@17 menu::@14 +keyboard_key_pressed dominated by @22 main main::@1 main::@2 @begin menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 keyboard_key_pressed menu::@17 +keyboard_key_pressed::@2 dominated by @22 main main::@1 main::@2 keyboard_key_pressed::@2 @begin menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 keyboard_key_pressed menu::@17 +keyboard_key_pressed::@return dominated by @22 main main::@1 main::@2 keyboard_key_pressed::@2 @begin keyboard_key_pressed::@return menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 keyboard_key_pressed menu::@17 +keyboard_matrix_read dominated by @22 main main::@1 main::@2 @begin keyboard_matrix_read menu::@3 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 keyboard_key_pressed menu::@17 +keyboard_matrix_read::@return dominated by @22 main main::@1 main::@2 @begin keyboard_matrix_read menu::@3 menu::@4 menu::@1 menu::@2 menu keyboard_matrix_read::@return menu::@9 menu::@18 keyboard_key_pressed menu::@17 +mode_twoplanebitmap dominated by @22 main mode_twoplanebitmap main::@1 main::@2 @begin menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@1 dominated by @22 mode_twoplanebitmap::@1 main mode_twoplanebitmap main::@1 main::@2 @begin menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@14 dominated by @22 mode_twoplanebitmap::@1 main mode_twoplanebitmap main::@1 main::@2 @begin mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@2 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 main mode_twoplanebitmap main::@1 main::@2 @begin mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@3 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 main mode_twoplanebitmap main::@1 main::@2 @begin mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@15 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 main mode_twoplanebitmap main::@1 main::@2 @begin mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@4 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 @begin mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@5 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 @begin mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@17 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 @begin mode_twoplanebitmap::@17 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@7 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 @begin mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@19 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 @begin mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@8 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@9 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@21 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@21 mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@10 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@21 mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 mode_twoplanebitmap::@10 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@return dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@21 mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 mode_twoplanebitmap::@10 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 mode_twoplanebitmap::@return menu::@12 menu::@17 +mode_twoplanebitmap::@11 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@21 mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 mode_twoplanebitmap::@11 mode_twoplanebitmap::@10 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@28 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 mode_twoplanebitmap::@9 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@7 mode_twoplanebitmap::@8 @begin mode_twoplanebitmap::@28 mode_twoplanebitmap::@21 mode_twoplanebitmap::@19 mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 mode_twoplanebitmap::@11 mode_twoplanebitmap::@10 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +mode_twoplanebitmap::@6 dominated by @22 mode_twoplanebitmap::@1 mode_twoplanebitmap::@2 mode_twoplanebitmap::@3 mode_twoplanebitmap::@4 main mode_twoplanebitmap main::@1 main::@2 mode_twoplanebitmap::@5 mode_twoplanebitmap::@6 @begin mode_twoplanebitmap::@15 mode_twoplanebitmap::@14 menu::@3 menu::@20 menu::@4 menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@12 menu::@17 +print_str_lines dominated by @22 main main::@1 main::@2 print_str_lines @begin menu::@1 menu::@2 menu menu::@9 menu::@18 menu::@17 +print_str_lines::@1 dominated by @22 main main::@1 main::@2 print_str_lines @begin menu::@1 menu::@2 print_str_lines::@1 menu menu::@9 menu::@18 menu::@17 +print_str_lines::@return dominated by @22 main main::@1 main::@2 print_str_lines @begin print_str_lines::@return menu::@1 menu::@2 print_str_lines::@1 menu menu::@9 menu::@18 menu::@17 +print_str_lines::@4 dominated by @22 main main::@1 main::@2 print_str_lines @begin menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu menu::@9 menu::@18 menu::@17 +print_str_lines::@8 dominated by @22 main main::@1 main::@2 print_str_lines @begin menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu menu::@9 print_str_lines::@8 menu::@18 menu::@17 +print_str_lines::@5 dominated by @22 main main::@1 main::@2 print_str_lines @begin menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@9 menu::@18 menu::@17 +print_str_lines::@9 dominated by @22 main main::@1 main::@2 print_str_lines @begin print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@9 menu::@18 menu::@17 +print_ln dominated by @22 main main::@1 main::@2 print_str_lines @begin print_ln print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@9 menu::@18 menu::@17 +print_ln::@1 dominated by @22 print_ln::@1 main main::@1 main::@2 print_str_lines @begin print_ln print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@9 menu::@18 menu::@17 +print_ln::@return dominated by @22 print_ln::@1 main print_ln::@return main::@1 main::@2 print_str_lines @begin print_ln print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@9 menu::@18 menu::@17 +print_cls dominated by @22 main main::@1 main::@2 @begin menu::@1 menu::@2 menu menu::@9 print_cls menu::@17 +print_cls::@1 dominated by @22 main main::@1 main::@2 @begin menu::@1 menu::@2 print_cls::@1 menu menu::@9 print_cls menu::@17 +print_cls::@return dominated by @22 main main::@1 main::@2 @begin print_cls::@return menu::@1 menu::@2 print_cls::@1 menu menu::@9 print_cls menu::@17 +print_set_screen dominated by @22 main main::@1 main::@2 @begin print_set_screen menu::@1 menu::@2 menu menu::@9 +print_set_screen::@return dominated by @22 main main::@1 main::@2 @begin print_set_screen menu::@1 menu::@2 menu menu::@9 print_set_screen::@return NATURAL LOOPS Found back edge: Loop head: main::@1 tails: main::@2 blocks: null Found back edge: Loop head: menu::@1 tails: menu::@1 blocks: null Found back edge: Loop head: menu::@2 tails: menu::@2 blocks: null -Found back edge: Loop head: menu::@3 tails: menu::@17 blocks: null +Found back edge: Loop head: menu::@3 tails: menu::@21 blocks: null +Found back edge: Loop head: mode_sixsfred::@1 tails: mode_sixsfred::@1 blocks: null +Found back edge: Loop head: mode_sixsfred::@3 tails: mode_sixsfred::@3 blocks: null +Found back edge: Loop head: mode_sixsfred::@2 tails: mode_sixsfred::@13 blocks: null +Found back edge: Loop head: mode_sixsfred::@5 tails: mode_sixsfred::@5 blocks: null +Found back edge: Loop head: mode_sixsfred::@4 tails: mode_sixsfred::@15 blocks: null +Found back edge: Loop head: mode_sixsfred::@7 tails: mode_sixsfred::@7 blocks: null +Found back edge: Loop head: mode_sixsfred::@6 tails: mode_sixsfred::@17 blocks: null +Found back edge: Loop head: mode_sixsfred::@8 tails: mode_sixsfred::@24 blocks: null Found back edge: Loop head: mode_twoplanebitmap::@1 tails: mode_twoplanebitmap::@1 blocks: null Found back edge: Loop head: mode_twoplanebitmap::@3 tails: mode_twoplanebitmap::@3 blocks: null Found back edge: Loop head: mode_twoplanebitmap::@2 tails: mode_twoplanebitmap::@15 blocks: null @@ -4834,7 +5886,15 @@ Found back edge: Loop head: print_cls::@1 tails: print_cls::@1 blocks: null Populated: Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 Populated: Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 Populated: Loop head: menu::@2 tails: menu::@2 blocks: menu::@2 -Populated: Loop head: menu::@3 tails: menu::@17 blocks: menu::@17 menu::@4 menu::@3 +Populated: Loop head: menu::@3 tails: menu::@21 blocks: menu::@21 menu::@6 menu::@20 menu::@4 menu::@3 +Populated: Loop head: mode_sixsfred::@1 tails: mode_sixsfred::@1 blocks: mode_sixsfred::@1 +Populated: Loop head: mode_sixsfred::@3 tails: mode_sixsfred::@3 blocks: mode_sixsfred::@3 +Populated: Loop head: mode_sixsfred::@2 tails: mode_sixsfred::@13 blocks: mode_sixsfred::@13 mode_sixsfred::@3 mode_sixsfred::@2 +Populated: Loop head: mode_sixsfred::@5 tails: mode_sixsfred::@5 blocks: mode_sixsfred::@5 +Populated: Loop head: mode_sixsfred::@4 tails: mode_sixsfred::@15 blocks: mode_sixsfred::@15 mode_sixsfred::@5 mode_sixsfred::@4 +Populated: Loop head: mode_sixsfred::@7 tails: mode_sixsfred::@7 blocks: mode_sixsfred::@7 +Populated: Loop head: mode_sixsfred::@6 tails: mode_sixsfred::@17 blocks: mode_sixsfred::@17 mode_sixsfred::@7 mode_sixsfred::@6 +Populated: Loop head: mode_sixsfred::@8 tails: mode_sixsfred::@24 blocks: mode_sixsfred::@24 mode_sixsfred::@9 mode_sixsfred::@8 Populated: Loop head: mode_twoplanebitmap::@1 tails: mode_twoplanebitmap::@1 blocks: mode_twoplanebitmap::@1 Populated: Loop head: mode_twoplanebitmap::@3 tails: mode_twoplanebitmap::@3 blocks: mode_twoplanebitmap::@3 Populated: Loop head: mode_twoplanebitmap::@2 tails: mode_twoplanebitmap::@15 blocks: mode_twoplanebitmap::@15 mode_twoplanebitmap::@3 mode_twoplanebitmap::@2 @@ -4850,7 +5910,15 @@ Populated: Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 Loop head: menu::@2 tails: menu::@2 blocks: menu::@2 -Loop head: menu::@3 tails: menu::@17 blocks: menu::@17 menu::@4 menu::@3 +Loop head: menu::@3 tails: menu::@21 blocks: menu::@21 menu::@6 menu::@20 menu::@4 menu::@3 +Loop head: mode_sixsfred::@1 tails: mode_sixsfred::@1 blocks: mode_sixsfred::@1 +Loop head: mode_sixsfred::@3 tails: mode_sixsfred::@3 blocks: mode_sixsfred::@3 +Loop head: mode_sixsfred::@2 tails: mode_sixsfred::@13 blocks: mode_sixsfred::@13 mode_sixsfred::@3 mode_sixsfred::@2 +Loop head: mode_sixsfred::@5 tails: mode_sixsfred::@5 blocks: mode_sixsfred::@5 +Loop head: mode_sixsfred::@4 tails: mode_sixsfred::@15 blocks: mode_sixsfred::@15 mode_sixsfred::@5 mode_sixsfred::@4 +Loop head: mode_sixsfred::@7 tails: mode_sixsfred::@7 blocks: mode_sixsfred::@7 +Loop head: mode_sixsfred::@6 tails: mode_sixsfred::@17 blocks: mode_sixsfred::@17 mode_sixsfred::@7 mode_sixsfred::@6 +Loop head: mode_sixsfred::@8 tails: mode_sixsfred::@24 blocks: mode_sixsfred::@24 mode_sixsfred::@9 mode_sixsfred::@8 Loop head: mode_twoplanebitmap::@1 tails: mode_twoplanebitmap::@1 blocks: mode_twoplanebitmap::@1 Loop head: mode_twoplanebitmap::@3 tails: mode_twoplanebitmap::@3 blocks: mode_twoplanebitmap::@3 Loop head: mode_twoplanebitmap::@2 tails: mode_twoplanebitmap::@15 blocks: mode_twoplanebitmap::@15 mode_twoplanebitmap::@3 mode_twoplanebitmap::@2 @@ -4871,13 +5939,14 @@ Found 1 loops in scope [main] Found 3 loops in scope [menu] Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 Loop head: menu::@2 tails: menu::@2 blocks: menu::@2 - Loop head: menu::@3 tails: menu::@17 blocks: menu::@17 menu::@4 menu::@3 + Loop head: menu::@3 tails: menu::@21 blocks: menu::@21 menu::@6 menu::@20 menu::@4 menu::@3 Found 0 loops in scope [print_set_screen] Found 1 loops in scope [print_cls] Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 Found 2 loops in scope [print_str_lines] Loop head: print_str_lines::@4 tails: print_str_lines::@5 blocks: print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 Loop head: print_str_lines::@1 tails: print_str_lines::@9 blocks: print_str_lines::@9 print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 print_str_lines::@1 +null depth in calling loop Loop head: mode_sixsfred::@8 tails: mode_sixsfred::@24 blocks: mode_sixsfred::@24 mode_sixsfred::@9 mode_sixsfred::@8 in scope keyboard_key_pressed null depth in calling loop Loop head: mode_twoplanebitmap::@10 tails: mode_twoplanebitmap::@28 blocks: mode_twoplanebitmap::@28 mode_twoplanebitmap::@11 mode_twoplanebitmap::@10 in scope keyboard_key_pressed Found 0 loops in scope [keyboard_key_pressed] Found 8 loops in scope [mode_twoplanebitmap] @@ -4889,13 +5958,30 @@ Found 8 loops in scope [mode_twoplanebitmap] Loop head: mode_twoplanebitmap::@9 tails: mode_twoplanebitmap::@9 blocks: mode_twoplanebitmap::@9 Loop head: mode_twoplanebitmap::@8 tails: mode_twoplanebitmap::@21 blocks: mode_twoplanebitmap::@21 mode_twoplanebitmap::@9 mode_twoplanebitmap::@8 Loop head: mode_twoplanebitmap::@10 tails: mode_twoplanebitmap::@28 blocks: mode_twoplanebitmap::@28 mode_twoplanebitmap::@11 mode_twoplanebitmap::@10 +Found 8 loops in scope [mode_sixsfred] + Loop head: mode_sixsfred::@1 tails: mode_sixsfred::@1 blocks: mode_sixsfred::@1 + Loop head: mode_sixsfred::@3 tails: mode_sixsfred::@3 blocks: mode_sixsfred::@3 + Loop head: mode_sixsfred::@2 tails: mode_sixsfred::@13 blocks: mode_sixsfred::@13 mode_sixsfred::@3 mode_sixsfred::@2 + Loop head: mode_sixsfred::@5 tails: mode_sixsfred::@5 blocks: mode_sixsfred::@5 + Loop head: mode_sixsfred::@4 tails: mode_sixsfred::@15 blocks: mode_sixsfred::@15 mode_sixsfred::@5 mode_sixsfred::@4 + Loop head: mode_sixsfred::@7 tails: mode_sixsfred::@7 blocks: mode_sixsfred::@7 + Loop head: mode_sixsfred::@6 tails: mode_sixsfred::@17 blocks: mode_sixsfred::@17 mode_sixsfred::@7 mode_sixsfred::@6 + Loop head: mode_sixsfred::@8 tails: mode_sixsfred::@24 blocks: mode_sixsfred::@24 mode_sixsfred::@9 mode_sixsfred::@8 Found 1 loops in scope [print_ln] Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 Found 0 loops in scope [keyboard_matrix_read] Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 depth: 1 Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 depth: 2 Loop head: menu::@2 tails: menu::@2 blocks: menu::@2 depth: 2 -Loop head: menu::@3 tails: menu::@17 blocks: menu::@17 menu::@4 menu::@3 depth: 2 +Loop head: menu::@3 tails: menu::@21 blocks: menu::@21 menu::@6 menu::@20 menu::@4 menu::@3 depth: 2 +Loop head: mode_sixsfred::@1 tails: mode_sixsfred::@1 blocks: mode_sixsfred::@1 depth: 2 +Loop head: mode_sixsfred::@3 tails: mode_sixsfred::@3 blocks: mode_sixsfred::@3 depth: 3 +Loop head: mode_sixsfred::@2 tails: mode_sixsfred::@13 blocks: mode_sixsfred::@13 mode_sixsfred::@3 mode_sixsfred::@2 depth: 2 +Loop head: mode_sixsfred::@5 tails: mode_sixsfred::@5 blocks: mode_sixsfred::@5 depth: 3 +Loop head: mode_sixsfred::@4 tails: mode_sixsfred::@15 blocks: mode_sixsfred::@15 mode_sixsfred::@5 mode_sixsfred::@4 depth: 2 +Loop head: mode_sixsfred::@7 tails: mode_sixsfred::@7 blocks: mode_sixsfred::@7 depth: 3 +Loop head: mode_sixsfred::@6 tails: mode_sixsfred::@17 blocks: mode_sixsfred::@17 mode_sixsfred::@7 mode_sixsfred::@6 depth: 2 +Loop head: mode_sixsfred::@8 tails: mode_sixsfred::@24 blocks: mode_sixsfred::@24 mode_sixsfred::@9 mode_sixsfred::@8 depth: 2 Loop head: mode_twoplanebitmap::@1 tails: mode_twoplanebitmap::@1 blocks: mode_twoplanebitmap::@1 depth: 2 Loop head: mode_twoplanebitmap::@3 tails: mode_twoplanebitmap::@3 blocks: mode_twoplanebitmap::@3 depth: 3 Loop head: mode_twoplanebitmap::@2 tails: mode_twoplanebitmap::@15 blocks: mode_twoplanebitmap::@15 mode_twoplanebitmap::@3 mode_twoplanebitmap::@2 depth: 2 @@ -4943,12 +6029,16 @@ VARIABLE REGISTER WEIGHTS (byte*) DTV_PLANEB_START_LO (byte*) DTV_PLANEB_START_MI (byte*) DTV_PLANEB_STEP +(byte) KEY_B (byte) KEY_C (byte) KEY_SPACE (byte) LIGHT_GREEN (byte*) MENU_CHARSET (byte*) MENU_SCREEN (byte[]) MENU_TEXT +(byte*) SIXSFRED_COLORS +(byte*) SIXSFRED_PLANEA +(byte*) SIXSFRED_PLANEB (byte*) TWOPLANE_COLORS (byte*) TWOPLANE_PLANEA (byte*) TWOPLANE_PLANEB @@ -4958,6 +6048,7 @@ VARIABLE REGISTER WEIGHTS (byte) VIC_CSEL (byte) VIC_DEN (byte) VIC_ECM +(byte) VIC_MCM (byte*) VIC_MEMORY (byte) VIC_RSEL (byte()) keyboard_key_pressed((byte) keyboard_key_pressed::key) @@ -4965,11 +6056,13 @@ VARIABLE REGISTER WEIGHTS (byte) keyboard_key_pressed::colidx (byte) keyboard_key_pressed::colidx#0 0.6666666666666666 (byte) keyboard_key_pressed::key -(byte) keyboard_key_pressed::key#2 2.0 +(byte) keyboard_key_pressed::key#4 2.0 (byte) keyboard_key_pressed::return -(byte) keyboard_key_pressed::return#0 51.0 +(byte) keyboard_key_pressed::return#0 67.66666666666667 +(byte) keyboard_key_pressed::return#10 202.0 (byte) keyboard_key_pressed::return#2 202.0 (byte) keyboard_key_pressed::return#3 202.0 +(byte) keyboard_key_pressed::return#4 202.0 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 4.0 (byte[]) keyboard_matrix_col_bitmask @@ -4984,12 +6077,54 @@ VARIABLE REGISTER WEIGHTS (void()) main() (void()) menu() (byte~) menu::$26 202.0 +(byte~) menu::$30 202.0 (byte*) menu::c (byte*) menu::c#1 151.5 (byte*) menu::c#2 151.5 (byte) menu::i (byte) menu::i#1 151.5 (byte) menu::i#2 202.0 +(void()) mode_sixsfred() +(byte~) mode_sixsfred::$15 2002.0 +(byte~) mode_sixsfred::$16 2002.0 +(byte~) mode_sixsfred::$19 2002.0 +(byte~) mode_sixsfred::$25 202.0 +(byte) mode_sixsfred::ax +(byte) mode_sixsfred::ax#1 1501.5 +(byte) mode_sixsfred::ax#2 400.4 +(byte) mode_sixsfred::ay +(byte) mode_sixsfred::ay#1 151.5 +(byte) mode_sixsfred::ay#4 150.375 +(byte) mode_sixsfred::bx +(byte) mode_sixsfred::bx#1 1501.5 +(byte) mode_sixsfred::bx#2 667.3333333333334 +(byte) mode_sixsfred::by +(byte) mode_sixsfred::by#1 151.5 +(byte) mode_sixsfred::by#4 33.666666666666664 +(byte*) mode_sixsfred::col +(byte*) mode_sixsfred::col#1 420.59999999999997 +(byte*) mode_sixsfred::col#2 776.0 +(byte*) mode_sixsfred::col#3 202.0 +(byte) mode_sixsfred::cx +(byte) mode_sixsfred::cx#1 1501.5 +(byte) mode_sixsfred::cx#2 600.5999999999999 +(byte) mode_sixsfred::cy +(byte) mode_sixsfred::cy#1 151.5 +(byte) mode_sixsfred::cy#4 150.375 +(byte*) mode_sixsfred::gfxa +(byte*) mode_sixsfred::gfxa#1 420.59999999999997 +(byte*) mode_sixsfred::gfxa#2 776.0 +(byte*) mode_sixsfred::gfxa#3 202.0 +(byte*) mode_sixsfred::gfxb +(byte*) mode_sixsfred::gfxb#1 420.59999999999997 +(byte*) mode_sixsfred::gfxb#2 1552.0 +(byte*) mode_sixsfred::gfxb#3 202.0 +(byte) mode_sixsfred::i +(byte) mode_sixsfred::i#1 151.5 +(byte) mode_sixsfred::i#2 202.0 +(byte) mode_sixsfred::row +(byte) mode_sixsfred::row#0 2002.0 +(byte[]) mode_sixsfred::row_bitmask (void()) mode_twoplanebitmap() (byte~) mode_twoplanebitmap::$14 2002.0 (byte~) mode_twoplanebitmap::$15 1001.0 @@ -5037,7 +6172,7 @@ VARIABLE REGISTER WEIGHTS (byte*) print_char_cursor#17 821.0 (byte*) print_char_cursor#19 101.0 (byte*) print_char_cursor#32 572.0 -(byte*~) print_char_cursor#56 202.0 +(byte*~) print_char_cursor#61 202.0 (void()) print_cls() (byte*) print_cls::sc (byte*) print_cls::sc#1 151.5 @@ -5061,6 +6196,17 @@ VARIABLE REGISTER WEIGHTS Initial phi equivalence classes [ menu::i#2 menu::i#1 ] [ menu::c#2 menu::c#1 ] +[ mode_sixsfred::i#2 mode_sixsfred::i#1 ] +[ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] +[ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ] +[ mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 ] +[ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] +[ mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 ] +[ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] +[ mode_sixsfred::by#4 mode_sixsfred::by#1 ] +[ mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 ] +[ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ] +[ keyboard_key_pressed::key#4 ] [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] @@ -5071,20 +6217,20 @@ Initial phi equivalence classes [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] -[ keyboard_key_pressed::key#2 ] [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] -[ print_char_cursor#17 print_char_cursor#19 print_char_cursor#56 print_char_cursor#32 print_char_cursor#1 ] +[ print_char_cursor#17 print_char_cursor#19 print_char_cursor#61 print_char_cursor#32 print_char_cursor#1 ] [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] [ print_cls::sc#2 print_cls::sc#1 ] Added variable keyboard_key_pressed::return#2 to zero page equivalence class [ keyboard_key_pressed::return#2 ] Added variable menu::$26 to zero page equivalence class [ menu::$26 ] -Added variable mode_twoplanebitmap::$14 to zero page equivalence class [ mode_twoplanebitmap::$14 ] -Added variable mode_twoplanebitmap::$15 to zero page equivalence class [ mode_twoplanebitmap::$15 ] -Added variable mode_twoplanebitmap::$16 to zero page equivalence class [ mode_twoplanebitmap::$16 ] -Added variable mode_twoplanebitmap::$17 to zero page equivalence class [ mode_twoplanebitmap::$17 ] -Added variable mode_twoplanebitmap::$20 to zero page equivalence class [ mode_twoplanebitmap::$20 ] Added variable keyboard_key_pressed::return#3 to zero page equivalence class [ keyboard_key_pressed::return#3 ] -Added variable mode_twoplanebitmap::$27 to zero page equivalence class [ mode_twoplanebitmap::$27 ] +Added variable menu::$30 to zero page equivalence class [ menu::$30 ] +Added variable mode_sixsfred::$15 to zero page equivalence class [ mode_sixsfred::$15 ] +Added variable mode_sixsfred::$16 to zero page equivalence class [ mode_sixsfred::$16 ] +Added variable mode_sixsfred::$19 to zero page equivalence class [ mode_sixsfred::$19 ] +Added variable mode_sixsfred::row#0 to zero page equivalence class [ mode_sixsfred::row#0 ] +Added variable keyboard_key_pressed::return#10 to zero page equivalence class [ keyboard_key_pressed::return#10 ] +Added variable mode_sixsfred::$25 to zero page equivalence class [ mode_sixsfred::$25 ] Added variable keyboard_key_pressed::colidx#0 to zero page equivalence class [ keyboard_key_pressed::colidx#0 ] Added variable keyboard_key_pressed::rowidx#0 to zero page equivalence class [ keyboard_key_pressed::rowidx#0 ] Added variable keyboard_matrix_read::rowid#0 to zero page equivalence class [ keyboard_matrix_read::rowid#0 ] @@ -5092,10 +6238,28 @@ Added variable keyboard_matrix_read::return#2 to zero page equivalence class [ k Added variable keyboard_key_pressed::$2 to zero page equivalence class [ keyboard_key_pressed::$2 ] Added variable keyboard_key_pressed::return#0 to zero page equivalence class [ keyboard_key_pressed::return#0 ] Added variable keyboard_matrix_read::return#0 to zero page equivalence class [ keyboard_matrix_read::return#0 ] +Added variable mode_twoplanebitmap::$14 to zero page equivalence class [ mode_twoplanebitmap::$14 ] +Added variable mode_twoplanebitmap::$15 to zero page equivalence class [ mode_twoplanebitmap::$15 ] +Added variable mode_twoplanebitmap::$16 to zero page equivalence class [ mode_twoplanebitmap::$16 ] +Added variable mode_twoplanebitmap::$17 to zero page equivalence class [ mode_twoplanebitmap::$17 ] +Added variable mode_twoplanebitmap::$20 to zero page equivalence class [ mode_twoplanebitmap::$20 ] +Added variable keyboard_key_pressed::return#4 to zero page equivalence class [ keyboard_key_pressed::return#4 ] +Added variable mode_twoplanebitmap::$27 to zero page equivalence class [ mode_twoplanebitmap::$27 ] Added variable print_str_lines::ch#0 to zero page equivalence class [ print_str_lines::ch#0 ] Complete equivalence classes [ menu::i#2 menu::i#1 ] [ menu::c#2 menu::c#1 ] +[ mode_sixsfred::i#2 mode_sixsfred::i#1 ] +[ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] +[ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ] +[ mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 ] +[ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] +[ mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 ] +[ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] +[ mode_sixsfred::by#4 mode_sixsfred::by#1 ] +[ mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 ] +[ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ] +[ keyboard_key_pressed::key#4 ] [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] @@ -5106,20 +6270,20 @@ Complete equivalence classes [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] -[ keyboard_key_pressed::key#2 ] [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] -[ print_char_cursor#17 print_char_cursor#19 print_char_cursor#56 print_char_cursor#32 print_char_cursor#1 ] +[ print_char_cursor#17 print_char_cursor#19 print_char_cursor#61 print_char_cursor#32 print_char_cursor#1 ] [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] [ print_cls::sc#2 print_cls::sc#1 ] [ keyboard_key_pressed::return#2 ] [ menu::$26 ] -[ mode_twoplanebitmap::$14 ] -[ mode_twoplanebitmap::$15 ] -[ mode_twoplanebitmap::$16 ] -[ mode_twoplanebitmap::$17 ] -[ mode_twoplanebitmap::$20 ] [ keyboard_key_pressed::return#3 ] -[ mode_twoplanebitmap::$27 ] +[ menu::$30 ] +[ mode_sixsfred::$15 ] +[ mode_sixsfred::$16 ] +[ mode_sixsfred::$19 ] +[ mode_sixsfred::row#0 ] +[ keyboard_key_pressed::return#10 ] +[ mode_sixsfred::$25 ] [ keyboard_key_pressed::colidx#0 ] [ keyboard_key_pressed::rowidx#0 ] [ keyboard_matrix_read::rowid#0 ] @@ -5127,41 +6291,66 @@ Complete equivalence classes [ keyboard_key_pressed::$2 ] [ keyboard_key_pressed::return#0 ] [ keyboard_matrix_read::return#0 ] +[ mode_twoplanebitmap::$14 ] +[ mode_twoplanebitmap::$15 ] +[ mode_twoplanebitmap::$16 ] +[ mode_twoplanebitmap::$17 ] +[ mode_twoplanebitmap::$20 ] +[ keyboard_key_pressed::return#4 ] +[ mode_twoplanebitmap::$27 ] [ print_str_lines::ch#0 ] Allocated zp ZP_BYTE:2 [ menu::i#2 menu::i#1 ] Allocated zp ZP_WORD:3 [ menu::c#2 menu::c#1 ] -Allocated zp ZP_BYTE:5 [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] -Allocated zp ZP_BYTE:6 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] -Allocated zp ZP_BYTE:7 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] -Allocated zp ZP_WORD:8 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] -Allocated zp ZP_BYTE:10 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] -Allocated zp ZP_WORD:11 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] -Allocated zp ZP_BYTE:13 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] -Allocated zp ZP_BYTE:14 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] -Allocated zp ZP_WORD:15 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] -Allocated zp ZP_BYTE:17 [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] -Allocated zp ZP_BYTE:18 [ keyboard_key_pressed::key#2 ] -Allocated zp ZP_WORD:19 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] -Allocated zp ZP_WORD:21 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#56 print_char_cursor#32 print_char_cursor#1 ] -Allocated zp ZP_WORD:23 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] -Allocated zp ZP_WORD:25 [ print_cls::sc#2 print_cls::sc#1 ] -Allocated zp ZP_BYTE:27 [ keyboard_key_pressed::return#2 ] -Allocated zp ZP_BYTE:28 [ menu::$26 ] -Allocated zp ZP_BYTE:29 [ mode_twoplanebitmap::$14 ] -Allocated zp ZP_BYTE:30 [ mode_twoplanebitmap::$15 ] -Allocated zp ZP_BYTE:31 [ mode_twoplanebitmap::$16 ] -Allocated zp ZP_BYTE:32 [ mode_twoplanebitmap::$17 ] -Allocated zp ZP_BYTE:33 [ mode_twoplanebitmap::$20 ] -Allocated zp ZP_BYTE:34 [ keyboard_key_pressed::return#3 ] -Allocated zp ZP_BYTE:35 [ mode_twoplanebitmap::$27 ] -Allocated zp ZP_BYTE:36 [ keyboard_key_pressed::colidx#0 ] -Allocated zp ZP_BYTE:37 [ keyboard_key_pressed::rowidx#0 ] -Allocated zp ZP_BYTE:38 [ keyboard_matrix_read::rowid#0 ] -Allocated zp ZP_BYTE:39 [ keyboard_matrix_read::return#2 ] -Allocated zp ZP_BYTE:40 [ keyboard_key_pressed::$2 ] -Allocated zp ZP_BYTE:41 [ keyboard_key_pressed::return#0 ] -Allocated zp ZP_BYTE:42 [ keyboard_matrix_read::return#0 ] -Allocated zp ZP_BYTE:43 [ print_str_lines::ch#0 ] +Allocated zp ZP_BYTE:5 [ mode_sixsfred::i#2 mode_sixsfred::i#1 ] +Allocated zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] +Allocated zp ZP_BYTE:7 [ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ] +Allocated zp ZP_WORD:8 [ mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 ] +Allocated zp ZP_BYTE:10 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] +Allocated zp ZP_WORD:11 [ mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 ] +Allocated zp ZP_BYTE:13 [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] +Allocated zp ZP_BYTE:14 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] +Allocated zp ZP_WORD:15 [ mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 ] +Allocated zp ZP_BYTE:17 [ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ] +Allocated zp ZP_BYTE:18 [ keyboard_key_pressed::key#4 ] +Allocated zp ZP_BYTE:19 [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] +Allocated zp ZP_BYTE:20 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] +Allocated zp ZP_BYTE:21 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] +Allocated zp ZP_WORD:22 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] +Allocated zp ZP_BYTE:24 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] +Allocated zp ZP_WORD:25 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] +Allocated zp ZP_BYTE:27 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] +Allocated zp ZP_BYTE:28 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] +Allocated zp ZP_WORD:29 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] +Allocated zp ZP_BYTE:31 [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] +Allocated zp ZP_WORD:32 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] +Allocated zp ZP_WORD:34 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#61 print_char_cursor#32 print_char_cursor#1 ] +Allocated zp ZP_WORD:36 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] +Allocated zp ZP_WORD:38 [ print_cls::sc#2 print_cls::sc#1 ] +Allocated zp ZP_BYTE:40 [ keyboard_key_pressed::return#2 ] +Allocated zp ZP_BYTE:41 [ menu::$26 ] +Allocated zp ZP_BYTE:42 [ keyboard_key_pressed::return#3 ] +Allocated zp ZP_BYTE:43 [ menu::$30 ] +Allocated zp ZP_BYTE:44 [ mode_sixsfred::$15 ] +Allocated zp ZP_BYTE:45 [ mode_sixsfred::$16 ] +Allocated zp ZP_BYTE:46 [ mode_sixsfred::$19 ] +Allocated zp ZP_BYTE:47 [ mode_sixsfred::row#0 ] +Allocated zp ZP_BYTE:48 [ keyboard_key_pressed::return#10 ] +Allocated zp ZP_BYTE:49 [ mode_sixsfred::$25 ] +Allocated zp ZP_BYTE:50 [ keyboard_key_pressed::colidx#0 ] +Allocated zp ZP_BYTE:51 [ keyboard_key_pressed::rowidx#0 ] +Allocated zp ZP_BYTE:52 [ keyboard_matrix_read::rowid#0 ] +Allocated zp ZP_BYTE:53 [ keyboard_matrix_read::return#2 ] +Allocated zp ZP_BYTE:54 [ keyboard_key_pressed::$2 ] +Allocated zp ZP_BYTE:55 [ keyboard_key_pressed::return#0 ] +Allocated zp ZP_BYTE:56 [ keyboard_matrix_read::return#0 ] +Allocated zp ZP_BYTE:57 [ mode_twoplanebitmap::$14 ] +Allocated zp ZP_BYTE:58 [ mode_twoplanebitmap::$15 ] +Allocated zp ZP_BYTE:59 [ mode_twoplanebitmap::$16 ] +Allocated zp ZP_BYTE:60 [ mode_twoplanebitmap::$17 ] +Allocated zp ZP_BYTE:61 [ mode_twoplanebitmap::$20 ] +Allocated zp ZP_BYTE:62 [ keyboard_key_pressed::return#4 ] +Allocated zp ZP_BYTE:63 [ mode_twoplanebitmap::$27 ] +Allocated zp ZP_BYTE:64 [ print_str_lines::ch#0 ] INITIAL ASM //SEG0 Basic Upstart @@ -5179,6 +6368,7 @@ INITIAL ASM .const VIC_DEN = $10 .const VIC_RSEL = 8 .label VIC_CONTROL2 = $d016 + .const VIC_MCM = $10 .const VIC_CSEL = 8 .label VIC_MEMORY = $d018 .label COLS = $d800 @@ -5209,6 +6399,7 @@ INITIAL ASM .label DTV_COLOR_BANK_HI = $d037 .label DTV_GRAPHICS_VIC_BANK = $d03d .const KEY_C = $14 + .const KEY_B = $1c .const KEY_SPACE = $3c .label MENU_SCREEN = $8000 .label MENU_CHARSET = $9800 @@ -5216,19 +6407,22 @@ INITIAL ASM .label TWOPLANE_PLANEA = $4000 .label TWOPLANE_PLANEB = $6000 .label TWOPLANE_COLORS = $8000 - .label print_char_cursor = $15 - .label print_line_cursor = $17 + .label SIXSFRED_PLANEA = $4000 + .label SIXSFRED_PLANEB = $6000 + .label SIXSFRED_COLORS = $8000 + .label print_char_cursor = $22 + .label print_line_cursor = $24 //SEG2 @begin bbegin: -//SEG3 [1] phi from @begin to @21 [phi:@begin->@21] -b21_from_bbegin: - jmp b21 -//SEG4 @21 -b21: +//SEG3 [1] phi from @begin to @22 [phi:@begin->@22] +b22_from_bbegin: + jmp b22 +//SEG4 @22 +b22: //SEG5 [2] call main param-assignment [ ] ( ) jsr main -//SEG6 [3] phi from @21 to @end [phi:@21->@end] -bend_from_b21: +//SEG6 [3] phi from @22 to @end [phi:@22->@end] +bend_from_b22: jmp bend //SEG7 @end bend: @@ -5260,7 +6454,8 @@ main: { } //SEG18 menu menu: { - .label _26 = $1c + .label _26 = $29 + .label _30 = $2b .label i = 2 .label c = 3 //SEG19 [10] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) MENU_CHARSET#0/(dword/signed dword) 65536 [ ] ( main:2::menu:9 [ ] ) -- _deref_pbuc1=vbuc2 @@ -5342,9 +6537,9 @@ menu: { lda c cmp #print_set_screen] - print_set_screen_from_b8: + //SEG48 [209] phi from menu::@9 to print_set_screen [phi:menu::@9->print_set_screen] + print_set_screen_from_b9: jsr print_set_screen - //SEG49 [30] phi from menu::@8 to menu::@14 [phi:menu::@8->menu::@14] - b14_from_b8: - jmp b14 - //SEG50 menu::@14 - b14: + //SEG49 [30] phi from menu::@9 to menu::@17 [phi:menu::@9->menu::@17] + b17_from_b9: + jmp b17 + //SEG50 menu::@17 + b17: //SEG51 [31] call print_cls param-assignment [ ] ( main:2::menu:9 [ ] ) - //SEG52 [139] phi from menu::@14 to print_cls [phi:menu::@14->print_cls] - print_cls_from_b14: + //SEG52 [203] phi from menu::@17 to print_cls [phi:menu::@17->print_cls] + print_cls_from_b17: jsr print_cls - //SEG53 [32] phi from menu::@14 to menu::@15 [phi:menu::@14->menu::@15] - b15_from_b14: - jmp b15 - //SEG54 menu::@15 - b15: + //SEG53 [32] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] + b18_from_b17: + jmp b18 + //SEG54 menu::@18 + b18: //SEG55 [33] call print_str_lines param-assignment [ ] ( main:2::menu:9 [ ] ) - //SEG56 [119] phi from menu::@15 to print_str_lines [phi:menu::@15->print_str_lines] - print_str_lines_from_b15: + //SEG56 [183] phi from menu::@18 to print_str_lines [phi:menu::@18->print_str_lines] + print_str_lines_from_b18: jsr print_str_lines jmp b3 //SEG57 menu::@3 @@ -5391,558 +6586,911 @@ menu: { //SEG63 [37] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9 [ keyboard_key_pressed::return#0 ] ) //SEG64 [107] phi from menu::@4 to keyboard_key_pressed [phi:menu::@4->keyboard_key_pressed] keyboard_key_pressed_from_b4: - //SEG65 [107] phi (byte) keyboard_key_pressed::key#2 = (const byte) KEY_C#0 [phi:menu::@4->keyboard_key_pressed#0] -- vbuz1=vbuc1 - lda #KEY_C + //SEG65 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_B#0 [phi:menu::@4->keyboard_key_pressed#0] -- vbuz1=vbuc1 + lda #KEY_B sta keyboard_key_pressed.key jsr keyboard_key_pressed //SEG66 [38] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#2 ] ( main:2::menu:9 [ keyboard_key_pressed::return#2 ] ) -- vbuz1=vbuz2 lda keyboard_key_pressed.return sta keyboard_key_pressed.return_2 - jmp b17 - //SEG67 menu::@17 - b17: + jmp b20 + //SEG67 menu::@20 + b20: //SEG68 [39] (byte~) menu::$26 ← (byte) keyboard_key_pressed::return#2 [ menu::$26 ] ( main:2::menu:9 [ menu::$26 ] ) -- vbuz1=vbuz2 lda keyboard_key_pressed.return_2 sta _26 - //SEG69 [40] if((byte~) menu::$26==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@3 [ ] ( main:2::menu:9 [ ] ) -- vbuz1_eq_0_then_la1 + //SEG69 [40] if((byte~) menu::$26==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@6 [ ] ( main:2::menu:9 [ ] ) -- vbuz1_eq_0_then_la1 lda _26 - beq b3 - //SEG70 [41] phi from menu::@17 to menu::@11 [phi:menu::@17->menu::@11] - b11_from_b17: - jmp b11 - //SEG71 menu::@11 - b11: + beq b6_from_b20 + //SEG70 [41] phi from menu::@20 to menu::@12 [phi:menu::@20->menu::@12] + b12_from_b20: + jmp b12 + //SEG71 menu::@12 + b12: //SEG72 [42] call mode_twoplanebitmap param-assignment [ ] ( main:2::menu:9 [ ] ) jsr mode_twoplanebitmap jmp breturn + //SEG73 [43] phi from menu::@20 to menu::@6 [phi:menu::@20->menu::@6] + b6_from_b20: + jmp b6 + //SEG74 menu::@6 + b6: + //SEG75 [44] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9 [ keyboard_key_pressed::return#0 ] ) + //SEG76 [107] phi from menu::@6 to keyboard_key_pressed [phi:menu::@6->keyboard_key_pressed] + keyboard_key_pressed_from_b6: + //SEG77 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_C#0 [phi:menu::@6->keyboard_key_pressed#0] -- vbuz1=vbuc1 + lda #KEY_C + sta keyboard_key_pressed.key + jsr keyboard_key_pressed + //SEG78 [45] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#3 ] ( main:2::menu:9 [ keyboard_key_pressed::return#3 ] ) -- vbuz1=vbuz2 + lda keyboard_key_pressed.return + sta keyboard_key_pressed.return_3 + jmp b21 + //SEG79 menu::@21 + b21: + //SEG80 [46] (byte~) menu::$30 ← (byte) keyboard_key_pressed::return#3 [ menu::$30 ] ( main:2::menu:9 [ menu::$30 ] ) -- vbuz1=vbuz2 + lda keyboard_key_pressed.return_3 + sta _30 + //SEG81 [47] if((byte~) menu::$30==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@3 [ ] ( main:2::menu:9 [ ] ) -- vbuz1_eq_0_then_la1 + lda _30 + beq b3 + //SEG82 [48] phi from menu::@21 to menu::@14 [phi:menu::@21->menu::@14] + b14_from_b21: + jmp b14 + //SEG83 menu::@14 + b14: + //SEG84 [49] call mode_sixsfred param-assignment [ ] ( main:2::menu:9 [ ] ) + jsr mode_sixsfred + jmp breturn } -//SEG73 mode_twoplanebitmap -mode_twoplanebitmap: { - .label _14 = $1d - .label _15 = $1e - .label _16 = $1f - .label _17 = $20 - .label _20 = $21 - .label _27 = $23 +//SEG85 mode_sixsfred +mode_sixsfred: { + .label _15 = $2c + .label _16 = $2d + .label _19 = $2e + .label _25 = $31 .label i = 5 .label col = 8 .label cx = 7 .label cy = 6 + .label row = $2f .label gfxa = $b .label ax = $d .label ay = $a .label gfxb = $f .label bx = $11 .label by = $e - //SEG74 [43] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG86 [50] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 lda #DTV_CONTROL_HIGHCOLOR_ON|DTV_CONTROL_LINEAR_ADDRESSING_ON sta DTV_CONTROL - //SEG75 [44] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG87 [51] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 lda #VIC_ECM|VIC_BMM|VIC_DEN|VIC_RSEL|3 sta VIC_CONTROL - //SEG76 [45] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 - lda #VIC_CSEL + //SEG88 [52] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_MCM#0|(const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_MCM|VIC_CSEL sta VIC_CONTROL2 - //SEG77 [46] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 - lda #(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 - lda #>TWOPLANE_PLANEA + //SEG90 [54] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>SIXSFRED_PLANEA sta DTV_PLANEA_START_MI - //SEG79 [48] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG91 [55] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEA_START_HI - //SEG80 [49] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG92 [56] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 lda #1 sta DTV_PLANEA_STEP - //SEG81 [50] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG93 [57] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEA_MODULO_LO - //SEG82 [51] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG94 [58] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEA_MODULO_HI - //SEG83 [52] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 - lda #(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 - lda #>TWOPLANE_PLANEB + //SEG96 [60] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>SIXSFRED_PLANEB sta DTV_PLANEB_START_MI - //SEG85 [54] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG97 [61] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEB_START_HI - //SEG86 [55] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG98 [62] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 lda #1 sta DTV_PLANEB_STEP - //SEG87 [56] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG99 [63] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEB_MODULO_LO - //SEG88 [57] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG100 [64] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEB_MODULO_HI - //SEG89 [58] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 - lda #(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 - lda #>TWOPLANE_COLORS/$400 + //SEG102 [66] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>SIXSFRED_COLORS/$400 sta DTV_COLOR_BANK_HI - //SEG91 [60] phi from mode_twoplanebitmap to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1] - b1_from_mode_twoplanebitmap: - //SEG92 [60] phi (byte) mode_twoplanebitmap::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1#0] -- vbuz1=vbuc1 + //SEG103 [67] phi from mode_sixsfred to mode_sixsfred::@1 [phi:mode_sixsfred->mode_sixsfred::@1] + b1_from_mode_sixsfred: + //SEG104 [67] phi (byte) mode_sixsfred::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred->mode_sixsfred::@1#0] -- vbuz1=vbuc1 lda #0 sta i jmp b1 - //SEG93 [60] phi from mode_twoplanebitmap::@1 to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1] + //SEG105 [67] phi from mode_sixsfred::@1 to mode_sixsfred::@1 [phi:mode_sixsfred::@1->mode_sixsfred::@1] b1_from_b1: - //SEG94 [60] phi (byte) mode_twoplanebitmap::i#2 = (byte) mode_twoplanebitmap::i#1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1#0] -- register_copy + //SEG106 [67] phi (byte) mode_sixsfred::i#2 = (byte) mode_sixsfred::i#1 [phi:mode_sixsfred::@1->mode_sixsfred::@1#0] -- register_copy jmp b1 - //SEG95 mode_twoplanebitmap::@1 + //SEG107 mode_sixsfred::@1 b1: - //SEG96 [61] *((const byte*) DTV_PALETTE#0 + (byte) mode_twoplanebitmap::i#2) ← (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz1 + //SEG108 [68] *((const byte*) DTV_PALETTE#0 + (byte) mode_sixsfred::i#2) ← (byte) mode_sixsfred::i#2 [ mode_sixsfred::i#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz1 ldy i tya sta DTV_PALETTE,y - //SEG97 [62] (byte) mode_twoplanebitmap::i#1 ← ++ (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG109 [69] (byte) mode_sixsfred::i#1 ← ++ (byte) mode_sixsfred::i#2 [ mode_sixsfred::i#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG98 [63] if((byte) mode_twoplanebitmap::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_twoplanebitmap::@1 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG110 [70] if((byte) mode_sixsfred::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_sixsfred::@1 [ mode_sixsfred::i#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda i cmp #$10 bne b1_from_b1 - jmp b14 - //SEG99 mode_twoplanebitmap::@14 - b14: - //SEG100 [64] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + jmp b12 + //SEG111 mode_sixsfred::@12 + b12: + //SEG112 [71] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta BORDERCOL - //SEG101 [65] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 - lda #$70 - sta BGCOL1 - //SEG102 [66] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 - lda #$d4 - sta BGCOL2 - //SEG103 [67] phi from mode_twoplanebitmap::@14 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2] - b2_from_b14: - //SEG104 [67] phi (byte*) mode_twoplanebitmap::col#3 = (const byte*) TWOPLANE_COLORS#0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#0] -- pbuz1=pbuc1 + //SEG113 [72] phi from mode_sixsfred::@12 to mode_sixsfred::@2 [phi:mode_sixsfred::@12->mode_sixsfred::@2] + b2_from_b12: + //SEG114 [72] phi (byte*) mode_sixsfred::col#3 = (const byte*) TWOPLANE_COLORS#0 [phi:mode_sixsfred::@12->mode_sixsfred::@2#0] -- pbuz1=pbuc1 lda #TWOPLANE_COLORS sta col+1 - //SEG105 [67] phi (byte) mode_twoplanebitmap::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#1] -- vbuz1=vbuc1 + //SEG115 [72] phi (byte) mode_sixsfred::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@12->mode_sixsfred::@2#1] -- vbuz1=vbuc1 lda #0 sta cy jmp b2 - //SEG106 [67] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2] - b2_from_b15: - //SEG107 [67] phi (byte*) mode_twoplanebitmap::col#3 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#0] -- register_copy - //SEG108 [67] phi (byte) mode_twoplanebitmap::cy#4 = (byte) mode_twoplanebitmap::cy#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#1] -- register_copy + //SEG116 [72] phi from mode_sixsfred::@13 to mode_sixsfred::@2 [phi:mode_sixsfred::@13->mode_sixsfred::@2] + b2_from_b13: + //SEG117 [72] phi (byte*) mode_sixsfred::col#3 = (byte*) mode_sixsfred::col#1 [phi:mode_sixsfred::@13->mode_sixsfred::@2#0] -- register_copy + //SEG118 [72] phi (byte) mode_sixsfred::cy#4 = (byte) mode_sixsfred::cy#1 [phi:mode_sixsfred::@13->mode_sixsfred::@2#1] -- register_copy jmp b2 - //SEG109 mode_twoplanebitmap::@2 + //SEG119 mode_sixsfred::@2 b2: - //SEG110 [68] phi from mode_twoplanebitmap::@2 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3] + //SEG120 [73] phi from mode_sixsfred::@2 to mode_sixsfred::@3 [phi:mode_sixsfred::@2->mode_sixsfred::@3] b3_from_b2: - //SEG111 [68] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#0] -- register_copy - //SEG112 [68] phi (byte) mode_twoplanebitmap::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#1] -- vbuz1=vbuc1 + //SEG121 [73] phi (byte*) mode_sixsfred::col#2 = (byte*) mode_sixsfred::col#3 [phi:mode_sixsfred::@2->mode_sixsfred::@3#0] -- register_copy + //SEG122 [73] phi (byte) mode_sixsfred::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@2->mode_sixsfred::@3#1] -- vbuz1=vbuc1 lda #0 sta cx jmp b3 - //SEG113 [68] phi from mode_twoplanebitmap::@3 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3] + //SEG123 [73] phi from mode_sixsfred::@3 to mode_sixsfred::@3 [phi:mode_sixsfred::@3->mode_sixsfred::@3] b3_from_b3: - //SEG114 [68] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#0] -- register_copy - //SEG115 [68] phi (byte) mode_twoplanebitmap::cx#2 = (byte) mode_twoplanebitmap::cx#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#1] -- register_copy + //SEG124 [73] phi (byte*) mode_sixsfred::col#2 = (byte*) mode_sixsfred::col#1 [phi:mode_sixsfred::@3->mode_sixsfred::@3#0] -- register_copy + //SEG125 [73] phi (byte) mode_sixsfred::cx#2 = (byte) mode_sixsfred::cx#1 [phi:mode_sixsfred::@3->mode_sixsfred::@3#1] -- register_copy jmp b3 - //SEG116 mode_twoplanebitmap::@3 + //SEG126 mode_sixsfred::@3 b3: - //SEG117 [69] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG127 [74] (byte~) mode_sixsfred::$15 ← (byte) mode_sixsfred::cx#2 + (byte) mode_sixsfred::cy#4 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ) -- vbuz1=vbuz2_plus_vbuz3 + lda cx + clc + adc cy + sta _15 + //SEG128 [75] (byte~) mode_sixsfred::$16 ← (byte~) mode_sixsfred::$15 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ) -- vbuz1=vbuz2_band_vbuc1 + lda #$f + and _15 + sta _16 + //SEG129 [76] *((byte*) mode_sixsfred::col#2) ← (byte~) mode_sixsfred::$16 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ) -- _deref_pbuz1=vbuz2 + lda _16 + ldy #0 + sta (col),y + //SEG130 [77] (byte*) mode_sixsfred::col#1 ← ++ (byte*) mode_sixsfred::col#2 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#2 ] ) -- pbuz1=_inc_pbuz1 + inc col + bne !+ + inc col+1 + !: + //SEG131 [78] (byte) mode_sixsfred::cx#1 ← ++ (byte) mode_sixsfred::cx#2 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ) -- vbuz1=_inc_vbuz1 + inc cx + //SEG132 [79] if((byte) mode_sixsfred::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@3 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda cx + cmp #$28 + bne b3_from_b3 + jmp b13 + //SEG133 mode_sixsfred::@13 + b13: + //SEG134 [80] (byte) mode_sixsfred::cy#1 ← ++ (byte) mode_sixsfred::cy#4 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ) -- vbuz1=_inc_vbuz1 + inc cy + //SEG135 [81] if((byte) mode_sixsfred::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_sixsfred::@2 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda cy + cmp #$19 + bne b2_from_b13 + //SEG136 [82] phi from mode_sixsfred::@13 to mode_sixsfred::@4 [phi:mode_sixsfred::@13->mode_sixsfred::@4] + b4_from_b13: + //SEG137 [82] phi (byte*) mode_sixsfred::gfxa#3 = (const byte*) SIXSFRED_PLANEA#0 [phi:mode_sixsfred::@13->mode_sixsfred::@4#0] -- pbuz1=pbuc1 + lda #SIXSFRED_PLANEA + sta gfxa+1 + //SEG138 [82] phi (byte) mode_sixsfred::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@13->mode_sixsfred::@4#1] -- vbuz1=vbuc1 + lda #0 + sta ay + jmp b4 + //SEG139 [82] phi from mode_sixsfred::@15 to mode_sixsfred::@4 [phi:mode_sixsfred::@15->mode_sixsfred::@4] + b4_from_b15: + //SEG140 [82] phi (byte*) mode_sixsfred::gfxa#3 = (byte*) mode_sixsfred::gfxa#1 [phi:mode_sixsfred::@15->mode_sixsfred::@4#0] -- register_copy + //SEG141 [82] phi (byte) mode_sixsfred::ay#4 = (byte) mode_sixsfred::ay#1 [phi:mode_sixsfred::@15->mode_sixsfred::@4#1] -- register_copy + jmp b4 + //SEG142 mode_sixsfred::@4 + b4: + //SEG143 [83] phi from mode_sixsfred::@4 to mode_sixsfred::@5 [phi:mode_sixsfred::@4->mode_sixsfred::@5] + b5_from_b4: + //SEG144 [83] phi (byte) mode_sixsfred::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@4->mode_sixsfred::@5#0] -- vbuz1=vbuc1 + lda #0 + sta ax + //SEG145 [83] phi (byte*) mode_sixsfred::gfxa#2 = (byte*) mode_sixsfred::gfxa#3 [phi:mode_sixsfred::@4->mode_sixsfred::@5#1] -- register_copy + jmp b5 + //SEG146 [83] phi from mode_sixsfred::@5 to mode_sixsfred::@5 [phi:mode_sixsfred::@5->mode_sixsfred::@5] + b5_from_b5: + //SEG147 [83] phi (byte) mode_sixsfred::ax#2 = (byte) mode_sixsfred::ax#1 [phi:mode_sixsfred::@5->mode_sixsfred::@5#0] -- register_copy + //SEG148 [83] phi (byte*) mode_sixsfred::gfxa#2 = (byte*) mode_sixsfred::gfxa#1 [phi:mode_sixsfred::@5->mode_sixsfred::@5#1] -- register_copy + jmp b5 + //SEG149 mode_sixsfred::@5 + b5: + //SEG150 [84] (byte~) mode_sixsfred::$19 ← (byte) mode_sixsfred::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ) -- vbuz1=vbuz2_ror_1 + lda ay + lsr + sta _19 + //SEG151 [85] (byte) mode_sixsfred::row#0 ← (byte~) mode_sixsfred::$19 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ) -- vbuz1=vbuz2_band_vbuc1 + lda #3 + and _19 + sta row + //SEG152 [86] *((byte*) mode_sixsfred::gfxa#2) ← *((const byte[]) mode_sixsfred::row_bitmask#0 + (byte) mode_sixsfred::row#0) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + ldy row + lda row_bitmask,y + ldy #0 + sta (gfxa),y + //SEG153 [87] (byte*) mode_sixsfred::gfxa#1 ← ++ (byte*) mode_sixsfred::gfxa#2 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#2 ] ) -- pbuz1=_inc_pbuz1 + inc gfxa + bne !+ + inc gfxa+1 + !: + //SEG154 [88] (byte) mode_sixsfred::ax#1 ← ++ (byte) mode_sixsfred::ax#2 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ) -- vbuz1=_inc_vbuz1 + inc ax + //SEG155 [89] if((byte) mode_sixsfred::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@5 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda ax + cmp #$28 + bne b5_from_b5 + jmp b15 + //SEG156 mode_sixsfred::@15 + b15: + //SEG157 [90] (byte) mode_sixsfred::ay#1 ← ++ (byte) mode_sixsfred::ay#4 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ) -- vbuz1=_inc_vbuz1 + inc ay + //SEG158 [91] if((byte) mode_sixsfred::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@4 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda ay + cmp #$c8 + bne b4_from_b15 + //SEG159 [92] phi from mode_sixsfred::@15 to mode_sixsfred::@6 [phi:mode_sixsfred::@15->mode_sixsfred::@6] + b6_from_b15: + //SEG160 [92] phi (byte) mode_sixsfred::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@15->mode_sixsfred::@6#0] -- vbuz1=vbuc1 + lda #0 + sta by + //SEG161 [92] phi (byte*) mode_sixsfred::gfxb#3 = (const byte*) SIXSFRED_PLANEB#0 [phi:mode_sixsfred::@15->mode_sixsfred::@6#1] -- pbuz1=pbuc1 + lda #SIXSFRED_PLANEB + sta gfxb+1 + jmp b6 + //SEG162 [92] phi from mode_sixsfred::@17 to mode_sixsfred::@6 [phi:mode_sixsfred::@17->mode_sixsfred::@6] + b6_from_b17: + //SEG163 [92] phi (byte) mode_sixsfred::by#4 = (byte) mode_sixsfred::by#1 [phi:mode_sixsfred::@17->mode_sixsfred::@6#0] -- register_copy + //SEG164 [92] phi (byte*) mode_sixsfred::gfxb#3 = (byte*) mode_sixsfred::gfxb#1 [phi:mode_sixsfred::@17->mode_sixsfred::@6#1] -- register_copy + jmp b6 + //SEG165 mode_sixsfred::@6 + b6: + //SEG166 [93] phi from mode_sixsfred::@6 to mode_sixsfred::@7 [phi:mode_sixsfred::@6->mode_sixsfred::@7] + b7_from_b6: + //SEG167 [93] phi (byte) mode_sixsfred::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@6->mode_sixsfred::@7#0] -- vbuz1=vbuc1 + lda #0 + sta bx + //SEG168 [93] phi (byte*) mode_sixsfred::gfxb#2 = (byte*) mode_sixsfred::gfxb#3 [phi:mode_sixsfred::@6->mode_sixsfred::@7#1] -- register_copy + jmp b7 + //SEG169 [93] phi from mode_sixsfred::@7 to mode_sixsfred::@7 [phi:mode_sixsfred::@7->mode_sixsfred::@7] + b7_from_b7: + //SEG170 [93] phi (byte) mode_sixsfred::bx#2 = (byte) mode_sixsfred::bx#1 [phi:mode_sixsfred::@7->mode_sixsfred::@7#0] -- register_copy + //SEG171 [93] phi (byte*) mode_sixsfred::gfxb#2 = (byte*) mode_sixsfred::gfxb#1 [phi:mode_sixsfred::@7->mode_sixsfred::@7#1] -- register_copy + jmp b7 + //SEG172 mode_sixsfred::@7 + b7: + //SEG173 [94] *((byte*) mode_sixsfred::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 27 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ) -- _deref_pbuz1=vbuc1 + lda #$1b + ldy #0 + sta (gfxb),y + //SEG174 [95] (byte*) mode_sixsfred::gfxb#1 ← ++ (byte*) mode_sixsfred::gfxb#2 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#2 ] ) -- pbuz1=_inc_pbuz1 + inc gfxb + bne !+ + inc gfxb+1 + !: + //SEG175 [96] (byte) mode_sixsfred::bx#1 ← ++ (byte) mode_sixsfred::bx#2 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ) -- vbuz1=_inc_vbuz1 + inc bx + //SEG176 [97] if((byte) mode_sixsfred::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@7 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda bx + cmp #$28 + bne b7_from_b7 + jmp b17 + //SEG177 mode_sixsfred::@17 + b17: + //SEG178 [98] (byte) mode_sixsfred::by#1 ← ++ (byte) mode_sixsfred::by#4 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ) -- vbuz1=_inc_vbuz1 + inc by + //SEG179 [99] if((byte) mode_sixsfred::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@6 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda by + cmp #$c8 + bne b6_from_b17 + jmp b8 + //SEG180 mode_sixsfred::@8 + b8: + //SEG181 [100] if(true) goto mode_sixsfred::@9 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- true_then_la1 + jmp b9_from_b8 + jmp breturn + //SEG182 mode_sixsfred::@return + breturn: + //SEG183 [101] return [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + rts + //SEG184 [102] phi from mode_sixsfred::@8 to mode_sixsfred::@9 [phi:mode_sixsfred::@8->mode_sixsfred::@9] + b9_from_b8: + jmp b9 + //SEG185 mode_sixsfred::@9 + b9: + //SEG186 [103] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_sixsfred:49 [ keyboard_key_pressed::return#0 ] ) + //SEG187 [107] phi from mode_sixsfred::@9 to keyboard_key_pressed [phi:mode_sixsfred::@9->keyboard_key_pressed] + keyboard_key_pressed_from_b9: + //SEG188 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_SPACE#0 [phi:mode_sixsfred::@9->keyboard_key_pressed#0] -- vbuz1=vbuc1 + lda #KEY_SPACE + sta keyboard_key_pressed.key + jsr keyboard_key_pressed + //SEG189 [104] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#10 ] ( main:2::menu:9::mode_sixsfred:49 [ keyboard_key_pressed::return#10 ] ) -- vbuz1=vbuz2 + lda keyboard_key_pressed.return + sta keyboard_key_pressed.return_10 + jmp b24 + //SEG190 mode_sixsfred::@24 + b24: + //SEG191 [105] (byte~) mode_sixsfred::$25 ← (byte) keyboard_key_pressed::return#10 [ mode_sixsfred::$25 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::$25 ] ) -- vbuz1=vbuz2 + lda keyboard_key_pressed.return_10 + sta _25 + //SEG192 [106] if((byte~) mode_sixsfred::$25==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_sixsfred::@8 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- vbuz1_eq_0_then_la1 + lda _25 + beq b8 + jmp breturn + row_bitmask: .byte 0, $55, $aa, $ff +} +//SEG193 keyboard_key_pressed +keyboard_key_pressed: { + .label _2 = $36 + .label colidx = $32 + .label rowidx = $33 + .label return = $37 + .label return_2 = $28 + .label return_3 = $2a + .label return_4 = $3e + .label key = $12 + .label return_10 = $30 + //SEG194 [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) -- vbuz1=vbuz2_band_vbuc1 + lda #7 + and key + sta colidx + //SEG195 [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuz1=vbuz2_ror_3 + lda key + lsr + lsr + lsr + sta rowidx + //SEG196 [110] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) -- vbuz1=vbuz2 + lda rowidx + sta keyboard_matrix_read.rowid + //SEG197 [111] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + jsr keyboard_matrix_read + //SEG198 [112] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) -- vbuz1=vbuz2 + lda keyboard_matrix_read.return + sta keyboard_matrix_read.return_2 + jmp b2 + //SEG199 keyboard_key_pressed::@2 + b2: + //SEG200 [113] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) -- vbuz1=vbuz2 + lda keyboard_matrix_read.return_2 + sta _2 + //SEG201 [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 + lda _2 + ldy colidx + and keyboard_matrix_col_bitmask,y + sta return + jmp breturn + //SEG202 keyboard_key_pressed::@return + breturn: + //SEG203 [115] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) + rts +} +//SEG204 keyboard_matrix_read +keyboard_matrix_read: { + .label return = $38 + .label rowid = $34 + .label return_2 = $35 + //SEG205 [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuz1 + ldy rowid + lda keyboard_matrix_row_bitmask,y + sta CIA1_PORT_A + //SEG206 [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuz1=_bnot__deref_pbuc1 + lda CIA1_PORT_B + eor #$ff + sta return + jmp breturn + //SEG207 keyboard_matrix_read::@return + breturn: + //SEG208 [118] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + rts +} +//SEG209 mode_twoplanebitmap +mode_twoplanebitmap: { + .label _14 = $39 + .label _15 = $3a + .label _16 = $3b + .label _17 = $3c + .label _20 = $3d + .label _27 = $3f + .label i = $13 + .label col = $16 + .label cx = $15 + .label cy = $14 + .label gfxa = $19 + .label ax = $1b + .label ay = $18 + .label gfxb = $1d + .label bx = $1f + .label by = $1c + //SEG210 [119] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #DTV_CONTROL_HIGHCOLOR_ON|DTV_CONTROL_LINEAR_ADDRESSING_ON + sta DTV_CONTROL + //SEG211 [120] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_ECM|VIC_BMM|VIC_DEN|VIC_RSEL|3 + sta VIC_CONTROL + //SEG212 [121] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_CSEL + sta VIC_CONTROL2 + //SEG213 [122] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>TWOPLANE_PLANEA + sta DTV_PLANEA_START_MI + //SEG215 [124] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEA_START_HI + //SEG216 [125] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #1 + sta DTV_PLANEA_STEP + //SEG217 [126] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEA_MODULO_LO + //SEG218 [127] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEA_MODULO_HI + //SEG219 [128] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>TWOPLANE_PLANEB + sta DTV_PLANEB_START_MI + //SEG221 [130] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEB_START_HI + //SEG222 [131] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #1 + sta DTV_PLANEB_STEP + //SEG223 [132] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEB_MODULO_LO + //SEG224 [133] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEB_MODULO_HI + //SEG225 [134] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>TWOPLANE_COLORS/$400 + sta DTV_COLOR_BANK_HI + //SEG227 [136] phi from mode_twoplanebitmap to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1] + b1_from_mode_twoplanebitmap: + //SEG228 [136] phi (byte) mode_twoplanebitmap::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1#0] -- vbuz1=vbuc1 + lda #0 + sta i + jmp b1 + //SEG229 [136] phi from mode_twoplanebitmap::@1 to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1] + b1_from_b1: + //SEG230 [136] phi (byte) mode_twoplanebitmap::i#2 = (byte) mode_twoplanebitmap::i#1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1#0] -- register_copy + jmp b1 + //SEG231 mode_twoplanebitmap::@1 + b1: + //SEG232 [137] *((const byte*) DTV_PALETTE#0 + (byte) mode_twoplanebitmap::i#2) ← (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz1 + ldy i + tya + sta DTV_PALETTE,y + //SEG233 [138] (byte) mode_twoplanebitmap::i#1 ← ++ (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuz1=_inc_vbuz1 + inc i + //SEG234 [139] if((byte) mode_twoplanebitmap::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_twoplanebitmap::@1 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda i + cmp #$10 + bne b1_from_b1 + jmp b14 + //SEG235 mode_twoplanebitmap::@14 + b14: + //SEG236 [140] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta BORDERCOL + //SEG237 [141] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #$70 + sta BGCOL1 + //SEG238 [142] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + lda #$d4 + sta BGCOL2 + //SEG239 [143] phi from mode_twoplanebitmap::@14 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2] + b2_from_b14: + //SEG240 [143] phi (byte*) mode_twoplanebitmap::col#3 = (const byte*) TWOPLANE_COLORS#0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#0] -- pbuz1=pbuc1 + lda #TWOPLANE_COLORS + sta col+1 + //SEG241 [143] phi (byte) mode_twoplanebitmap::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#1] -- vbuz1=vbuc1 + lda #0 + sta cy + jmp b2 + //SEG242 [143] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2] + b2_from_b15: + //SEG243 [143] phi (byte*) mode_twoplanebitmap::col#3 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#0] -- register_copy + //SEG244 [143] phi (byte) mode_twoplanebitmap::cy#4 = (byte) mode_twoplanebitmap::cy#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#1] -- register_copy + jmp b2 + //SEG245 mode_twoplanebitmap::@2 + b2: + //SEG246 [144] phi from mode_twoplanebitmap::@2 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3] + b3_from_b2: + //SEG247 [144] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#0] -- register_copy + //SEG248 [144] phi (byte) mode_twoplanebitmap::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#1] -- vbuz1=vbuc1 + lda #0 + sta cx + jmp b3 + //SEG249 [144] phi from mode_twoplanebitmap::@3 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3] + b3_from_b3: + //SEG250 [144] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#0] -- register_copy + //SEG251 [144] phi (byte) mode_twoplanebitmap::cx#2 = (byte) mode_twoplanebitmap::cx#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#1] -- register_copy + jmp b3 + //SEG252 mode_twoplanebitmap::@3 + b3: + //SEG253 [145] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #$f and cy sta _14 - //SEG118 [70] (byte~) mode_twoplanebitmap::$15 ← (byte~) mode_twoplanebitmap::$14 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ) -- vbuz1=vbuz2_rol_4 + //SEG254 [146] (byte~) mode_twoplanebitmap::$15 ← (byte~) mode_twoplanebitmap::$14 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ) -- vbuz1=vbuz2_rol_4 lda _14 asl asl asl asl sta _15 - //SEG119 [71] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG255 [147] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #$f and cx sta _16 - //SEG120 [72] (byte~) mode_twoplanebitmap::$17 ← (byte~) mode_twoplanebitmap::$15 | (byte~) mode_twoplanebitmap::$16 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ) -- vbuz1=vbuz2_bor_vbuz3 + //SEG256 [148] (byte~) mode_twoplanebitmap::$17 ← (byte~) mode_twoplanebitmap::$15 | (byte~) mode_twoplanebitmap::$16 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ) -- vbuz1=vbuz2_bor_vbuz3 lda _15 ora _16 sta _17 - //SEG121 [73] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) -- _deref_pbuz1=vbuz2 + //SEG257 [149] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) -- _deref_pbuz1=vbuz2 lda _17 ldy #0 sta (col),y - //SEG122 [74] (byte*) mode_twoplanebitmap::col#1 ← ++ (byte*) mode_twoplanebitmap::col#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG258 [150] (byte*) mode_twoplanebitmap::col#1 ← ++ (byte*) mode_twoplanebitmap::col#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ) -- pbuz1=_inc_pbuz1 inc col bne !+ inc col+1 !: - //SEG123 [75] (byte) mode_twoplanebitmap::cx#1 ← ++ (byte) mode_twoplanebitmap::cx#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG259 [151] (byte) mode_twoplanebitmap::cx#1 ← ++ (byte) mode_twoplanebitmap::cx#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuz1=_inc_vbuz1 inc cx - //SEG124 [76] if((byte) mode_twoplanebitmap::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@3 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG260 [152] if((byte) mode_twoplanebitmap::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@3 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda cx cmp #$28 bne b3_from_b3 jmp b15 - //SEG125 mode_twoplanebitmap::@15 + //SEG261 mode_twoplanebitmap::@15 b15: - //SEG126 [77] (byte) mode_twoplanebitmap::cy#1 ← ++ (byte) mode_twoplanebitmap::cy#4 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG262 [153] (byte) mode_twoplanebitmap::cy#1 ← ++ (byte) mode_twoplanebitmap::cy#4 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1=_inc_vbuz1 inc cy - //SEG127 [78] if((byte) mode_twoplanebitmap::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_twoplanebitmap::@2 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG263 [154] if((byte) mode_twoplanebitmap::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_twoplanebitmap::@2 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b2_from_b15 - //SEG128 [79] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4] + //SEG264 [155] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4] b4_from_b15: - //SEG129 [79] phi (byte*) mode_twoplanebitmap::gfxa#6 = (const byte*) TWOPLANE_PLANEA#0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#0] -- pbuz1=pbuc1 + //SEG265 [155] phi (byte*) mode_twoplanebitmap::gfxa#6 = (const byte*) TWOPLANE_PLANEA#0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#0] -- pbuz1=pbuc1 lda #TWOPLANE_PLANEA sta gfxa+1 - //SEG130 [79] phi (byte) mode_twoplanebitmap::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#1] -- vbuz1=vbuc1 + //SEG266 [155] phi (byte) mode_twoplanebitmap::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#1] -- vbuz1=vbuc1 lda #0 sta ay jmp b4 - //SEG131 [79] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4] + //SEG267 [155] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4] b4_from_b19: - //SEG132 [79] phi (byte*) mode_twoplanebitmap::gfxa#6 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#0] -- register_copy - //SEG133 [79] phi (byte) mode_twoplanebitmap::ay#4 = (byte) mode_twoplanebitmap::ay#1 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#1] -- register_copy + //SEG268 [155] phi (byte*) mode_twoplanebitmap::gfxa#6 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#0] -- register_copy + //SEG269 [155] phi (byte) mode_twoplanebitmap::ay#4 = (byte) mode_twoplanebitmap::ay#1 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#1] -- register_copy jmp b4 - //SEG134 mode_twoplanebitmap::@4 + //SEG270 mode_twoplanebitmap::@4 b4: - //SEG135 [80] phi from mode_twoplanebitmap::@4 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5] + //SEG271 [156] phi from mode_twoplanebitmap::@4 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5] b5_from_b4: - //SEG136 [80] phi (byte) mode_twoplanebitmap::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#0] -- vbuz1=vbuc1 + //SEG272 [156] phi (byte) mode_twoplanebitmap::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#0] -- vbuz1=vbuc1 lda #0 sta ax - //SEG137 [80] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#6 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#1] -- register_copy + //SEG273 [156] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#6 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#1] -- register_copy jmp b5 - //SEG138 [80] phi from mode_twoplanebitmap::@7 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5] + //SEG274 [156] phi from mode_twoplanebitmap::@7 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5] b5_from_b7: - //SEG139 [80] phi (byte) mode_twoplanebitmap::ax#2 = (byte) mode_twoplanebitmap::ax#1 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#0] -- register_copy - //SEG140 [80] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#1] -- register_copy + //SEG275 [156] phi (byte) mode_twoplanebitmap::ax#2 = (byte) mode_twoplanebitmap::ax#1 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#0] -- register_copy + //SEG276 [156] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#1] -- register_copy jmp b5 - //SEG141 mode_twoplanebitmap::@5 + //SEG277 mode_twoplanebitmap::@5 b5: - //SEG142 [81] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG278 [157] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #4 and ay sta _20 - //SEG143 [82] if((byte~) mode_twoplanebitmap::$20!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@6 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- vbuz1_neq_0_then_la1 + //SEG279 [158] if((byte~) mode_twoplanebitmap::$20!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@6 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- vbuz1_neq_0_then_la1 lda _20 bne b6 jmp b17 - //SEG144 mode_twoplanebitmap::@17 + //SEG280 mode_twoplanebitmap::@17 b17: - //SEG145 [83] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG281 [159] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (gfxa),y - //SEG146 [84] (byte*) mode_twoplanebitmap::gfxa#2 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG282 [160] (byte*) mode_twoplanebitmap::gfxa#2 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ) -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG147 [85] phi from mode_twoplanebitmap::@17 mode_twoplanebitmap::@6 to mode_twoplanebitmap::@7 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7] + //SEG283 [161] phi from mode_twoplanebitmap::@17 mode_twoplanebitmap::@6 to mode_twoplanebitmap::@7 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7] b7_from_b17: b7_from_b6: - //SEG148 [85] phi (byte*) mode_twoplanebitmap::gfxa#7 = (byte*) mode_twoplanebitmap::gfxa#2 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7#0] -- register_copy + //SEG284 [161] phi (byte*) mode_twoplanebitmap::gfxa#7 = (byte*) mode_twoplanebitmap::gfxa#2 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7#0] -- register_copy jmp b7 - //SEG149 mode_twoplanebitmap::@7 + //SEG285 mode_twoplanebitmap::@7 b7: - //SEG150 [86] (byte) mode_twoplanebitmap::ax#1 ← ++ (byte) mode_twoplanebitmap::ax#2 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG286 [162] (byte) mode_twoplanebitmap::ax#1 ← ++ (byte) mode_twoplanebitmap::ax#2 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuz1=_inc_vbuz1 inc ax - //SEG151 [87] if((byte) mode_twoplanebitmap::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@5 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG287 [163] if((byte) mode_twoplanebitmap::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@5 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda ax cmp #$28 bne b5_from_b7 jmp b19 - //SEG152 mode_twoplanebitmap::@19 + //SEG288 mode_twoplanebitmap::@19 b19: - //SEG153 [88] (byte) mode_twoplanebitmap::ay#1 ← ++ (byte) mode_twoplanebitmap::ay#4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1=_inc_vbuz1 + //SEG289 [164] (byte) mode_twoplanebitmap::ay#1 ← ++ (byte) mode_twoplanebitmap::ay#4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1=_inc_vbuz1 inc ay - //SEG154 [89] if((byte) mode_twoplanebitmap::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG290 [165] if((byte) mode_twoplanebitmap::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1_neq_vbuc1_then_la1 lda ay cmp #$c8 bne b4_from_b19 - //SEG155 [90] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8] + //SEG291 [166] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8] b8_from_b19: - //SEG156 [90] phi (byte) mode_twoplanebitmap::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#0] -- vbuz1=vbuc1 + //SEG292 [166] phi (byte) mode_twoplanebitmap::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#0] -- vbuz1=vbuc1 lda #0 sta by - //SEG157 [90] phi (byte*) mode_twoplanebitmap::gfxb#3 = (const byte*) TWOPLANE_PLANEB#0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#1] -- pbuz1=pbuc1 + //SEG293 [166] phi (byte*) mode_twoplanebitmap::gfxb#3 = (const byte*) TWOPLANE_PLANEB#0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#1] -- pbuz1=pbuc1 lda #TWOPLANE_PLANEB sta gfxb+1 jmp b8 - //SEG158 [90] phi from mode_twoplanebitmap::@21 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8] + //SEG294 [166] phi from mode_twoplanebitmap::@21 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8] b8_from_b21: - //SEG159 [90] phi (byte) mode_twoplanebitmap::by#4 = (byte) mode_twoplanebitmap::by#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#0] -- register_copy - //SEG160 [90] phi (byte*) mode_twoplanebitmap::gfxb#3 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#1] -- register_copy + //SEG295 [166] phi (byte) mode_twoplanebitmap::by#4 = (byte) mode_twoplanebitmap::by#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#0] -- register_copy + //SEG296 [166] phi (byte*) mode_twoplanebitmap::gfxb#3 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#1] -- register_copy jmp b8 - //SEG161 mode_twoplanebitmap::@8 + //SEG297 mode_twoplanebitmap::@8 b8: - //SEG162 [91] phi from mode_twoplanebitmap::@8 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9] + //SEG298 [167] phi from mode_twoplanebitmap::@8 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9] b9_from_b8: - //SEG163 [91] phi (byte) mode_twoplanebitmap::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#0] -- vbuz1=vbuc1 + //SEG299 [167] phi (byte) mode_twoplanebitmap::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#0] -- vbuz1=vbuc1 lda #0 sta bx - //SEG164 [91] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#3 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#1] -- register_copy + //SEG300 [167] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#3 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#1] -- register_copy jmp b9 - //SEG165 [91] phi from mode_twoplanebitmap::@9 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9] + //SEG301 [167] phi from mode_twoplanebitmap::@9 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9] b9_from_b9: - //SEG166 [91] phi (byte) mode_twoplanebitmap::bx#2 = (byte) mode_twoplanebitmap::bx#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#0] -- register_copy - //SEG167 [91] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#1] -- register_copy + //SEG302 [167] phi (byte) mode_twoplanebitmap::bx#2 = (byte) mode_twoplanebitmap::bx#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#0] -- register_copy + //SEG303 [167] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#1] -- register_copy jmp b9 - //SEG168 mode_twoplanebitmap::@9 + //SEG304 mode_twoplanebitmap::@9 b9: - //SEG169 [92] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG305 [168] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y - //SEG170 [93] (byte*) mode_twoplanebitmap::gfxb#1 ← ++ (byte*) mode_twoplanebitmap::gfxb#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG306 [169] (byte*) mode_twoplanebitmap::gfxb#1 ← ++ (byte*) mode_twoplanebitmap::gfxb#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ) -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG171 [94] (byte) mode_twoplanebitmap::bx#1 ← ++ (byte) mode_twoplanebitmap::bx#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG307 [170] (byte) mode_twoplanebitmap::bx#1 ← ++ (byte) mode_twoplanebitmap::bx#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuz1=_inc_vbuz1 inc bx - //SEG172 [95] if((byte) mode_twoplanebitmap::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@9 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG308 [171] if((byte) mode_twoplanebitmap::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@9 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda bx cmp #$28 bne b9_from_b9 jmp b21 - //SEG173 mode_twoplanebitmap::@21 + //SEG309 mode_twoplanebitmap::@21 b21: - //SEG174 [96] (byte) mode_twoplanebitmap::by#1 ← ++ (byte) mode_twoplanebitmap::by#4 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG310 [172] (byte) mode_twoplanebitmap::by#1 ← ++ (byte) mode_twoplanebitmap::by#4 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1=_inc_vbuz1 inc by - //SEG175 [97] if((byte) mode_twoplanebitmap::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@8 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG311 [173] if((byte) mode_twoplanebitmap::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@8 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda by cmp #$c8 bne b8_from_b21 jmp b10 - //SEG176 mode_twoplanebitmap::@10 + //SEG312 mode_twoplanebitmap::@10 b10: - //SEG177 [98] if(true) goto mode_twoplanebitmap::@11 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- true_then_la1 + //SEG313 [174] if(true) goto mode_twoplanebitmap::@11 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- true_then_la1 jmp b11_from_b10 jmp breturn - //SEG178 mode_twoplanebitmap::@return + //SEG314 mode_twoplanebitmap::@return breturn: - //SEG179 [99] return [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + //SEG315 [175] return [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) rts - //SEG180 [100] phi from mode_twoplanebitmap::@10 to mode_twoplanebitmap::@11 [phi:mode_twoplanebitmap::@10->mode_twoplanebitmap::@11] + //SEG316 [176] phi from mode_twoplanebitmap::@10 to mode_twoplanebitmap::@11 [phi:mode_twoplanebitmap::@10->mode_twoplanebitmap::@11] b11_from_b10: jmp b11 - //SEG181 mode_twoplanebitmap::@11 + //SEG317 mode_twoplanebitmap::@11 b11: - //SEG182 [101] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#0 ] ) - //SEG183 [107] phi from mode_twoplanebitmap::@11 to keyboard_key_pressed [phi:mode_twoplanebitmap::@11->keyboard_key_pressed] + //SEG318 [177] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#0 ] ) + //SEG319 [107] phi from mode_twoplanebitmap::@11 to keyboard_key_pressed [phi:mode_twoplanebitmap::@11->keyboard_key_pressed] keyboard_key_pressed_from_b11: - //SEG184 [107] phi (byte) keyboard_key_pressed::key#2 = (const byte) KEY_SPACE#0 [phi:mode_twoplanebitmap::@11->keyboard_key_pressed#0] -- vbuz1=vbuc1 + //SEG320 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_SPACE#0 [phi:mode_twoplanebitmap::@11->keyboard_key_pressed#0] -- vbuz1=vbuc1 lda #KEY_SPACE sta keyboard_key_pressed.key jsr keyboard_key_pressed - //SEG185 [102] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#3 ] ) -- vbuz1=vbuz2 + //SEG321 [178] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#4 ] ) -- vbuz1=vbuz2 lda keyboard_key_pressed.return - sta keyboard_key_pressed.return_3 + sta keyboard_key_pressed.return_4 jmp b28 - //SEG186 mode_twoplanebitmap::@28 + //SEG322 mode_twoplanebitmap::@28 b28: - //SEG187 [103] (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#3 [ mode_twoplanebitmap::$27 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::$27 ] ) -- vbuz1=vbuz2 - lda keyboard_key_pressed.return_3 + //SEG323 [179] (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#4 [ mode_twoplanebitmap::$27 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::$27 ] ) -- vbuz1=vbuz2 + lda keyboard_key_pressed.return_4 sta _27 - //SEG188 [104] if((byte~) mode_twoplanebitmap::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@10 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- vbuz1_eq_0_then_la1 + //SEG324 [180] if((byte~) mode_twoplanebitmap::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@10 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- vbuz1_eq_0_then_la1 lda _27 beq b10 jmp breturn - //SEG189 mode_twoplanebitmap::@6 + //SEG325 mode_twoplanebitmap::@6 b6: - //SEG190 [105] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG326 [181] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y - //SEG191 [106] (byte*) mode_twoplanebitmap::gfxa#1 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG327 [182] (byte*) mode_twoplanebitmap::gfxa#1 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ) -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: jmp b7_from_b6 } -//SEG192 keyboard_key_pressed -keyboard_key_pressed: { - .label _2 = $28 - .label colidx = $24 - .label rowidx = $25 - .label return = $29 - .label return_2 = $1b - .label return_3 = $22 - .label key = $12 - //SEG193 [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ) -- vbuz1=vbuz2_band_vbuc1 - lda #7 - and key - sta colidx - //SEG194 [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#2 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuz1=vbuz2_ror_3 - lda key - lsr - lsr - lsr - sta rowidx - //SEG195 [110] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) -- vbuz1=vbuz2 - lda rowidx - sta keyboard_matrix_read.rowid - //SEG196 [111] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) - jsr keyboard_matrix_read - //SEG197 [112] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) -- vbuz1=vbuz2 - lda keyboard_matrix_read.return - sta keyboard_matrix_read.return_2 - jmp b2 - //SEG198 keyboard_key_pressed::@2 - b2: - //SEG199 [113] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) -- vbuz1=vbuz2 - lda keyboard_matrix_read.return_2 - sta _2 - //SEG200 [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 - lda _2 - ldy colidx - and keyboard_matrix_col_bitmask,y - sta return - jmp breturn - //SEG201 keyboard_key_pressed::@return - breturn: - //SEG202 [115] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) - rts -} -//SEG203 keyboard_matrix_read -keyboard_matrix_read: { - .label return = $2a - .label rowid = $26 - .label return_2 = $27 - //SEG204 [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuz1 - ldy rowid - lda keyboard_matrix_row_bitmask,y - sta CIA1_PORT_A - //SEG205 [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuz1=_bnot__deref_pbuc1 - lda CIA1_PORT_B - eor #$ff - sta return - jmp breturn - //SEG206 keyboard_matrix_read::@return - breturn: - //SEG207 [118] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) - rts -} -//SEG208 print_str_lines +//SEG328 print_str_lines print_str_lines: { - .label ch = $2b - .label str = $13 - //SEG209 [120] phi from print_str_lines to print_str_lines::@1 [phi:print_str_lines->print_str_lines::@1] + .label ch = $40 + .label str = $20 + //SEG329 [184] phi from print_str_lines to print_str_lines::@1 [phi:print_str_lines->print_str_lines::@1] b1_from_print_str_lines: - //SEG210 [120] phi (byte*) print_line_cursor#17 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#0] -- pbuz1=pbuc1 + //SEG330 [184] phi (byte*) print_line_cursor#17 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#0] -- pbuz1=pbuc1 lda #MENU_SCREEN sta print_line_cursor+1 - //SEG211 [120] phi (byte*) print_char_cursor#19 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#1] -- pbuz1=pbuc1 + //SEG331 [184] phi (byte*) print_char_cursor#19 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#1] -- pbuz1=pbuc1 lda #MENU_SCREEN sta print_char_cursor+1 - //SEG212 [120] phi (byte*) print_str_lines::str#2 = (const string) MENU_TEXT#0 [phi:print_str_lines->print_str_lines::@1#2] -- pbuz1=pbuc1 + //SEG332 [184] phi (byte*) print_str_lines::str#2 = (const string) MENU_TEXT#0 [phi:print_str_lines->print_str_lines::@1#2] -- pbuz1=pbuc1 lda #MENU_TEXT sta str+1 jmp b1 - //SEG213 print_str_lines::@1 + //SEG333 print_str_lines::@1 b1: - //SEG214 [121] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG334 [185] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4_from_b1 jmp breturn - //SEG215 print_str_lines::@return + //SEG335 print_str_lines::@return breturn: - //SEG216 [122] return [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) + //SEG336 [186] return [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) rts - //SEG217 [123] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG337 [187] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] b4_from_b1: b4_from_b5: - //SEG218 [123] phi (byte*) print_char_cursor#17 = (byte*) print_char_cursor#19 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG219 [123] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#2 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy + //SEG338 [187] phi (byte*) print_char_cursor#17 = (byte*) print_char_cursor#19 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy + //SEG339 [187] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#2 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy jmp b4 - //SEG220 print_str_lines::@4 + //SEG340 print_str_lines::@4 b4: - //SEG221 [124] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuz1=_deref_pbuz2 + //SEG341 [188] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuz1=_deref_pbuz2 ldy #0 lda (str),y sta ch - //SEG222 [125] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 + //SEG342 [189] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG223 [126] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuz1_eq_vbuc1_then_la1 + //SEG343 [190] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuz1_eq_vbuc1_then_la1 lda ch cmp #'@' beq b5_from_b4 jmp b8 - //SEG224 print_str_lines::@8 + //SEG344 print_str_lines::@8 b8: - //SEG225 [127] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuz2 + //SEG345 [191] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuz2 lda ch ldy #0 sta (print_char_cursor),y - //SEG226 [128] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG346 [192] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG227 [129] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG347 [193] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] b5_from_b4: b5_from_b8: - //SEG228 [129] phi (byte*) print_char_cursor#32 = (byte*) print_char_cursor#17 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG348 [193] phi (byte*) print_char_cursor#32 = (byte*) print_char_cursor#17 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy jmp b5 - //SEG229 print_str_lines::@5 + //SEG349 print_str_lines::@5 b5: - //SEG230 [130] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG350 [194] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) -- vbuz1_neq_vbuc1_then_la1 lda ch cmp #'@' bne b4_from_b5 - //SEG231 [131] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG351 [195] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] b9_from_b5: jmp b9 - //SEG232 print_str_lines::@9 + //SEG352 print_str_lines::@9 b9: - //SEG233 [132] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_line_cursor#19 ] ) - //SEG234 [134] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG353 [196] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_line_cursor#19 ] ) + //SEG354 [198] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] print_ln_from_b9: jsr print_ln - //SEG235 [133] (byte*~) print_char_cursor#56 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ) -- pbuz1=pbuz2 + //SEG355 [197] (byte*~) print_char_cursor#61 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG236 [120] phi from print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines::@9->print_str_lines::@1] + //SEG356 [184] phi from print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines::@9->print_str_lines::@1] b1_from_b9: - //SEG237 [120] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#19 [phi:print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG238 [120] phi (byte*) print_char_cursor#19 = (byte*~) print_char_cursor#56 [phi:print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG239 [120] phi (byte*) print_str_lines::str#2 = (byte*) print_str_lines::str#0 [phi:print_str_lines::@9->print_str_lines::@1#2] -- register_copy + //SEG357 [184] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#19 [phi:print_str_lines::@9->print_str_lines::@1#0] -- register_copy + //SEG358 [184] phi (byte*) print_char_cursor#19 = (byte*~) print_char_cursor#61 [phi:print_str_lines::@9->print_str_lines::@1#1] -- register_copy + //SEG359 [184] phi (byte*) print_str_lines::str#2 = (byte*) print_str_lines::str#0 [phi:print_str_lines::@9->print_str_lines::@1#2] -- register_copy jmp b1 } -//SEG240 print_ln +//SEG360 print_ln print_ln: { - //SEG241 [135] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG361 [199] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] b1_from_print_ln: b1_from_b1: - //SEG242 [135] phi (byte*) print_line_cursor#18 = (byte*) print_line_cursor#17 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG362 [199] phi (byte*) print_line_cursor#18 = (byte*) print_line_cursor#17 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG243 print_ln::@1 + //SEG363 print_ln::@1 b1: - //SEG244 [136] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG364 [200] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -5950,7 +7498,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG245 [137] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG365 [201] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1_from_b1 @@ -5960,38 +7508,38 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG246 print_ln::@return + //SEG366 print_ln::@return breturn: - //SEG247 [138] return [ print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 ] ) + //SEG367 [202] return [ print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 ] ) rts } -//SEG248 print_cls +//SEG368 print_cls print_cls: { - .label sc = $19 - //SEG249 [140] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + .label sc = $26 + //SEG369 [204] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] b1_from_print_cls: - //SEG250 [140] phi (byte*) print_cls::sc#2 = (const byte*) MENU_SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG370 [204] phi (byte*) print_cls::sc#2 = (const byte*) MENU_SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #MENU_SCREEN sta sc+1 jmp b1 - //SEG251 [140] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG371 [204] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] b1_from_b1: - //SEG252 [140] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG372 [204] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG253 print_cls::@1 + //SEG373 print_cls::@1 b1: - //SEG254 [141] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG374 [205] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG255 [142] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG375 [206] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG256 [143] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG376 [207] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>MENU_SCREEN+$3e8 bne b1_from_b1 @@ -5999,23 +7547,23 @@ print_cls: { cmp #(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [48] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [49] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [50] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [51] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [52] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [53] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [54] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [55] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [56] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [57] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [58] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [59] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [64] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [65] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [66] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [69] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:6 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:7 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] -Statement [71] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:30 [ mode_twoplanebitmap::$15 ] -Statement [73] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) always clobbers reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:6 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:7 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] -Statement [81] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:10 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:13 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] -Statement [83] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:10 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:13 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] -Statement [92] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:14 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:14 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:17 [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:17 [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] -Statement [105] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) always clobbers reg byte a reg byte y -Statement [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:18 [ keyboard_key_pressed::key#2 ] -Statement [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#2 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:36 [ keyboard_key_pressed::colidx#0 ] -Statement [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) always clobbers reg byte a -Statement [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a -Statement [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a -Statement [121] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) always clobbers reg byte a reg byte y -Statement [124] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y -Statement [127] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:43 [ print_str_lines::ch#0 ] -Statement [133] (byte*~) print_char_cursor#56 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ) always clobbers reg byte a -Statement [136] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a -Statement [137] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a -Statement [141] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [143] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) always clobbers reg byte a +Statement [50] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [51] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [52] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_MCM#0|(const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [53] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [54] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [55] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [56] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [57] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [58] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [59] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [60] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [61] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [62] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [63] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [64] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [65] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [66] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [71] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [75] (byte~) mode_sixsfred::$16 ← (byte~) mode_sixsfred::$15 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:7 [ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ] +Statement [76] *((byte*) mode_sixsfred::col#2) ← (byte~) mode_sixsfred::$16 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:7 [ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ] +Statement [85] (byte) mode_sixsfred::row#0 ← (byte~) mode_sixsfred::$19 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:10 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:13 [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] +Statement [86] *((byte*) mode_sixsfred::gfxa#2) ← *((const byte[]) mode_sixsfred::row_bitmask#0 + (byte) mode_sixsfred::row#0) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:10 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:13 [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] +Statement [94] *((byte*) mode_sixsfred::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 27 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:14 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:14 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:17 [ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:17 [ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ] +Statement [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:18 [ keyboard_key_pressed::key#4 ] +Statement [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:50 [ keyboard_key_pressed::colidx#0 ] +Statement [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) always clobbers reg byte a +Statement [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a +Statement [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a +Statement [119] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [120] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [121] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [122] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [123] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [124] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [125] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [126] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [127] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [128] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [129] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [130] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [131] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [132] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [133] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [134] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [135] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [140] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [141] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [142] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [145] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:20 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:21 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] +Statement [147] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:58 [ mode_twoplanebitmap::$15 ] +Statement [149] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:20 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:21 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] +Statement [157] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:24 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:27 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] +Statement [159] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:24 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:27 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] +Statement [168] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:28 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:28 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:31 [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:31 [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] +Statement [181] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [185] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) always clobbers reg byte a reg byte y +Statement [188] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y +Statement [191] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:64 [ print_str_lines::ch#0 ] +Statement [197] (byte*~) print_char_cursor#61 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ) always clobbers reg byte a +Statement [200] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a +Statement [201] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a +Statement [205] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [207] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) always clobbers reg byte a Statement [5] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) always clobbers reg byte a Statement [10] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) MENU_CHARSET#0/(dword/signed dword) 65536 [ ] ( main:2::menu:9 [ ] ) always clobbers reg byte a Statement [11] *((const byte*) DTV_COLOR_BANK_LO#0) ← <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9 [ ] ) always clobbers reg byte a @@ -6105,127 +7688,195 @@ Statement [24] *((byte*) menu::c#2) ← (const byte) LIGHT_GREEN#0 [ menu::c#2 ] Statement [26] if((byte*) menu::c#1!=(const byte*) COLS#0+(word/signed word/dword/signed dword) 1000) goto menu::@2 [ menu::c#1 ] ( main:2::menu:9 [ menu::c#1 ] ) always clobbers reg byte a Statement [27] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9 [ ] ) always clobbers reg byte a Statement [28] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9 [ ] ) always clobbers reg byte a -Statement [43] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [44] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [45] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [46] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [47] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [48] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [49] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [50] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [51] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [52] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [53] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [54] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [55] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [56] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [57] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [58] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [59] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [64] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [65] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [66] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a -Statement [69] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) always clobbers reg byte a -Statement [71] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) always clobbers reg byte a -Statement [73] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) always clobbers reg byte y -Statement [81] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) always clobbers reg byte a -Statement [83] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) always clobbers reg byte a reg byte y -Statement [92] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) always clobbers reg byte a reg byte y -Statement [105] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) always clobbers reg byte a reg byte y -Statement [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a -Statement [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#2 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) always clobbers reg byte a -Statement [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) always clobbers reg byte a -Statement [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a -Statement [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a -Statement [121] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) always clobbers reg byte a reg byte y -Statement [124] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y -Statement [127] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte y -Statement [133] (byte*~) print_char_cursor#56 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ) always clobbers reg byte a -Statement [136] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a -Statement [137] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a -Statement [141] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [143] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) always clobbers reg byte a +Statement [50] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [51] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [52] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_MCM#0|(const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [53] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [54] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [55] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [56] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [57] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [58] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [59] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [60] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [61] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [62] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [63] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [64] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [65] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [66] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [71] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) always clobbers reg byte a +Statement [74] (byte~) mode_sixsfred::$15 ← (byte) mode_sixsfred::cx#2 + (byte) mode_sixsfred::cy#4 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ) always clobbers reg byte a +Statement [75] (byte~) mode_sixsfred::$16 ← (byte~) mode_sixsfred::$15 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ) always clobbers reg byte a +Statement [76] *((byte*) mode_sixsfred::col#2) ← (byte~) mode_sixsfred::$16 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ) always clobbers reg byte y +Statement [84] (byte~) mode_sixsfred::$19 ← (byte) mode_sixsfred::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ) always clobbers reg byte a +Statement [85] (byte) mode_sixsfred::row#0 ← (byte~) mode_sixsfred::$19 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ) always clobbers reg byte a +Statement [86] *((byte*) mode_sixsfred::gfxa#2) ← *((const byte[]) mode_sixsfred::row_bitmask#0 + (byte) mode_sixsfred::row#0) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [94] *((byte*) mode_sixsfred::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 27 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ) always clobbers reg byte a reg byte y +Statement [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a +Statement [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) always clobbers reg byte a +Statement [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) always clobbers reg byte a +Statement [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a +Statement [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a +Statement [119] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [120] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [121] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [122] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [123] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [124] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [125] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [126] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [127] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [128] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [129] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [130] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [131] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [132] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [133] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [134] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [135] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [140] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [141] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [142] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) always clobbers reg byte a +Statement [145] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) always clobbers reg byte a +Statement [147] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) always clobbers reg byte a +Statement [149] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) always clobbers reg byte y +Statement [157] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) always clobbers reg byte a +Statement [159] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [168] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) always clobbers reg byte a reg byte y +Statement [181] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) always clobbers reg byte a reg byte y +Statement [185] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) always clobbers reg byte a reg byte y +Statement [188] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y +Statement [191] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte y +Statement [197] (byte*~) print_char_cursor#61 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ) always clobbers reg byte a +Statement [200] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a +Statement [201] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a +Statement [205] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [207] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ menu::i#2 menu::i#1 ] : zp ZP_BYTE:2 , reg byte x , reg byte y , Potential registers zp ZP_WORD:3 [ menu::c#2 menu::c#1 ] : zp ZP_WORD:3 , -Potential registers zp ZP_BYTE:5 [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] : zp ZP_BYTE:5 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:6 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] : zp ZP_BYTE:6 , reg byte x , -Potential registers zp ZP_BYTE:7 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] : zp ZP_BYTE:7 , reg byte x , -Potential registers zp ZP_WORD:8 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] : zp ZP_WORD:8 , -Potential registers zp ZP_BYTE:10 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] : zp ZP_BYTE:10 , reg byte x , -Potential registers zp ZP_WORD:11 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] : zp ZP_WORD:11 , -Potential registers zp ZP_BYTE:13 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] : zp ZP_BYTE:13 , reg byte x , -Potential registers zp ZP_BYTE:14 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] : zp ZP_BYTE:14 , reg byte x , -Potential registers zp ZP_WORD:15 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] : zp ZP_WORD:15 , -Potential registers zp ZP_BYTE:17 [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] : zp ZP_BYTE:17 , reg byte x , -Potential registers zp ZP_BYTE:18 [ keyboard_key_pressed::key#2 ] : zp ZP_BYTE:18 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:19 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] : zp ZP_WORD:19 , -Potential registers zp ZP_WORD:21 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#56 print_char_cursor#32 print_char_cursor#1 ] : zp ZP_WORD:21 , -Potential registers zp ZP_WORD:23 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] : zp ZP_WORD:23 , -Potential registers zp ZP_WORD:25 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:25 , -Potential registers zp ZP_BYTE:27 [ keyboard_key_pressed::return#2 ] : zp ZP_BYTE:27 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:28 [ menu::$26 ] : zp ZP_BYTE:28 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:29 [ mode_twoplanebitmap::$14 ] : zp ZP_BYTE:29 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:30 [ mode_twoplanebitmap::$15 ] : zp ZP_BYTE:30 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:31 [ mode_twoplanebitmap::$16 ] : zp ZP_BYTE:31 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:32 [ mode_twoplanebitmap::$17 ] : zp ZP_BYTE:32 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:33 [ mode_twoplanebitmap::$20 ] : zp ZP_BYTE:33 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:34 [ keyboard_key_pressed::return#3 ] : zp ZP_BYTE:34 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:35 [ mode_twoplanebitmap::$27 ] : zp ZP_BYTE:35 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:36 [ keyboard_key_pressed::colidx#0 ] : zp ZP_BYTE:36 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:37 [ keyboard_key_pressed::rowidx#0 ] : zp ZP_BYTE:37 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:38 [ keyboard_matrix_read::rowid#0 ] : zp ZP_BYTE:38 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:39 [ keyboard_matrix_read::return#2 ] : zp ZP_BYTE:39 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:40 [ keyboard_key_pressed::$2 ] : zp ZP_BYTE:40 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:41 [ keyboard_key_pressed::return#0 ] : zp ZP_BYTE:41 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:42 [ keyboard_matrix_read::return#0 ] : zp ZP_BYTE:42 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:43 [ print_str_lines::ch#0 ] : zp ZP_BYTE:43 , reg byte a , reg byte x , +Potential registers zp ZP_BYTE:5 [ mode_sixsfred::i#2 mode_sixsfred::i#1 ] : zp ZP_BYTE:5 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] : zp ZP_BYTE:6 , reg byte x , +Potential registers zp ZP_BYTE:7 [ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ] : zp ZP_BYTE:7 , reg byte x , +Potential registers zp ZP_WORD:8 [ mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 ] : zp ZP_WORD:8 , +Potential registers zp ZP_BYTE:10 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] : zp ZP_BYTE:10 , reg byte x , +Potential registers zp ZP_WORD:11 [ mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 ] : zp ZP_WORD:11 , +Potential registers zp ZP_BYTE:13 [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] : zp ZP_BYTE:13 , reg byte x , +Potential registers zp ZP_BYTE:14 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] : zp ZP_BYTE:14 , reg byte x , +Potential registers zp ZP_WORD:15 [ mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 ] : zp ZP_WORD:15 , +Potential registers zp ZP_BYTE:17 [ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ] : zp ZP_BYTE:17 , reg byte x , +Potential registers zp ZP_BYTE:18 [ keyboard_key_pressed::key#4 ] : zp ZP_BYTE:18 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:19 [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] : zp ZP_BYTE:19 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:20 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] : zp ZP_BYTE:20 , reg byte x , +Potential registers zp ZP_BYTE:21 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] : zp ZP_BYTE:21 , reg byte x , +Potential registers zp ZP_WORD:22 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] : zp ZP_WORD:22 , +Potential registers zp ZP_BYTE:24 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] : zp ZP_BYTE:24 , reg byte x , +Potential registers zp ZP_WORD:25 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] : zp ZP_WORD:25 , +Potential registers zp ZP_BYTE:27 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] : zp ZP_BYTE:27 , reg byte x , +Potential registers zp ZP_BYTE:28 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] : zp ZP_BYTE:28 , reg byte x , +Potential registers zp ZP_WORD:29 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] : zp ZP_WORD:29 , +Potential registers zp ZP_BYTE:31 [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] : zp ZP_BYTE:31 , reg byte x , +Potential registers zp ZP_WORD:32 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] : zp ZP_WORD:32 , +Potential registers zp ZP_WORD:34 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#61 print_char_cursor#32 print_char_cursor#1 ] : zp ZP_WORD:34 , +Potential registers zp ZP_WORD:36 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] : zp ZP_WORD:36 , +Potential registers zp ZP_WORD:38 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:38 , +Potential registers zp ZP_BYTE:40 [ keyboard_key_pressed::return#2 ] : zp ZP_BYTE:40 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:41 [ menu::$26 ] : zp ZP_BYTE:41 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:42 [ keyboard_key_pressed::return#3 ] : zp ZP_BYTE:42 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:43 [ menu::$30 ] : zp ZP_BYTE:43 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:44 [ mode_sixsfred::$15 ] : zp ZP_BYTE:44 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:45 [ mode_sixsfred::$16 ] : zp ZP_BYTE:45 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:46 [ mode_sixsfred::$19 ] : zp ZP_BYTE:46 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:47 [ mode_sixsfred::row#0 ] : zp ZP_BYTE:47 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:48 [ keyboard_key_pressed::return#10 ] : zp ZP_BYTE:48 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:49 [ mode_sixsfred::$25 ] : zp ZP_BYTE:49 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:50 [ keyboard_key_pressed::colidx#0 ] : zp ZP_BYTE:50 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:51 [ keyboard_key_pressed::rowidx#0 ] : zp ZP_BYTE:51 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:52 [ keyboard_matrix_read::rowid#0 ] : zp ZP_BYTE:52 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:53 [ keyboard_matrix_read::return#2 ] : zp ZP_BYTE:53 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:54 [ keyboard_key_pressed::$2 ] : zp ZP_BYTE:54 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:55 [ keyboard_key_pressed::return#0 ] : zp ZP_BYTE:55 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:56 [ keyboard_matrix_read::return#0 ] : zp ZP_BYTE:56 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:57 [ mode_twoplanebitmap::$14 ] : zp ZP_BYTE:57 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:58 [ mode_twoplanebitmap::$15 ] : zp ZP_BYTE:58 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:59 [ mode_twoplanebitmap::$16 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:60 [ mode_twoplanebitmap::$17 ] : zp ZP_BYTE:60 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:61 [ mode_twoplanebitmap::$20 ] : zp ZP_BYTE:61 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:62 [ keyboard_key_pressed::return#4 ] : zp ZP_BYTE:62 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:63 [ mode_twoplanebitmap::$27 ] : zp ZP_BYTE:63 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:64 [ print_str_lines::ch#0 ] : zp ZP_BYTE:64 , reg byte a , reg byte x , REGISTER UPLIFT SCOPES -Uplift Scope [mode_twoplanebitmap] 5,848: zp ZP_WORD:11 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] 2,174.6: zp ZP_WORD:15 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] 2,168.83: zp ZP_BYTE:17 [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] 2,002: zp ZP_BYTE:29 [ mode_twoplanebitmap::$14 ] 2,002: zp ZP_BYTE:31 [ mode_twoplanebitmap::$16 ] 2,002: zp ZP_BYTE:32 [ mode_twoplanebitmap::$17 ] 2,002: zp ZP_BYTE:33 [ mode_twoplanebitmap::$20 ] 1,930.5: zp ZP_BYTE:7 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] 1,751.75: zp ZP_BYTE:13 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] 1,139.93: zp ZP_WORD:8 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] 1,001: zp ZP_BYTE:30 [ mode_twoplanebitmap::$15 ] 353.5: zp ZP_BYTE:5 [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] 271.8: zp ZP_BYTE:6 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] 260.86: zp ZP_BYTE:10 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] 202: zp ZP_BYTE:35 [ mode_twoplanebitmap::$27 ] 185.17: zp ZP_BYTE:14 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] -Uplift Scope [] 3,698: zp ZP_WORD:21 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#56 print_char_cursor#32 print_char_cursor#1 ] 2,653.58: zp ZP_WORD:23 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] -Uplift Scope [print_str_lines] 1,937.17: zp ZP_WORD:19 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] 667.33: zp ZP_BYTE:43 [ print_str_lines::ch#0 ] -Uplift Scope [menu] 353.5: zp ZP_BYTE:2 [ menu::i#2 menu::i#1 ] 303: zp ZP_WORD:3 [ menu::c#2 menu::c#1 ] 202: zp ZP_BYTE:28 [ menu::$26 ] -Uplift Scope [keyboard_key_pressed] 202: zp ZP_BYTE:27 [ keyboard_key_pressed::return#2 ] 202: zp ZP_BYTE:34 [ keyboard_key_pressed::return#3 ] 51: zp ZP_BYTE:41 [ keyboard_key_pressed::return#0 ] 4: zp ZP_BYTE:37 [ keyboard_key_pressed::rowidx#0 ] 4: zp ZP_BYTE:40 [ keyboard_key_pressed::$2 ] 2: zp ZP_BYTE:18 [ keyboard_key_pressed::key#2 ] 0.67: zp ZP_BYTE:36 [ keyboard_key_pressed::colidx#0 ] -Uplift Scope [print_cls] 303: zp ZP_WORD:25 [ print_cls::sc#2 print_cls::sc#1 ] -Uplift Scope [keyboard_matrix_read] 4: zp ZP_BYTE:38 [ keyboard_matrix_read::rowid#0 ] 4: zp ZP_BYTE:39 [ keyboard_matrix_read::return#2 ] 1.33: zp ZP_BYTE:42 [ keyboard_matrix_read::return#0 ] +Uplift Scope [mode_twoplanebitmap] 5,848: zp ZP_WORD:25 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] 2,174.6: zp ZP_WORD:29 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] 2,168.83: zp ZP_BYTE:31 [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] 2,002: zp ZP_BYTE:57 [ mode_twoplanebitmap::$14 ] 2,002: zp ZP_BYTE:59 [ mode_twoplanebitmap::$16 ] 2,002: zp ZP_BYTE:60 [ mode_twoplanebitmap::$17 ] 2,002: zp ZP_BYTE:61 [ mode_twoplanebitmap::$20 ] 1,930.5: zp ZP_BYTE:21 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] 1,751.75: zp ZP_BYTE:27 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] 1,139.93: zp ZP_WORD:22 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] 1,001: zp ZP_BYTE:58 [ mode_twoplanebitmap::$15 ] 353.5: zp ZP_BYTE:19 [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] 271.8: zp ZP_BYTE:20 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] 260.86: zp ZP_BYTE:24 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] 202: zp ZP_BYTE:63 [ mode_twoplanebitmap::$27 ] 185.17: zp ZP_BYTE:28 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] +Uplift Scope [mode_sixsfred] 2,174.6: zp ZP_WORD:15 [ mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 ] 2,168.83: zp ZP_BYTE:17 [ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ] 2,102.1: zp ZP_BYTE:7 [ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ] 2,002: zp ZP_BYTE:44 [ mode_sixsfred::$15 ] 2,002: zp ZP_BYTE:45 [ mode_sixsfred::$16 ] 2,002: zp ZP_BYTE:46 [ mode_sixsfred::$19 ] 2,002: zp ZP_BYTE:47 [ mode_sixsfred::row#0 ] 1,901.9: zp ZP_BYTE:13 [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] 1,398.6: zp ZP_WORD:8 [ mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 ] 1,398.6: zp ZP_WORD:11 [ mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 ] 353.5: zp ZP_BYTE:5 [ mode_sixsfred::i#2 mode_sixsfred::i#1 ] 301.88: zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] 301.88: zp ZP_BYTE:10 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] 202: zp ZP_BYTE:49 [ mode_sixsfred::$25 ] 185.17: zp ZP_BYTE:14 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] +Uplift Scope [] 3,698: zp ZP_WORD:34 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#61 print_char_cursor#32 print_char_cursor#1 ] 2,653.58: zp ZP_WORD:36 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] +Uplift Scope [print_str_lines] 1,937.17: zp ZP_WORD:32 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] 667.33: zp ZP_BYTE:64 [ print_str_lines::ch#0 ] +Uplift Scope [menu] 353.5: zp ZP_BYTE:2 [ menu::i#2 menu::i#1 ] 303: zp ZP_WORD:3 [ menu::c#2 menu::c#1 ] 202: zp ZP_BYTE:41 [ menu::$26 ] 202: zp ZP_BYTE:43 [ menu::$30 ] +Uplift Scope [keyboard_key_pressed] 202: zp ZP_BYTE:40 [ keyboard_key_pressed::return#2 ] 202: zp ZP_BYTE:42 [ keyboard_key_pressed::return#3 ] 202: zp ZP_BYTE:48 [ keyboard_key_pressed::return#10 ] 202: zp ZP_BYTE:62 [ keyboard_key_pressed::return#4 ] 67.67: zp ZP_BYTE:55 [ keyboard_key_pressed::return#0 ] 4: zp ZP_BYTE:51 [ keyboard_key_pressed::rowidx#0 ] 4: zp ZP_BYTE:54 [ keyboard_key_pressed::$2 ] 2: zp ZP_BYTE:18 [ keyboard_key_pressed::key#4 ] 0.67: zp ZP_BYTE:50 [ keyboard_key_pressed::colidx#0 ] +Uplift Scope [print_cls] 303: zp ZP_WORD:38 [ print_cls::sc#2 print_cls::sc#1 ] +Uplift Scope [keyboard_matrix_read] 4: zp ZP_BYTE:52 [ keyboard_matrix_read::rowid#0 ] 4: zp ZP_BYTE:53 [ keyboard_matrix_read::return#2 ] 1.33: zp ZP_BYTE:56 [ keyboard_matrix_read::return#0 ] Uplift Scope [print_ln] Uplift Scope [print_set_screen] Uplift Scope [main] Uplift attempts [mode_twoplanebitmap] 10000/786432 (limiting to 10000) -Uplifting [mode_twoplanebitmap] best 336826 combination zp ZP_WORD:11 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] zp ZP_WORD:15 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] reg byte x [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] reg byte a [ mode_twoplanebitmap::$14 ] reg byte a [ mode_twoplanebitmap::$16 ] reg byte a [ mode_twoplanebitmap::$17 ] reg byte a [ mode_twoplanebitmap::$20 ] reg byte x [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] reg byte x [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] zp ZP_WORD:8 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] zp ZP_BYTE:30 [ mode_twoplanebitmap::$15 ] reg byte a [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] zp ZP_BYTE:6 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] zp ZP_BYTE:10 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] zp ZP_BYTE:35 [ mode_twoplanebitmap::$27 ] zp ZP_BYTE:14 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] +Uplifting [mode_twoplanebitmap] best 545074 combination zp ZP_WORD:25 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] zp ZP_WORD:29 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] reg byte x [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] reg byte a [ mode_twoplanebitmap::$14 ] reg byte a [ mode_twoplanebitmap::$16 ] reg byte a [ mode_twoplanebitmap::$17 ] reg byte a [ mode_twoplanebitmap::$20 ] reg byte x [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] reg byte x [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] zp ZP_WORD:22 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] zp ZP_BYTE:58 [ mode_twoplanebitmap::$15 ] reg byte a [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] zp ZP_BYTE:20 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] zp ZP_BYTE:24 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] zp ZP_BYTE:63 [ mode_twoplanebitmap::$27 ] zp ZP_BYTE:28 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] Limited combination testing to 10000 combinations of 786432 possible. -Uplifting [] best 336826 combination zp ZP_WORD:21 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#56 print_char_cursor#32 print_char_cursor#1 ] zp ZP_WORD:23 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] -Uplifting [print_str_lines] best 324826 combination zp ZP_WORD:19 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] -Uplifting [menu] best 323226 combination reg byte x [ menu::i#2 menu::i#1 ] zp ZP_WORD:3 [ menu::c#2 menu::c#1 ] reg byte a [ menu::$26 ] -Uplifting [keyboard_key_pressed] best 321399 combination reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#3 ] reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_key_pressed::rowidx#0 ] reg byte a [ keyboard_key_pressed::$2 ] reg byte y [ keyboard_key_pressed::key#2 ] reg byte x [ keyboard_key_pressed::colidx#0 ] -Uplifting [print_cls] best 321399 combination zp ZP_WORD:25 [ print_cls::sc#2 print_cls::sc#1 ] -Uplifting [keyboard_matrix_read] best 321383 combination reg byte a [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ] -Uplifting [print_ln] best 321383 combination -Uplifting [print_set_screen] best 321383 combination -Uplifting [main] best 321383 combination -Attempting to uplift remaining variables inzp ZP_BYTE:30 [ mode_twoplanebitmap::$15 ] -Uplifting [mode_twoplanebitmap] best 321383 combination zp ZP_BYTE:30 [ mode_twoplanebitmap::$15 ] -Attempting to uplift remaining variables inzp ZP_BYTE:6 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] -Uplifting [mode_twoplanebitmap] best 321383 combination zp ZP_BYTE:6 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:10 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] -Uplifting [mode_twoplanebitmap] best 321383 combination zp ZP_BYTE:10 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:35 [ mode_twoplanebitmap::$27 ] -Uplifting [mode_twoplanebitmap] best 320983 combination reg byte a [ mode_twoplanebitmap::$27 ] -Attempting to uplift remaining variables inzp ZP_BYTE:14 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] -Uplifting [mode_twoplanebitmap] best 320983 combination zp ZP_BYTE:14 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] -Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 ] ] with [ zp ZP_WORD:8 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] ] -Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] ] with [ zp ZP_WORD:11 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] ] -Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] ] with [ zp ZP_WORD:15 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] ] -Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] ] with [ zp ZP_WORD:19 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] ] -Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] ] with [ zp ZP_WORD:25 [ print_cls::sc#2 print_cls::sc#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:6 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] ] with [ zp ZP_BYTE:10 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:6 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] ] with [ zp ZP_BYTE:14 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] ] -Allocated (was zp ZP_WORD:3) zp ZP_WORD:2 [ menu::c#2 menu::c#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#1 ] -Allocated (was zp ZP_BYTE:6) zp ZP_BYTE:4 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] -Allocated (was zp ZP_WORD:21) zp ZP_WORD:5 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#56 print_char_cursor#32 print_char_cursor#1 ] -Allocated (was zp ZP_WORD:23) zp ZP_WORD:7 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] -Allocated (was zp ZP_BYTE:30) zp ZP_BYTE:9 [ mode_twoplanebitmap::$15 ] +Uplift attempts [mode_sixsfred] 10000/262144 (limiting to 10000) +Uplifting [mode_sixsfred] best 493874 combination zp ZP_WORD:15 [ mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 ] reg byte x [ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ] reg byte x [ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ] reg byte a [ mode_sixsfred::$15 ] reg byte a [ mode_sixsfred::$16 ] reg byte a [ mode_sixsfred::$19 ] reg byte a [ mode_sixsfred::row#0 ] reg byte x [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] zp ZP_WORD:8 [ mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 ] zp ZP_WORD:11 [ mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 ] reg byte x [ mode_sixsfred::i#2 mode_sixsfred::i#1 ] zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] zp ZP_BYTE:10 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] zp ZP_BYTE:49 [ mode_sixsfred::$25 ] zp ZP_BYTE:14 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] +Limited combination testing to 10000 combinations of 262144 possible. +Uplifting [] best 493874 combination zp ZP_WORD:34 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#61 print_char_cursor#32 print_char_cursor#1 ] zp ZP_WORD:36 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] +Uplifting [print_str_lines] best 481874 combination zp ZP_WORD:32 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] +Uplifting [menu] best 479874 combination reg byte x [ menu::i#2 menu::i#1 ] zp ZP_WORD:3 [ menu::c#2 menu::c#1 ] reg byte a [ menu::$26 ] reg byte a [ menu::$30 ] +Uplift attempts [keyboard_key_pressed] 10000/147456 (limiting to 10000) +Uplifting [keyboard_key_pressed] best 476259 combination reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#3 ] reg byte a [ keyboard_key_pressed::return#10 ] reg byte a [ keyboard_key_pressed::return#4 ] reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_key_pressed::rowidx#0 ] reg byte a [ keyboard_key_pressed::$2 ] zp ZP_BYTE:18 [ keyboard_key_pressed::key#4 ] zp ZP_BYTE:50 [ keyboard_key_pressed::colidx#0 ] +Limited combination testing to 10000 combinations of 147456 possible. +Uplifting [print_cls] best 476259 combination zp ZP_WORD:38 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [keyboard_matrix_read] best 476243 combination reg byte a [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ] +Uplifting [print_ln] best 476243 combination +Uplifting [print_set_screen] best 476243 combination +Uplifting [main] best 476243 combination +Attempting to uplift remaining variables inzp ZP_BYTE:58 [ mode_twoplanebitmap::$15 ] +Uplifting [mode_twoplanebitmap] best 476243 combination zp ZP_BYTE:58 [ mode_twoplanebitmap::$15 ] +Attempting to uplift remaining variables inzp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] +Uplifting [mode_sixsfred] best 476243 combination zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:10 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] +Uplifting [mode_sixsfred] best 476243 combination zp ZP_BYTE:10 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:20 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] +Uplifting [mode_twoplanebitmap] best 476243 combination zp ZP_BYTE:20 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:24 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] +Uplifting [mode_twoplanebitmap] best 476243 combination zp ZP_BYTE:24 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:49 [ mode_sixsfred::$25 ] +Uplifting [mode_sixsfred] best 475843 combination reg byte a [ mode_sixsfred::$25 ] +Attempting to uplift remaining variables inzp ZP_BYTE:63 [ mode_twoplanebitmap::$27 ] +Uplifting [mode_twoplanebitmap] best 475443 combination reg byte a [ mode_twoplanebitmap::$27 ] +Attempting to uplift remaining variables inzp ZP_BYTE:14 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] +Uplifting [mode_sixsfred] best 475443 combination zp ZP_BYTE:14 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:28 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] +Uplifting [mode_twoplanebitmap] best 475443 combination zp ZP_BYTE:28 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:18 [ keyboard_key_pressed::key#4 ] +Uplifting [keyboard_key_pressed] best 475429 combination reg byte x [ keyboard_key_pressed::key#4 ] +Attempting to uplift remaining variables inzp ZP_BYTE:50 [ keyboard_key_pressed::colidx#0 ] +Uplifting [keyboard_key_pressed] best 475429 combination zp ZP_BYTE:50 [ keyboard_key_pressed::colidx#0 ] +Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 ] ] with [ zp ZP_WORD:8 [ mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 ] ] +Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 ] ] with [ zp ZP_WORD:11 [ mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 ] ] +Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 ] ] with [ zp ZP_WORD:15 [ mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 ] ] +Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 ] ] with [ zp ZP_WORD:22 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] ] +Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] ] with [ zp ZP_WORD:25 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] ] +Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] ] with [ zp ZP_WORD:29 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] ] +Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] ] with [ zp ZP_WORD:32 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] ] +Coalescing zero page register [ zp ZP_WORD:3 [ menu::c#2 menu::c#1 mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] ] with [ zp ZP_WORD:38 [ print_cls::sc#2 print_cls::sc#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] ] with [ zp ZP_BYTE:10 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] ] with [ zp ZP_BYTE:14 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 mode_sixsfred::ay#4 mode_sixsfred::ay#1 mode_sixsfred::by#4 mode_sixsfred::by#1 ] ] with [ zp ZP_BYTE:20 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 mode_sixsfred::ay#4 mode_sixsfred::ay#1 mode_sixsfred::by#4 mode_sixsfred::by#1 mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] ] with [ zp ZP_BYTE:24 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 mode_sixsfred::ay#4 mode_sixsfred::ay#1 mode_sixsfred::by#4 mode_sixsfred::by#1 mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] ] with [ zp ZP_BYTE:28 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:6 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 mode_sixsfred::ay#4 mode_sixsfred::ay#1 mode_sixsfred::by#4 mode_sixsfred::by#1 mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] ] with [ zp ZP_BYTE:50 [ keyboard_key_pressed::colidx#0 ] ] +Allocated (was zp ZP_WORD:3) zp ZP_WORD:2 [ menu::c#2 menu::c#1 mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#1 ] +Allocated (was zp ZP_BYTE:6) zp ZP_BYTE:4 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 mode_sixsfred::ay#4 mode_sixsfred::ay#1 mode_sixsfred::by#4 mode_sixsfred::by#1 mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 keyboard_key_pressed::colidx#0 ] +Allocated (was zp ZP_WORD:34) zp ZP_WORD:5 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#61 print_char_cursor#32 print_char_cursor#1 ] +Allocated (was zp ZP_WORD:36) zp ZP_WORD:7 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] +Allocated (was zp ZP_BYTE:58) zp ZP_BYTE:9 [ mode_twoplanebitmap::$15 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 Basic Upstart @@ -6243,6 +7894,7 @@ ASSEMBLER BEFORE OPTIMIZATION .const VIC_DEN = $10 .const VIC_RSEL = 8 .label VIC_CONTROL2 = $d016 + .const VIC_MCM = $10 .const VIC_CSEL = 8 .label VIC_MEMORY = $d018 .label COLS = $d800 @@ -6273,6 +7925,7 @@ ASSEMBLER BEFORE OPTIMIZATION .label DTV_COLOR_BANK_HI = $d037 .label DTV_GRAPHICS_VIC_BANK = $d03d .const KEY_C = $14 + .const KEY_B = $1c .const KEY_SPACE = $3c .label MENU_SCREEN = $8000 .label MENU_CHARSET = $9800 @@ -6280,19 +7933,22 @@ ASSEMBLER BEFORE OPTIMIZATION .label TWOPLANE_PLANEA = $4000 .label TWOPLANE_PLANEB = $6000 .label TWOPLANE_COLORS = $8000 + .label SIXSFRED_PLANEA = $4000 + .label SIXSFRED_PLANEB = $6000 + .label SIXSFRED_COLORS = $8000 .label print_char_cursor = 5 .label print_line_cursor = 7 //SEG2 @begin bbegin: -//SEG3 [1] phi from @begin to @21 [phi:@begin->@21] -b21_from_bbegin: - jmp b21 -//SEG4 @21 -b21: +//SEG3 [1] phi from @begin to @22 [phi:@begin->@22] +b22_from_bbegin: + jmp b22 +//SEG4 @22 +b22: //SEG5 [2] call main param-assignment [ ] ( ) jsr main -//SEG6 [3] phi from @21 to @end [phi:@21->@end] -bend_from_b21: +//SEG6 [3] phi from @22 to @end [phi:@22->@end] +bend_from_b22: jmp bend //SEG7 @end bend: @@ -6401,9 +8057,9 @@ menu: { lda c cmp #print_set_screen] - print_set_screen_from_b8: + //SEG48 [209] phi from menu::@9 to print_set_screen [phi:menu::@9->print_set_screen] + print_set_screen_from_b9: jsr print_set_screen - //SEG49 [30] phi from menu::@8 to menu::@14 [phi:menu::@8->menu::@14] - b14_from_b8: - jmp b14 - //SEG50 menu::@14 - b14: + //SEG49 [30] phi from menu::@9 to menu::@17 [phi:menu::@9->menu::@17] + b17_from_b9: + jmp b17 + //SEG50 menu::@17 + b17: //SEG51 [31] call print_cls param-assignment [ ] ( main:2::menu:9 [ ] ) - //SEG52 [139] phi from menu::@14 to print_cls [phi:menu::@14->print_cls] - print_cls_from_b14: + //SEG52 [203] phi from menu::@17 to print_cls [phi:menu::@17->print_cls] + print_cls_from_b17: jsr print_cls - //SEG53 [32] phi from menu::@14 to menu::@15 [phi:menu::@14->menu::@15] - b15_from_b14: - jmp b15 - //SEG54 menu::@15 - b15: + //SEG53 [32] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] + b18_from_b17: + jmp b18 + //SEG54 menu::@18 + b18: //SEG55 [33] call print_str_lines param-assignment [ ] ( main:2::menu:9 [ ] ) - //SEG56 [119] phi from menu::@15 to print_str_lines [phi:menu::@15->print_str_lines] - print_str_lines_from_b15: + //SEG56 [183] phi from menu::@18 to print_str_lines [phi:menu::@18->print_str_lines] + print_str_lines_from_b18: jsr print_str_lines jmp b3 //SEG57 menu::@3 @@ -6450,29 +8106,396 @@ menu: { //SEG63 [37] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9 [ keyboard_key_pressed::return#0 ] ) //SEG64 [107] phi from menu::@4 to keyboard_key_pressed [phi:menu::@4->keyboard_key_pressed] keyboard_key_pressed_from_b4: - //SEG65 [107] phi (byte) keyboard_key_pressed::key#2 = (const byte) KEY_C#0 [phi:menu::@4->keyboard_key_pressed#0] -- vbuyy=vbuc1 - ldy #KEY_C + //SEG65 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_B#0 [phi:menu::@4->keyboard_key_pressed#0] -- vbuxx=vbuc1 + ldx #KEY_B jsr keyboard_key_pressed //SEG66 [38] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#2 ] ( main:2::menu:9 [ keyboard_key_pressed::return#2 ] ) // (byte) keyboard_key_pressed::return#2 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a - jmp b17 - //SEG67 menu::@17 - b17: + jmp b20 + //SEG67 menu::@20 + b20: //SEG68 [39] (byte~) menu::$26 ← (byte) keyboard_key_pressed::return#2 [ menu::$26 ] ( main:2::menu:9 [ menu::$26 ] ) // (byte~) menu::$26 = (byte) keyboard_key_pressed::return#2 // register copy reg byte a - //SEG69 [40] if((byte~) menu::$26==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@3 [ ] ( main:2::menu:9 [ ] ) -- vbuaa_eq_0_then_la1 + //SEG69 [40] if((byte~) menu::$26==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@6 [ ] ( main:2::menu:9 [ ] ) -- vbuaa_eq_0_then_la1 cmp #0 - beq b3 - //SEG70 [41] phi from menu::@17 to menu::@11 [phi:menu::@17->menu::@11] - b11_from_b17: - jmp b11 - //SEG71 menu::@11 - b11: + beq b6_from_b20 + //SEG70 [41] phi from menu::@20 to menu::@12 [phi:menu::@20->menu::@12] + b12_from_b20: + jmp b12 + //SEG71 menu::@12 + b12: //SEG72 [42] call mode_twoplanebitmap param-assignment [ ] ( main:2::menu:9 [ ] ) jsr mode_twoplanebitmap jmp breturn + //SEG73 [43] phi from menu::@20 to menu::@6 [phi:menu::@20->menu::@6] + b6_from_b20: + jmp b6 + //SEG74 menu::@6 + b6: + //SEG75 [44] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9 [ keyboard_key_pressed::return#0 ] ) + //SEG76 [107] phi from menu::@6 to keyboard_key_pressed [phi:menu::@6->keyboard_key_pressed] + keyboard_key_pressed_from_b6: + //SEG77 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_C#0 [phi:menu::@6->keyboard_key_pressed#0] -- vbuxx=vbuc1 + ldx #KEY_C + jsr keyboard_key_pressed + //SEG78 [45] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#3 ] ( main:2::menu:9 [ keyboard_key_pressed::return#3 ] ) + // (byte) keyboard_key_pressed::return#3 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a + jmp b21 + //SEG79 menu::@21 + b21: + //SEG80 [46] (byte~) menu::$30 ← (byte) keyboard_key_pressed::return#3 [ menu::$30 ] ( main:2::menu:9 [ menu::$30 ] ) + // (byte~) menu::$30 = (byte) keyboard_key_pressed::return#3 // register copy reg byte a + //SEG81 [47] if((byte~) menu::$30==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@3 [ ] ( main:2::menu:9 [ ] ) -- vbuaa_eq_0_then_la1 + cmp #0 + beq b3 + //SEG82 [48] phi from menu::@21 to menu::@14 [phi:menu::@21->menu::@14] + b14_from_b21: + jmp b14 + //SEG83 menu::@14 + b14: + //SEG84 [49] call mode_sixsfred param-assignment [ ] ( main:2::menu:9 [ ] ) + jsr mode_sixsfred + jmp breturn } -//SEG73 mode_twoplanebitmap +//SEG85 mode_sixsfred +mode_sixsfred: { + .label col = 2 + .label cy = 4 + .label gfxa = 2 + .label ay = 4 + .label gfxb = 2 + .label by = 4 + //SEG86 [50] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #DTV_CONTROL_HIGHCOLOR_ON|DTV_CONTROL_LINEAR_ADDRESSING_ON + sta DTV_CONTROL + //SEG87 [51] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_ECM|VIC_BMM|VIC_DEN|VIC_RSEL|3 + sta VIC_CONTROL + //SEG88 [52] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_MCM#0|(const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_MCM|VIC_CSEL + sta VIC_CONTROL2 + //SEG89 [53] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>SIXSFRED_PLANEA + sta DTV_PLANEA_START_MI + //SEG91 [55] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEA_START_HI + //SEG92 [56] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #1 + sta DTV_PLANEA_STEP + //SEG93 [57] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEA_MODULO_LO + //SEG94 [58] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEA_MODULO_HI + //SEG95 [59] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>SIXSFRED_PLANEB + sta DTV_PLANEB_START_MI + //SEG97 [61] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEB_START_HI + //SEG98 [62] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #1 + sta DTV_PLANEB_STEP + //SEG99 [63] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEB_MODULO_LO + //SEG100 [64] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEB_MODULO_HI + //SEG101 [65] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>SIXSFRED_COLORS/$400 + sta DTV_COLOR_BANK_HI + //SEG103 [67] phi from mode_sixsfred to mode_sixsfred::@1 [phi:mode_sixsfred->mode_sixsfred::@1] + b1_from_mode_sixsfred: + //SEG104 [67] phi (byte) mode_sixsfred::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred->mode_sixsfred::@1#0] -- vbuxx=vbuc1 + ldx #0 + jmp b1 + //SEG105 [67] phi from mode_sixsfred::@1 to mode_sixsfred::@1 [phi:mode_sixsfred::@1->mode_sixsfred::@1] + b1_from_b1: + //SEG106 [67] phi (byte) mode_sixsfred::i#2 = (byte) mode_sixsfred::i#1 [phi:mode_sixsfred::@1->mode_sixsfred::@1#0] -- register_copy + jmp b1 + //SEG107 mode_sixsfred::@1 + b1: + //SEG108 [68] *((const byte*) DTV_PALETTE#0 + (byte) mode_sixsfred::i#2) ← (byte) mode_sixsfred::i#2 [ mode_sixsfred::i#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#2 ] ) -- pbuc1_derefidx_vbuxx=vbuxx + txa + sta DTV_PALETTE,x + //SEG109 [69] (byte) mode_sixsfred::i#1 ← ++ (byte) mode_sixsfred::i#2 [ mode_sixsfred::i#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG110 [70] if((byte) mode_sixsfred::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_sixsfred::@1 [ mode_sixsfred::i#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$10 + bne b1_from_b1 + jmp b12 + //SEG111 mode_sixsfred::@12 + b12: + //SEG112 [71] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta BORDERCOL + //SEG113 [72] phi from mode_sixsfred::@12 to mode_sixsfred::@2 [phi:mode_sixsfred::@12->mode_sixsfred::@2] + b2_from_b12: + //SEG114 [72] phi (byte*) mode_sixsfred::col#3 = (const byte*) TWOPLANE_COLORS#0 [phi:mode_sixsfred::@12->mode_sixsfred::@2#0] -- pbuz1=pbuc1 + lda #TWOPLANE_COLORS + sta col+1 + //SEG115 [72] phi (byte) mode_sixsfred::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@12->mode_sixsfred::@2#1] -- vbuz1=vbuc1 + lda #0 + sta cy + jmp b2 + //SEG116 [72] phi from mode_sixsfred::@13 to mode_sixsfred::@2 [phi:mode_sixsfred::@13->mode_sixsfred::@2] + b2_from_b13: + //SEG117 [72] phi (byte*) mode_sixsfred::col#3 = (byte*) mode_sixsfred::col#1 [phi:mode_sixsfred::@13->mode_sixsfred::@2#0] -- register_copy + //SEG118 [72] phi (byte) mode_sixsfred::cy#4 = (byte) mode_sixsfred::cy#1 [phi:mode_sixsfred::@13->mode_sixsfred::@2#1] -- register_copy + jmp b2 + //SEG119 mode_sixsfred::@2 + b2: + //SEG120 [73] phi from mode_sixsfred::@2 to mode_sixsfred::@3 [phi:mode_sixsfred::@2->mode_sixsfred::@3] + b3_from_b2: + //SEG121 [73] phi (byte*) mode_sixsfred::col#2 = (byte*) mode_sixsfred::col#3 [phi:mode_sixsfred::@2->mode_sixsfred::@3#0] -- register_copy + //SEG122 [73] phi (byte) mode_sixsfred::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@2->mode_sixsfred::@3#1] -- vbuxx=vbuc1 + ldx #0 + jmp b3 + //SEG123 [73] phi from mode_sixsfred::@3 to mode_sixsfred::@3 [phi:mode_sixsfred::@3->mode_sixsfred::@3] + b3_from_b3: + //SEG124 [73] phi (byte*) mode_sixsfred::col#2 = (byte*) mode_sixsfred::col#1 [phi:mode_sixsfred::@3->mode_sixsfred::@3#0] -- register_copy + //SEG125 [73] phi (byte) mode_sixsfred::cx#2 = (byte) mode_sixsfred::cx#1 [phi:mode_sixsfred::@3->mode_sixsfred::@3#1] -- register_copy + jmp b3 + //SEG126 mode_sixsfred::@3 + b3: + //SEG127 [74] (byte~) mode_sixsfred::$15 ← (byte) mode_sixsfred::cx#2 + (byte) mode_sixsfred::cy#4 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ) -- vbuaa=vbuxx_plus_vbuz1 + txa + clc + adc cy + //SEG128 [75] (byte~) mode_sixsfred::$16 ← (byte~) mode_sixsfred::$15 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ) -- vbuaa=vbuaa_band_vbuc1 + and #$f + //SEG129 [76] *((byte*) mode_sixsfred::col#2) ← (byte~) mode_sixsfred::$16 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ) -- _deref_pbuz1=vbuaa + ldy #0 + sta (col),y + //SEG130 [77] (byte*) mode_sixsfred::col#1 ← ++ (byte*) mode_sixsfred::col#2 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#2 ] ) -- pbuz1=_inc_pbuz1 + inc col + bne !+ + inc col+1 + !: + //SEG131 [78] (byte) mode_sixsfred::cx#1 ← ++ (byte) mode_sixsfred::cx#2 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG132 [79] if((byte) mode_sixsfred::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@3 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$28 + bne b3_from_b3 + jmp b13 + //SEG133 mode_sixsfred::@13 + b13: + //SEG134 [80] (byte) mode_sixsfred::cy#1 ← ++ (byte) mode_sixsfred::cy#4 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ) -- vbuz1=_inc_vbuz1 + inc cy + //SEG135 [81] if((byte) mode_sixsfred::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_sixsfred::@2 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda cy + cmp #$19 + bne b2_from_b13 + //SEG136 [82] phi from mode_sixsfred::@13 to mode_sixsfred::@4 [phi:mode_sixsfred::@13->mode_sixsfred::@4] + b4_from_b13: + //SEG137 [82] phi (byte*) mode_sixsfred::gfxa#3 = (const byte*) SIXSFRED_PLANEA#0 [phi:mode_sixsfred::@13->mode_sixsfred::@4#0] -- pbuz1=pbuc1 + lda #SIXSFRED_PLANEA + sta gfxa+1 + //SEG138 [82] phi (byte) mode_sixsfred::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@13->mode_sixsfred::@4#1] -- vbuz1=vbuc1 + lda #0 + sta ay + jmp b4 + //SEG139 [82] phi from mode_sixsfred::@15 to mode_sixsfred::@4 [phi:mode_sixsfred::@15->mode_sixsfred::@4] + b4_from_b15: + //SEG140 [82] phi (byte*) mode_sixsfred::gfxa#3 = (byte*) mode_sixsfred::gfxa#1 [phi:mode_sixsfred::@15->mode_sixsfred::@4#0] -- register_copy + //SEG141 [82] phi (byte) mode_sixsfred::ay#4 = (byte) mode_sixsfred::ay#1 [phi:mode_sixsfred::@15->mode_sixsfred::@4#1] -- register_copy + jmp b4 + //SEG142 mode_sixsfred::@4 + b4: + //SEG143 [83] phi from mode_sixsfred::@4 to mode_sixsfred::@5 [phi:mode_sixsfred::@4->mode_sixsfred::@5] + b5_from_b4: + //SEG144 [83] phi (byte) mode_sixsfred::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@4->mode_sixsfred::@5#0] -- vbuxx=vbuc1 + ldx #0 + //SEG145 [83] phi (byte*) mode_sixsfred::gfxa#2 = (byte*) mode_sixsfred::gfxa#3 [phi:mode_sixsfred::@4->mode_sixsfred::@5#1] -- register_copy + jmp b5 + //SEG146 [83] phi from mode_sixsfred::@5 to mode_sixsfred::@5 [phi:mode_sixsfred::@5->mode_sixsfred::@5] + b5_from_b5: + //SEG147 [83] phi (byte) mode_sixsfred::ax#2 = (byte) mode_sixsfred::ax#1 [phi:mode_sixsfred::@5->mode_sixsfred::@5#0] -- register_copy + //SEG148 [83] phi (byte*) mode_sixsfred::gfxa#2 = (byte*) mode_sixsfred::gfxa#1 [phi:mode_sixsfred::@5->mode_sixsfred::@5#1] -- register_copy + jmp b5 + //SEG149 mode_sixsfred::@5 + b5: + //SEG150 [84] (byte~) mode_sixsfred::$19 ← (byte) mode_sixsfred::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ) -- vbuaa=vbuz1_ror_1 + lda ay + lsr + //SEG151 [85] (byte) mode_sixsfred::row#0 ← (byte~) mode_sixsfred::$19 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ) -- vbuaa=vbuaa_band_vbuc1 + and #3 + //SEG152 [86] *((byte*) mode_sixsfred::gfxa#2) ← *((const byte[]) mode_sixsfred::row_bitmask#0 + (byte) mode_sixsfred::row#0) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuaa + tay + lda row_bitmask,y + ldy #0 + sta (gfxa),y + //SEG153 [87] (byte*) mode_sixsfred::gfxa#1 ← ++ (byte*) mode_sixsfred::gfxa#2 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#2 ] ) -- pbuz1=_inc_pbuz1 + inc gfxa + bne !+ + inc gfxa+1 + !: + //SEG154 [88] (byte) mode_sixsfred::ax#1 ← ++ (byte) mode_sixsfred::ax#2 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG155 [89] if((byte) mode_sixsfred::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@5 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$28 + bne b5_from_b5 + jmp b15 + //SEG156 mode_sixsfred::@15 + b15: + //SEG157 [90] (byte) mode_sixsfred::ay#1 ← ++ (byte) mode_sixsfred::ay#4 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ) -- vbuz1=_inc_vbuz1 + inc ay + //SEG158 [91] if((byte) mode_sixsfred::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@4 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda ay + cmp #$c8 + bne b4_from_b15 + //SEG159 [92] phi from mode_sixsfred::@15 to mode_sixsfred::@6 [phi:mode_sixsfred::@15->mode_sixsfred::@6] + b6_from_b15: + //SEG160 [92] phi (byte) mode_sixsfred::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@15->mode_sixsfred::@6#0] -- vbuz1=vbuc1 + lda #0 + sta by + //SEG161 [92] phi (byte*) mode_sixsfred::gfxb#3 = (const byte*) SIXSFRED_PLANEB#0 [phi:mode_sixsfred::@15->mode_sixsfred::@6#1] -- pbuz1=pbuc1 + lda #SIXSFRED_PLANEB + sta gfxb+1 + jmp b6 + //SEG162 [92] phi from mode_sixsfred::@17 to mode_sixsfred::@6 [phi:mode_sixsfred::@17->mode_sixsfred::@6] + b6_from_b17: + //SEG163 [92] phi (byte) mode_sixsfred::by#4 = (byte) mode_sixsfred::by#1 [phi:mode_sixsfred::@17->mode_sixsfred::@6#0] -- register_copy + //SEG164 [92] phi (byte*) mode_sixsfred::gfxb#3 = (byte*) mode_sixsfred::gfxb#1 [phi:mode_sixsfred::@17->mode_sixsfred::@6#1] -- register_copy + jmp b6 + //SEG165 mode_sixsfred::@6 + b6: + //SEG166 [93] phi from mode_sixsfred::@6 to mode_sixsfred::@7 [phi:mode_sixsfred::@6->mode_sixsfred::@7] + b7_from_b6: + //SEG167 [93] phi (byte) mode_sixsfred::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@6->mode_sixsfred::@7#0] -- vbuxx=vbuc1 + ldx #0 + //SEG168 [93] phi (byte*) mode_sixsfred::gfxb#2 = (byte*) mode_sixsfred::gfxb#3 [phi:mode_sixsfred::@6->mode_sixsfred::@7#1] -- register_copy + jmp b7 + //SEG169 [93] phi from mode_sixsfred::@7 to mode_sixsfred::@7 [phi:mode_sixsfred::@7->mode_sixsfred::@7] + b7_from_b7: + //SEG170 [93] phi (byte) mode_sixsfred::bx#2 = (byte) mode_sixsfred::bx#1 [phi:mode_sixsfred::@7->mode_sixsfred::@7#0] -- register_copy + //SEG171 [93] phi (byte*) mode_sixsfred::gfxb#2 = (byte*) mode_sixsfred::gfxb#1 [phi:mode_sixsfred::@7->mode_sixsfred::@7#1] -- register_copy + jmp b7 + //SEG172 mode_sixsfred::@7 + b7: + //SEG173 [94] *((byte*) mode_sixsfred::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 27 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ) -- _deref_pbuz1=vbuc1 + lda #$1b + ldy #0 + sta (gfxb),y + //SEG174 [95] (byte*) mode_sixsfred::gfxb#1 ← ++ (byte*) mode_sixsfred::gfxb#2 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#2 ] ) -- pbuz1=_inc_pbuz1 + inc gfxb + bne !+ + inc gfxb+1 + !: + //SEG175 [96] (byte) mode_sixsfred::bx#1 ← ++ (byte) mode_sixsfred::bx#2 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG176 [97] if((byte) mode_sixsfred::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@7 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$28 + bne b7_from_b7 + jmp b17 + //SEG177 mode_sixsfred::@17 + b17: + //SEG178 [98] (byte) mode_sixsfred::by#1 ← ++ (byte) mode_sixsfred::by#4 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ) -- vbuz1=_inc_vbuz1 + inc by + //SEG179 [99] if((byte) mode_sixsfred::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@6 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda by + cmp #$c8 + bne b6_from_b17 + jmp b8 + //SEG180 mode_sixsfred::@8 + b8: + //SEG181 [100] if(true) goto mode_sixsfred::@9 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- true_then_la1 + jmp b9_from_b8 + jmp breturn + //SEG182 mode_sixsfred::@return + breturn: + //SEG183 [101] return [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + rts + //SEG184 [102] phi from mode_sixsfred::@8 to mode_sixsfred::@9 [phi:mode_sixsfred::@8->mode_sixsfred::@9] + b9_from_b8: + jmp b9 + //SEG185 mode_sixsfred::@9 + b9: + //SEG186 [103] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_sixsfred:49 [ keyboard_key_pressed::return#0 ] ) + //SEG187 [107] phi from mode_sixsfred::@9 to keyboard_key_pressed [phi:mode_sixsfred::@9->keyboard_key_pressed] + keyboard_key_pressed_from_b9: + //SEG188 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_SPACE#0 [phi:mode_sixsfred::@9->keyboard_key_pressed#0] -- vbuxx=vbuc1 + ldx #KEY_SPACE + jsr keyboard_key_pressed + //SEG189 [104] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#10 ] ( main:2::menu:9::mode_sixsfred:49 [ keyboard_key_pressed::return#10 ] ) + // (byte) keyboard_key_pressed::return#10 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a + jmp b24 + //SEG190 mode_sixsfred::@24 + b24: + //SEG191 [105] (byte~) mode_sixsfred::$25 ← (byte) keyboard_key_pressed::return#10 [ mode_sixsfred::$25 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::$25 ] ) + // (byte~) mode_sixsfred::$25 = (byte) keyboard_key_pressed::return#10 // register copy reg byte a + //SEG192 [106] if((byte~) mode_sixsfred::$25==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_sixsfred::@8 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- vbuaa_eq_0_then_la1 + cmp #0 + beq b8 + jmp breturn + row_bitmask: .byte 0, $55, $aa, $ff +} +//SEG193 keyboard_key_pressed +keyboard_key_pressed: { + .label colidx = 4 + //SEG194 [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) -- vbuz1=vbuxx_band_vbuc1 + txa + and #7 + sta colidx + //SEG195 [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuaa=vbuxx_ror_3 + txa + lsr + lsr + lsr + //SEG196 [110] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) + // (byte) keyboard_matrix_read::rowid#0 = (byte) keyboard_key_pressed::rowidx#0 // register copy reg byte a + //SEG197 [111] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + jsr keyboard_matrix_read + //SEG198 [112] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) + // (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#0 // register copy reg byte a + jmp b2 + //SEG199 keyboard_key_pressed::@2 + b2: + //SEG200 [113] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) + // (byte~) keyboard_key_pressed::$2 = (byte) keyboard_matrix_read::return#2 // register copy reg byte a + //SEG201 [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuz1 + ldy colidx + and keyboard_matrix_col_bitmask,y + jmp breturn + //SEG202 keyboard_key_pressed::@return + breturn: + //SEG203 [115] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) + rts +} +//SEG204 keyboard_matrix_read +keyboard_matrix_read: { + //SEG205 [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuaa + tay + lda keyboard_matrix_row_bitmask,y + sta CIA1_PORT_A + //SEG206 [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuaa=_bnot__deref_pbuc1 + lda CIA1_PORT_B + eor #$ff + jmp breturn + //SEG207 keyboard_matrix_read::@return + breturn: + //SEG208 [118] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + rts +} +//SEG209 mode_twoplanebitmap mode_twoplanebitmap: { .label _15 = 9 .label col = 2 @@ -6481,474 +8504,429 @@ mode_twoplanebitmap: { .label ay = 4 .label gfxb = 2 .label by = 4 - //SEG74 [43] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG210 [119] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #DTV_CONTROL_HIGHCOLOR_ON|DTV_CONTROL_LINEAR_ADDRESSING_ON sta DTV_CONTROL - //SEG75 [44] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG211 [120] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #VIC_ECM|VIC_BMM|VIC_DEN|VIC_RSEL|3 sta VIC_CONTROL - //SEG76 [45] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG212 [121] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #VIC_CSEL sta VIC_CONTROL2 - //SEG77 [46] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG213 [122] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG214 [123] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #>TWOPLANE_PLANEA sta DTV_PLANEA_START_MI - //SEG79 [48] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG215 [124] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEA_START_HI - //SEG80 [49] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG216 [125] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #1 sta DTV_PLANEA_STEP - //SEG81 [50] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG217 [126] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEA_MODULO_LO - //SEG82 [51] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG218 [127] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEA_MODULO_HI - //SEG83 [52] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG219 [128] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG220 [129] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #>TWOPLANE_PLANEB sta DTV_PLANEB_START_MI - //SEG85 [54] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG221 [130] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEB_START_HI - //SEG86 [55] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG222 [131] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #1 sta DTV_PLANEB_STEP - //SEG87 [56] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG223 [132] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEB_MODULO_LO - //SEG88 [57] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG224 [133] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEB_MODULO_HI - //SEG89 [58] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG225 [134] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG226 [135] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #>TWOPLANE_COLORS/$400 sta DTV_COLOR_BANK_HI - //SEG91 [60] phi from mode_twoplanebitmap to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1] + //SEG227 [136] phi from mode_twoplanebitmap to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1] b1_from_mode_twoplanebitmap: - //SEG92 [60] phi (byte) mode_twoplanebitmap::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1#0] -- vbuaa=vbuc1 + //SEG228 [136] phi (byte) mode_twoplanebitmap::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1#0] -- vbuaa=vbuc1 lda #0 jmp b1 - //SEG93 [60] phi from mode_twoplanebitmap::@1 to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1] + //SEG229 [136] phi from mode_twoplanebitmap::@1 to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1] b1_from_b1: - //SEG94 [60] phi (byte) mode_twoplanebitmap::i#2 = (byte) mode_twoplanebitmap::i#1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1#0] -- register_copy + //SEG230 [136] phi (byte) mode_twoplanebitmap::i#2 = (byte) mode_twoplanebitmap::i#1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1#0] -- register_copy jmp b1 - //SEG95 mode_twoplanebitmap::@1 + //SEG231 mode_twoplanebitmap::@1 b1: - //SEG96 [61] *((const byte*) DTV_PALETTE#0 + (byte) mode_twoplanebitmap::i#2) ← (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) -- pbuc1_derefidx_vbuaa=vbuaa + //SEG232 [137] *((const byte*) DTV_PALETTE#0 + (byte) mode_twoplanebitmap::i#2) ← (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) -- pbuc1_derefidx_vbuaa=vbuaa tax sta DTV_PALETTE,x - //SEG97 [62] (byte) mode_twoplanebitmap::i#1 ← ++ (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuaa=_inc_vbuaa + //SEG233 [138] (byte) mode_twoplanebitmap::i#1 ← ++ (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuaa=_inc_vbuaa clc adc #1 - //SEG98 [63] if((byte) mode_twoplanebitmap::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_twoplanebitmap::@1 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG234 [139] if((byte) mode_twoplanebitmap::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_twoplanebitmap::@1 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #$10 bne b1_from_b1 jmp b14 - //SEG99 mode_twoplanebitmap::@14 + //SEG235 mode_twoplanebitmap::@14 b14: - //SEG100 [64] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG236 [140] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta BORDERCOL - //SEG101 [65] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG237 [141] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #$70 sta BGCOL1 - //SEG102 [66] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG238 [142] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #$d4 sta BGCOL2 - //SEG103 [67] phi from mode_twoplanebitmap::@14 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2] + //SEG239 [143] phi from mode_twoplanebitmap::@14 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2] b2_from_b14: - //SEG104 [67] phi (byte*) mode_twoplanebitmap::col#3 = (const byte*) TWOPLANE_COLORS#0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#0] -- pbuz1=pbuc1 + //SEG240 [143] phi (byte*) mode_twoplanebitmap::col#3 = (const byte*) TWOPLANE_COLORS#0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#0] -- pbuz1=pbuc1 lda #TWOPLANE_COLORS sta col+1 - //SEG105 [67] phi (byte) mode_twoplanebitmap::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#1] -- vbuz1=vbuc1 + //SEG241 [143] phi (byte) mode_twoplanebitmap::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#1] -- vbuz1=vbuc1 lda #0 sta cy jmp b2 - //SEG106 [67] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2] + //SEG242 [143] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2] b2_from_b15: - //SEG107 [67] phi (byte*) mode_twoplanebitmap::col#3 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#0] -- register_copy - //SEG108 [67] phi (byte) mode_twoplanebitmap::cy#4 = (byte) mode_twoplanebitmap::cy#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#1] -- register_copy + //SEG243 [143] phi (byte*) mode_twoplanebitmap::col#3 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#0] -- register_copy + //SEG244 [143] phi (byte) mode_twoplanebitmap::cy#4 = (byte) mode_twoplanebitmap::cy#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#1] -- register_copy jmp b2 - //SEG109 mode_twoplanebitmap::@2 + //SEG245 mode_twoplanebitmap::@2 b2: - //SEG110 [68] phi from mode_twoplanebitmap::@2 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3] + //SEG246 [144] phi from mode_twoplanebitmap::@2 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3] b3_from_b2: - //SEG111 [68] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#0] -- register_copy - //SEG112 [68] phi (byte) mode_twoplanebitmap::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#1] -- vbuxx=vbuc1 + //SEG247 [144] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#0] -- register_copy + //SEG248 [144] phi (byte) mode_twoplanebitmap::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#1] -- vbuxx=vbuc1 ldx #0 jmp b3 - //SEG113 [68] phi from mode_twoplanebitmap::@3 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3] + //SEG249 [144] phi from mode_twoplanebitmap::@3 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3] b3_from_b3: - //SEG114 [68] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#0] -- register_copy - //SEG115 [68] phi (byte) mode_twoplanebitmap::cx#2 = (byte) mode_twoplanebitmap::cx#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#1] -- register_copy + //SEG250 [144] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#0] -- register_copy + //SEG251 [144] phi (byte) mode_twoplanebitmap::cx#2 = (byte) mode_twoplanebitmap::cx#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#1] -- register_copy jmp b3 - //SEG116 mode_twoplanebitmap::@3 + //SEG252 mode_twoplanebitmap::@3 b3: - //SEG117 [69] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) -- vbuaa=vbuz1_band_vbuc1 + //SEG253 [145] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) -- vbuaa=vbuz1_band_vbuc1 lda #$f and cy - //SEG118 [70] (byte~) mode_twoplanebitmap::$15 ← (byte~) mode_twoplanebitmap::$14 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ) -- vbuz1=vbuaa_rol_4 + //SEG254 [146] (byte~) mode_twoplanebitmap::$15 ← (byte~) mode_twoplanebitmap::$14 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ) -- vbuz1=vbuaa_rol_4 asl asl asl asl sta _15 - //SEG119 [71] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG255 [147] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #$f - //SEG120 [72] (byte~) mode_twoplanebitmap::$17 ← (byte~) mode_twoplanebitmap::$15 | (byte~) mode_twoplanebitmap::$16 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ) -- vbuaa=vbuz1_bor_vbuaa + //SEG256 [148] (byte~) mode_twoplanebitmap::$17 ← (byte~) mode_twoplanebitmap::$15 | (byte~) mode_twoplanebitmap::$16 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ) -- vbuaa=vbuz1_bor_vbuaa ora _15 - //SEG121 [73] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) -- _deref_pbuz1=vbuaa + //SEG257 [149] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (col),y - //SEG122 [74] (byte*) mode_twoplanebitmap::col#1 ← ++ (byte*) mode_twoplanebitmap::col#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG258 [150] (byte*) mode_twoplanebitmap::col#1 ← ++ (byte*) mode_twoplanebitmap::col#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ) -- pbuz1=_inc_pbuz1 inc col bne !+ inc col+1 !: - //SEG123 [75] (byte) mode_twoplanebitmap::cx#1 ← ++ (byte) mode_twoplanebitmap::cx#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuxx=_inc_vbuxx + //SEG259 [151] (byte) mode_twoplanebitmap::cx#1 ← ++ (byte) mode_twoplanebitmap::cx#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG124 [76] if((byte) mode_twoplanebitmap::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@3 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG260 [152] if((byte) mode_twoplanebitmap::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@3 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b3_from_b3 jmp b15 - //SEG125 mode_twoplanebitmap::@15 + //SEG261 mode_twoplanebitmap::@15 b15: - //SEG126 [77] (byte) mode_twoplanebitmap::cy#1 ← ++ (byte) mode_twoplanebitmap::cy#4 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG262 [153] (byte) mode_twoplanebitmap::cy#1 ← ++ (byte) mode_twoplanebitmap::cy#4 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1=_inc_vbuz1 inc cy - //SEG127 [78] if((byte) mode_twoplanebitmap::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_twoplanebitmap::@2 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG263 [154] if((byte) mode_twoplanebitmap::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_twoplanebitmap::@2 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b2_from_b15 - //SEG128 [79] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4] + //SEG264 [155] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4] b4_from_b15: - //SEG129 [79] phi (byte*) mode_twoplanebitmap::gfxa#6 = (const byte*) TWOPLANE_PLANEA#0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#0] -- pbuz1=pbuc1 + //SEG265 [155] phi (byte*) mode_twoplanebitmap::gfxa#6 = (const byte*) TWOPLANE_PLANEA#0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#0] -- pbuz1=pbuc1 lda #TWOPLANE_PLANEA sta gfxa+1 - //SEG130 [79] phi (byte) mode_twoplanebitmap::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#1] -- vbuz1=vbuc1 + //SEG266 [155] phi (byte) mode_twoplanebitmap::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#1] -- vbuz1=vbuc1 lda #0 sta ay jmp b4 - //SEG131 [79] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4] + //SEG267 [155] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4] b4_from_b19: - //SEG132 [79] phi (byte*) mode_twoplanebitmap::gfxa#6 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#0] -- register_copy - //SEG133 [79] phi (byte) mode_twoplanebitmap::ay#4 = (byte) mode_twoplanebitmap::ay#1 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#1] -- register_copy + //SEG268 [155] phi (byte*) mode_twoplanebitmap::gfxa#6 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#0] -- register_copy + //SEG269 [155] phi (byte) mode_twoplanebitmap::ay#4 = (byte) mode_twoplanebitmap::ay#1 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#1] -- register_copy jmp b4 - //SEG134 mode_twoplanebitmap::@4 + //SEG270 mode_twoplanebitmap::@4 b4: - //SEG135 [80] phi from mode_twoplanebitmap::@4 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5] + //SEG271 [156] phi from mode_twoplanebitmap::@4 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5] b5_from_b4: - //SEG136 [80] phi (byte) mode_twoplanebitmap::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#0] -- vbuxx=vbuc1 + //SEG272 [156] phi (byte) mode_twoplanebitmap::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#0] -- vbuxx=vbuc1 ldx #0 - //SEG137 [80] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#6 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#1] -- register_copy + //SEG273 [156] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#6 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#1] -- register_copy jmp b5 - //SEG138 [80] phi from mode_twoplanebitmap::@7 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5] + //SEG274 [156] phi from mode_twoplanebitmap::@7 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5] b5_from_b7: - //SEG139 [80] phi (byte) mode_twoplanebitmap::ax#2 = (byte) mode_twoplanebitmap::ax#1 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#0] -- register_copy - //SEG140 [80] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#1] -- register_copy + //SEG275 [156] phi (byte) mode_twoplanebitmap::ax#2 = (byte) mode_twoplanebitmap::ax#1 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#0] -- register_copy + //SEG276 [156] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#1] -- register_copy jmp b5 - //SEG141 mode_twoplanebitmap::@5 + //SEG277 mode_twoplanebitmap::@5 b5: - //SEG142 [81] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) -- vbuaa=vbuz1_band_vbuc1 + //SEG278 [157] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) -- vbuaa=vbuz1_band_vbuc1 lda #4 and ay - //SEG143 [82] if((byte~) mode_twoplanebitmap::$20!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@6 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- vbuaa_neq_0_then_la1 + //SEG279 [158] if((byte~) mode_twoplanebitmap::$20!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@6 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b6 jmp b17 - //SEG144 mode_twoplanebitmap::@17 + //SEG280 mode_twoplanebitmap::@17 b17: - //SEG145 [83] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG281 [159] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (gfxa),y - //SEG146 [84] (byte*) mode_twoplanebitmap::gfxa#2 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG282 [160] (byte*) mode_twoplanebitmap::gfxa#2 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ) -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG147 [85] phi from mode_twoplanebitmap::@17 mode_twoplanebitmap::@6 to mode_twoplanebitmap::@7 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7] + //SEG283 [161] phi from mode_twoplanebitmap::@17 mode_twoplanebitmap::@6 to mode_twoplanebitmap::@7 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7] b7_from_b17: b7_from_b6: - //SEG148 [85] phi (byte*) mode_twoplanebitmap::gfxa#7 = (byte*) mode_twoplanebitmap::gfxa#2 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7#0] -- register_copy + //SEG284 [161] phi (byte*) mode_twoplanebitmap::gfxa#7 = (byte*) mode_twoplanebitmap::gfxa#2 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7#0] -- register_copy jmp b7 - //SEG149 mode_twoplanebitmap::@7 + //SEG285 mode_twoplanebitmap::@7 b7: - //SEG150 [86] (byte) mode_twoplanebitmap::ax#1 ← ++ (byte) mode_twoplanebitmap::ax#2 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuxx=_inc_vbuxx + //SEG286 [162] (byte) mode_twoplanebitmap::ax#1 ← ++ (byte) mode_twoplanebitmap::ax#2 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG151 [87] if((byte) mode_twoplanebitmap::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@5 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG287 [163] if((byte) mode_twoplanebitmap::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@5 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b5_from_b7 jmp b19 - //SEG152 mode_twoplanebitmap::@19 + //SEG288 mode_twoplanebitmap::@19 b19: - //SEG153 [88] (byte) mode_twoplanebitmap::ay#1 ← ++ (byte) mode_twoplanebitmap::ay#4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1=_inc_vbuz1 + //SEG289 [164] (byte) mode_twoplanebitmap::ay#1 ← ++ (byte) mode_twoplanebitmap::ay#4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1=_inc_vbuz1 inc ay - //SEG154 [89] if((byte) mode_twoplanebitmap::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG290 [165] if((byte) mode_twoplanebitmap::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1_neq_vbuc1_then_la1 lda ay cmp #$c8 bne b4_from_b19 - //SEG155 [90] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8] + //SEG291 [166] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8] b8_from_b19: - //SEG156 [90] phi (byte) mode_twoplanebitmap::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#0] -- vbuz1=vbuc1 + //SEG292 [166] phi (byte) mode_twoplanebitmap::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#0] -- vbuz1=vbuc1 lda #0 sta by - //SEG157 [90] phi (byte*) mode_twoplanebitmap::gfxb#3 = (const byte*) TWOPLANE_PLANEB#0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#1] -- pbuz1=pbuc1 + //SEG293 [166] phi (byte*) mode_twoplanebitmap::gfxb#3 = (const byte*) TWOPLANE_PLANEB#0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#1] -- pbuz1=pbuc1 lda #TWOPLANE_PLANEB sta gfxb+1 jmp b8 - //SEG158 [90] phi from mode_twoplanebitmap::@21 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8] + //SEG294 [166] phi from mode_twoplanebitmap::@21 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8] b8_from_b21: - //SEG159 [90] phi (byte) mode_twoplanebitmap::by#4 = (byte) mode_twoplanebitmap::by#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#0] -- register_copy - //SEG160 [90] phi (byte*) mode_twoplanebitmap::gfxb#3 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#1] -- register_copy + //SEG295 [166] phi (byte) mode_twoplanebitmap::by#4 = (byte) mode_twoplanebitmap::by#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#0] -- register_copy + //SEG296 [166] phi (byte*) mode_twoplanebitmap::gfxb#3 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#1] -- register_copy jmp b8 - //SEG161 mode_twoplanebitmap::@8 + //SEG297 mode_twoplanebitmap::@8 b8: - //SEG162 [91] phi from mode_twoplanebitmap::@8 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9] + //SEG298 [167] phi from mode_twoplanebitmap::@8 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9] b9_from_b8: - //SEG163 [91] phi (byte) mode_twoplanebitmap::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#0] -- vbuxx=vbuc1 + //SEG299 [167] phi (byte) mode_twoplanebitmap::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#0] -- vbuxx=vbuc1 ldx #0 - //SEG164 [91] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#3 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#1] -- register_copy + //SEG300 [167] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#3 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#1] -- register_copy jmp b9 - //SEG165 [91] phi from mode_twoplanebitmap::@9 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9] + //SEG301 [167] phi from mode_twoplanebitmap::@9 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9] b9_from_b9: - //SEG166 [91] phi (byte) mode_twoplanebitmap::bx#2 = (byte) mode_twoplanebitmap::bx#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#0] -- register_copy - //SEG167 [91] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#1] -- register_copy + //SEG302 [167] phi (byte) mode_twoplanebitmap::bx#2 = (byte) mode_twoplanebitmap::bx#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#0] -- register_copy + //SEG303 [167] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#1] -- register_copy jmp b9 - //SEG168 mode_twoplanebitmap::@9 + //SEG304 mode_twoplanebitmap::@9 b9: - //SEG169 [92] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG305 [168] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y - //SEG170 [93] (byte*) mode_twoplanebitmap::gfxb#1 ← ++ (byte*) mode_twoplanebitmap::gfxb#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG306 [169] (byte*) mode_twoplanebitmap::gfxb#1 ← ++ (byte*) mode_twoplanebitmap::gfxb#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ) -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG171 [94] (byte) mode_twoplanebitmap::bx#1 ← ++ (byte) mode_twoplanebitmap::bx#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuxx=_inc_vbuxx + //SEG307 [170] (byte) mode_twoplanebitmap::bx#1 ← ++ (byte) mode_twoplanebitmap::bx#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG172 [95] if((byte) mode_twoplanebitmap::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@9 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG308 [171] if((byte) mode_twoplanebitmap::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@9 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b9_from_b9 jmp b21 - //SEG173 mode_twoplanebitmap::@21 + //SEG309 mode_twoplanebitmap::@21 b21: - //SEG174 [96] (byte) mode_twoplanebitmap::by#1 ← ++ (byte) mode_twoplanebitmap::by#4 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG310 [172] (byte) mode_twoplanebitmap::by#1 ← ++ (byte) mode_twoplanebitmap::by#4 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1=_inc_vbuz1 inc by - //SEG175 [97] if((byte) mode_twoplanebitmap::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@8 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG311 [173] if((byte) mode_twoplanebitmap::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@8 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda by cmp #$c8 bne b8_from_b21 jmp b10 - //SEG176 mode_twoplanebitmap::@10 + //SEG312 mode_twoplanebitmap::@10 b10: - //SEG177 [98] if(true) goto mode_twoplanebitmap::@11 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- true_then_la1 + //SEG313 [174] if(true) goto mode_twoplanebitmap::@11 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- true_then_la1 jmp b11_from_b10 jmp breturn - //SEG178 mode_twoplanebitmap::@return + //SEG314 mode_twoplanebitmap::@return breturn: - //SEG179 [99] return [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + //SEG315 [175] return [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) rts - //SEG180 [100] phi from mode_twoplanebitmap::@10 to mode_twoplanebitmap::@11 [phi:mode_twoplanebitmap::@10->mode_twoplanebitmap::@11] + //SEG316 [176] phi from mode_twoplanebitmap::@10 to mode_twoplanebitmap::@11 [phi:mode_twoplanebitmap::@10->mode_twoplanebitmap::@11] b11_from_b10: jmp b11 - //SEG181 mode_twoplanebitmap::@11 + //SEG317 mode_twoplanebitmap::@11 b11: - //SEG182 [101] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#0 ] ) - //SEG183 [107] phi from mode_twoplanebitmap::@11 to keyboard_key_pressed [phi:mode_twoplanebitmap::@11->keyboard_key_pressed] + //SEG318 [177] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#0 ] ) + //SEG319 [107] phi from mode_twoplanebitmap::@11 to keyboard_key_pressed [phi:mode_twoplanebitmap::@11->keyboard_key_pressed] keyboard_key_pressed_from_b11: - //SEG184 [107] phi (byte) keyboard_key_pressed::key#2 = (const byte) KEY_SPACE#0 [phi:mode_twoplanebitmap::@11->keyboard_key_pressed#0] -- vbuyy=vbuc1 - ldy #KEY_SPACE + //SEG320 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_SPACE#0 [phi:mode_twoplanebitmap::@11->keyboard_key_pressed#0] -- vbuxx=vbuc1 + ldx #KEY_SPACE jsr keyboard_key_pressed - //SEG185 [102] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#3 ] ) - // (byte) keyboard_key_pressed::return#3 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a + //SEG321 [178] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#4 ] ) + // (byte) keyboard_key_pressed::return#4 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a jmp b28 - //SEG186 mode_twoplanebitmap::@28 + //SEG322 mode_twoplanebitmap::@28 b28: - //SEG187 [103] (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#3 [ mode_twoplanebitmap::$27 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::$27 ] ) - // (byte~) mode_twoplanebitmap::$27 = (byte) keyboard_key_pressed::return#3 // register copy reg byte a - //SEG188 [104] if((byte~) mode_twoplanebitmap::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@10 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- vbuaa_eq_0_then_la1 + //SEG323 [179] (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#4 [ mode_twoplanebitmap::$27 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::$27 ] ) + // (byte~) mode_twoplanebitmap::$27 = (byte) keyboard_key_pressed::return#4 // register copy reg byte a + //SEG324 [180] if((byte~) mode_twoplanebitmap::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@10 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b10 jmp breturn - //SEG189 mode_twoplanebitmap::@6 + //SEG325 mode_twoplanebitmap::@6 b6: - //SEG190 [105] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG326 [181] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y - //SEG191 [106] (byte*) mode_twoplanebitmap::gfxa#1 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG327 [182] (byte*) mode_twoplanebitmap::gfxa#1 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ) -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: jmp b7_from_b6 } -//SEG192 keyboard_key_pressed -keyboard_key_pressed: { - //SEG193 [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ) -- vbuxx=vbuyy_band_vbuc1 - tya - and #7 - tax - //SEG194 [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#2 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuaa=vbuyy_ror_3 - tya - lsr - lsr - lsr - //SEG195 [110] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) - // (byte) keyboard_matrix_read::rowid#0 = (byte) keyboard_key_pressed::rowidx#0 // register copy reg byte a - //SEG196 [111] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) - jsr keyboard_matrix_read - //SEG197 [112] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) - // (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#0 // register copy reg byte a - jmp b2 - //SEG198 keyboard_key_pressed::@2 - b2: - //SEG199 [113] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) - // (byte~) keyboard_key_pressed::$2 = (byte) keyboard_matrix_read::return#2 // register copy reg byte a - //SEG200 [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx - and keyboard_matrix_col_bitmask,x - jmp breturn - //SEG201 keyboard_key_pressed::@return - breturn: - //SEG202 [115] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) - rts -} -//SEG203 keyboard_matrix_read -keyboard_matrix_read: { - //SEG204 [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuaa - tay - lda keyboard_matrix_row_bitmask,y - sta CIA1_PORT_A - //SEG205 [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuaa=_bnot__deref_pbuc1 - lda CIA1_PORT_B - eor #$ff - jmp breturn - //SEG206 keyboard_matrix_read::@return - breturn: - //SEG207 [118] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) - rts -} -//SEG208 print_str_lines +//SEG328 print_str_lines print_str_lines: { .label str = 2 - //SEG209 [120] phi from print_str_lines to print_str_lines::@1 [phi:print_str_lines->print_str_lines::@1] + //SEG329 [184] phi from print_str_lines to print_str_lines::@1 [phi:print_str_lines->print_str_lines::@1] b1_from_print_str_lines: - //SEG210 [120] phi (byte*) print_line_cursor#17 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#0] -- pbuz1=pbuc1 + //SEG330 [184] phi (byte*) print_line_cursor#17 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#0] -- pbuz1=pbuc1 lda #MENU_SCREEN sta print_line_cursor+1 - //SEG211 [120] phi (byte*) print_char_cursor#19 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#1] -- pbuz1=pbuc1 + //SEG331 [184] phi (byte*) print_char_cursor#19 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#1] -- pbuz1=pbuc1 lda #MENU_SCREEN sta print_char_cursor+1 - //SEG212 [120] phi (byte*) print_str_lines::str#2 = (const string) MENU_TEXT#0 [phi:print_str_lines->print_str_lines::@1#2] -- pbuz1=pbuc1 + //SEG332 [184] phi (byte*) print_str_lines::str#2 = (const string) MENU_TEXT#0 [phi:print_str_lines->print_str_lines::@1#2] -- pbuz1=pbuc1 lda #MENU_TEXT sta str+1 jmp b1 - //SEG213 print_str_lines::@1 + //SEG333 print_str_lines::@1 b1: - //SEG214 [121] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG334 [185] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4_from_b1 jmp breturn - //SEG215 print_str_lines::@return + //SEG335 print_str_lines::@return breturn: - //SEG216 [122] return [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) + //SEG336 [186] return [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) rts - //SEG217 [123] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG337 [187] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] b4_from_b1: b4_from_b5: - //SEG218 [123] phi (byte*) print_char_cursor#17 = (byte*) print_char_cursor#19 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG219 [123] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#2 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy + //SEG338 [187] phi (byte*) print_char_cursor#17 = (byte*) print_char_cursor#19 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy + //SEG339 [187] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#2 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy jmp b4 - //SEG220 print_str_lines::@4 + //SEG340 print_str_lines::@4 b4: - //SEG221 [124] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa=_deref_pbuz1 + //SEG341 [188] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - //SEG222 [125] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 + //SEG342 [189] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG223 [126] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa_eq_vbuc1_then_la1 + //SEG343 [190] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa_eq_vbuc1_then_la1 cmp #'@' beq b5_from_b4 jmp b8 - //SEG224 print_str_lines::@8 + //SEG344 print_str_lines::@8 b8: - //SEG225 [127] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuaa + //SEG345 [191] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG226 [128] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG346 [192] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG227 [129] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG347 [193] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] b5_from_b4: b5_from_b8: - //SEG228 [129] phi (byte*) print_char_cursor#32 = (byte*) print_char_cursor#17 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG348 [193] phi (byte*) print_char_cursor#32 = (byte*) print_char_cursor#17 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy jmp b5 - //SEG229 print_str_lines::@5 + //SEG349 print_str_lines::@5 b5: - //SEG230 [130] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG350 [194] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #'@' bne b4_from_b5 - //SEG231 [131] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG351 [195] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] b9_from_b5: jmp b9 - //SEG232 print_str_lines::@9 + //SEG352 print_str_lines::@9 b9: - //SEG233 [132] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_line_cursor#19 ] ) - //SEG234 [134] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG353 [196] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_line_cursor#19 ] ) + //SEG354 [198] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] print_ln_from_b9: jsr print_ln - //SEG235 [133] (byte*~) print_char_cursor#56 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ) -- pbuz1=pbuz2 + //SEG355 [197] (byte*~) print_char_cursor#61 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG236 [120] phi from print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines::@9->print_str_lines::@1] + //SEG356 [184] phi from print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines::@9->print_str_lines::@1] b1_from_b9: - //SEG237 [120] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#19 [phi:print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG238 [120] phi (byte*) print_char_cursor#19 = (byte*~) print_char_cursor#56 [phi:print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG239 [120] phi (byte*) print_str_lines::str#2 = (byte*) print_str_lines::str#0 [phi:print_str_lines::@9->print_str_lines::@1#2] -- register_copy + //SEG357 [184] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#19 [phi:print_str_lines::@9->print_str_lines::@1#0] -- register_copy + //SEG358 [184] phi (byte*) print_char_cursor#19 = (byte*~) print_char_cursor#61 [phi:print_str_lines::@9->print_str_lines::@1#1] -- register_copy + //SEG359 [184] phi (byte*) print_str_lines::str#2 = (byte*) print_str_lines::str#0 [phi:print_str_lines::@9->print_str_lines::@1#2] -- register_copy jmp b1 } -//SEG240 print_ln +//SEG360 print_ln print_ln: { - //SEG241 [135] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG361 [199] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] b1_from_print_ln: b1_from_b1: - //SEG242 [135] phi (byte*) print_line_cursor#18 = (byte*) print_line_cursor#17 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG362 [199] phi (byte*) print_line_cursor#18 = (byte*) print_line_cursor#17 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG243 print_ln::@1 + //SEG363 print_ln::@1 b1: - //SEG244 [136] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG364 [200] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -6956,7 +8934,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG245 [137] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG365 [201] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1_from_b1 @@ -6966,38 +8944,38 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG246 print_ln::@return + //SEG366 print_ln::@return breturn: - //SEG247 [138] return [ print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 ] ) + //SEG367 [202] return [ print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 ] ) rts } -//SEG248 print_cls +//SEG368 print_cls print_cls: { .label sc = 2 - //SEG249 [140] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG369 [204] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] b1_from_print_cls: - //SEG250 [140] phi (byte*) print_cls::sc#2 = (const byte*) MENU_SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG370 [204] phi (byte*) print_cls::sc#2 = (const byte*) MENU_SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #MENU_SCREEN sta sc+1 jmp b1 - //SEG251 [140] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG371 [204] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] b1_from_b1: - //SEG252 [140] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG372 [204] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG253 print_cls::@1 + //SEG373 print_cls::@1 b1: - //SEG254 [141] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG374 [205] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG255 [142] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG375 [206] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG256 [143] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG376 [207] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>MENU_SCREEN+$3e8 bne b1_from_b1 @@ -7005,40 +8983,61 @@ print_cls: { cmp #@21] -//SEG4 @21 +//SEG3 [1] phi from @begin to @22 [phi:@begin->@22] +//SEG4 @22 //SEG5 [2] call main param-assignment [ ] ( ) jsr main -//SEG6 [3] phi from @21 to @end [phi:@21->@end] +//SEG6 [3] phi from @22 to @end [phi:@22->@end] //SEG7 @end //SEG8 main main: { @@ -7621,24 +9752,24 @@ menu: { lda c cmp #print_set_screen] + //SEG48 [209] phi from menu::@9 to print_set_screen [phi:menu::@9->print_set_screen] jsr print_set_screen - //SEG49 [30] phi from menu::@8 to menu::@14 [phi:menu::@8->menu::@14] - //SEG50 menu::@14 + //SEG49 [30] phi from menu::@9 to menu::@17 [phi:menu::@9->menu::@17] + //SEG50 menu::@17 //SEG51 [31] call print_cls param-assignment [ ] ( main:2::menu:9 [ ] ) - //SEG52 [139] phi from menu::@14 to print_cls [phi:menu::@14->print_cls] + //SEG52 [203] phi from menu::@17 to print_cls [phi:menu::@17->print_cls] jsr print_cls - //SEG53 [32] phi from menu::@14 to menu::@15 [phi:menu::@14->menu::@15] - //SEG54 menu::@15 + //SEG53 [32] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] + //SEG54 menu::@18 //SEG55 [33] call print_str_lines param-assignment [ ] ( main:2::menu:9 [ ] ) - //SEG56 [119] phi from menu::@15 to print_str_lines [phi:menu::@15->print_str_lines] + //SEG56 [183] phi from menu::@18 to print_str_lines [phi:menu::@18->print_str_lines] jsr print_str_lines //SEG57 menu::@3 //SEG58 [34] if(true) goto menu::@4 [ ] ( main:2::menu:9 [ ] ) -- true_then_la1 @@ -7652,24 +9783,331 @@ menu: { b4: //SEG63 [37] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9 [ keyboard_key_pressed::return#0 ] ) //SEG64 [107] phi from menu::@4 to keyboard_key_pressed [phi:menu::@4->keyboard_key_pressed] - //SEG65 [107] phi (byte) keyboard_key_pressed::key#2 = (const byte) KEY_C#0 [phi:menu::@4->keyboard_key_pressed#0] -- vbuyy=vbuc1 - ldy #KEY_C + //SEG65 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_B#0 [phi:menu::@4->keyboard_key_pressed#0] -- vbuxx=vbuc1 + ldx #KEY_B jsr keyboard_key_pressed //SEG66 [38] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#2 ] ( main:2::menu:9 [ keyboard_key_pressed::return#2 ] ) // (byte) keyboard_key_pressed::return#2 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a - //SEG67 menu::@17 + //SEG67 menu::@20 //SEG68 [39] (byte~) menu::$26 ← (byte) keyboard_key_pressed::return#2 [ menu::$26 ] ( main:2::menu:9 [ menu::$26 ] ) // (byte~) menu::$26 = (byte) keyboard_key_pressed::return#2 // register copy reg byte a - //SEG69 [40] if((byte~) menu::$26==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@3 [ ] ( main:2::menu:9 [ ] ) -- vbuaa_eq_0_then_la1 + //SEG69 [40] if((byte~) menu::$26==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@6 [ ] ( main:2::menu:9 [ ] ) -- vbuaa_eq_0_then_la1 cmp #0 - beq b4 - //SEG70 [41] phi from menu::@17 to menu::@11 [phi:menu::@17->menu::@11] - //SEG71 menu::@11 + beq b6 + //SEG70 [41] phi from menu::@20 to menu::@12 [phi:menu::@20->menu::@12] + //SEG71 menu::@12 //SEG72 [42] call mode_twoplanebitmap param-assignment [ ] ( main:2::menu:9 [ ] ) jsr mode_twoplanebitmap jmp breturn + //SEG73 [43] phi from menu::@20 to menu::@6 [phi:menu::@20->menu::@6] + //SEG74 menu::@6 + b6: + //SEG75 [44] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9 [ keyboard_key_pressed::return#0 ] ) + //SEG76 [107] phi from menu::@6 to keyboard_key_pressed [phi:menu::@6->keyboard_key_pressed] + //SEG77 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_C#0 [phi:menu::@6->keyboard_key_pressed#0] -- vbuxx=vbuc1 + ldx #KEY_C + jsr keyboard_key_pressed + //SEG78 [45] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#3 ] ( main:2::menu:9 [ keyboard_key_pressed::return#3 ] ) + // (byte) keyboard_key_pressed::return#3 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a + //SEG79 menu::@21 + //SEG80 [46] (byte~) menu::$30 ← (byte) keyboard_key_pressed::return#3 [ menu::$30 ] ( main:2::menu:9 [ menu::$30 ] ) + // (byte~) menu::$30 = (byte) keyboard_key_pressed::return#3 // register copy reg byte a + //SEG81 [47] if((byte~) menu::$30==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@3 [ ] ( main:2::menu:9 [ ] ) -- vbuaa_eq_0_then_la1 + cmp #0 + beq b4 + //SEG82 [48] phi from menu::@21 to menu::@14 [phi:menu::@21->menu::@14] + //SEG83 menu::@14 + //SEG84 [49] call mode_sixsfred param-assignment [ ] ( main:2::menu:9 [ ] ) + jsr mode_sixsfred + jmp breturn } -//SEG73 mode_twoplanebitmap +//SEG85 mode_sixsfred +mode_sixsfred: { + .label col = 2 + .label cy = 4 + .label gfxa = 2 + .label ay = 4 + .label gfxb = 2 + .label by = 4 + //SEG86 [50] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #DTV_CONTROL_HIGHCOLOR_ON|DTV_CONTROL_LINEAR_ADDRESSING_ON + sta DTV_CONTROL + //SEG87 [51] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_ECM|VIC_BMM|VIC_DEN|VIC_RSEL|3 + sta VIC_CONTROL + //SEG88 [52] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_MCM#0|(const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_MCM|VIC_CSEL + sta VIC_CONTROL2 + //SEG89 [53] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #(const byte*) SIXSFRED_PLANEA#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>SIXSFRED_PLANEA + sta DTV_PLANEA_START_MI + //SEG91 [55] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEA_START_HI + //SEG92 [56] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #1 + sta DTV_PLANEA_STEP + //SEG93 [57] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEA_MODULO_LO + //SEG94 [58] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + sta DTV_PLANEA_MODULO_HI + //SEG95 [59] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #(const byte*) SIXSFRED_PLANEB#0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>SIXSFRED_PLANEB + sta DTV_PLANEB_START_MI + //SEG97 [61] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEB_START_HI + //SEG98 [62] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #1 + sta DTV_PLANEB_STEP + //SEG99 [63] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEB_MODULO_LO + //SEG100 [64] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + sta DTV_PLANEB_MODULO_HI + //SEG101 [65] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #(const byte*) SIXSFRED_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #>SIXSFRED_COLORS/$400 + sta DTV_COLOR_BANK_HI + //SEG103 [67] phi from mode_sixsfred to mode_sixsfred::@1 [phi:mode_sixsfred->mode_sixsfred::@1] + //SEG104 [67] phi (byte) mode_sixsfred::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred->mode_sixsfred::@1#0] -- vbuxx=vbuc1 + ldx #0 + //SEG105 [67] phi from mode_sixsfred::@1 to mode_sixsfred::@1 [phi:mode_sixsfred::@1->mode_sixsfred::@1] + //SEG106 [67] phi (byte) mode_sixsfred::i#2 = (byte) mode_sixsfred::i#1 [phi:mode_sixsfred::@1->mode_sixsfred::@1#0] -- register_copy + //SEG107 mode_sixsfred::@1 + b1: + //SEG108 [68] *((const byte*) DTV_PALETTE#0 + (byte) mode_sixsfred::i#2) ← (byte) mode_sixsfred::i#2 [ mode_sixsfred::i#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#2 ] ) -- pbuc1_derefidx_vbuxx=vbuxx + txa + sta DTV_PALETTE,x + //SEG109 [69] (byte) mode_sixsfred::i#1 ← ++ (byte) mode_sixsfred::i#2 [ mode_sixsfred::i#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG110 [70] if((byte) mode_sixsfred::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_sixsfred::@1 [ mode_sixsfred::i#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$10 + bne b1 + //SEG111 mode_sixsfred::@12 + //SEG112 [71] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta BORDERCOL + //SEG113 [72] phi from mode_sixsfred::@12 to mode_sixsfred::@2 [phi:mode_sixsfred::@12->mode_sixsfred::@2] + //SEG114 [72] phi (byte*) mode_sixsfred::col#3 = (const byte*) TWOPLANE_COLORS#0 [phi:mode_sixsfred::@12->mode_sixsfred::@2#0] -- pbuz1=pbuc1 + lda #TWOPLANE_COLORS + sta col+1 + //SEG115 [72] phi (byte) mode_sixsfred::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@12->mode_sixsfred::@2#1] -- vbuz1=vbuc1 + lda #0 + sta cy + //SEG116 [72] phi from mode_sixsfred::@13 to mode_sixsfred::@2 [phi:mode_sixsfred::@13->mode_sixsfred::@2] + //SEG117 [72] phi (byte*) mode_sixsfred::col#3 = (byte*) mode_sixsfred::col#1 [phi:mode_sixsfred::@13->mode_sixsfred::@2#0] -- register_copy + //SEG118 [72] phi (byte) mode_sixsfred::cy#4 = (byte) mode_sixsfred::cy#1 [phi:mode_sixsfred::@13->mode_sixsfred::@2#1] -- register_copy + //SEG119 mode_sixsfred::@2 + b2: + //SEG120 [73] phi from mode_sixsfred::@2 to mode_sixsfred::@3 [phi:mode_sixsfred::@2->mode_sixsfred::@3] + //SEG121 [73] phi (byte*) mode_sixsfred::col#2 = (byte*) mode_sixsfred::col#3 [phi:mode_sixsfred::@2->mode_sixsfred::@3#0] -- register_copy + //SEG122 [73] phi (byte) mode_sixsfred::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@2->mode_sixsfred::@3#1] -- vbuxx=vbuc1 + ldx #0 + //SEG123 [73] phi from mode_sixsfred::@3 to mode_sixsfred::@3 [phi:mode_sixsfred::@3->mode_sixsfred::@3] + //SEG124 [73] phi (byte*) mode_sixsfred::col#2 = (byte*) mode_sixsfred::col#1 [phi:mode_sixsfred::@3->mode_sixsfred::@3#0] -- register_copy + //SEG125 [73] phi (byte) mode_sixsfred::cx#2 = (byte) mode_sixsfred::cx#1 [phi:mode_sixsfred::@3->mode_sixsfred::@3#1] -- register_copy + //SEG126 mode_sixsfred::@3 + b3: + //SEG127 [74] (byte~) mode_sixsfred::$15 ← (byte) mode_sixsfred::cx#2 + (byte) mode_sixsfred::cy#4 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$15 ] ) -- vbuaa=vbuxx_plus_vbuz1 + txa + clc + adc cy + //SEG128 [75] (byte~) mode_sixsfred::$16 ← (byte~) mode_sixsfred::$15 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 mode_sixsfred::$16 ] ) -- vbuaa=vbuaa_band_vbuc1 + and #$f + //SEG129 [76] *((byte*) mode_sixsfred::col#2) ← (byte~) mode_sixsfred::$16 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::cx#2 mode_sixsfred::col#2 ] ) -- _deref_pbuz1=vbuaa + ldy #0 + sta (col),y + //SEG130 [77] (byte*) mode_sixsfred::col#1 ← ++ (byte*) mode_sixsfred::col#2 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#2 ] ) -- pbuz1=_inc_pbuz1 + inc col + bne !+ + inc col+1 + !: + //SEG131 [78] (byte) mode_sixsfred::cx#1 ← ++ (byte) mode_sixsfred::cx#2 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG132 [79] if((byte) mode_sixsfred::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@3 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#4 mode_sixsfred::col#1 mode_sixsfred::cx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$28 + bne b3 + //SEG133 mode_sixsfred::@13 + //SEG134 [80] (byte) mode_sixsfred::cy#1 ← ++ (byte) mode_sixsfred::cy#4 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ) -- vbuz1=_inc_vbuz1 + inc cy + //SEG135 [81] if((byte) mode_sixsfred::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_sixsfred::@2 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::cy#1 mode_sixsfred::col#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda cy + cmp #$19 + bne b2 + //SEG136 [82] phi from mode_sixsfred::@13 to mode_sixsfred::@4 [phi:mode_sixsfred::@13->mode_sixsfred::@4] + //SEG137 [82] phi (byte*) mode_sixsfred::gfxa#3 = (const byte*) SIXSFRED_PLANEA#0 [phi:mode_sixsfred::@13->mode_sixsfred::@4#0] -- pbuz1=pbuc1 + lda #SIXSFRED_PLANEA + sta gfxa+1 + //SEG138 [82] phi (byte) mode_sixsfred::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@13->mode_sixsfred::@4#1] -- vbuz1=vbuc1 + lda #0 + sta ay + //SEG139 [82] phi from mode_sixsfred::@15 to mode_sixsfred::@4 [phi:mode_sixsfred::@15->mode_sixsfred::@4] + //SEG140 [82] phi (byte*) mode_sixsfred::gfxa#3 = (byte*) mode_sixsfred::gfxa#1 [phi:mode_sixsfred::@15->mode_sixsfred::@4#0] -- register_copy + //SEG141 [82] phi (byte) mode_sixsfred::ay#4 = (byte) mode_sixsfred::ay#1 [phi:mode_sixsfred::@15->mode_sixsfred::@4#1] -- register_copy + //SEG142 mode_sixsfred::@4 + b4: + //SEG143 [83] phi from mode_sixsfred::@4 to mode_sixsfred::@5 [phi:mode_sixsfred::@4->mode_sixsfred::@5] + //SEG144 [83] phi (byte) mode_sixsfred::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@4->mode_sixsfred::@5#0] -- vbuxx=vbuc1 + ldx #0 + //SEG145 [83] phi (byte*) mode_sixsfred::gfxa#2 = (byte*) mode_sixsfred::gfxa#3 [phi:mode_sixsfred::@4->mode_sixsfred::@5#1] -- register_copy + //SEG146 [83] phi from mode_sixsfred::@5 to mode_sixsfred::@5 [phi:mode_sixsfred::@5->mode_sixsfred::@5] + //SEG147 [83] phi (byte) mode_sixsfred::ax#2 = (byte) mode_sixsfred::ax#1 [phi:mode_sixsfred::@5->mode_sixsfred::@5#0] -- register_copy + //SEG148 [83] phi (byte*) mode_sixsfred::gfxa#2 = (byte*) mode_sixsfred::gfxa#1 [phi:mode_sixsfred::@5->mode_sixsfred::@5#1] -- register_copy + //SEG149 mode_sixsfred::@5 + b5: + //SEG150 [84] (byte~) mode_sixsfred::$19 ← (byte) mode_sixsfred::ay#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::$19 ] ) -- vbuaa=vbuz1_ror_1 + lda ay + lsr + //SEG151 [85] (byte) mode_sixsfred::row#0 ← (byte~) mode_sixsfred::$19 & (byte/signed byte/word/signed word/dword/signed dword) 3 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 mode_sixsfred::row#0 ] ) -- vbuaa=vbuaa_band_vbuc1 + and #3 + //SEG152 [86] *((byte*) mode_sixsfred::gfxa#2) ← *((const byte[]) mode_sixsfred::row_bitmask#0 + (byte) mode_sixsfred::row#0) [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#2 mode_sixsfred::ax#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuaa + tay + lda row_bitmask,y + ldy #0 + sta (gfxa),y + //SEG153 [87] (byte*) mode_sixsfred::gfxa#1 ← ++ (byte*) mode_sixsfred::gfxa#2 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#2 ] ) -- pbuz1=_inc_pbuz1 + inc gfxa + bne !+ + inc gfxa+1 + !: + //SEG154 [88] (byte) mode_sixsfred::ax#1 ← ++ (byte) mode_sixsfred::ax#2 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG155 [89] if((byte) mode_sixsfred::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@5 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#4 mode_sixsfred::gfxa#1 mode_sixsfred::ax#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$28 + bne b5 + //SEG156 mode_sixsfred::@15 + //SEG157 [90] (byte) mode_sixsfred::ay#1 ← ++ (byte) mode_sixsfred::ay#4 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ) -- vbuz1=_inc_vbuz1 + inc ay + //SEG158 [91] if((byte) mode_sixsfred::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@4 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::ay#1 mode_sixsfred::gfxa#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda ay + cmp #$c8 + bne b4 + //SEG159 [92] phi from mode_sixsfred::@15 to mode_sixsfred::@6 [phi:mode_sixsfred::@15->mode_sixsfred::@6] + //SEG160 [92] phi (byte) mode_sixsfred::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@15->mode_sixsfred::@6#0] -- vbuz1=vbuc1 + lda #0 + sta by + //SEG161 [92] phi (byte*) mode_sixsfred::gfxb#3 = (const byte*) SIXSFRED_PLANEB#0 [phi:mode_sixsfred::@15->mode_sixsfred::@6#1] -- pbuz1=pbuc1 + lda #SIXSFRED_PLANEB + sta gfxb+1 + //SEG162 [92] phi from mode_sixsfred::@17 to mode_sixsfred::@6 [phi:mode_sixsfred::@17->mode_sixsfred::@6] + //SEG163 [92] phi (byte) mode_sixsfred::by#4 = (byte) mode_sixsfred::by#1 [phi:mode_sixsfred::@17->mode_sixsfred::@6#0] -- register_copy + //SEG164 [92] phi (byte*) mode_sixsfred::gfxb#3 = (byte*) mode_sixsfred::gfxb#1 [phi:mode_sixsfred::@17->mode_sixsfred::@6#1] -- register_copy + //SEG165 mode_sixsfred::@6 + b6: + //SEG166 [93] phi from mode_sixsfred::@6 to mode_sixsfred::@7 [phi:mode_sixsfred::@6->mode_sixsfred::@7] + //SEG167 [93] phi (byte) mode_sixsfred::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_sixsfred::@6->mode_sixsfred::@7#0] -- vbuxx=vbuc1 + ldx #0 + //SEG168 [93] phi (byte*) mode_sixsfred::gfxb#2 = (byte*) mode_sixsfred::gfxb#3 [phi:mode_sixsfred::@6->mode_sixsfred::@7#1] -- register_copy + //SEG169 [93] phi from mode_sixsfred::@7 to mode_sixsfred::@7 [phi:mode_sixsfred::@7->mode_sixsfred::@7] + //SEG170 [93] phi (byte) mode_sixsfred::bx#2 = (byte) mode_sixsfred::bx#1 [phi:mode_sixsfred::@7->mode_sixsfred::@7#0] -- register_copy + //SEG171 [93] phi (byte*) mode_sixsfred::gfxb#2 = (byte*) mode_sixsfred::gfxb#1 [phi:mode_sixsfred::@7->mode_sixsfred::@7#1] -- register_copy + //SEG172 mode_sixsfred::@7 + b7: + //SEG173 [94] *((byte*) mode_sixsfred::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 27 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#2 mode_sixsfred::bx#2 ] ) -- _deref_pbuz1=vbuc1 + lda #$1b + ldy #0 + sta (gfxb),y + //SEG174 [95] (byte*) mode_sixsfred::gfxb#1 ← ++ (byte*) mode_sixsfred::gfxb#2 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#2 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#2 ] ) -- pbuz1=_inc_pbuz1 + inc gfxb + bne !+ + inc gfxb+1 + !: + //SEG175 [96] (byte) mode_sixsfred::bx#1 ← ++ (byte) mode_sixsfred::bx#2 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG176 [97] if((byte) mode_sixsfred::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_sixsfred::@7 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::by#4 mode_sixsfred::gfxb#1 mode_sixsfred::bx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$28 + bne b7 + //SEG177 mode_sixsfred::@17 + //SEG178 [98] (byte) mode_sixsfred::by#1 ← ++ (byte) mode_sixsfred::by#4 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ) -- vbuz1=_inc_vbuz1 + inc by + //SEG179 [99] if((byte) mode_sixsfred::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_sixsfred::@6 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::gfxb#1 mode_sixsfred::by#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda by + cmp #$c8 + bne b6 + //SEG180 mode_sixsfred::@8 + //SEG181 [100] if(true) goto mode_sixsfred::@9 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- true_then_la1 + jmp b9 + //SEG182 mode_sixsfred::@return + breturn: + //SEG183 [101] return [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) + rts + //SEG184 [102] phi from mode_sixsfred::@8 to mode_sixsfred::@9 [phi:mode_sixsfred::@8->mode_sixsfred::@9] + //SEG185 mode_sixsfred::@9 + b9: + //SEG186 [103] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_sixsfred:49 [ keyboard_key_pressed::return#0 ] ) + //SEG187 [107] phi from mode_sixsfred::@9 to keyboard_key_pressed [phi:mode_sixsfred::@9->keyboard_key_pressed] + //SEG188 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_SPACE#0 [phi:mode_sixsfred::@9->keyboard_key_pressed#0] -- vbuxx=vbuc1 + ldx #KEY_SPACE + jsr keyboard_key_pressed + //SEG189 [104] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#10 ] ( main:2::menu:9::mode_sixsfred:49 [ keyboard_key_pressed::return#10 ] ) + // (byte) keyboard_key_pressed::return#10 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a + //SEG190 mode_sixsfred::@24 + //SEG191 [105] (byte~) mode_sixsfred::$25 ← (byte) keyboard_key_pressed::return#10 [ mode_sixsfred::$25 ] ( main:2::menu:9::mode_sixsfred:49 [ mode_sixsfred::$25 ] ) + // (byte~) mode_sixsfred::$25 = (byte) keyboard_key_pressed::return#10 // register copy reg byte a + //SEG192 [106] if((byte~) mode_sixsfred::$25==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_sixsfred::@8 [ ] ( main:2::menu:9::mode_sixsfred:49 [ ] ) -- vbuaa_eq_0_then_la1 + cmp #0 + beq b9 + jmp breturn + row_bitmask: .byte 0, $55, $aa, $ff +} +//SEG193 keyboard_key_pressed +keyboard_key_pressed: { + .label colidx = 4 + //SEG194 [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) -- vbuz1=vbuxx_band_vbuc1 + txa + and #7 + sta colidx + //SEG195 [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuaa=vbuxx_ror_3 + txa + lsr + lsr + lsr + //SEG196 [110] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) + // (byte) keyboard_matrix_read::rowid#0 = (byte) keyboard_key_pressed::rowidx#0 // register copy reg byte a + //SEG197 [111] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + jsr keyboard_matrix_read + //SEG198 [112] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) + // (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#0 // register copy reg byte a + //SEG199 keyboard_key_pressed::@2 + //SEG200 [113] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) + // (byte~) keyboard_key_pressed::$2 = (byte) keyboard_matrix_read::return#2 // register copy reg byte a + //SEG201 [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuz1 + ldy colidx + and keyboard_matrix_col_bitmask,y + //SEG202 keyboard_key_pressed::@return + //SEG203 [115] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::keyboard_key_pressed:44 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177 [ keyboard_key_pressed::return#0 ] ) + rts +} +//SEG204 keyboard_matrix_read +keyboard_matrix_read: { + //SEG205 [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuaa + tay + lda keyboard_matrix_row_bitmask,y + sta CIA1_PORT_A + //SEG206 [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuaa=_bnot__deref_pbuc1 + lda CIA1_PORT_B + eor #$ff + //SEG207 keyboard_matrix_read::@return + //SEG208 [118] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::keyboard_key_pressed:44::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_sixsfred:49::keyboard_key_pressed:103::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:177::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + rts +} +//SEG209 mode_twoplanebitmap mode_twoplanebitmap: { .label _15 = 9 .label col = 2 @@ -7678,397 +10116,358 @@ mode_twoplanebitmap: { .label ay = 4 .label gfxb = 2 .label by = 4 - //SEG74 [43] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG210 [119] *((const byte*) DTV_CONTROL#0) ← (const byte) DTV_CONTROL_HIGHCOLOR_ON#0|(const byte) DTV_CONTROL_LINEAR_ADDRESSING_ON#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #DTV_CONTROL_HIGHCOLOR_ON|DTV_CONTROL_LINEAR_ADDRESSING_ON sta DTV_CONTROL - //SEG75 [44] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG211 [120] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_ECM#0|(const byte) VIC_BMM#0|(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #VIC_ECM|VIC_BMM|VIC_DEN|VIC_RSEL|3 sta VIC_CONTROL - //SEG76 [45] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG212 [121] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #VIC_CSEL sta VIC_CONTROL2 - //SEG77 [46] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG213 [122] *((const byte*) DTV_PLANEA_START_LO#0) ← <(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG214 [123] *((const byte*) DTV_PLANEA_START_MI#0) ← >(const byte*) TWOPLANE_PLANEA#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #>TWOPLANE_PLANEA sta DTV_PLANEA_START_MI - //SEG79 [48] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG215 [124] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEA_START_HI - //SEG80 [49] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG216 [125] *((const byte*) DTV_PLANEA_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #1 sta DTV_PLANEA_STEP - //SEG81 [50] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG217 [126] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEA_MODULO_LO - //SEG82 [51] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG218 [127] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 sta DTV_PLANEA_MODULO_HI - //SEG83 [52] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG219 [128] *((const byte*) DTV_PLANEB_START_LO#0) ← <(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG220 [129] *((const byte*) DTV_PLANEB_START_MI#0) ← >(const byte*) TWOPLANE_PLANEB#0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #>TWOPLANE_PLANEB sta DTV_PLANEB_START_MI - //SEG85 [54] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG221 [130] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEB_START_HI - //SEG86 [55] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG222 [131] *((const byte*) DTV_PLANEB_STEP#0) ← (byte/signed byte/word/signed word/dword/signed dword) 1 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #1 sta DTV_PLANEB_STEP - //SEG87 [56] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG223 [132] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEB_MODULO_LO - //SEG88 [57] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG224 [133] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 sta DTV_PLANEB_MODULO_HI - //SEG89 [58] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG225 [134] *((const byte*) DTV_COLOR_BANK_LO#0) ← <(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG226 [135] *((const byte*) DTV_COLOR_BANK_HI#0) ← >(const byte*) TWOPLANE_COLORS#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #>TWOPLANE_COLORS/$400 sta DTV_COLOR_BANK_HI - //SEG91 [60] phi from mode_twoplanebitmap to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1] - //SEG92 [60] phi (byte) mode_twoplanebitmap::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1#0] -- vbuaa=vbuc1 + //SEG227 [136] phi from mode_twoplanebitmap to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1] + //SEG228 [136] phi (byte) mode_twoplanebitmap::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap->mode_twoplanebitmap::@1#0] -- vbuaa=vbuc1 lda #0 - //SEG93 [60] phi from mode_twoplanebitmap::@1 to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1] - //SEG94 [60] phi (byte) mode_twoplanebitmap::i#2 = (byte) mode_twoplanebitmap::i#1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1#0] -- register_copy - //SEG95 mode_twoplanebitmap::@1 + //SEG229 [136] phi from mode_twoplanebitmap::@1 to mode_twoplanebitmap::@1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1] + //SEG230 [136] phi (byte) mode_twoplanebitmap::i#2 = (byte) mode_twoplanebitmap::i#1 [phi:mode_twoplanebitmap::@1->mode_twoplanebitmap::@1#0] -- register_copy + //SEG231 mode_twoplanebitmap::@1 b1: - //SEG96 [61] *((const byte*) DTV_PALETTE#0 + (byte) mode_twoplanebitmap::i#2) ← (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) -- pbuc1_derefidx_vbuaa=vbuaa + //SEG232 [137] *((const byte*) DTV_PALETTE#0 + (byte) mode_twoplanebitmap::i#2) ← (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#2 ] ) -- pbuc1_derefidx_vbuaa=vbuaa tax sta DTV_PALETTE,x - //SEG97 [62] (byte) mode_twoplanebitmap::i#1 ← ++ (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuaa=_inc_vbuaa + //SEG233 [138] (byte) mode_twoplanebitmap::i#1 ← ++ (byte) mode_twoplanebitmap::i#2 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuaa=_inc_vbuaa clc adc #1 - //SEG98 [63] if((byte) mode_twoplanebitmap::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_twoplanebitmap::@1 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG234 [139] if((byte) mode_twoplanebitmap::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto mode_twoplanebitmap::@1 [ mode_twoplanebitmap::i#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::i#1 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #$10 bne b1 - //SEG99 mode_twoplanebitmap::@14 - //SEG100 [64] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG235 mode_twoplanebitmap::@14 + //SEG236 [140] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #0 sta BORDERCOL - //SEG101 [65] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG237 [141] *((const byte*) BGCOL1#0) ← (byte/signed byte/word/signed word/dword/signed dword) 112 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #$70 sta BGCOL1 - //SEG102 [66] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 + //SEG238 [142] *((const byte*) BGCOL2#0) ← (byte/word/signed word/dword/signed dword) 212 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- _deref_pbuc1=vbuc2 lda #$d4 sta BGCOL2 - //SEG103 [67] phi from mode_twoplanebitmap::@14 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2] - //SEG104 [67] phi (byte*) mode_twoplanebitmap::col#3 = (const byte*) TWOPLANE_COLORS#0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#0] -- pbuz1=pbuc1 + //SEG239 [143] phi from mode_twoplanebitmap::@14 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2] + //SEG240 [143] phi (byte*) mode_twoplanebitmap::col#3 = (const byte*) TWOPLANE_COLORS#0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#0] -- pbuz1=pbuc1 lda #TWOPLANE_COLORS sta col+1 - //SEG105 [67] phi (byte) mode_twoplanebitmap::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#1] -- vbuz1=vbuc1 + //SEG241 [143] phi (byte) mode_twoplanebitmap::cy#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@14->mode_twoplanebitmap::@2#1] -- vbuz1=vbuc1 lda #0 sta cy - //SEG106 [67] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2] - //SEG107 [67] phi (byte*) mode_twoplanebitmap::col#3 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#0] -- register_copy - //SEG108 [67] phi (byte) mode_twoplanebitmap::cy#4 = (byte) mode_twoplanebitmap::cy#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#1] -- register_copy - //SEG109 mode_twoplanebitmap::@2 + //SEG242 [143] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@2 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2] + //SEG243 [143] phi (byte*) mode_twoplanebitmap::col#3 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#0] -- register_copy + //SEG244 [143] phi (byte) mode_twoplanebitmap::cy#4 = (byte) mode_twoplanebitmap::cy#1 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@2#1] -- register_copy + //SEG245 mode_twoplanebitmap::@2 b2: - //SEG110 [68] phi from mode_twoplanebitmap::@2 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3] - //SEG111 [68] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#0] -- register_copy - //SEG112 [68] phi (byte) mode_twoplanebitmap::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#1] -- vbuxx=vbuc1 + //SEG246 [144] phi from mode_twoplanebitmap::@2 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3] + //SEG247 [144] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#3 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#0] -- register_copy + //SEG248 [144] phi (byte) mode_twoplanebitmap::cx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@2->mode_twoplanebitmap::@3#1] -- vbuxx=vbuc1 ldx #0 - //SEG113 [68] phi from mode_twoplanebitmap::@3 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3] - //SEG114 [68] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#0] -- register_copy - //SEG115 [68] phi (byte) mode_twoplanebitmap::cx#2 = (byte) mode_twoplanebitmap::cx#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#1] -- register_copy - //SEG116 mode_twoplanebitmap::@3 + //SEG249 [144] phi from mode_twoplanebitmap::@3 to mode_twoplanebitmap::@3 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3] + //SEG250 [144] phi (byte*) mode_twoplanebitmap::col#2 = (byte*) mode_twoplanebitmap::col#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#0] -- register_copy + //SEG251 [144] phi (byte) mode_twoplanebitmap::cx#2 = (byte) mode_twoplanebitmap::cx#1 [phi:mode_twoplanebitmap::@3->mode_twoplanebitmap::@3#1] -- register_copy + //SEG252 mode_twoplanebitmap::@3 b3: - //SEG117 [69] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) -- vbuaa=vbuz1_band_vbuc1 + //SEG253 [145] (byte~) mode_twoplanebitmap::$14 ← (byte) mode_twoplanebitmap::cy#4 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$14 ] ) -- vbuaa=vbuz1_band_vbuc1 lda #$f and cy - //SEG118 [70] (byte~) mode_twoplanebitmap::$15 ← (byte~) mode_twoplanebitmap::$14 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ) -- vbuz1=vbuaa_rol_4 + //SEG254 [146] (byte~) mode_twoplanebitmap::$15 ← (byte~) mode_twoplanebitmap::$14 << (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 ] ) -- vbuz1=vbuaa_rol_4 asl asl asl asl sta _15 - //SEG119 [71] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG255 [147] (byte~) mode_twoplanebitmap::$16 ← (byte) mode_twoplanebitmap::cx#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$15 mode_twoplanebitmap::$16 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #$f - //SEG120 [72] (byte~) mode_twoplanebitmap::$17 ← (byte~) mode_twoplanebitmap::$15 | (byte~) mode_twoplanebitmap::$16 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ) -- vbuaa=vbuz1_bor_vbuaa + //SEG256 [148] (byte~) mode_twoplanebitmap::$17 ← (byte~) mode_twoplanebitmap::$15 | (byte~) mode_twoplanebitmap::$16 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 mode_twoplanebitmap::$17 ] ) -- vbuaa=vbuz1_bor_vbuaa ora _15 - //SEG121 [73] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) -- _deref_pbuz1=vbuaa + //SEG257 [149] *((byte*) mode_twoplanebitmap::col#2) ← (byte~) mode_twoplanebitmap::$17 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cx#2 mode_twoplanebitmap::col#2 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (col),y - //SEG122 [74] (byte*) mode_twoplanebitmap::col#1 ← ++ (byte*) mode_twoplanebitmap::col#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG258 [150] (byte*) mode_twoplanebitmap::col#1 ← ++ (byte*) mode_twoplanebitmap::col#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#2 ] ) -- pbuz1=_inc_pbuz1 inc col bne !+ inc col+1 !: - //SEG123 [75] (byte) mode_twoplanebitmap::cx#1 ← ++ (byte) mode_twoplanebitmap::cx#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuxx=_inc_vbuxx + //SEG259 [151] (byte) mode_twoplanebitmap::cx#1 ← ++ (byte) mode_twoplanebitmap::cx#2 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG124 [76] if((byte) mode_twoplanebitmap::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@3 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG260 [152] if((byte) mode_twoplanebitmap::cx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@3 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::col#1 mode_twoplanebitmap::cx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b3 - //SEG125 mode_twoplanebitmap::@15 - //SEG126 [77] (byte) mode_twoplanebitmap::cy#1 ← ++ (byte) mode_twoplanebitmap::cy#4 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG261 mode_twoplanebitmap::@15 + //SEG262 [153] (byte) mode_twoplanebitmap::cy#1 ← ++ (byte) mode_twoplanebitmap::cy#4 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1=_inc_vbuz1 inc cy - //SEG127 [78] if((byte) mode_twoplanebitmap::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_twoplanebitmap::@2 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG263 [154] if((byte) mode_twoplanebitmap::cy#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto mode_twoplanebitmap::@2 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::cy#1 mode_twoplanebitmap::col#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda cy cmp #$19 bne b2 - //SEG128 [79] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4] - //SEG129 [79] phi (byte*) mode_twoplanebitmap::gfxa#6 = (const byte*) TWOPLANE_PLANEA#0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#0] -- pbuz1=pbuc1 + //SEG264 [155] phi from mode_twoplanebitmap::@15 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4] + //SEG265 [155] phi (byte*) mode_twoplanebitmap::gfxa#6 = (const byte*) TWOPLANE_PLANEA#0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#0] -- pbuz1=pbuc1 lda #TWOPLANE_PLANEA sta gfxa+1 - //SEG130 [79] phi (byte) mode_twoplanebitmap::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#1] -- vbuz1=vbuc1 + //SEG266 [155] phi (byte) mode_twoplanebitmap::ay#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@15->mode_twoplanebitmap::@4#1] -- vbuz1=vbuc1 lda #0 sta ay - //SEG131 [79] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4] - //SEG132 [79] phi (byte*) mode_twoplanebitmap::gfxa#6 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#0] -- register_copy - //SEG133 [79] phi (byte) mode_twoplanebitmap::ay#4 = (byte) mode_twoplanebitmap::ay#1 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#1] -- register_copy - //SEG134 mode_twoplanebitmap::@4 + //SEG267 [155] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@4 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4] + //SEG268 [155] phi (byte*) mode_twoplanebitmap::gfxa#6 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#0] -- register_copy + //SEG269 [155] phi (byte) mode_twoplanebitmap::ay#4 = (byte) mode_twoplanebitmap::ay#1 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@4#1] -- register_copy + //SEG270 mode_twoplanebitmap::@4 b4: - //SEG135 [80] phi from mode_twoplanebitmap::@4 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5] - //SEG136 [80] phi (byte) mode_twoplanebitmap::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#0] -- vbuxx=vbuc1 + //SEG271 [156] phi from mode_twoplanebitmap::@4 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5] + //SEG272 [156] phi (byte) mode_twoplanebitmap::ax#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#0] -- vbuxx=vbuc1 ldx #0 - //SEG137 [80] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#6 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#1] -- register_copy - //SEG138 [80] phi from mode_twoplanebitmap::@7 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5] - //SEG139 [80] phi (byte) mode_twoplanebitmap::ax#2 = (byte) mode_twoplanebitmap::ax#1 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#0] -- register_copy - //SEG140 [80] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#1] -- register_copy - //SEG141 mode_twoplanebitmap::@5 + //SEG273 [156] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#6 [phi:mode_twoplanebitmap::@4->mode_twoplanebitmap::@5#1] -- register_copy + //SEG274 [156] phi from mode_twoplanebitmap::@7 to mode_twoplanebitmap::@5 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5] + //SEG275 [156] phi (byte) mode_twoplanebitmap::ax#2 = (byte) mode_twoplanebitmap::ax#1 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#0] -- register_copy + //SEG276 [156] phi (byte*) mode_twoplanebitmap::gfxa#3 = (byte*) mode_twoplanebitmap::gfxa#7 [phi:mode_twoplanebitmap::@7->mode_twoplanebitmap::@5#1] -- register_copy + //SEG277 mode_twoplanebitmap::@5 b5: - //SEG142 [81] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) -- vbuaa=vbuz1_band_vbuc1 + //SEG278 [157] (byte~) mode_twoplanebitmap::$20 ← (byte) mode_twoplanebitmap::ay#4 & (byte/signed byte/word/signed word/dword/signed dword) 4 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::$20 ] ) -- vbuaa=vbuz1_band_vbuc1 lda #4 and ay - //SEG143 [82] if((byte~) mode_twoplanebitmap::$20!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@6 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- vbuaa_neq_0_then_la1 + //SEG279 [158] if((byte~) mode_twoplanebitmap::$20!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@6 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b6 - //SEG144 mode_twoplanebitmap::@17 - //SEG145 [83] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG280 mode_twoplanebitmap::@17 + //SEG281 [159] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 lda #0 tay sta (gfxa),y - //SEG146 [84] (byte*) mode_twoplanebitmap::gfxa#2 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG282 [160] (byte*) mode_twoplanebitmap::gfxa#2 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#2 ] ) -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: - //SEG147 [85] phi from mode_twoplanebitmap::@17 mode_twoplanebitmap::@6 to mode_twoplanebitmap::@7 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7] - //SEG148 [85] phi (byte*) mode_twoplanebitmap::gfxa#7 = (byte*) mode_twoplanebitmap::gfxa#2 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7#0] -- register_copy - //SEG149 mode_twoplanebitmap::@7 + //SEG283 [161] phi from mode_twoplanebitmap::@17 mode_twoplanebitmap::@6 to mode_twoplanebitmap::@7 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7] + //SEG284 [161] phi (byte*) mode_twoplanebitmap::gfxa#7 = (byte*) mode_twoplanebitmap::gfxa#2 [phi:mode_twoplanebitmap::@17/mode_twoplanebitmap::@6->mode_twoplanebitmap::@7#0] -- register_copy + //SEG285 mode_twoplanebitmap::@7 b7: - //SEG150 [86] (byte) mode_twoplanebitmap::ax#1 ← ++ (byte) mode_twoplanebitmap::ax#2 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuxx=_inc_vbuxx + //SEG286 [162] (byte) mode_twoplanebitmap::ax#1 ← ++ (byte) mode_twoplanebitmap::ax#2 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG151 [87] if((byte) mode_twoplanebitmap::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@5 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG287 [163] if((byte) mode_twoplanebitmap::ax#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@5 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::ax#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b5 - //SEG152 mode_twoplanebitmap::@19 - //SEG153 [88] (byte) mode_twoplanebitmap::ay#1 ← ++ (byte) mode_twoplanebitmap::ay#4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1=_inc_vbuz1 + //SEG288 mode_twoplanebitmap::@19 + //SEG289 [164] (byte) mode_twoplanebitmap::ay#1 ← ++ (byte) mode_twoplanebitmap::ay#4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1=_inc_vbuz1 inc ay - //SEG154 [89] if((byte) mode_twoplanebitmap::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG290 [165] if((byte) mode_twoplanebitmap::ay#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@4 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#1 mode_twoplanebitmap::gfxa#7 ] ) -- vbuz1_neq_vbuc1_then_la1 lda ay cmp #$c8 bne b4 - //SEG155 [90] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8] - //SEG156 [90] phi (byte) mode_twoplanebitmap::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#0] -- vbuz1=vbuc1 + //SEG291 [166] phi from mode_twoplanebitmap::@19 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8] + //SEG292 [166] phi (byte) mode_twoplanebitmap::by#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#0] -- vbuz1=vbuc1 lda #0 sta by - //SEG157 [90] phi (byte*) mode_twoplanebitmap::gfxb#3 = (const byte*) TWOPLANE_PLANEB#0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#1] -- pbuz1=pbuc1 + //SEG293 [166] phi (byte*) mode_twoplanebitmap::gfxb#3 = (const byte*) TWOPLANE_PLANEB#0 [phi:mode_twoplanebitmap::@19->mode_twoplanebitmap::@8#1] -- pbuz1=pbuc1 lda #TWOPLANE_PLANEB sta gfxb+1 - //SEG158 [90] phi from mode_twoplanebitmap::@21 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8] - //SEG159 [90] phi (byte) mode_twoplanebitmap::by#4 = (byte) mode_twoplanebitmap::by#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#0] -- register_copy - //SEG160 [90] phi (byte*) mode_twoplanebitmap::gfxb#3 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#1] -- register_copy - //SEG161 mode_twoplanebitmap::@8 + //SEG294 [166] phi from mode_twoplanebitmap::@21 to mode_twoplanebitmap::@8 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8] + //SEG295 [166] phi (byte) mode_twoplanebitmap::by#4 = (byte) mode_twoplanebitmap::by#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#0] -- register_copy + //SEG296 [166] phi (byte*) mode_twoplanebitmap::gfxb#3 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@21->mode_twoplanebitmap::@8#1] -- register_copy + //SEG297 mode_twoplanebitmap::@8 b8: - //SEG162 [91] phi from mode_twoplanebitmap::@8 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9] - //SEG163 [91] phi (byte) mode_twoplanebitmap::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#0] -- vbuxx=vbuc1 + //SEG298 [167] phi from mode_twoplanebitmap::@8 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9] + //SEG299 [167] phi (byte) mode_twoplanebitmap::bx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#0] -- vbuxx=vbuc1 ldx #0 - //SEG164 [91] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#3 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#1] -- register_copy - //SEG165 [91] phi from mode_twoplanebitmap::@9 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9] - //SEG166 [91] phi (byte) mode_twoplanebitmap::bx#2 = (byte) mode_twoplanebitmap::bx#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#0] -- register_copy - //SEG167 [91] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#1] -- register_copy - //SEG168 mode_twoplanebitmap::@9 + //SEG300 [167] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#3 [phi:mode_twoplanebitmap::@8->mode_twoplanebitmap::@9#1] -- register_copy + //SEG301 [167] phi from mode_twoplanebitmap::@9 to mode_twoplanebitmap::@9 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9] + //SEG302 [167] phi (byte) mode_twoplanebitmap::bx#2 = (byte) mode_twoplanebitmap::bx#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#0] -- register_copy + //SEG303 [167] phi (byte*) mode_twoplanebitmap::gfxb#2 = (byte*) mode_twoplanebitmap::gfxb#1 [phi:mode_twoplanebitmap::@9->mode_twoplanebitmap::@9#1] -- register_copy + //SEG304 mode_twoplanebitmap::@9 b9: - //SEG169 [92] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG305 [168] *((byte*) mode_twoplanebitmap::gfxb#2) ← (byte/signed byte/word/signed word/dword/signed dword) 15 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::bx#2 ] ) -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y - //SEG170 [93] (byte*) mode_twoplanebitmap::gfxb#1 ← ++ (byte*) mode_twoplanebitmap::gfxb#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG306 [169] (byte*) mode_twoplanebitmap::gfxb#1 ← ++ (byte*) mode_twoplanebitmap::gfxb#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#2 ] ) -- pbuz1=_inc_pbuz1 inc gfxb bne !+ inc gfxb+1 !: - //SEG171 [94] (byte) mode_twoplanebitmap::bx#1 ← ++ (byte) mode_twoplanebitmap::bx#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuxx=_inc_vbuxx + //SEG307 [170] (byte) mode_twoplanebitmap::bx#1 ← ++ (byte) mode_twoplanebitmap::bx#2 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG172 [95] if((byte) mode_twoplanebitmap::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@9 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG308 [171] if((byte) mode_twoplanebitmap::bx#1!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto mode_twoplanebitmap::@9 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::bx#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne b9 - //SEG173 mode_twoplanebitmap::@21 - //SEG174 [96] (byte) mode_twoplanebitmap::by#1 ← ++ (byte) mode_twoplanebitmap::by#4 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG309 mode_twoplanebitmap::@21 + //SEG310 [172] (byte) mode_twoplanebitmap::by#1 ← ++ (byte) mode_twoplanebitmap::by#4 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1=_inc_vbuz1 inc by - //SEG175 [97] if((byte) mode_twoplanebitmap::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@8 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG311 [173] if((byte) mode_twoplanebitmap::by#1!=(byte/word/signed word/dword/signed dword) 200) goto mode_twoplanebitmap::@8 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::gfxb#1 mode_twoplanebitmap::by#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda by cmp #$c8 bne b8 - //SEG176 mode_twoplanebitmap::@10 - //SEG177 [98] if(true) goto mode_twoplanebitmap::@11 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- true_then_la1 + //SEG312 mode_twoplanebitmap::@10 + //SEG313 [174] if(true) goto mode_twoplanebitmap::@11 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- true_then_la1 jmp b11 - //SEG178 mode_twoplanebitmap::@return + //SEG314 mode_twoplanebitmap::@return breturn: - //SEG179 [99] return [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) + //SEG315 [175] return [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) rts - //SEG180 [100] phi from mode_twoplanebitmap::@10 to mode_twoplanebitmap::@11 [phi:mode_twoplanebitmap::@10->mode_twoplanebitmap::@11] - //SEG181 mode_twoplanebitmap::@11 + //SEG316 [176] phi from mode_twoplanebitmap::@10 to mode_twoplanebitmap::@11 [phi:mode_twoplanebitmap::@10->mode_twoplanebitmap::@11] + //SEG317 mode_twoplanebitmap::@11 b11: - //SEG182 [101] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#0 ] ) - //SEG183 [107] phi from mode_twoplanebitmap::@11 to keyboard_key_pressed [phi:mode_twoplanebitmap::@11->keyboard_key_pressed] - //SEG184 [107] phi (byte) keyboard_key_pressed::key#2 = (const byte) KEY_SPACE#0 [phi:mode_twoplanebitmap::@11->keyboard_key_pressed#0] -- vbuyy=vbuc1 - ldy #KEY_SPACE + //SEG318 [177] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#0 ] ) + //SEG319 [107] phi from mode_twoplanebitmap::@11 to keyboard_key_pressed [phi:mode_twoplanebitmap::@11->keyboard_key_pressed] + //SEG320 [107] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_SPACE#0 [phi:mode_twoplanebitmap::@11->keyboard_key_pressed#0] -- vbuxx=vbuc1 + ldx #KEY_SPACE jsr keyboard_key_pressed - //SEG185 [102] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#3 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#3 ] ) - // (byte) keyboard_key_pressed::return#3 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a - //SEG186 mode_twoplanebitmap::@28 - //SEG187 [103] (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#3 [ mode_twoplanebitmap::$27 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::$27 ] ) - // (byte~) mode_twoplanebitmap::$27 = (byte) keyboard_key_pressed::return#3 // register copy reg byte a - //SEG188 [104] if((byte~) mode_twoplanebitmap::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@10 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- vbuaa_eq_0_then_la1 + //SEG321 [178] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ keyboard_key_pressed::return#4 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ keyboard_key_pressed::return#4 ] ) + // (byte) keyboard_key_pressed::return#4 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a + //SEG322 mode_twoplanebitmap::@28 + //SEG323 [179] (byte~) mode_twoplanebitmap::$27 ← (byte) keyboard_key_pressed::return#4 [ mode_twoplanebitmap::$27 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::$27 ] ) + // (byte~) mode_twoplanebitmap::$27 = (byte) keyboard_key_pressed::return#4 // register copy reg byte a + //SEG324 [180] if((byte~) mode_twoplanebitmap::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode_twoplanebitmap::@10 [ ] ( main:2::menu:9::mode_twoplanebitmap:42 [ ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b11 jmp breturn - //SEG189 mode_twoplanebitmap::@6 + //SEG325 mode_twoplanebitmap::@6 b6: - //SEG190 [105] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG326 [181] *((byte*) mode_twoplanebitmap::gfxa#3) ← (byte/word/signed word/dword/signed dword) 255 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::ax#2 ] ) -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y - //SEG191 [106] (byte*) mode_twoplanebitmap::gfxa#1 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG327 [182] (byte*) mode_twoplanebitmap::gfxa#1 ← ++ (byte*) mode_twoplanebitmap::gfxa#3 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ( main:2::menu:9::mode_twoplanebitmap:42 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ax#2 mode_twoplanebitmap::gfxa#1 ] ) -- pbuz1=_inc_pbuz1 inc gfxa bne !+ inc gfxa+1 !: jmp b7 } -//SEG192 keyboard_key_pressed -keyboard_key_pressed: { - //SEG193 [108] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::key#2 keyboard_key_pressed::colidx#0 ] ) -- vbuxx=vbuyy_band_vbuc1 - tya - and #7 - tax - //SEG194 [109] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#2 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuaa=vbuyy_ror_3 - tya - lsr - lsr - lsr - //SEG195 [110] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) - // (byte) keyboard_matrix_read::rowid#0 = (byte) keyboard_key_pressed::rowidx#0 // register copy reg byte a - //SEG196 [111] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) - jsr keyboard_matrix_read - //SEG197 [112] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) - // (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#0 // register copy reg byte a - //SEG198 keyboard_key_pressed::@2 - //SEG199 [113] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) - // (byte~) keyboard_key_pressed::$2 = (byte) keyboard_matrix_read::return#2 // register copy reg byte a - //SEG200 [114] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx - and keyboard_matrix_col_bitmask,x - //SEG201 keyboard_key_pressed::@return - //SEG202 [115] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37 [ keyboard_key_pressed::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101 [ keyboard_key_pressed::return#0 ] ) - rts -} -//SEG203 keyboard_matrix_read -keyboard_matrix_read: { - //SEG204 [116] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuaa - tay - lda keyboard_matrix_row_bitmask,y - sta CIA1_PORT_A - //SEG205 [117] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuaa=_bnot__deref_pbuc1 - lda CIA1_PORT_B - eor #$ff - //SEG206 keyboard_matrix_read::@return - //SEG207 [118] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:9::keyboard_key_pressed:37::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:9::mode_twoplanebitmap:42::keyboard_key_pressed:101::keyboard_matrix_read:111 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) - rts -} -//SEG208 print_str_lines +//SEG328 print_str_lines print_str_lines: { .label str = 2 - //SEG209 [120] phi from print_str_lines to print_str_lines::@1 [phi:print_str_lines->print_str_lines::@1] - //SEG210 [120] phi (byte*) print_line_cursor#17 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#0] -- pbuz1=pbuc1 + //SEG329 [184] phi from print_str_lines to print_str_lines::@1 [phi:print_str_lines->print_str_lines::@1] + //SEG330 [184] phi (byte*) print_line_cursor#17 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#0] -- pbuz1=pbuc1 lda #MENU_SCREEN sta print_line_cursor+1 - //SEG211 [120] phi (byte*) print_char_cursor#19 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#1] -- pbuz1=pbuc1 + //SEG331 [184] phi (byte*) print_char_cursor#19 = (const byte*) MENU_SCREEN#0 [phi:print_str_lines->print_str_lines::@1#1] -- pbuz1=pbuc1 lda #MENU_SCREEN sta print_char_cursor+1 - //SEG212 [120] phi (byte*) print_str_lines::str#2 = (const string) MENU_TEXT#0 [phi:print_str_lines->print_str_lines::@1#2] -- pbuz1=pbuc1 + //SEG332 [184] phi (byte*) print_str_lines::str#2 = (const string) MENU_TEXT#0 [phi:print_str_lines->print_str_lines::@1#2] -- pbuz1=pbuc1 lda #MENU_TEXT sta str+1 - //SEG213 print_str_lines::@1 + //SEG333 print_str_lines::@1 b1: - //SEG214 [121] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG334 [185] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4 - //SEG215 print_str_lines::@return - //SEG216 [122] return [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) + //SEG335 print_str_lines::@return + //SEG336 [186] return [ ] ( main:2::menu:9::print_str_lines:33 [ ] ) rts - //SEG217 [123] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] - //SEG218 [123] phi (byte*) print_char_cursor#17 = (byte*) print_char_cursor#19 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG219 [123] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#2 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy - //SEG220 print_str_lines::@4 + //SEG337 [187] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG338 [187] phi (byte*) print_char_cursor#17 = (byte*) print_char_cursor#19 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy + //SEG339 [187] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#2 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy + //SEG340 print_str_lines::@4 b4: - //SEG221 [124] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa=_deref_pbuz1 + //SEG341 [188] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - //SEG222 [125] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 + //SEG342 [189] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG223 [126] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa_eq_vbuc1_then_la1 + //SEG343 [190] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa_eq_vbuc1_then_la1 cmp #'@' beq b5 - //SEG224 print_str_lines::@8 - //SEG225 [127] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuaa + //SEG344 print_str_lines::@8 + //SEG345 [191] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG226 [128] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG346 [192] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG227 [129] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] - //SEG228 [129] phi (byte*) print_char_cursor#32 = (byte*) print_char_cursor#17 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy - //SEG229 print_str_lines::@5 + //SEG347 [193] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG348 [193] phi (byte*) print_char_cursor#32 = (byte*) print_char_cursor#17 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG349 print_str_lines::@5 b5: - //SEG230 [130] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG350 [194] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #'@' bne b4 - //SEG231 [131] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] - //SEG232 print_str_lines::@9 - //SEG233 [132] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_line_cursor#19 ] ) - //SEG234 [134] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG351 [195] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG352 print_str_lines::@9 + //SEG353 [196] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_line_cursor#19 ] ) + //SEG354 [198] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] jsr print_ln - //SEG235 [133] (byte*~) print_char_cursor#56 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#56 print_line_cursor#19 ] ) -- pbuz1=pbuz2 + //SEG355 [197] (byte*~) print_char_cursor#61 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#19 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG236 [120] phi from print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines::@9->print_str_lines::@1] - //SEG237 [120] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#19 [phi:print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG238 [120] phi (byte*) print_char_cursor#19 = (byte*~) print_char_cursor#56 [phi:print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG239 [120] phi (byte*) print_str_lines::str#2 = (byte*) print_str_lines::str#0 [phi:print_str_lines::@9->print_str_lines::@1#2] -- register_copy + //SEG356 [184] phi from print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines::@9->print_str_lines::@1] + //SEG357 [184] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#19 [phi:print_str_lines::@9->print_str_lines::@1#0] -- register_copy + //SEG358 [184] phi (byte*) print_char_cursor#19 = (byte*~) print_char_cursor#61 [phi:print_str_lines::@9->print_str_lines::@1#1] -- register_copy + //SEG359 [184] phi (byte*) print_str_lines::str#2 = (byte*) print_str_lines::str#0 [phi:print_str_lines::@9->print_str_lines::@1#2] -- register_copy jmp b1 } -//SEG240 print_ln +//SEG360 print_ln print_ln: { - //SEG241 [135] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] - //SEG242 [135] phi (byte*) print_line_cursor#18 = (byte*) print_line_cursor#17 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy - //SEG243 print_ln::@1 + //SEG361 [199] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG362 [199] phi (byte*) print_line_cursor#18 = (byte*) print_line_cursor#17 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG363 print_ln::@1 b1: - //SEG244 [136] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG364 [200] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -8076,7 +10475,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG245 [137] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG365 [201] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1 @@ -8085,51 +10484,51 @@ print_ln: { cmp print_char_cursor bcc b1 !: - //SEG246 print_ln::@return - //SEG247 [138] return [ print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33::print_ln:132 [ print_str_lines::str#0 print_line_cursor#19 ] ) + //SEG366 print_ln::@return + //SEG367 [202] return [ print_line_cursor#19 ] ( main:2::menu:9::print_str_lines:33::print_ln:196 [ print_str_lines::str#0 print_line_cursor#19 ] ) rts } -//SEG248 print_cls +//SEG368 print_cls print_cls: { .label sc = 2 - //SEG249 [140] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] - //SEG250 [140] phi (byte*) print_cls::sc#2 = (const byte*) MENU_SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG369 [204] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG370 [204] phi (byte*) print_cls::sc#2 = (const byte*) MENU_SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #MENU_SCREEN sta sc+1 - //SEG251 [140] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] - //SEG252 [140] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy - //SEG253 print_cls::@1 + //SEG371 [204] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG372 [204] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG373 print_cls::@1 b1: - //SEG254 [141] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG374 [205] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG255 [142] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG375 [206] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG256 [143] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG376 [207] if((byte*) print_cls::sc#1!=(const byte*) MENU_SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:9::print_cls:31 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>MENU_SCREEN+$3e8 bne b1 lda sc cmp #