|
|
|
@ -1872,19 +1872,19 @@ gfx_mode::@22: scope:[gfx_mode] from gfx_mode::@21
|
|
|
|
|
gfx_mode::@23: scope:[gfx_mode] from gfx_mode::@22
|
|
|
|
|
(byte) keyboard_modifiers#83 ← phi( gfx_mode::@22/(byte) keyboard_modifiers#88 )
|
|
|
|
|
(byte) keyboard_events_size#92 ← phi( gfx_mode::@22/(byte) keyboard_events_size#101 )
|
|
|
|
|
*((const nomodify byte*) BORDERCOL) ← (number) 0
|
|
|
|
|
*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (number) 0
|
|
|
|
|
(number~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) * (number) $10
|
|
|
|
|
(number~) gfx_mode::$56 ← (number~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo)
|
|
|
|
|
*((const nomodify byte*) BGCOL1) ← (number~) gfx_mode::$56
|
|
|
|
|
*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (number~) gfx_mode::$56
|
|
|
|
|
(number~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) * (number) $10
|
|
|
|
|
(number~) gfx_mode::$58 ← (number~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo)
|
|
|
|
|
*((const nomodify byte*) BGCOL2) ← (number~) gfx_mode::$58
|
|
|
|
|
*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (number~) gfx_mode::$58
|
|
|
|
|
(number~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) * (number) $10
|
|
|
|
|
(number~) gfx_mode::$60 ← (number~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo)
|
|
|
|
|
*((const nomodify byte*) BGCOL3) ← (number~) gfx_mode::$60
|
|
|
|
|
*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (number~) gfx_mode::$60
|
|
|
|
|
(number~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) * (number) $10
|
|
|
|
|
(number~) gfx_mode::$62 ← (number~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo)
|
|
|
|
|
*((const nomodify byte*) BGCOL4) ← (number~) gfx_mode::$62
|
|
|
|
|
*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (number~) gfx_mode::$62
|
|
|
|
|
(bool~) gfx_mode::$63 ← *((const nomodify byte*) form_dtv_palet) == (number) 0
|
|
|
|
|
if((bool~) gfx_mode::$63) goto gfx_mode::@10
|
|
|
|
|
to:gfx_mode::@24
|
|
|
|
@ -1924,7 +1924,7 @@ gfx_mode::@27: scope:[gfx_mode] from gfx_mode::@25 gfx_mode::@26 gfx_mode::@36
|
|
|
|
|
gfx_mode::@28: scope:[gfx_mode] from gfx_mode::@27 gfx_mode::@28
|
|
|
|
|
(byte) keyboard_modifiers#59 ← phi( gfx_mode::@27/(byte) keyboard_modifiers#41 gfx_mode::@28/(byte) keyboard_modifiers#59 )
|
|
|
|
|
(byte) keyboard_events_size#60 ← phi( gfx_mode::@27/(byte) keyboard_events_size#45 gfx_mode::@28/(byte) keyboard_events_size#60 )
|
|
|
|
|
(bool~) gfx_mode::$77 ← *((const nomodify byte*) RASTER) != (number) $ff
|
|
|
|
|
(bool~) gfx_mode::$77 ← *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER) != (number) $ff
|
|
|
|
|
if((bool~) gfx_mode::$77) goto gfx_mode::@28
|
|
|
|
|
to:gfx_mode::@29
|
|
|
|
|
gfx_mode::@29: scope:[gfx_mode] from gfx_mode::@28
|
|
|
|
@ -2806,9 +2806,9 @@ form_mode::@16: scope:[form_mode] from form_mode::@15
|
|
|
|
|
*((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (number) 3
|
|
|
|
|
*((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A) ← (number) 3^(byte)(word)(const nomodify byte*) FORM_CHARSET/(number) $4000
|
|
|
|
|
*((const nomodify byte*) DTV_CONTROL) ← (number) 0
|
|
|
|
|
*((const nomodify byte*) VIC_CONTROL) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(number) 3
|
|
|
|
|
*((const nomodify byte*) VIC_CONTROL2) ← (const nomodify byte) VIC_CSEL
|
|
|
|
|
*((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(number) $3fff/(number) $40|(word)(const nomodify byte*) FORM_CHARSET&(number) $3fff/(number) $400
|
|
|
|
|
*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(number) 3
|
|
|
|
|
*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2) ← (const nomodify byte) VIC_CSEL
|
|
|
|
|
*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(number) $3fff/(number) $40|(word)(const nomodify byte*) FORM_CHARSET&(number) $3fff/(number) $400
|
|
|
|
|
*((const nomodify byte*) DTV_PLANEA_START_LO) ← <(const nomodify byte*) FORM_SCREEN
|
|
|
|
|
*((const nomodify byte*) DTV_PLANEA_START_MI) ← >(const nomodify byte*) FORM_SCREEN
|
|
|
|
|
*((const nomodify byte*) DTV_PLANEA_START_HI) ← (number) 0
|
|
|
|
@ -2836,8 +2836,8 @@ form_mode::@2: scope:[form_mode] from form_mode::@1
|
|
|
|
|
(byte*) print_char_cursor#56 ← phi( form_mode::@1/(byte*) print_char_cursor#62 )
|
|
|
|
|
(byte*) print_line_cursor#49 ← phi( form_mode::@1/(byte*) print_line_cursor#57 )
|
|
|
|
|
(byte*) print_screen#28 ← phi( form_mode::@1/(byte*) print_screen#34 )
|
|
|
|
|
*((const nomodify byte*) BGCOL) ← (number) 0
|
|
|
|
|
*((const nomodify byte*) BORDERCOL) ← (number) 0
|
|
|
|
|
*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (number) 0
|
|
|
|
|
*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (number) 0
|
|
|
|
|
(byte) form_mode::preset_current#0 ← *((const nomodify byte*) form_preset)
|
|
|
|
|
to:form_mode::@3
|
|
|
|
|
form_mode::@3: scope:[form_mode] from form_mode::@2 form_mode::@20 form_mode::@6
|
|
|
|
@ -2860,7 +2860,7 @@ form_mode::@4: scope:[form_mode] from form_mode::@3 form_mode::@4
|
|
|
|
|
(byte) keyboard_modifiers#63 ← phi( form_mode::@3/(byte) keyboard_modifiers#44 form_mode::@4/(byte) keyboard_modifiers#63 )
|
|
|
|
|
(byte) keyboard_events_size#64 ← phi( form_mode::@3/(byte) keyboard_events_size#47 form_mode::@4/(byte) keyboard_events_size#64 )
|
|
|
|
|
(signed byte) form_cursor_count#32 ← phi( form_mode::@3/(signed byte) form_cursor_count#21 form_mode::@4/(signed byte) form_cursor_count#32 )
|
|
|
|
|
(bool~) form_mode::$10 ← *((const nomodify byte*) RASTER) != (number) $ff
|
|
|
|
|
(bool~) form_mode::$10 ← *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER) != (number) $ff
|
|
|
|
|
if((bool~) form_mode::$10) goto form_mode::@4
|
|
|
|
|
to:form_mode::@5
|
|
|
|
|
form_mode::@5: scope:[form_mode] from form_mode::@4
|
|
|
|
@ -3322,12 +3322,6 @@ SYMBOL TABLE SSA
|
|
|
|
|
(label) @5
|
|
|
|
|
(label) @begin
|
|
|
|
|
(label) @end
|
|
|
|
|
(const nomodify byte*) BGCOL = (byte*)(number) $d021
|
|
|
|
|
(const nomodify byte*) BGCOL1 = (byte*)(number) $d021
|
|
|
|
|
(const nomodify byte*) BGCOL2 = (byte*)(number) $d022
|
|
|
|
|
(const nomodify byte*) BGCOL3 = (byte*)(number) $d023
|
|
|
|
|
(const nomodify byte*) BGCOL4 = (byte*)(number) $d024
|
|
|
|
|
(const nomodify byte*) BORDERCOL = (byte*)(number) $d020
|
|
|
|
|
(const nomodify byte*) CHARGEN = (byte*)(number) $d000
|
|
|
|
|
(const nomodify struct MOS6526_CIA*) CIA1 = (struct MOS6526_CIA*)(number) $dc00
|
|
|
|
|
(const nomodify struct MOS6526_CIA*) CIA2 = (struct MOS6526_CIA*)(number) $dd00
|
|
|
|
@ -3464,6 +3458,15 @@ SYMBOL TABLE SSA
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR = (byte) 2
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B = (byte) 1
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B_DDR = (byte) 3
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR = (byte) $21
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1 = (byte) $22
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2 = (byte) $23
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3 = (byte) $24
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = (byte) $20
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1 = (byte) $11
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2 = (byte) $16
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY = (byte) $18
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER = (byte) $12
|
|
|
|
|
(const nomodify dword) PLANE_8BPP_CHUNKY = (dword) $20000
|
|
|
|
|
(const nomodify dword) PLANE_BLANK = (dword) $38000
|
|
|
|
|
(const nomodify dword) PLANE_CHARSET8 = (dword) $3c000
|
|
|
|
@ -3481,7 +3484,7 @@ SYMBOL TABLE SSA
|
|
|
|
|
(const byte) RADIX::DECIMAL = (number) $a
|
|
|
|
|
(const byte) RADIX::HEXADECIMAL = (number) $10
|
|
|
|
|
(const byte) RADIX::OCTAL = (number) 8
|
|
|
|
|
(const nomodify byte*) RASTER = (byte*)(number) $d012
|
|
|
|
|
(const nomodify struct MOS6569_VICII*) VICII = (struct MOS6569_VICII*)(number) $d000
|
|
|
|
|
(const nomodify byte*) VIC_BITMAP = (byte*)(number) $6000
|
|
|
|
|
(const nomodify byte) VIC_BMM = (byte) $20
|
|
|
|
|
(const nomodify byte*) VIC_CHARSET_ROM = (byte*)(number) $5800
|
|
|
|
@ -6300,7 +6303,7 @@ Adding number conversion cast (unumber) gfx_mode::$51 in (number~) gfx_mode::$51
|
|
|
|
|
Adding number conversion cast (unumber) 4 in (number~) gfx_mode::$52 ← (unumber~) gfx_mode::$51 / (number) 4
|
|
|
|
|
Adding number conversion cast (unumber) gfx_mode::$52 in (number~) gfx_mode::$52 ← (unumber~) gfx_mode::$51 / (unumber)(number) 4
|
|
|
|
|
Adding number conversion cast (unumber) gfx_mode::$53 in (number~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (unumber~) gfx_mode::$52
|
|
|
|
|
Adding number conversion cast (unumber) 0 in *((const nomodify byte*) BORDERCOL) ← (number) 0
|
|
|
|
|
Adding number conversion cast (unumber) 0 in *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (number) 0
|
|
|
|
|
Adding number conversion cast (unumber) $10 in (number~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) * (number) $10
|
|
|
|
|
Adding number conversion cast (unumber) gfx_mode::$55 in (number~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) * (unumber)(number) $10
|
|
|
|
|
Adding number conversion cast (unumber) gfx_mode::$56 in (number~) gfx_mode::$56 ← (unumber~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo)
|
|
|
|
@ -6314,7 +6317,7 @@ Adding number conversion cast (unumber) $10 in (number~) gfx_mode::$61 ← *((co
|
|
|
|
|
Adding number conversion cast (unumber) gfx_mode::$61 in (number~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) * (unumber)(number) $10
|
|
|
|
|
Adding number conversion cast (unumber) gfx_mode::$62 in (number~) gfx_mode::$62 ← (unumber~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo)
|
|
|
|
|
Adding number conversion cast (unumber) 0 in (bool~) gfx_mode::$63 ← *((const nomodify byte*) form_dtv_palet) == (number) 0
|
|
|
|
|
Adding number conversion cast (unumber) $ff in (bool~) gfx_mode::$77 ← *((const nomodify byte*) RASTER) != (number) $ff
|
|
|
|
|
Adding number conversion cast (unumber) $ff in (bool~) gfx_mode::$77 ← *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER) != (number) $ff
|
|
|
|
|
Adding number conversion cast (unumber) $32 in *((const nomodify byte*) PROCPORT) ← (number) $32
|
|
|
|
|
Adding number conversion cast (unumber) $37 in *((const nomodify byte*) PROCPORT) ← (number) $37
|
|
|
|
|
Adding number conversion cast (unumber) $f in (number~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#2 & (number) $f
|
|
|
|
@ -6389,14 +6392,14 @@ Adding number conversion cast (unumber) 3^(byte)(word)FORM_CHARSET/$4000 in *((b
|
|
|
|
|
Adding number conversion cast (unumber) 3 in *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A) ← ((unumber)) (number) 3^(byte)(word)(const nomodify byte*) FORM_CHARSET/(number) $4000
|
|
|
|
|
Adding number conversion cast (unumber) $4000 in *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A) ← ((unumber)) (unumber)(number) 3^(byte)(word)(const nomodify byte*) FORM_CHARSET/(number) $4000
|
|
|
|
|
Adding number conversion cast (unumber) 0 in *((const nomodify byte*) DTV_CONTROL) ← (number) 0
|
|
|
|
|
Adding number conversion cast (unumber) VIC_DEN|VIC_RSEL|3 in *((const nomodify byte*) VIC_CONTROL) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(number) 3
|
|
|
|
|
Adding number conversion cast (unumber) 3 in *((const nomodify byte*) VIC_CONTROL) ← ((unumber)) (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(number) 3
|
|
|
|
|
Adding number conversion cast (unumber) $3fff in *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(number) $3fff/(number) $40|(word)(const nomodify byte*) FORM_CHARSET&(number) $3fff/(number) $400
|
|
|
|
|
Adding number conversion cast (unumber) $3fff in *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(unumber)(number) $3fff/(number) $40|(word)(const nomodify byte*) FORM_CHARSET&(number) $3fff/(number) $400
|
|
|
|
|
Adding number conversion cast (unumber) VIC_DEN|VIC_RSEL|3 in *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(number) 3
|
|
|
|
|
Adding number conversion cast (unumber) 3 in *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← ((unumber)) (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(number) 3
|
|
|
|
|
Adding number conversion cast (unumber) $3fff in *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(number) $3fff/(number) $40|(word)(const nomodify byte*) FORM_CHARSET&(number) $3fff/(number) $400
|
|
|
|
|
Adding number conversion cast (unumber) $3fff in *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(unumber)(number) $3fff/(number) $40|(word)(const nomodify byte*) FORM_CHARSET&(number) $3fff/(number) $400
|
|
|
|
|
Adding number conversion cast (unumber) 0 in *((const nomodify byte*) DTV_PLANEA_START_HI) ← (number) 0
|
|
|
|
|
Adding number conversion cast (unumber) 0 in *((const nomodify byte*) BGCOL) ← (number) 0
|
|
|
|
|
Adding number conversion cast (unumber) 0 in *((const nomodify byte*) BORDERCOL) ← (number) 0
|
|
|
|
|
Adding number conversion cast (unumber) $ff in (bool~) form_mode::$10 ← *((const nomodify byte*) RASTER) != (number) $ff
|
|
|
|
|
Adding number conversion cast (unumber) 0 in *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (number) 0
|
|
|
|
|
Adding number conversion cast (unumber) 0 in *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (number) 0
|
|
|
|
|
Adding number conversion cast (unumber) $ff in (bool~) form_mode::$10 ← *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER) != (number) $ff
|
|
|
|
|
Adding number conversion cast (unumber) 0 in (bool~) form_mode::$12 ← (byte~) form_mode::$11 != (number) 0
|
|
|
|
|
Adding number conversion cast (snumber) 2 in (signed byte) form_cursor_count#4 ← (signed byte)(const nomodify signed byte) FORM_CURSOR_BLINK/(number) 2
|
|
|
|
|
Adding number conversion cast (unumber) $28 in (byte*~) form_set_screen::$2 ← (byte*) form_set_screen::line#2 + (number) $28
|
|
|
|
@ -6428,8 +6431,8 @@ Adding number conversion cast (unumber) $4000 in (byte*) gfx_init_plane_horisont
|
|
|
|
|
Adding number conversion cast (unumber) $4000 in (byte*) gfx_init_plane_horisontal2::gfxa#0 ← (byte*)(number) $4000+(const nomodify dword) PLANE_HORISONTAL2&(unumber)(number) $3fff
|
|
|
|
|
Adding number conversion cast (unumber) $4000 in (byte*) gfx_init_plane_vertical::gfxb#0 ← (byte*)(number) $4000+(const nomodify dword) PLANE_VERTICAL&(unumber)(number) $3fff
|
|
|
|
|
Adding number conversion cast (unumber) $4000 in (byte*) gfx_init_plane_charset8::gfxa#0 ← (byte*)(number) $4000+(const nomodify dword) PLANE_CHARSET8&(unumber)(number) $3fff
|
|
|
|
|
Adding number conversion cast (unumber) $40 in *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(unumber)(number) $3fff/(number) $40|(word)(const nomodify byte*) FORM_CHARSET&(unumber)(number) $3fff/(number) $400
|
|
|
|
|
Adding number conversion cast (unumber) $400 in *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(unumber)(number) $3fff/(unumber)(number) $40|(word)(const nomodify byte*) FORM_CHARSET&(unumber)(number) $3fff/(number) $400
|
|
|
|
|
Adding number conversion cast (unumber) $40 in *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(unumber)(number) $3fff/(number) $40|(word)(const nomodify byte*) FORM_CHARSET&(unumber)(number) $3fff/(number) $400
|
|
|
|
|
Adding number conversion cast (unumber) $400 in *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(unumber)(number) $3fff/(unumber)(number) $40|(word)(const nomodify byte*) FORM_CHARSET&(unumber)(number) $3fff/(number) $400
|
|
|
|
|
Successful SSA optimization PassNAddNumberTypeConversions
|
|
|
|
|
Inlining cast (byte*) memset::dst#0 ← (byte*)(void*) memset::str#2
|
|
|
|
|
Inlining cast (word) memset::num#0 ← (unumber)(number) $3e8
|
|
|
|
@ -6444,7 +6447,7 @@ Inlining cast *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (unumber)(numbe
|
|
|
|
|
Inlining cast *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (unumber)(number) 0
|
|
|
|
|
Inlining cast *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (unumber)(number) 3
|
|
|
|
|
Inlining cast *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A) ← (unumber)(unumber)(number) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(unumber)(number) $4000
|
|
|
|
|
Inlining cast *((const nomodify byte*) BORDERCOL) ← (unumber)(number) 0
|
|
|
|
|
Inlining cast *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (unumber)(number) 0
|
|
|
|
|
Inlining cast *((const nomodify byte*) PROCPORT) ← (unumber)(number) $32
|
|
|
|
|
Inlining cast *((const nomodify byte*) PROCPORT) ← (unumber)(number) $37
|
|
|
|
|
Inlining cast *((byte*) gfx_init_screen4::ch#2) ← (unumber)(number) 0
|
|
|
|
@ -6459,10 +6462,10 @@ Inlining cast (byte*) gfx_init_plane_fill::gfxb#0 ← (byte*)(unumber~) gfx_init
|
|
|
|
|
Inlining cast *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (unumber)(number) 3
|
|
|
|
|
Inlining cast *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A) ← (unumber)(unumber)(number) 3^(byte)(word)(const nomodify byte*) FORM_CHARSET/(unumber)(number) $4000
|
|
|
|
|
Inlining cast *((const nomodify byte*) DTV_CONTROL) ← (unumber)(number) 0
|
|
|
|
|
Inlining cast *((const nomodify byte*) VIC_CONTROL) ← (unumber)(const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(unumber)(number) 3
|
|
|
|
|
Inlining cast *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← (unumber)(const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(unumber)(number) 3
|
|
|
|
|
Inlining cast *((const nomodify byte*) DTV_PLANEA_START_HI) ← (unumber)(number) 0
|
|
|
|
|
Inlining cast *((const nomodify byte*) BGCOL) ← (unumber)(number) 0
|
|
|
|
|
Inlining cast *((const nomodify byte*) BORDERCOL) ← (unumber)(number) 0
|
|
|
|
|
Inlining cast *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (unumber)(number) 0
|
|
|
|
|
Inlining cast *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (unumber)(number) 0
|
|
|
|
|
Inlining cast (signed byte) form_cursor_count#7 ← (snumber)(const nomodify signed byte) FORM_CURSOR_BLINK/(snumber)(number) 2
|
|
|
|
|
Inlining cast (byte) form_control::return#1 ← (unumber)(number) 0
|
|
|
|
|
Inlining cast (byte) form_field_idx#8 ← (unumber)(number) 0
|
|
|
|
@ -6471,19 +6474,13 @@ Inlining cast *((const byte*) form_fields_val + (byte) form_field_idx#23) ← (u
|
|
|
|
|
Inlining cast (byte) form_control::return#4 ← (unumber)(number) 0
|
|
|
|
|
Inlining cast (byte) form_control::return#5 ← (unumber)(number) $ff
|
|
|
|
|
Successful SSA optimization Pass2InlineCast
|
|
|
|
|
Simplifying constant pointer cast (byte*) 53266
|
|
|
|
|
Simplifying constant pointer cast (byte*) 53280
|
|
|
|
|
Simplifying constant pointer cast (byte*) 53281
|
|
|
|
|
Simplifying constant pointer cast (byte*) 53281
|
|
|
|
|
Simplifying constant pointer cast (byte*) 53282
|
|
|
|
|
Simplifying constant pointer cast (byte*) 53283
|
|
|
|
|
Simplifying constant pointer cast (byte*) 53284
|
|
|
|
|
Simplifying constant pointer cast (byte*) 53265
|
|
|
|
|
Simplifying constant pointer cast (byte*) 53270
|
|
|
|
|
Simplifying constant pointer cast (byte*) 53272
|
|
|
|
|
Simplifying constant pointer cast (byte*) 0
|
|
|
|
|
Simplifying constant pointer cast (byte*) 1
|
|
|
|
|
Simplifying constant pointer cast (byte*) 53248
|
|
|
|
|
Simplifying constant pointer cast (struct MOS6569_VICII*) 53248
|
|
|
|
|
Simplifying constant pointer cast (byte*) 55296
|
|
|
|
|
Simplifying constant pointer cast (struct MOS6526_CIA*) 56320
|
|
|
|
|
Simplifying constant pointer cast (struct MOS6526_CIA*) 56576
|
|
|
|
@ -7800,7 +7797,7 @@ Simple Condition (bool~) gfx_mode::$74 [656] if((byte) gfx_mode::cy#1!=rangelast
|
|
|
|
|
Simple Condition (bool~) gfx_mode::$63 [671] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@10
|
|
|
|
|
Simple Condition (bool~) gfx_mode::$75 [678] if((byte) gfx_mode::j#1!=rangelast(0,$f)) goto gfx_mode::@25
|
|
|
|
|
Simple Condition (bool~) gfx_mode::$76 [683] if((byte) gfx_mode::i#1!=rangelast(0,$f)) goto gfx_mode::@26
|
|
|
|
|
Simple Condition (bool~) gfx_mode::$77 [688] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto gfx_mode::@28
|
|
|
|
|
Simple Condition (bool~) gfx_mode::$77 [688] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@28
|
|
|
|
|
Simple Condition (bool~) gfx_mode::$81 [696] if((byte) gfx_mode::keyboard_event#0!=(const nomodify byte) KEY_SPACE) goto gfx_mode::@27
|
|
|
|
|
Simple Condition (bool~) gfx_init_charset::$0 [727] if((byte) gfx_init_charset::l#1!=rangelast(0,7)) goto gfx_init_charset::@2
|
|
|
|
|
Simple Condition (bool~) gfx_init_charset::$1 [730] if((byte) gfx_init_charset::c#1!=rangelast(0,$ff)) goto gfx_init_charset::@1
|
|
|
|
@ -7832,7 +7829,7 @@ Simple Condition (bool~) gfx_init_plane_charset8::$8 [964] if((byte) gfx_init_pl
|
|
|
|
|
Simple Condition (bool~) gfx_init_plane_fill::$8 [1000] if((byte) gfx_init_plane_fill::bx#1!=rangelast(0,$27)) goto gfx_init_plane_fill::@2
|
|
|
|
|
Simple Condition (bool~) gfx_init_plane_fill::$9 [1003] if((byte) gfx_init_plane_fill::by#1!=rangelast(0,$c7)) goto gfx_init_plane_fill::@1
|
|
|
|
|
Simple Condition (bool~) form_mode::$9 [1046] if((byte) form_mode::i#1!=rangelast(0,$f)) goto form_mode::@1
|
|
|
|
|
Simple Condition (bool~) form_mode::$10 [1054] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto form_mode::@4
|
|
|
|
|
Simple Condition (bool~) form_mode::$10 [1054] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto form_mode::@4
|
|
|
|
|
Simple Condition (bool~) form_mode::$13 [1060] if((byte~) form_mode::$11==(byte) 0) goto form_mode::@6
|
|
|
|
|
Simple Condition (bool~) form_mode::$15 [1062] if((byte) form_mode::preset_current#6==*((const nomodify byte*) form_preset)) goto form_mode::@3
|
|
|
|
|
Simple Condition (bool~) form_set_screen::$3 [1083] if((byte) form_set_screen::y#1!=rangelast(0,$18)) goto form_set_screen::@1
|
|
|
|
@ -9795,19 +9792,19 @@ gfx_mode::@21: scope:[gfx_mode] from gfx_mode::@20
|
|
|
|
|
[120] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19
|
|
|
|
|
to:gfx_mode::@22
|
|
|
|
|
gfx_mode::@22: scope:[gfx_mode] from gfx_mode::@21
|
|
|
|
|
[121] *((const nomodify byte*) BORDERCOL) ← (byte) 0
|
|
|
|
|
[121] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0
|
|
|
|
|
[122] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4
|
|
|
|
|
[123] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo)
|
|
|
|
|
[124] *((const nomodify byte*) BGCOL1) ← (byte~) gfx_mode::$56
|
|
|
|
|
[124] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56
|
|
|
|
|
[125] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4
|
|
|
|
|
[126] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo)
|
|
|
|
|
[127] *((const nomodify byte*) BGCOL2) ← (byte~) gfx_mode::$58
|
|
|
|
|
[127] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58
|
|
|
|
|
[128] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4
|
|
|
|
|
[129] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo)
|
|
|
|
|
[130] *((const nomodify byte*) BGCOL3) ← (byte~) gfx_mode::$60
|
|
|
|
|
[130] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60
|
|
|
|
|
[131] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4
|
|
|
|
|
[132] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo)
|
|
|
|
|
[133] *((const nomodify byte*) BGCOL4) ← (byte~) gfx_mode::$62
|
|
|
|
|
[133] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62
|
|
|
|
|
[134] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24
|
|
|
|
|
to:gfx_mode::@23
|
|
|
|
|
gfx_mode::@23: scope:[gfx_mode] from gfx_mode::@22 gfx_mode::@23
|
|
|
|
@ -9817,7 +9814,7 @@ gfx_mode::@23: scope:[gfx_mode] from gfx_mode::@22 gfx_mode::@23
|
|
|
|
|
[138] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23
|
|
|
|
|
to:gfx_mode::@25
|
|
|
|
|
gfx_mode::@25: scope:[gfx_mode] from gfx_mode::@23 gfx_mode::@24 gfx_mode::@25 gfx_mode::@33
|
|
|
|
|
[139] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto gfx_mode::@25
|
|
|
|
|
[139] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25
|
|
|
|
|
to:gfx_mode::@26
|
|
|
|
|
gfx_mode::@26: scope:[gfx_mode] from gfx_mode::@25
|
|
|
|
|
[140] phi()
|
|
|
|
@ -10124,9 +10121,9 @@ form_mode::@16: scope:[form_mode] from form_mode::@15
|
|
|
|
|
[273] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3
|
|
|
|
|
[274] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3
|
|
|
|
|
[275] *((const nomodify byte*) DTV_CONTROL) ← (byte) 0
|
|
|
|
|
[276] *((const nomodify byte*) VIC_CONTROL) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3
|
|
|
|
|
[277] *((const nomodify byte*) VIC_CONTROL2) ← (const nomodify byte) VIC_CSEL
|
|
|
|
|
[278] *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400
|
|
|
|
|
[276] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3
|
|
|
|
|
[277] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2) ← (const nomodify byte) VIC_CSEL
|
|
|
|
|
[278] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400
|
|
|
|
|
[279] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte) 0
|
|
|
|
|
[280] *((const nomodify byte*) DTV_PLANEA_START_MI) ← >(const nomodify byte*) FORM_SCREEN
|
|
|
|
|
[281] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte) 0
|
|
|
|
@ -10138,8 +10135,8 @@ form_mode::@1: scope:[form_mode] from form_mode::@1 form_mode::@16
|
|
|
|
|
[285] if((byte) form_mode::i#1!=(byte) $10) goto form_mode::@1
|
|
|
|
|
to:form_mode::@2
|
|
|
|
|
form_mode::@2: scope:[form_mode] from form_mode::@1
|
|
|
|
|
[286] *((const nomodify byte*) BGCOL) ← (byte) 0
|
|
|
|
|
[287] *((const nomodify byte*) BORDERCOL) ← (byte) 0
|
|
|
|
|
[286] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte) 0
|
|
|
|
|
[287] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0
|
|
|
|
|
[288] (byte) form_mode::preset_current#0 ← *((const byte*) form_fields_val)
|
|
|
|
|
to:form_mode::@3
|
|
|
|
|
form_mode::@3: scope:[form_mode] from form_mode::@19 form_mode::@2 form_mode::@6
|
|
|
|
@ -10149,7 +10146,7 @@ form_mode::@3: scope:[form_mode] from form_mode::@19 form_mode::@2 form_mode::@
|
|
|
|
|
[289] (signed byte) form_cursor_count#21 ← phi( form_mode::@2/(signed byte) form_cursor_count#1 form_mode::@19/(signed byte) form_cursor_count#16 form_mode::@6/(signed byte) form_cursor_count#16 )
|
|
|
|
|
to:form_mode::@4
|
|
|
|
|
form_mode::@4: scope:[form_mode] from form_mode::@3 form_mode::@4
|
|
|
|
|
[290] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto form_mode::@4
|
|
|
|
|
[290] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto form_mode::@4
|
|
|
|
|
to:form_mode::@5
|
|
|
|
|
form_mode::@5: scope:[form_mode] from form_mode::@4
|
|
|
|
|
[291] phi()
|
|
|
|
@ -13037,13 +13034,6 @@ Target platform is c64basic / MOS6502X
|
|
|
|
|
:BasicUpstart(__bbegin)
|
|
|
|
|
.pc = $80d "Program"
|
|
|
|
|
// Global Constants & labels
|
|
|
|
|
.label RASTER = $d012
|
|
|
|
|
.label BORDERCOL = $d020
|
|
|
|
|
.label BGCOL = $d021
|
|
|
|
|
.label BGCOL1 = $d021
|
|
|
|
|
.label BGCOL2 = $d022
|
|
|
|
|
.label BGCOL3 = $d023
|
|
|
|
|
.label BGCOL4 = $d024
|
|
|
|
|
.label VIC_CONTROL = $d011
|
|
|
|
|
.const VIC_ECM = $40
|
|
|
|
|
.const VIC_BMM = $20
|
|
|
|
@ -13065,6 +13055,8 @@ Target platform is c64basic / MOS6502X
|
|
|
|
|
.const PROCPORT_RAM_CHARROM = 1
|
|
|
|
|
// The address of the CHARGEN character set
|
|
|
|
|
.label CHARGEN = $d000
|
|
|
|
|
// The VIC-II MOS 6567/6569
|
|
|
|
|
.label VICII = $d000
|
|
|
|
|
// Color Ram
|
|
|
|
|
.label COLS = $d800
|
|
|
|
|
// The CIA#1: keyboard matrix, joystick #1/#2
|
|
|
|
@ -13193,6 +13185,15 @@ Target platform is c64basic / MOS6502X
|
|
|
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR = 2
|
|
|
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_B_DDR = 3
|
|
|
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_B = 1
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = $20
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR = $21
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1 = $22
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2 = $23
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3 = $24
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_RASTER = $12
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_CONTROL1 = $11
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_CONTROL2 = $16
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_MEMORY = $18
|
|
|
|
|
// Number of form fields
|
|
|
|
|
.const form_fields_cnt = $24
|
|
|
|
|
.label print_line_cursor = $36
|
|
|
|
@ -13946,10 +13947,10 @@ gfx_mode: {
|
|
|
|
|
jmp __b22
|
|
|
|
|
// gfx_mode::@22
|
|
|
|
|
__b22:
|
|
|
|
|
// [121] *((const nomodify byte*) BORDERCOL) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// [121] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// Background colors
|
|
|
|
|
lda #0
|
|
|
|
|
sta BORDERCOL
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
|
|
|
|
|
// [122] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg0_hi
|
|
|
|
|
asl
|
|
|
|
@ -13961,9 +13962,9 @@ gfx_mode: {
|
|
|
|
|
lda form_vic_bg0_lo
|
|
|
|
|
ora.z __55
|
|
|
|
|
sta.z __56
|
|
|
|
|
// [124] *((const nomodify byte*) BGCOL1) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuz1
|
|
|
|
|
// [124] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuz1
|
|
|
|
|
lda.z __56
|
|
|
|
|
sta BGCOL1
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR
|
|
|
|
|
// [125] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg1_hi
|
|
|
|
|
asl
|
|
|
|
@ -13975,9 +13976,9 @@ gfx_mode: {
|
|
|
|
|
lda form_vic_bg1_lo
|
|
|
|
|
ora.z __57
|
|
|
|
|
sta.z __58
|
|
|
|
|
// [127] *((const nomodify byte*) BGCOL2) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuz1
|
|
|
|
|
// [127] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuz1
|
|
|
|
|
lda.z __58
|
|
|
|
|
sta BGCOL2
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1
|
|
|
|
|
// [128] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg2_hi
|
|
|
|
|
asl
|
|
|
|
@ -13989,9 +13990,9 @@ gfx_mode: {
|
|
|
|
|
lda form_vic_bg2_lo
|
|
|
|
|
ora.z __59
|
|
|
|
|
sta.z __60
|
|
|
|
|
// [130] *((const nomodify byte*) BGCOL3) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuz1
|
|
|
|
|
// [130] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuz1
|
|
|
|
|
lda.z __60
|
|
|
|
|
sta BGCOL3
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2
|
|
|
|
|
// [131] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg3_hi
|
|
|
|
|
asl
|
|
|
|
@ -14003,9 +14004,9 @@ gfx_mode: {
|
|
|
|
|
lda form_vic_bg3_lo
|
|
|
|
|
ora.z __61
|
|
|
|
|
sta.z __62
|
|
|
|
|
// [133] *((const nomodify byte*) BGCOL4) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuz1
|
|
|
|
|
// [133] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuz1
|
|
|
|
|
lda.z __62
|
|
|
|
|
sta BGCOL4
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3
|
|
|
|
|
// [134] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 -- _deref_pbuc1_eq_0_then_la1
|
|
|
|
|
// DTV Palette
|
|
|
|
|
lda form_dtv_palet
|
|
|
|
@ -14037,9 +14038,9 @@ gfx_mode: {
|
|
|
|
|
jmp __b25
|
|
|
|
|
// gfx_mode::@25
|
|
|
|
|
__b25:
|
|
|
|
|
// [139] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
// [139] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
lda #$ff
|
|
|
|
|
cmp RASTER
|
|
|
|
|
cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
|
|
|
|
|
bne __b25
|
|
|
|
|
// [140] phi from gfx_mode::@25 to gfx_mode::@26 [phi:gfx_mode::@25->gfx_mode::@26]
|
|
|
|
|
__b26_from___b25:
|
|
|
|
@ -15076,17 +15077,17 @@ form_mode: {
|
|
|
|
|
// DTV Graphics Mode
|
|
|
|
|
lda #0
|
|
|
|
|
sta DTV_CONTROL
|
|
|
|
|
// [276] *((const nomodify byte*) VIC_CONTROL) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// [276] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// VIC Graphics Mode
|
|
|
|
|
lda #VIC_DEN|VIC_RSEL|3
|
|
|
|
|
sta VIC_CONTROL
|
|
|
|
|
// [277] *((const nomodify byte*) VIC_CONTROL2) ← (const nomodify byte) VIC_CSEL -- _deref_pbuc1=vbuc2
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL1
|
|
|
|
|
// [277] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2) ← (const nomodify byte) VIC_CSEL -- _deref_pbuc1=vbuc2
|
|
|
|
|
lda #VIC_CSEL
|
|
|
|
|
sta VIC_CONTROL2
|
|
|
|
|
// [278] *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400 -- _deref_pbuc1=vbuc2
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL2
|
|
|
|
|
// [278] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// VIC Memory Pointers
|
|
|
|
|
lda #(FORM_SCREEN&$3fff)/$40|(FORM_CHARSET&$3fff)/$400
|
|
|
|
|
sta VIC_MEMORY
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY
|
|
|
|
|
// [279] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// DTV Plane A to FORM_SCREEN also
|
|
|
|
|
lda #0
|
|
|
|
@ -15123,13 +15124,13 @@ form_mode: {
|
|
|
|
|
jmp __b2
|
|
|
|
|
// form_mode::@2
|
|
|
|
|
__b2:
|
|
|
|
|
// [286] *((const nomodify byte*) BGCOL) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// [286] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// Screen colors
|
|
|
|
|
lda #0
|
|
|
|
|
sta BGCOL
|
|
|
|
|
// [287] *((const nomodify byte*) BORDERCOL) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR
|
|
|
|
|
// [287] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
lda #0
|
|
|
|
|
sta BORDERCOL
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
|
|
|
|
|
// [288] (byte) form_mode::preset_current#0 ← *((const byte*) form_fields_val) -- vbuz1=_deref_pbuc1
|
|
|
|
|
lda form_fields_val
|
|
|
|
|
sta.z preset_current
|
|
|
|
@ -15148,9 +15149,9 @@ form_mode: {
|
|
|
|
|
jmp __b4
|
|
|
|
|
// form_mode::@4
|
|
|
|
|
__b4:
|
|
|
|
|
// [290] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto form_mode::@4 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
// [290] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto form_mode::@4 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
lda #$ff
|
|
|
|
|
cmp RASTER
|
|
|
|
|
cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
|
|
|
|
|
bne __b4
|
|
|
|
|
// [291] phi from form_mode::@4 to form_mode::@5 [phi:form_mode::@4->form_mode::@5]
|
|
|
|
|
__b5_from___b4:
|
|
|
|
@ -19025,7 +19026,7 @@ Removing always clobbered register reg byte a as potential for zp[1]:5 [ gfx_mod
|
|
|
|
|
Removing always clobbered register reg byte y as potential for zp[1]:5 [ gfx_mode::cy#4 gfx_mode::cy#1 ]
|
|
|
|
|
Removing always clobbered register reg byte a as potential for zp[1]:10 [ gfx_mode::cx#2 gfx_mode::cx#1 ]
|
|
|
|
|
Removing always clobbered register reg byte y as potential for zp[1]:10 [ gfx_mode::cx#2 gfx_mode::cx#1 ]
|
|
|
|
|
Statement [121] *((const nomodify byte*) BORDERCOL) ← (byte) 0 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [121] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [122] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 [ keyboard_events_size#24 gfx_mode::$55 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$55 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [123] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) [ keyboard_events_size#24 gfx_mode::$56 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$56 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [125] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 [ keyboard_events_size#24 gfx_mode::$57 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$57 ] { } ) always clobbers reg byte a
|
|
|
|
@ -19035,7 +19036,7 @@ Statement [129] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomod
|
|
|
|
|
Statement [131] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 [ keyboard_events_size#24 gfx_mode::$61 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$61 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [132] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) [ keyboard_events_size#24 gfx_mode::$62 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$62 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [134] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [139] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto gfx_mode::@25 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [139] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [149] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) [ keyboard_events_size#24 gfx_mode::i#2 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::i#2 ] { } ) always clobbers reg byte a
|
|
|
|
|
Removing always clobbered register reg byte a as potential for zp[1]:12 [ gfx_mode::i#2 gfx_mode::i#1 ]
|
|
|
|
|
Statement [164] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 [ keyboard_event_scan::row#2 keyboard_events_size#106 keyboard_event_scan::keycode#1 ] ( main:2::gfx_mode:15::keyboard_event_scan:141 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_events_size#106 keyboard_event_scan::keycode#1 ] { { keyboard_events_size#24 = keyboard_events_size#97 } } main:2::form_mode:13::form_control:292::keyboard_event_scan:372 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_events_size#106 keyboard_event_scan::keycode#1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#47 = keyboard_events_size#97 } } ) always clobbers reg byte a
|
|
|
|
@ -19066,17 +19067,17 @@ Statement [272] *((const nomodify byte*) DTV_COLOR_BANK_HI) ← (byte) 0 [ form_
|
|
|
|
|
Statement [273] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [274] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [275] *((const nomodify byte*) DTV_CONTROL) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [276] *((const nomodify byte*) VIC_CONTROL) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [277] *((const nomodify byte*) VIC_CONTROL2) ← (const nomodify byte) VIC_CSEL [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [278] *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [276] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [277] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2) ← (const nomodify byte) VIC_CSEL [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [278] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [279] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [280] *((const nomodify byte*) DTV_PLANEA_START_MI) ← >(const nomodify byte*) FORM_SCREEN [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [281] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [283] *((const nomodify byte*) DTV_PALETTE + (byte) form_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) form_mode::i#2) [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_mode::i#2 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_mode::i#2 ] { } ) always clobbers reg byte a
|
|
|
|
|
Removing always clobbered register reg byte a as potential for zp[1]:30 [ form_mode::i#2 form_mode::i#1 ]
|
|
|
|
|
Statement [286] *((const nomodify byte*) BGCOL) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [287] *((const nomodify byte*) BORDERCOL) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [290] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto form_mode::@4 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_mode::preset_current#6 ] ( main:2::form_mode:13 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_mode::preset_current#6 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [286] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [287] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [290] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto form_mode::@4 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_mode::preset_current#6 ] ( main:2::form_mode:13 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_mode::preset_current#6 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [318] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 [ print_str_at::str#1 ] ( main:2::form_mode:13::render_preset_name:269 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#1 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } main:2::form_mode:13::render_preset_name:303 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#1 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a
|
|
|
|
|
Statement [323] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 [ print_str_at::str#2 print_str_at::at#2 ] ( main:2::form_mode:13::render_preset_name:269::print_str_at:319 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } main:2::form_mode:13::render_preset_name:303::print_str_at:319 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a reg byte y
|
|
|
|
|
Removing always clobbered register reg byte y as potential for zp[1]:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ]
|
|
|
|
@ -19369,7 +19370,7 @@ Statement [105] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 [ keyboard
|
|
|
|
|
Statement [110] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 [ keyboard_events_size#24 get_vic_screen::return#11 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 get_vic_screen::return#11 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a
|
|
|
|
|
Statement [111] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 [ keyboard_events_size#24 gfx_mode::vic_colors#0 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::vic_colors#0 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [114] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) [ keyboard_events_size#24 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] { } ) always clobbers reg byte a reg byte y
|
|
|
|
|
Statement [121] *((const nomodify byte*) BORDERCOL) ← (byte) 0 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [121] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [122] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 [ keyboard_events_size#24 gfx_mode::$55 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$55 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [123] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) [ keyboard_events_size#24 gfx_mode::$56 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$56 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [125] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 [ keyboard_events_size#24 gfx_mode::$57 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$57 ] { } ) always clobbers reg byte a
|
|
|
|
@ -19379,7 +19380,7 @@ Statement [129] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomod
|
|
|
|
|
Statement [131] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 [ keyboard_events_size#24 gfx_mode::$61 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$61 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [132] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) [ keyboard_events_size#24 gfx_mode::$62 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::$62 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [134] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [139] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto gfx_mode::@25 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [139] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 [ keyboard_events_size#24 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [149] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) [ keyboard_events_size#24 gfx_mode::i#2 ] ( main:2::gfx_mode:15 [ form_cursor_count#16 form_field_idx#18 keyboard_events_size#24 gfx_mode::i#2 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [163] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#106 keyboard_event_scan::row_scan#0 ] ( main:2::gfx_mode:15::keyboard_event_scan:141 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#106 keyboard_event_scan::row_scan#0 ] { { keyboard_events_size#24 = keyboard_events_size#97 } } main:2::form_mode:13::form_control:292::keyboard_event_scan:372 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#106 keyboard_event_scan::row_scan#0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#47 = keyboard_events_size#97 } } ) always clobbers reg byte a
|
|
|
|
|
Statement [164] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 [ keyboard_event_scan::row#2 keyboard_events_size#106 keyboard_event_scan::keycode#1 ] ( main:2::gfx_mode:15::keyboard_event_scan:141 [ form_cursor_count#16 form_field_idx#18 keyboard_event_scan::row#2 keyboard_events_size#106 keyboard_event_scan::keycode#1 ] { { keyboard_events_size#24 = keyboard_events_size#97 } } main:2::form_mode:13::form_control:292::keyboard_event_scan:372 [ form_mode::preset_current#6 form_field_idx#28 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_events_size#106 keyboard_event_scan::keycode#1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#47 = keyboard_events_size#97 } } ) always clobbers reg byte a
|
|
|
|
@ -19402,16 +19403,16 @@ Statement [272] *((const nomodify byte*) DTV_COLOR_BANK_HI) ← (byte) 0 [ form_
|
|
|
|
|
Statement [273] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [274] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [275] *((const nomodify byte*) DTV_CONTROL) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [276] *((const nomodify byte*) VIC_CONTROL) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [277] *((const nomodify byte*) VIC_CONTROL2) ← (const nomodify byte) VIC_CSEL [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [278] *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [276] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [277] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2) ← (const nomodify byte) VIC_CSEL [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [278] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [279] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [280] *((const nomodify byte*) DTV_PLANEA_START_MI) ← >(const nomodify byte*) FORM_SCREEN [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [281] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [283] *((const nomodify byte*) DTV_PALETTE + (byte) form_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) form_mode::i#2) [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_mode::i#2 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 form_mode::i#2 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [286] *((const nomodify byte*) BGCOL) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [287] *((const nomodify byte*) BORDERCOL) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [290] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto form_mode::@4 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_mode::preset_current#6 ] ( main:2::form_mode:13 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_mode::preset_current#6 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [286] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [287] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] ( main:2::form_mode:13 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [290] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto form_mode::@4 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_mode::preset_current#6 ] ( main:2::form_mode:13 [ keyboard_events_size#47 form_cursor_count#21 form_field_idx#28 form_mode::preset_current#6 ] { } ) always clobbers reg byte a
|
|
|
|
|
Statement [318] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 [ print_str_at::str#1 ] ( main:2::form_mode:13::render_preset_name:269 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#1 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } main:2::form_mode:13::render_preset_name:303 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#1 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a
|
|
|
|
|
Statement [323] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 [ print_str_at::str#2 print_str_at::at#2 ] ( main:2::form_mode:13::render_preset_name:269::print_str_at:319 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } main:2::form_mode:13::render_preset_name:303::print_str_at:319 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a reg byte y
|
|
|
|
|
Statement [325] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) [ print_str_at::str#2 print_str_at::at#2 ] ( main:2::form_mode:13::render_preset_name:269::print_str_at:319 [ form_cursor_count#1 keyboard_events_size#27 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } main:2::form_mode:13::render_preset_name:303::print_str_at:319 [ form_cursor_count#16 keyboard_events_size#24 form_field_idx#18 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a reg byte y
|
|
|
|
@ -20336,13 +20337,6 @@ ASSEMBLER BEFORE OPTIMIZATION
|
|
|
|
|
:BasicUpstart(__bbegin)
|
|
|
|
|
.pc = $80d "Program"
|
|
|
|
|
// Global Constants & labels
|
|
|
|
|
.label RASTER = $d012
|
|
|
|
|
.label BORDERCOL = $d020
|
|
|
|
|
.label BGCOL = $d021
|
|
|
|
|
.label BGCOL1 = $d021
|
|
|
|
|
.label BGCOL2 = $d022
|
|
|
|
|
.label BGCOL3 = $d023
|
|
|
|
|
.label BGCOL4 = $d024
|
|
|
|
|
.label VIC_CONTROL = $d011
|
|
|
|
|
.const VIC_ECM = $40
|
|
|
|
|
.const VIC_BMM = $20
|
|
|
|
@ -20364,6 +20358,8 @@ ASSEMBLER BEFORE OPTIMIZATION
|
|
|
|
|
.const PROCPORT_RAM_CHARROM = 1
|
|
|
|
|
// The address of the CHARGEN character set
|
|
|
|
|
.label CHARGEN = $d000
|
|
|
|
|
// The VIC-II MOS 6567/6569
|
|
|
|
|
.label VICII = $d000
|
|
|
|
|
// Color Ram
|
|
|
|
|
.label COLS = $d800
|
|
|
|
|
// The CIA#1: keyboard matrix, joystick #1/#2
|
|
|
|
@ -20492,6 +20488,15 @@ ASSEMBLER BEFORE OPTIMIZATION
|
|
|
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR = 2
|
|
|
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_B_DDR = 3
|
|
|
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_B = 1
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = $20
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR = $21
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1 = $22
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2 = $23
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3 = $24
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_RASTER = $12
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_CONTROL1 = $11
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_CONTROL2 = $16
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_MEMORY = $18
|
|
|
|
|
// Number of form fields
|
|
|
|
|
.const form_fields_cnt = $24
|
|
|
|
|
.label print_line_cursor = 7
|
|
|
|
@ -21083,10 +21088,10 @@ gfx_mode: {
|
|
|
|
|
jmp __b22
|
|
|
|
|
// gfx_mode::@22
|
|
|
|
|
__b22:
|
|
|
|
|
// [121] *((const nomodify byte*) BORDERCOL) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// [121] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// Background colors
|
|
|
|
|
lda #0
|
|
|
|
|
sta BORDERCOL
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
|
|
|
|
|
// [122] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg0_hi
|
|
|
|
|
asl
|
|
|
|
@ -21095,8 +21100,8 @@ gfx_mode: {
|
|
|
|
|
asl
|
|
|
|
|
// [123] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) -- vbuaa=vbuaa_bor__deref_pbuc1
|
|
|
|
|
ora form_vic_bg0_lo
|
|
|
|
|
// [124] *((const nomodify byte*) BGCOL1) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta BGCOL1
|
|
|
|
|
// [124] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR
|
|
|
|
|
// [125] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg1_hi
|
|
|
|
|
asl
|
|
|
|
@ -21105,8 +21110,8 @@ gfx_mode: {
|
|
|
|
|
asl
|
|
|
|
|
// [126] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) -- vbuaa=vbuaa_bor__deref_pbuc1
|
|
|
|
|
ora form_vic_bg1_lo
|
|
|
|
|
// [127] *((const nomodify byte*) BGCOL2) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta BGCOL2
|
|
|
|
|
// [127] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1
|
|
|
|
|
// [128] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg2_hi
|
|
|
|
|
asl
|
|
|
|
@ -21115,8 +21120,8 @@ gfx_mode: {
|
|
|
|
|
asl
|
|
|
|
|
// [129] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) -- vbuaa=vbuaa_bor__deref_pbuc1
|
|
|
|
|
ora form_vic_bg2_lo
|
|
|
|
|
// [130] *((const nomodify byte*) BGCOL3) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta BGCOL3
|
|
|
|
|
// [130] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2
|
|
|
|
|
// [131] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg3_hi
|
|
|
|
|
asl
|
|
|
|
@ -21125,8 +21130,8 @@ gfx_mode: {
|
|
|
|
|
asl
|
|
|
|
|
// [132] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) -- vbuaa=vbuaa_bor__deref_pbuc1
|
|
|
|
|
ora form_vic_bg3_lo
|
|
|
|
|
// [133] *((const nomodify byte*) BGCOL4) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta BGCOL4
|
|
|
|
|
// [133] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3
|
|
|
|
|
// [134] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 -- _deref_pbuc1_eq_0_then_la1
|
|
|
|
|
// DTV Palette
|
|
|
|
|
lda form_dtv_palet
|
|
|
|
@ -21155,9 +21160,9 @@ gfx_mode: {
|
|
|
|
|
jmp __b25
|
|
|
|
|
// gfx_mode::@25
|
|
|
|
|
__b25:
|
|
|
|
|
// [139] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
// [139] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
lda #$ff
|
|
|
|
|
cmp RASTER
|
|
|
|
|
cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
|
|
|
|
|
bne __b25
|
|
|
|
|
// [140] phi from gfx_mode::@25 to gfx_mode::@26 [phi:gfx_mode::@25->gfx_mode::@26]
|
|
|
|
|
__b26_from___b25:
|
|
|
|
@ -22087,17 +22092,17 @@ form_mode: {
|
|
|
|
|
// DTV Graphics Mode
|
|
|
|
|
lda #0
|
|
|
|
|
sta DTV_CONTROL
|
|
|
|
|
// [276] *((const nomodify byte*) VIC_CONTROL) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// [276] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// VIC Graphics Mode
|
|
|
|
|
lda #VIC_DEN|VIC_RSEL|3
|
|
|
|
|
sta VIC_CONTROL
|
|
|
|
|
// [277] *((const nomodify byte*) VIC_CONTROL2) ← (const nomodify byte) VIC_CSEL -- _deref_pbuc1=vbuc2
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL1
|
|
|
|
|
// [277] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2) ← (const nomodify byte) VIC_CSEL -- _deref_pbuc1=vbuc2
|
|
|
|
|
lda #VIC_CSEL
|
|
|
|
|
sta VIC_CONTROL2
|
|
|
|
|
// [278] *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400 -- _deref_pbuc1=vbuc2
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL2
|
|
|
|
|
// [278] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// VIC Memory Pointers
|
|
|
|
|
lda #(FORM_SCREEN&$3fff)/$40|(FORM_CHARSET&$3fff)/$400
|
|
|
|
|
sta VIC_MEMORY
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY
|
|
|
|
|
// [279] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// DTV Plane A to FORM_SCREEN also
|
|
|
|
|
lda #0
|
|
|
|
@ -22131,13 +22136,13 @@ form_mode: {
|
|
|
|
|
jmp __b2
|
|
|
|
|
// form_mode::@2
|
|
|
|
|
__b2:
|
|
|
|
|
// [286] *((const nomodify byte*) BGCOL) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// [286] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// Screen colors
|
|
|
|
|
lda #0
|
|
|
|
|
sta BGCOL
|
|
|
|
|
// [287] *((const nomodify byte*) BORDERCOL) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR
|
|
|
|
|
// [287] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
lda #0
|
|
|
|
|
sta BORDERCOL
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
|
|
|
|
|
// [288] (byte) form_mode::preset_current#0 ← *((const byte*) form_fields_val) -- vbuz1=_deref_pbuc1
|
|
|
|
|
lda form_fields_val
|
|
|
|
|
sta.z preset_current
|
|
|
|
@ -22156,9 +22161,9 @@ form_mode: {
|
|
|
|
|
jmp __b4
|
|
|
|
|
// form_mode::@4
|
|
|
|
|
__b4:
|
|
|
|
|
// [290] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto form_mode::@4 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
// [290] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto form_mode::@4 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
lda #$ff
|
|
|
|
|
cmp RASTER
|
|
|
|
|
cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
|
|
|
|
|
bne __b4
|
|
|
|
|
// [291] phi from form_mode::@4 to form_mode::@5 [phi:form_mode::@4->form_mode::@5]
|
|
|
|
|
__b5_from___b4:
|
|
|
|
@ -26689,26 +26694,20 @@ Removing unreachable instruction jmp __b9
|
|
|
|
|
Removing unreachable instruction jmp __b14
|
|
|
|
|
Removing unreachable instruction jmp __b7
|
|
|
|
|
Succesful ASM optimization Pass5UnreachableCodeElimination
|
|
|
|
|
Fixing long branch [742] beq __b6 to bne
|
|
|
|
|
Fixing long branch [746] beq __b7 to bne
|
|
|
|
|
Fixing long branch [750] beq __b8 to bne
|
|
|
|
|
Fixing long branch [754] beq __b9 to bne
|
|
|
|
|
Fixing long branch [758] beq __b10 to bne
|
|
|
|
|
Fixing long branch [762] beq __b11 to bne
|
|
|
|
|
Fixing long branch [766] beq __b12 to bne
|
|
|
|
|
Fixing long branch [770] beq __b13 to bne
|
|
|
|
|
Fixing long branch [1335] bmi __b2 to bpl
|
|
|
|
|
Fixing long branch [746] beq __b6 to bne
|
|
|
|
|
Fixing long branch [750] beq __b7 to bne
|
|
|
|
|
Fixing long branch [754] beq __b8 to bne
|
|
|
|
|
Fixing long branch [758] beq __b9 to bne
|
|
|
|
|
Fixing long branch [762] beq __b10 to bne
|
|
|
|
|
Fixing long branch [766] beq __b11 to bne
|
|
|
|
|
Fixing long branch [770] beq __b12 to bne
|
|
|
|
|
Fixing long branch [774] beq __b13 to bne
|
|
|
|
|
Fixing long branch [1339] bmi __b2 to bpl
|
|
|
|
|
|
|
|
|
|
FINAL SYMBOL TABLE
|
|
|
|
|
(label) @1
|
|
|
|
|
(label) @begin
|
|
|
|
|
(label) @end
|
|
|
|
|
(const nomodify byte*) BGCOL = (byte*) 53281
|
|
|
|
|
(const nomodify byte*) BGCOL1 = (byte*) 53281
|
|
|
|
|
(const nomodify byte*) BGCOL2 = (byte*) 53282
|
|
|
|
|
(const nomodify byte*) BGCOL3 = (byte*) 53283
|
|
|
|
|
(const nomodify byte*) BGCOL4 = (byte*) 53284
|
|
|
|
|
(const nomodify byte*) BORDERCOL = (byte*) 53280
|
|
|
|
|
(const nomodify byte*) CHARGEN = (byte*) 53248
|
|
|
|
|
(const nomodify struct MOS6526_CIA*) CIA1 = (struct MOS6526_CIA*) 56320
|
|
|
|
|
(const nomodify struct MOS6526_CIA*) CIA2 = (struct MOS6526_CIA*) 56576
|
|
|
|
@ -26844,6 +26843,15 @@ FINAL SYMBOL TABLE
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR = (byte) 2
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B = (byte) 1
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B_DDR = (byte) 3
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR = (byte) $21
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1 = (byte) $22
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2 = (byte) $23
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3 = (byte) $24
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = (byte) $20
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1 = (byte) $11
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2 = (byte) $16
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY = (byte) $18
|
|
|
|
|
(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER = (byte) $12
|
|
|
|
|
(const nomodify dword) PLANE_8BPP_CHUNKY = (dword) $20000
|
|
|
|
|
(const nomodify dword) PLANE_BLANK = (dword) $38000
|
|
|
|
|
(const nomodify dword) PLANE_CHARSET8 = (dword) $3c000
|
|
|
|
@ -26861,7 +26869,7 @@ FINAL SYMBOL TABLE
|
|
|
|
|
(const byte) RADIX::DECIMAL = (number) $a
|
|
|
|
|
(const byte) RADIX::HEXADECIMAL = (number) $10
|
|
|
|
|
(const byte) RADIX::OCTAL = (number) 8
|
|
|
|
|
(const nomodify byte*) RASTER = (byte*) 53266
|
|
|
|
|
(const nomodify struct MOS6569_VICII*) VICII = (struct MOS6569_VICII*) 53248
|
|
|
|
|
(const nomodify byte*) VIC_BITMAP = (byte*) 24576
|
|
|
|
|
(const nomodify byte) VIC_BMM = (byte) $20
|
|
|
|
|
(const nomodify byte*) VIC_CHARSET_ROM = (byte*) 22528
|
|
|
|
@ -28194,13 +28202,6 @@ Score: 10118890
|
|
|
|
|
:BasicUpstart(main)
|
|
|
|
|
.pc = $80d "Program"
|
|
|
|
|
// Global Constants & labels
|
|
|
|
|
.label RASTER = $d012
|
|
|
|
|
.label BORDERCOL = $d020
|
|
|
|
|
.label BGCOL = $d021
|
|
|
|
|
.label BGCOL1 = $d021
|
|
|
|
|
.label BGCOL2 = $d022
|
|
|
|
|
.label BGCOL3 = $d023
|
|
|
|
|
.label BGCOL4 = $d024
|
|
|
|
|
.label VIC_CONTROL = $d011
|
|
|
|
|
.const VIC_ECM = $40
|
|
|
|
|
.const VIC_BMM = $20
|
|
|
|
@ -28222,6 +28223,8 @@ Score: 10118890
|
|
|
|
|
.const PROCPORT_RAM_CHARROM = 1
|
|
|
|
|
// The address of the CHARGEN character set
|
|
|
|
|
.label CHARGEN = $d000
|
|
|
|
|
// The VIC-II MOS 6567/6569
|
|
|
|
|
.label VICII = $d000
|
|
|
|
|
// Color Ram
|
|
|
|
|
.label COLS = $d800
|
|
|
|
|
// The CIA#1: keyboard matrix, joystick #1/#2
|
|
|
|
@ -28350,6 +28353,15 @@ Score: 10118890
|
|
|
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR = 2
|
|
|
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_B_DDR = 3
|
|
|
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_B = 1
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = $20
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR = $21
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1 = $22
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2 = $23
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3 = $24
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_RASTER = $12
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_CONTROL1 = $11
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_CONTROL2 = $16
|
|
|
|
|
.const OFFSET_STRUCT_MOS6569_VICII_MEMORY = $18
|
|
|
|
|
// Number of form fields
|
|
|
|
|
.const form_fields_cnt = $24
|
|
|
|
|
.label print_line_cursor = 7
|
|
|
|
@ -28930,11 +28942,11 @@ gfx_mode: {
|
|
|
|
|
cmp.z cy
|
|
|
|
|
bne __b19
|
|
|
|
|
// gfx_mode::@22
|
|
|
|
|
// *BORDERCOL = 0
|
|
|
|
|
// [121] *((const nomodify byte*) BORDERCOL) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// VICII->BORDER_COLOR = 0
|
|
|
|
|
// [121] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// Background colors
|
|
|
|
|
lda #0
|
|
|
|
|
sta BORDERCOL
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
|
|
|
|
|
// *form_vic_bg0_hi*$10
|
|
|
|
|
// [122] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg0_hi
|
|
|
|
@ -28945,9 +28957,9 @@ gfx_mode: {
|
|
|
|
|
// *form_vic_bg0_hi*$10|*form_vic_bg0_lo
|
|
|
|
|
// [123] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) -- vbuaa=vbuaa_bor__deref_pbuc1
|
|
|
|
|
ora form_vic_bg0_lo
|
|
|
|
|
// *BGCOL1 = *form_vic_bg0_hi*$10|*form_vic_bg0_lo
|
|
|
|
|
// [124] *((const nomodify byte*) BGCOL1) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta BGCOL1
|
|
|
|
|
// VICII->BG_COLOR = *form_vic_bg0_hi*$10|*form_vic_bg0_lo
|
|
|
|
|
// [124] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR
|
|
|
|
|
// *form_vic_bg1_hi*$10
|
|
|
|
|
// [125] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg1_hi
|
|
|
|
@ -28958,9 +28970,9 @@ gfx_mode: {
|
|
|
|
|
// *form_vic_bg1_hi*$10|*form_vic_bg1_lo
|
|
|
|
|
// [126] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) -- vbuaa=vbuaa_bor__deref_pbuc1
|
|
|
|
|
ora form_vic_bg1_lo
|
|
|
|
|
// *BGCOL2 = *form_vic_bg1_hi*$10|*form_vic_bg1_lo
|
|
|
|
|
// [127] *((const nomodify byte*) BGCOL2) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta BGCOL2
|
|
|
|
|
// VICII->BG_COLOR1 = *form_vic_bg1_hi*$10|*form_vic_bg1_lo
|
|
|
|
|
// [127] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1
|
|
|
|
|
// *form_vic_bg2_hi*$10
|
|
|
|
|
// [128] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg2_hi
|
|
|
|
@ -28971,9 +28983,9 @@ gfx_mode: {
|
|
|
|
|
// *form_vic_bg2_hi*$10|*form_vic_bg2_lo
|
|
|
|
|
// [129] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) -- vbuaa=vbuaa_bor__deref_pbuc1
|
|
|
|
|
ora form_vic_bg2_lo
|
|
|
|
|
// *BGCOL3 = *form_vic_bg2_hi*$10|*form_vic_bg2_lo
|
|
|
|
|
// [130] *((const nomodify byte*) BGCOL3) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta BGCOL3
|
|
|
|
|
// VICII->BG_COLOR2 = *form_vic_bg2_hi*$10|*form_vic_bg2_lo
|
|
|
|
|
// [130] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2
|
|
|
|
|
// *form_vic_bg3_hi*$10
|
|
|
|
|
// [131] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4
|
|
|
|
|
lda form_vic_bg3_hi
|
|
|
|
@ -28984,9 +28996,9 @@ gfx_mode: {
|
|
|
|
|
// *form_vic_bg3_hi*$10|*form_vic_bg3_lo
|
|
|
|
|
// [132] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) -- vbuaa=vbuaa_bor__deref_pbuc1
|
|
|
|
|
ora form_vic_bg3_lo
|
|
|
|
|
// *BGCOL4 = *form_vic_bg3_hi*$10|*form_vic_bg3_lo
|
|
|
|
|
// [133] *((const nomodify byte*) BGCOL4) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta BGCOL4
|
|
|
|
|
// VICII->BG_COLOR3 = *form_vic_bg3_hi*$10|*form_vic_bg3_lo
|
|
|
|
|
// [133] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuaa
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3
|
|
|
|
|
// if(*form_dtv_palet==0)
|
|
|
|
|
// [134] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 -- _deref_pbuc1_eq_0_then_la1
|
|
|
|
|
// DTV Palette
|
|
|
|
@ -29013,10 +29025,10 @@ gfx_mode: {
|
|
|
|
|
bne __b23
|
|
|
|
|
// gfx_mode::@25
|
|
|
|
|
__b25:
|
|
|
|
|
// while(*RASTER!=$ff)
|
|
|
|
|
// [139] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
// while(VICII->RASTER!=$ff)
|
|
|
|
|
// [139] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
lda #$ff
|
|
|
|
|
cmp RASTER
|
|
|
|
|
cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
|
|
|
|
|
bne __b25
|
|
|
|
|
// [140] phi from gfx_mode::@25 to gfx_mode::@26 [phi:gfx_mode::@25->gfx_mode::@26]
|
|
|
|
|
// gfx_mode::@26
|
|
|
|
@ -29879,20 +29891,20 @@ form_mode: {
|
|
|
|
|
// DTV Graphics Mode
|
|
|
|
|
lda #0
|
|
|
|
|
sta DTV_CONTROL
|
|
|
|
|
// *VIC_CONTROL = VIC_DEN|VIC_RSEL|3
|
|
|
|
|
// [276] *((const nomodify byte*) VIC_CONTROL) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// VICII->CONTROL1 = VIC_DEN|VIC_RSEL|3
|
|
|
|
|
// [276] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL1) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// VIC Graphics Mode
|
|
|
|
|
lda #VIC_DEN|VIC_RSEL|3
|
|
|
|
|
sta VIC_CONTROL
|
|
|
|
|
// *VIC_CONTROL2 = VIC_CSEL
|
|
|
|
|
// [277] *((const nomodify byte*) VIC_CONTROL2) ← (const nomodify byte) VIC_CSEL -- _deref_pbuc1=vbuc2
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL1
|
|
|
|
|
// VICII->CONTROL2 = VIC_CSEL
|
|
|
|
|
// [277] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_CONTROL2) ← (const nomodify byte) VIC_CSEL -- _deref_pbuc1=vbuc2
|
|
|
|
|
lda #VIC_CSEL
|
|
|
|
|
sta VIC_CONTROL2
|
|
|
|
|
// *VIC_MEMORY = (byte)((((word)FORM_SCREEN&$3fff)/$40)|(((word)FORM_CHARSET&$3fff)/$400))
|
|
|
|
|
// [278] *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400 -- _deref_pbuc1=vbuc2
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL2
|
|
|
|
|
// VICII->MEMORY = (byte)((((word)FORM_SCREEN&$3fff)/$40)|(((word)FORM_CHARSET&$3fff)/$400))
|
|
|
|
|
// [278] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// VIC Memory Pointers
|
|
|
|
|
lda #(FORM_SCREEN&$3fff)/$40|(FORM_CHARSET&$3fff)/$400
|
|
|
|
|
sta VIC_MEMORY
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY
|
|
|
|
|
// *DTV_PLANEA_START_LO = < FORM_SCREEN
|
|
|
|
|
// [279] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// DTV Plane A to FORM_SCREEN also
|
|
|
|
@ -29925,14 +29937,14 @@ form_mode: {
|
|
|
|
|
cpx #$10
|
|
|
|
|
bne __b1
|
|
|
|
|
// form_mode::@2
|
|
|
|
|
// *BGCOL = 0
|
|
|
|
|
// [286] *((const nomodify byte*) BGCOL) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// VICII->BG_COLOR = 0
|
|
|
|
|
// [286] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
// Screen colors
|
|
|
|
|
lda #0
|
|
|
|
|
sta BGCOL
|
|
|
|
|
// *BORDERCOL = 0
|
|
|
|
|
// [287] *((const nomodify byte*) BORDERCOL) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
sta BORDERCOL
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR
|
|
|
|
|
// VICII->BORDER_COLOR = 0
|
|
|
|
|
// [287] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2
|
|
|
|
|
sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
|
|
|
|
|
// preset_current = *form_preset
|
|
|
|
|
// [288] (byte) form_mode::preset_current#0 ← *((const byte*) form_fields_val) -- vbuz1=_deref_pbuc1
|
|
|
|
|
lda form_fields_val
|
|
|
|
@ -29947,10 +29959,10 @@ form_mode: {
|
|
|
|
|
// form_mode::@3
|
|
|
|
|
// form_mode::@4
|
|
|
|
|
__b4:
|
|
|
|
|
// while(*RASTER!=$ff)
|
|
|
|
|
// [290] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto form_mode::@4 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
// while(VICII->RASTER!=$ff)
|
|
|
|
|
// [290] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto form_mode::@4 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
|
|
|
lda #$ff
|
|
|
|
|
cmp RASTER
|
|
|
|
|
cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
|
|
|
|
|
bne __b4
|
|
|
|
|
// [291] phi from form_mode::@4 to form_mode::@5 [phi:form_mode::@4->form_mode::@5]
|
|
|
|
|
// form_mode::@5
|
|
|
|
|