1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-08-02 09:29:35 +00:00

Added Sixs FRED mode.

This commit is contained in:
jespergravgaard 2018-03-27 10:01:28 +02:00
parent 472e6c43bd
commit b122ac8af3
5 changed files with 4858 additions and 2037 deletions

View File

@ -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_MI = >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_MI = >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;
}
}
}

View File

@ -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_LO
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_LO
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_LO
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
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
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
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 #<MENU_SCREEN
@ -388,4 +537,4 @@ print_set_screen: {
DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a
keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f
keyboard_matrix_col_bitmask: .byte 1, 2, 4, 8, $10, $20, $40, $80
MENU_TEXT: .text "C64DTV Graphics Modes EMBLHCC@"+" CCMIIHO@"+" MMMNCUL@"+"----------------------------------------@"+"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@"+"----------------------------------------@"+" (V) vicII (H) vicII+hicol (D) c64dtv@"+"@"
MENU_TEXT: .text "C64DTV Graphics Modes CCLHBME@"+" OHIIMCC@"+" LUNCMMM@"+"----------------------------------------@"+"1. Standard Char (V) 0000000@"+"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@"+"@"

View File

@ -1,13 +1,13 @@
@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
@ -43,227 +43,335 @@ 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

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
(label) @21
(label) @22
(label) @begin
(label) @end
(byte*) BGCOL
@ -65,6 +65,8 @@
(const byte*) DTV_PLANEB_START_MI#0 DTV_PLANEB_START_MI = ((byte*))(word/dword/signed dword) 53322
(byte*) DTV_PLANEB_STEP
(const byte*) DTV_PLANEB_STEP#0 DTV_PLANEB_STEP = ((byte*))(word/dword/signed dword) 53324
(byte) KEY_B
(const byte) KEY_B#0 KEY_B = (byte/signed byte/word/signed word/dword/signed dword) 28
(byte) KEY_C
(const byte) KEY_C#0 KEY_C = (byte/signed byte/word/signed word/dword/signed dword) 20
(byte) KEY_SPACE
@ -76,7 +78,13 @@
(byte*) MENU_SCREEN
(const byte*) MENU_SCREEN#0 MENU_SCREEN = ((byte*))(word/dword/signed dword) 32768
(byte[]) MENU_TEXT
(const string) MENU_TEXT#0 MENU_TEXT = (string) "C64DTV Graphics Modes EMBLHCC@"+(string) " CCMIIHO@"+(string) " MMMNCUL@"+(string) "----------------------------------------@"+(string) "1. Standard Char (V) 0000000@"+(string) "2. Extended Color Char (V) 1000000@"+(string) "3. Multicolor Char (V) 0100000@"+(string) "4. Standard Bitmap (V) 0010000@"+(string) "5. Multicolor Bitmap (V) 0110000@"+(string) "6. High Color Standard Char (H) 0000100@"+(string) "7. High Extended Color Char (H) 1000100@"+(string) "8. High Multicolor Char (H) 0100100@"+(string) "9. High Multicolor Bitmap (H) 0110100@"+(string) "a. Sixs Fred (D) 1111100@"+(string) "b. Sixs Fred 2 (D) 1111000@"+(string) "c. Two Plane Bitmap (D) 1011100@"+(string) "d. Two Plane Multicol Bitmap (D) 1111100@"+(string) "e. 8bpp Pixel Cell (D) 1101110@"+(string) "f. Chunky 8bpp Bitmap (D) 1101111@"+(string) "----------------------------------------@"+(string) " (V) vicII (H) vicII+hicol (D) c64dtv@"+(string) "@"
(const string) MENU_TEXT#0 MENU_TEXT = (string) "C64DTV Graphics Modes CCLHBME@"+(string) " OHIIMCC@"+(string) " LUNCMMM@"+(string) "----------------------------------------@"+(string) "1. Standard Char (V) 0000000@"+(string) "2. Extended Color Char (V) 0000001@"+(string) "3. Multicolor Char (V) 0000010@"+(string) "4. Standard Bitmap (V) 0000100@"+(string) "5. Multicolor Bitmap (V) 0000110@"+(string) "6. High Color Standard Char (H) 0001000@"+(string) "7. High Extended Color Char (H) 0001001@"+(string) "8. High Multicolor Char (H) 0001010@"+(string) "9. High Multicolor Bitmap (H) 0001110@"+(string) "a. Sixs Fred 2 (D) 0010111@"+(string) "b. Two Plane Bitmap (D) 0011101@"+(string) "c. Sixs Fred (2 Plane MC BM) (D) 0011111@"+(string) "d. 8bpp Pixel Cell (D) 0111011@"+(string) "e. Chunky 8bpp Bitmap (D) 1111011@"+(string) "----------------------------------------@"+(string) " (V) vicII (H) vicII+hicol (D) c64dtv@"+(string) "@"
(byte*) SIXSFRED_COLORS
(const byte*) SIXSFRED_COLORS#0 SIXSFRED_COLORS = ((byte*))(word/dword/signed dword) 32768
(byte*) SIXSFRED_PLANEA
(const byte*) SIXSFRED_PLANEA#0 SIXSFRED_PLANEA = ((byte*))(word/signed word/dword/signed dword) 16384
(byte*) SIXSFRED_PLANEB
(const byte*) SIXSFRED_PLANEB#0 SIXSFRED_PLANEB = ((byte*))(word/signed word/dword/signed dword) 24576
(byte*) TWOPLANE_COLORS
(const byte*) TWOPLANE_COLORS#0 TWOPLANE_COLORS = ((byte*))(word/dword/signed dword) 32768
(byte*) TWOPLANE_PLANEA
@ -95,6 +103,8 @@
(const byte) VIC_DEN#0 VIC_DEN = (byte/signed byte/word/signed word/dword/signed dword) 16
(byte) VIC_ECM
(const byte) VIC_ECM#0 VIC_ECM = (byte/signed byte/word/signed word/dword/signed dword) 64
(byte) VIC_MCM
(const byte) VIC_MCM#0 VIC_MCM = (byte/signed byte/word/signed word/dword/signed dword) 16
(byte*) VIC_MEMORY
(const byte*) VIC_MEMORY#0 VIC_MEMORY = ((byte*))(word/dword/signed dword) 53272
(byte) VIC_RSEL
@ -104,13 +114,15 @@
(label) keyboard_key_pressed::@2
(label) keyboard_key_pressed::@return
(byte) keyboard_key_pressed::colidx
(byte) keyboard_key_pressed::colidx#0 reg byte x 0.6666666666666666
(byte) keyboard_key_pressed::colidx#0 colidx zp ZP_BYTE:4 0.6666666666666666
(byte) keyboard_key_pressed::key
(byte) keyboard_key_pressed::key#2 reg byte y 2.0
(byte) keyboard_key_pressed::key#4 reg byte x 2.0
(byte) keyboard_key_pressed::return
(byte) keyboard_key_pressed::return#0 reg byte a 51.0
(byte) keyboard_key_pressed::return#0 reg byte a 67.66666666666667
(byte) keyboard_key_pressed::return#10 reg byte a 202.0
(byte) keyboard_key_pressed::return#2 reg byte a 202.0
(byte) keyboard_key_pressed::return#3 reg byte a 202.0
(byte) keyboard_key_pressed::return#4 reg byte a 202.0
(byte) keyboard_key_pressed::rowidx
(byte) keyboard_key_pressed::rowidx#0 reg byte a 4.0
(byte[]) keyboard_matrix_col_bitmask
@ -131,15 +143,19 @@
(label) main::@return
(void()) menu()
(byte~) menu::$26 reg byte a 202.0
(byte~) menu::$30 reg byte a 202.0
(label) menu::@1
(label) menu::@11
(label) menu::@12
(label) menu::@14
(label) menu::@15
(label) menu::@17
(label) menu::@18
(label) menu::@2
(label) menu::@20
(label) menu::@21
(label) menu::@3
(label) menu::@4
(label) menu::@8
(label) menu::@6
(label) menu::@9
(label) menu::@return
(byte*) menu::c
(byte*) menu::c#1 c zp ZP_WORD:2 151.5
@ -147,6 +163,63 @@
(byte) menu::i
(byte) menu::i#1 reg byte x 151.5
(byte) menu::i#2 reg byte x 202.0
(void()) mode_sixsfred()
(byte~) mode_sixsfred::$15 reg byte a 2002.0
(byte~) mode_sixsfred::$16 reg byte a 2002.0
(byte~) mode_sixsfred::$19 reg byte a 2002.0
(byte~) mode_sixsfred::$25 reg byte a 202.0
(label) mode_sixsfred::@1
(label) mode_sixsfred::@12
(label) mode_sixsfred::@13
(label) mode_sixsfred::@15
(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#1 reg byte x 1501.5
(byte) mode_sixsfred::ax#2 reg byte x 400.4
(byte) mode_sixsfred::ay
(byte) mode_sixsfred::ay#1 ay zp ZP_BYTE:4 151.5
(byte) mode_sixsfred::ay#4 ay zp ZP_BYTE:4 150.375
(byte) mode_sixsfred::bx
(byte) mode_sixsfred::bx#1 reg byte x 1501.5
(byte) mode_sixsfred::bx#2 reg byte x 667.3333333333334
(byte) mode_sixsfred::by
(byte) mode_sixsfred::by#1 by zp ZP_BYTE:4 151.5
(byte) mode_sixsfred::by#4 by zp ZP_BYTE:4 33.666666666666664
(byte*) mode_sixsfred::col
(byte*) mode_sixsfred::col#1 col zp ZP_WORD:2 420.59999999999997
(byte*) mode_sixsfred::col#2 col zp ZP_WORD:2 776.0
(byte*) mode_sixsfred::col#3 col zp ZP_WORD:2 202.0
(byte) mode_sixsfred::cx
(byte) mode_sixsfred::cx#1 reg byte x 1501.5
(byte) mode_sixsfred::cx#2 reg byte x 600.5999999999999
(byte) mode_sixsfred::cy
(byte) mode_sixsfred::cy#1 cy zp ZP_BYTE:4 151.5
(byte) mode_sixsfred::cy#4 cy zp ZP_BYTE:4 150.375
(byte*) mode_sixsfred::gfxa
(byte*) mode_sixsfred::gfxa#1 gfxa zp ZP_WORD:2 420.59999999999997
(byte*) mode_sixsfred::gfxa#2 gfxa zp ZP_WORD:2 776.0
(byte*) mode_sixsfred::gfxa#3 gfxa zp ZP_WORD:2 202.0
(byte*) mode_sixsfred::gfxb
(byte*) mode_sixsfred::gfxb#1 gfxb zp ZP_WORD:2 420.59999999999997
(byte*) mode_sixsfred::gfxb#2 gfxb zp ZP_WORD:2 1552.0
(byte*) mode_sixsfred::gfxb#3 gfxb zp ZP_WORD:2 202.0
(byte) mode_sixsfred::i
(byte) mode_sixsfred::i#1 reg byte x 151.5
(byte) mode_sixsfred::i#2 reg byte x 202.0
(byte) mode_sixsfred::row
(byte) mode_sixsfred::row#0 reg byte a 2002.0
(byte[]) mode_sixsfred::row_bitmask
(const byte[]) mode_sixsfred::row_bitmask#0 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 }
(void()) mode_twoplanebitmap()
(byte~) mode_twoplanebitmap::$14 reg byte a 2002.0
(byte~) mode_twoplanebitmap::$15 $15 zp ZP_BYTE:9 1001.0
@ -212,7 +285,7 @@
(byte*) print_char_cursor#17 print_char_cursor zp ZP_WORD:5 821.0
(byte*) print_char_cursor#19 print_char_cursor zp ZP_WORD:5 101.0
(byte*) print_char_cursor#32 print_char_cursor zp ZP_WORD:5 572.0
(byte*~) print_char_cursor#56 print_char_cursor zp ZP_WORD:5 202.0
(byte*~) print_char_cursor#61 print_char_cursor zp ZP_WORD:5 202.0
(void()) print_cls()
(label) print_cls::@1
(label) print_cls::@return
@ -245,29 +318,40 @@
(byte*) print_str_lines::str#3 str zp ZP_WORD:2 1552.0
reg byte x [ menu::i#2 menu::i#1 ]
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 ]
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 ]
reg byte x [ mode_sixsfred::i#2 mode_sixsfred::i#1 ]
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 ]
reg byte x [ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ]
reg byte x [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ]
reg byte x [ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ]
reg byte x [ keyboard_key_pressed::key#4 ]
reg byte a [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ]
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 ]
reg byte x [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ]
reg byte x [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ]
reg byte x [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ]
reg byte y [ keyboard_key_pressed::key#2 ]
zp ZP_WORD:5 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#56 print_char_cursor#32 print_char_cursor#1 ]
zp ZP_WORD:5 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#61 print_char_cursor#32 print_char_cursor#1 ]
zp ZP_WORD:7 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ]
reg byte a [ keyboard_key_pressed::return#2 ]
reg byte a [ menu::$26 ]
reg byte a [ mode_twoplanebitmap::$14 ]
zp ZP_BYTE:9 [ mode_twoplanebitmap::$15 ]
reg byte a [ mode_twoplanebitmap::$16 ]
reg byte a [ mode_twoplanebitmap::$17 ]
reg byte a [ mode_twoplanebitmap::$20 ]
reg byte a [ keyboard_key_pressed::return#3 ]
reg byte a [ mode_twoplanebitmap::$27 ]
reg byte x [ keyboard_key_pressed::colidx#0 ]
reg byte a [ menu::$30 ]
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 a [ keyboard_key_pressed::return#10 ]
reg byte a [ mode_sixsfred::$25 ]
reg byte a [ keyboard_key_pressed::rowidx#0 ]
reg byte a [ keyboard_matrix_read::rowid#0 ]
reg byte a [ keyboard_matrix_read::return#2 ]
reg byte a [ keyboard_key_pressed::$2 ]
reg byte a [ keyboard_key_pressed::return#0 ]
reg byte a [ keyboard_matrix_read::return#0 ]
reg byte a [ mode_twoplanebitmap::$14 ]
zp ZP_BYTE:9 [ mode_twoplanebitmap::$15 ]
reg byte a [ mode_twoplanebitmap::$16 ]
reg byte a [ mode_twoplanebitmap::$17 ]
reg byte a [ mode_twoplanebitmap::$20 ]
reg byte a [ keyboard_key_pressed::return#4 ]
reg byte a [ mode_twoplanebitmap::$27 ]
reg byte a [ print_str_lines::ch#0 ]