void main() main: scope:[main] from asm { sei } [1] *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK [2] *PROCPORT = PROCPORT_RAM_IO [3] *DTV_FEATURE = DTV_FEATURE_ENABLE [4] call keyboard_init to:main::@3 main::@3: scope:[main] from main [5] phi() [6] call gfx_init to:main::@1 main::@1: scope:[main] from main::@3 main::@4 [7] form_field_idx#1 = phi( main::@3/0, main::@4/form_field_idx#19 ) [7] keyboard_events_size#28 = phi( main::@3/0, main::@4/keyboard_events_size#25 ) [7] form_cursor_count#1 = phi( main::@3/FORM_CURSOR_BLINK/2, main::@4/form_cursor_count#17 ) to:main::@2 main::@2: scope:[main] from main::@1 [8] phi() [9] call form_mode to:main::@4 main::@4: scope:[main] from main::@2 [10] phi() [11] call gfx_mode to:main::@1 void keyboard_init() keyboard_init: scope:[keyboard_init] from main [12] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = $ff [13] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B_DDR) = 0 to:keyboard_init::@return keyboard_init::@return: scope:[keyboard_init] from keyboard_init [14] return to:@return void gfx_init() gfx_init: scope:[gfx_init] from main::@3 [15] phi() [16] call gfx_init_screen0 to:gfx_init::@1 gfx_init::@1: scope:[gfx_init] from gfx_init [17] phi() [18] call gfx_init_screen1 to:gfx_init::@2 gfx_init::@2: scope:[gfx_init] from gfx_init::@1 [19] phi() [20] call gfx_init_screen2 to:gfx_init::@3 gfx_init::@3: scope:[gfx_init] from gfx_init::@2 [21] phi() [22] call gfx_init_screen3 to:gfx_init::@4 gfx_init::@4: scope:[gfx_init] from gfx_init::@3 [23] phi() [24] call gfx_init_screen4 to:gfx_init::@5 gfx_init::@5: scope:[gfx_init] from gfx_init::@4 [25] phi() [26] call gfx_init_charset to:gfx_init::@6 gfx_init::@6: scope:[gfx_init] from gfx_init::@5 [27] phi() [28] call gfx_init_VICII_bitmap to:gfx_init::@7 gfx_init::@7: scope:[gfx_init] from gfx_init::@6 [29] phi() [30] call gfx_init_plane_8bppchunky to:gfx_init::@8 gfx_init::@8: scope:[gfx_init] from gfx_init::@7 [31] phi() [32] call gfx_init_plane_charset8 to:gfx_init::@9 gfx_init::@9: scope:[gfx_init] from gfx_init::@8 [33] phi() [34] call gfx_init_plane_horisontal to:gfx_init::@10 gfx_init::@10: scope:[gfx_init] from gfx_init::@9 [35] phi() [36] call gfx_init_plane_vertical to:gfx_init::@11 gfx_init::@11: scope:[gfx_init] from gfx_init::@10 [37] phi() [38] call gfx_init_plane_horisontal2 to:gfx_init::@12 gfx_init::@12: scope:[gfx_init] from gfx_init::@11 [39] phi() [40] call gfx_init_plane_vertical2 to:gfx_init::@13 gfx_init::@13: scope:[gfx_init] from gfx_init::@12 [41] phi() [42] call gfx_init_plane_blank to:gfx_init::@14 gfx_init::@14: scope:[gfx_init] from gfx_init::@13 [43] phi() [44] call gfx_init_plane_full to:gfx_init::@return gfx_init::@return: scope:[gfx_init] from gfx_init::@14 [45] return to:@return void form_mode() form_mode: scope:[form_mode] from main::@2 [46] phi() [47] call print_set_screen to:form_mode::@8 form_mode::@8: scope:[form_mode] from form_mode [48] phi() [49] call print_cls to:form_mode::@9 form_mode::@9: scope:[form_mode] from form_mode::@8 [50] phi() [51] call print_str_lines to:form_mode::@10 form_mode::@10: scope:[form_mode] from form_mode::@9 [52] phi() [53] call print_set_screen to:form_mode::@11 form_mode::@11: scope:[form_mode] from form_mode::@10 [54] phi() [55] call print_cls to:form_mode::@12 form_mode::@12: scope:[form_mode] from form_mode::@11 [56] phi() [57] call print_str_lines to:form_mode::@13 form_mode::@13: scope:[form_mode] from form_mode::@12 [58] phi() [59] call form_set_screen to:form_mode::@14 form_mode::@14: scope:[form_mode] from form_mode::@13 [60] phi() [61] call form_render_values to:form_mode::@15 form_mode::@15: scope:[form_mode] from form_mode::@14 [62] render_preset_name::idx#0 = *form_fields_val [63] call render_preset_name to:form_mode::@16 form_mode::@16: scope:[form_mode] from form_mode::@15 [64] *DTV_GRAPHICS_VIC_BANK = 0 [65] *DTV_COLOR_BANK_LO = <(word)DTV_COLOR_BANK_DEFAULT/$400 [66] *DTV_COLOR_BANK_HI = 0 [67] *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = 3 [68] *((byte*)CIA2) = 3 [69] *DTV_CONTROL = 0 [70] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL1) = VICII_DEN|VICII_RSEL|3 [71] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_CONTROL2) = VICII_CSEL [72] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY) = (byte)(word)FORM_SCREEN&$3fff/$40|(word)FORM_CHARSET&$3fff/$400 [73] *DTV_PLANEA_START_LO = 0 [74] *DTV_PLANEA_START_MI = >FORM_SCREEN [75] *DTV_PLANEA_START_HI = 0 to:form_mode::@1 form_mode::@1: scope:[form_mode] from form_mode::@1 form_mode::@16 [76] form_mode::i#2 = phi( form_mode::@1/form_mode::i#1, form_mode::@16/0 ) [77] DTV_PALETTE[form_mode::i#2] = DTV_PALETTE_DEFAULT[form_mode::i#2] [78] form_mode::i#1 = ++ form_mode::i#2 [79] if(form_mode::i#1!=$10) goto form_mode::@1 to:form_mode::@2 form_mode::@2: scope:[form_mode] from form_mode::@1 [80] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) = 0 [81] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = 0 [82] form_mode::preset_current#0 = *form_fields_val to:form_mode::@3 form_mode::@3: scope:[form_mode] from form_mode::@19 form_mode::@2 form_mode::@6 [83] form_mode::preset_current#6 = phi( form_mode::@2/form_mode::preset_current#0, form_mode::@19/form_mode::preset_current#1, form_mode::@6/form_mode::preset_current#6 ) [83] form_field_idx#30 = phi( form_mode::@2/form_field_idx#1, form_mode::@19/form_field_idx#19, form_mode::@6/form_field_idx#19 ) [83] keyboard_events_size#49 = phi( form_mode::@2/keyboard_events_size#28, form_mode::@19/keyboard_events_size#25, form_mode::@6/keyboard_events_size#25 ) [83] form_cursor_count#23 = phi( form_mode::@2/form_cursor_count#1, form_mode::@19/form_cursor_count#17, form_mode::@6/form_cursor_count#17 ) to:form_mode::@4 form_mode::@4: scope:[form_mode] from form_mode::@3 form_mode::@4 [84] if(*((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto form_mode::@4 to:form_mode::@5 form_mode::@5: scope:[form_mode] from form_mode::@4 [85] phi() [86] call form_control [87] form_control::return#0 = form_control::return#2 to:form_mode::@17 form_mode::@17: scope:[form_mode] from form_mode::@5 [88] form_mode::$11 = form_control::return#0 [89] if(form_mode::$11==0) goto form_mode::@6 to:form_mode::@return form_mode::@return: scope:[form_mode] from form_mode::@17 [90] return to:@return form_mode::@6: scope:[form_mode] from form_mode::@17 [91] if(form_mode::preset_current#6==*form_fields_val) goto form_mode::@3 to:form_mode::@7 form_mode::@7: scope:[form_mode] from form_mode::@6 [92] apply_preset::idx#0 = *form_fields_val [93] call apply_preset to:form_mode::@18 form_mode::@18: scope:[form_mode] from form_mode::@7 [94] form_mode::preset_current#1 = *form_fields_val [95] call form_render_values to:form_mode::@19 form_mode::@19: scope:[form_mode] from form_mode::@18 [96] render_preset_name::idx#1 = *form_fields_val [97] call render_preset_name to:form_mode::@3 void gfx_mode() gfx_mode: scope:[gfx_mode] from main::@4 [98] if(*form_ctrl_line==0) goto gfx_mode::@1 to:gfx_mode::@10 gfx_mode::@10: scope:[gfx_mode] from gfx_mode [99] phi() to:gfx_mode::@1 gfx_mode::@1: scope:[gfx_mode] from gfx_mode gfx_mode::@10 [100] gfx_mode::dtv_control#14 = phi( gfx_mode/0, gfx_mode::@10/DTV_LINEAR ) [101] if(*form_ctrl_borof==0) goto gfx_mode::@2 to:gfx_mode::@11 gfx_mode::@11: scope:[gfx_mode] from gfx_mode::@1 [102] gfx_mode::dtv_control#2 = gfx_mode::dtv_control#14 | DTV_BORDER_OFF to:gfx_mode::@2 gfx_mode::@2: scope:[gfx_mode] from gfx_mode::@1 gfx_mode::@11 [103] gfx_mode::dtv_control#15 = phi( gfx_mode::@1/gfx_mode::dtv_control#14, gfx_mode::@11/gfx_mode::dtv_control#2 ) [104] if(*form_ctrl_hicol==0) goto gfx_mode::@3 to:gfx_mode::@12 gfx_mode::@12: scope:[gfx_mode] from gfx_mode::@2 [105] gfx_mode::dtv_control#3 = gfx_mode::dtv_control#15 | DTV_HIGHCOLOR to:gfx_mode::@3 gfx_mode::@3: scope:[gfx_mode] from gfx_mode::@12 gfx_mode::@2 [106] gfx_mode::dtv_control#10 = phi( gfx_mode::@12/gfx_mode::dtv_control#3, gfx_mode::@2/gfx_mode::dtv_control#15 ) [107] if(*form_ctrl_overs==0) goto gfx_mode::@4 to:gfx_mode::@13 gfx_mode::@13: scope:[gfx_mode] from gfx_mode::@3 [108] gfx_mode::dtv_control#4 = gfx_mode::dtv_control#10 | DTV_OVERSCAN to:gfx_mode::@4 gfx_mode::@4: scope:[gfx_mode] from gfx_mode::@13 gfx_mode::@3 [109] gfx_mode::dtv_control#11 = phi( gfx_mode::@13/gfx_mode::dtv_control#4, gfx_mode::@3/gfx_mode::dtv_control#10 ) [110] if(*form_ctrl_colof==0) goto gfx_mode::@5 to:gfx_mode::@14 gfx_mode::@14: scope:[gfx_mode] from gfx_mode::@4 [111] gfx_mode::dtv_control#5 = gfx_mode::dtv_control#11 | DTV_COLORRAM_OFF to:gfx_mode::@5 gfx_mode::@5: scope:[gfx_mode] from gfx_mode::@14 gfx_mode::@4 [112] gfx_mode::dtv_control#13 = phi( gfx_mode::@14/gfx_mode::dtv_control#5, gfx_mode::@4/gfx_mode::dtv_control#11 ) [113] if(*form_ctrl_chunk==0) goto gfx_mode::@6 to:gfx_mode::@15 gfx_mode::@15: scope:[gfx_mode] from gfx_mode::@5 [114] gfx_mode::dtv_control#6 = gfx_mode::dtv_control#13 | DTV_CHUNKY to:gfx_mode::@6 gfx_mode::@6: scope:[gfx_mode] from gfx_mode::@15 gfx_mode::@5 [115] gfx_mode::dtv_control#12 = phi( gfx_mode::@15/gfx_mode::dtv_control#6, gfx_mode::@5/gfx_mode::dtv_control#13 ) [116] *DTV_CONTROL = gfx_mode::dtv_control#12 [117] if(*form_ctrl_ecm==0) goto gfx_mode::@7 to:gfx_mode::@16 gfx_mode::@16: scope:[gfx_mode] from gfx_mode::@6 [118] phi() to:gfx_mode::@7 gfx_mode::@7: scope:[gfx_mode] from gfx_mode::@16 gfx_mode::@6 [119] gfx_mode::VICII_control#5 = phi( gfx_mode::@16/VICII_DEN|VICII_RSEL|3|VICII_ECM, gfx_mode::@6/VICII_DEN|VICII_RSEL|3 ) [120] if(*form_ctrl_bmm==0) goto gfx_mode::@8 to:gfx_mode::@17 gfx_mode::@17: scope:[gfx_mode] from gfx_mode::@7 [121] gfx_mode::VICII_control#2 = gfx_mode::VICII_control#5 | VICII_BMM to:gfx_mode::@8 gfx_mode::@8: scope:[gfx_mode] from gfx_mode::@17 gfx_mode::@7 [122] gfx_mode::VICII_control#4 = phi( gfx_mode::@17/gfx_mode::VICII_control#2, gfx_mode::@7/gfx_mode::VICII_control#5 ) [123] *VICII_CONTROL1 = gfx_mode::VICII_control#4 [124] if(*form_ctrl_mcm==0) goto gfx_mode::@9 to:gfx_mode::@18 gfx_mode::@18: scope:[gfx_mode] from gfx_mode::@8 [125] phi() to:gfx_mode::@9 gfx_mode::@9: scope:[gfx_mode] from gfx_mode::@18 gfx_mode::@8 [126] gfx_mode::VICII_control2#2 = phi( gfx_mode::@18/VICII_CSEL|VICII_MCM, gfx_mode::@8/VICII_CSEL ) [127] *VICII_CONTROL2 = gfx_mode::VICII_control2#2 [128] gfx_mode::$18 = *form_a_start_hi << 4 [129] gfx_mode::plane_a_offs#0 = gfx_mode::$18 | *form_a_start_lo [130] get_plane::idx#0 = *form_a_pattern [131] call get_plane [132] get_plane::return#16 = get_plane::return#14 to:gfx_mode::@27 gfx_mode::@27: scope:[gfx_mode] from gfx_mode::@9 [133] gfx_mode::$20 = get_plane::return#16 [134] gfx_mode::plane_a#0 = gfx_mode::$20 + gfx_mode::plane_a_offs#0 [135] gfx_mode::$22 = < gfx_mode::plane_a#0 [136] gfx_mode::$23 = < gfx_mode::$22 [137] *DTV_PLANEA_START_LO = gfx_mode::$23 [138] gfx_mode::$24 = < gfx_mode::plane_a#0 [139] gfx_mode::$25 = > gfx_mode::$24 [140] *DTV_PLANEA_START_MI = gfx_mode::$25 [141] gfx_mode::$26 = > gfx_mode::plane_a#0 [142] gfx_mode::$27 = < gfx_mode::$26 [143] *DTV_PLANEA_START_HI = gfx_mode::$27 [144] gfx_mode::$28 = *form_a_step_hi << 4 [145] gfx_mode::$29 = gfx_mode::$28 | *form_a_step_lo [146] *DTV_PLANEA_STEP = gfx_mode::$29 [147] gfx_mode::$30 = *form_a_mod_hi << 4 [148] gfx_mode::$31 = gfx_mode::$30 | *form_a_mod_lo [149] *DTV_PLANEA_MODULO_LO = gfx_mode::$31 [150] *DTV_PLANEA_MODULO_HI = 0 [151] gfx_mode::$32 = *form_b_start_hi << 4 [152] gfx_mode::plane_b_offs#0 = gfx_mode::$32 | *form_b_start_lo [153] get_plane::idx#1 = *form_b_pattern [154] call get_plane [155] get_plane::return#17 = get_plane::return#14 to:gfx_mode::@28 gfx_mode::@28: scope:[gfx_mode] from gfx_mode::@27 [156] gfx_mode::$34 = get_plane::return#17 [157] gfx_mode::plane_b#0 = gfx_mode::$34 + gfx_mode::plane_b_offs#0 [158] gfx_mode::$36 = < gfx_mode::plane_b#0 [159] gfx_mode::$37 = < gfx_mode::$36 [160] *DTV_PLANEB_START_LO = gfx_mode::$37 [161] gfx_mode::$38 = < gfx_mode::plane_b#0 [162] gfx_mode::$39 = > gfx_mode::$38 [163] *DTV_PLANEB_START_MI = gfx_mode::$39 [164] gfx_mode::$40 = > gfx_mode::plane_b#0 [165] gfx_mode::$41 = < gfx_mode::$40 [166] *DTV_PLANEB_START_HI = gfx_mode::$41 [167] gfx_mode::$42 = *form_b_step_hi << 4 [168] gfx_mode::$43 = gfx_mode::$42 | *form_b_step_lo [169] *DTV_PLANEB_STEP = gfx_mode::$43 [170] gfx_mode::$44 = *form_b_mod_hi << 4 [171] gfx_mode::$45 = gfx_mode::$44 | *form_b_mod_lo [172] *DTV_PLANEB_MODULO_LO = gfx_mode::$45 [173] *DTV_PLANEB_MODULO_HI = 0 [174] *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = 3 [175] *((byte*)CIA2) = 3^(byte)(word)VICII_SCREEN0/$4000 [176] get_VICII_screen::idx#0 = *form_VICII_screen [177] call get_VICII_screen [178] get_VICII_screen::return#10 = get_VICII_screen::return#5 to:gfx_mode::@29 gfx_mode::@29: scope:[gfx_mode] from gfx_mode::@28 [179] gfx_mode::$82 = get_VICII_screen::return#10 [180] gfx_mode::$47 = (word)gfx_mode::$82 & $3fff [181] gfx_mode::$48 = gfx_mode::$47 >> 6 [182] get_VICII_charset::idx#0 = *form_VICII_gfx [183] call get_VICII_charset [184] get_VICII_charset::return#4 = get_VICII_charset::return#2 to:gfx_mode::@30 gfx_mode::@30: scope:[gfx_mode] from gfx_mode::@29 [185] gfx_mode::$83 = get_VICII_charset::return#4 [186] gfx_mode::$50 = (word)gfx_mode::$83 & $3fff [187] gfx_mode::$51 = > gfx_mode::$50 [188] gfx_mode::$52 = gfx_mode::$51 >> 2 [189] gfx_mode::$84 = (byte)gfx_mode::$48 [190] gfx_mode::$53 = gfx_mode::$84 | gfx_mode::$52 [191] *VICII_MEMORY = gfx_mode::$53 [192] get_VICII_screen::idx#1 = *form_VICII_cols [193] call get_VICII_screen [194] get_VICII_screen::return#11 = get_VICII_screen::return#5 to:gfx_mode::@31 gfx_mode::@31: scope:[gfx_mode] from gfx_mode::@30 [195] gfx_mode::VICII_colors#0 = get_VICII_screen::return#11 to:gfx_mode::@19 gfx_mode::@19: scope:[gfx_mode] from gfx_mode::@21 gfx_mode::@31 [196] gfx_mode::cy#4 = phi( gfx_mode::@21/gfx_mode::cy#1, gfx_mode::@31/0 ) [196] gfx_mode::col#3 = phi( gfx_mode::@21/gfx_mode::col#1, gfx_mode::@31/COLS ) [196] gfx_mode::VICII_colors#3 = phi( gfx_mode::@21/gfx_mode::VICII_colors#1, gfx_mode::@31/gfx_mode::VICII_colors#0 ) to:gfx_mode::@20 gfx_mode::@20: scope:[gfx_mode] from gfx_mode::@19 gfx_mode::@20 [197] gfx_mode::cx#2 = phi( gfx_mode::@19/0, gfx_mode::@20/gfx_mode::cx#1 ) [197] gfx_mode::col#2 = phi( gfx_mode::@19/gfx_mode::col#3, gfx_mode::@20/gfx_mode::col#1 ) [197] gfx_mode::VICII_colors#2 = phi( gfx_mode::@19/gfx_mode::VICII_colors#3, gfx_mode::@20/gfx_mode::VICII_colors#1 ) [198] *gfx_mode::col#2 = *gfx_mode::VICII_colors#2 [199] gfx_mode::col#1 = ++ gfx_mode::col#2 [200] gfx_mode::VICII_colors#1 = ++ gfx_mode::VICII_colors#2 [201] gfx_mode::cx#1 = ++ gfx_mode::cx#2 [202] if(gfx_mode::cx#1!=$28) goto gfx_mode::@20 to:gfx_mode::@21 gfx_mode::@21: scope:[gfx_mode] from gfx_mode::@20 [203] gfx_mode::cy#1 = ++ gfx_mode::cy#4 [204] if(gfx_mode::cy#1!=$19) goto gfx_mode::@19 to:gfx_mode::@22 gfx_mode::@22: scope:[gfx_mode] from gfx_mode::@21 [205] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = 0 [206] gfx_mode::$55 = *form_VICII_bg0_hi << 4 [207] gfx_mode::$56 = gfx_mode::$55 | *form_VICII_bg0_lo [208] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) = gfx_mode::$56 [209] gfx_mode::$57 = *form_VICII_bg1_hi << 4 [210] gfx_mode::$58 = gfx_mode::$57 | *form_VICII_bg1_lo [211] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) = gfx_mode::$58 [212] gfx_mode::$59 = *form_VICII_bg2_hi << 4 [213] gfx_mode::$60 = gfx_mode::$59 | *form_VICII_bg2_lo [214] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) = gfx_mode::$60 [215] gfx_mode::$61 = *form_VICII_bg3_hi << 4 [216] gfx_mode::$62 = gfx_mode::$61 | *form_VICII_bg3_lo [217] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) = gfx_mode::$62 [218] if(*form_dtv_palet==0) goto gfx_mode::@24 to:gfx_mode::@23 gfx_mode::@23: scope:[gfx_mode] from gfx_mode::@22 gfx_mode::@23 [219] gfx_mode::j#2 = phi( gfx_mode::@22/0, gfx_mode::@23/gfx_mode::j#1 ) [220] DTV_PALETTE[gfx_mode::j#2] = gfx_mode::j#2 [221] gfx_mode::j#1 = ++ gfx_mode::j#2 [222] if(gfx_mode::j#1!=$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 [223] if(*((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto gfx_mode::@25 to:gfx_mode::@26 gfx_mode::@26: scope:[gfx_mode] from gfx_mode::@25 [224] phi() [225] call keyboard_event_scan to:gfx_mode::@32 gfx_mode::@32: scope:[gfx_mode] from gfx_mode::@26 [226] phi() [227] call keyboard_event_get [228] keyboard_event_get::return#3 = keyboard_event_get::return#2 to:gfx_mode::@33 gfx_mode::@33: scope:[gfx_mode] from gfx_mode::@32 [229] gfx_mode::keyboard_event#0 = keyboard_event_get::return#3 [230] if(gfx_mode::keyboard_event#0==KEY_SPACE) goto gfx_mode::@return to:gfx_mode::@25 gfx_mode::@return: scope:[gfx_mode] from gfx_mode::@33 [231] return to:@return gfx_mode::@24: scope:[gfx_mode] from gfx_mode::@22 gfx_mode::@24 [232] gfx_mode::i#2 = phi( gfx_mode::@22/0, gfx_mode::@24/gfx_mode::i#1 ) [233] DTV_PALETTE[gfx_mode::i#2] = DTV_PALETTE_DEFAULT[gfx_mode::i#2] [234] gfx_mode::i#1 = ++ gfx_mode::i#2 [235] if(gfx_mode::i#1!=$10) goto gfx_mode::@24 to:gfx_mode::@25 void gfx_init_screen0() gfx_init_screen0: scope:[gfx_init_screen0] from gfx_init [236] phi() to:gfx_init_screen0::@1 gfx_init_screen0::@1: scope:[gfx_init_screen0] from gfx_init_screen0 gfx_init_screen0::@3 [237] gfx_init_screen0::ch#3 = phi( gfx_init_screen0/VICII_SCREEN0, gfx_init_screen0::@3/gfx_init_screen0::ch#1 ) [237] gfx_init_screen0::cy#4 = phi( gfx_init_screen0/0, gfx_init_screen0::@3/gfx_init_screen0::cy#1 ) to:gfx_init_screen0::@2 gfx_init_screen0::@2: scope:[gfx_init_screen0] from gfx_init_screen0::@1 gfx_init_screen0::@2 [238] gfx_init_screen0::ch#2 = phi( gfx_init_screen0::@1/gfx_init_screen0::ch#3, gfx_init_screen0::@2/gfx_init_screen0::ch#1 ) [238] gfx_init_screen0::cx#2 = phi( gfx_init_screen0::@1/0, gfx_init_screen0::@2/gfx_init_screen0::cx#1 ) [239] gfx_init_screen0::$0 = gfx_init_screen0::cy#4 & $f [240] gfx_init_screen0::$1 = gfx_init_screen0::$0 << 4 [241] gfx_init_screen0::$2 = gfx_init_screen0::cx#2 & $f [242] gfx_init_screen0::$3 = gfx_init_screen0::$1 | gfx_init_screen0::$2 [243] *gfx_init_screen0::ch#2 = gfx_init_screen0::$3 [244] gfx_init_screen0::ch#1 = ++ gfx_init_screen0::ch#2 [245] gfx_init_screen0::cx#1 = ++ gfx_init_screen0::cx#2 [246] if(gfx_init_screen0::cx#1!=$28) goto gfx_init_screen0::@2 to:gfx_init_screen0::@3 gfx_init_screen0::@3: scope:[gfx_init_screen0] from gfx_init_screen0::@2 [247] gfx_init_screen0::cy#1 = ++ gfx_init_screen0::cy#4 [248] if(gfx_init_screen0::cy#1!=$19) goto gfx_init_screen0::@1 to:gfx_init_screen0::@return gfx_init_screen0::@return: scope:[gfx_init_screen0] from gfx_init_screen0::@3 [249] return to:@return void gfx_init_screen1() gfx_init_screen1: scope:[gfx_init_screen1] from gfx_init::@1 [250] phi() to:gfx_init_screen1::@1 gfx_init_screen1::@1: scope:[gfx_init_screen1] from gfx_init_screen1 gfx_init_screen1::@3 [251] gfx_init_screen1::ch#3 = phi( gfx_init_screen1/VICII_SCREEN1, gfx_init_screen1::@3/gfx_init_screen1::ch#1 ) [251] gfx_init_screen1::cy#4 = phi( gfx_init_screen1/0, gfx_init_screen1::@3/gfx_init_screen1::cy#1 ) to:gfx_init_screen1::@2 gfx_init_screen1::@2: scope:[gfx_init_screen1] from gfx_init_screen1::@1 gfx_init_screen1::@2 [252] gfx_init_screen1::ch#2 = phi( gfx_init_screen1::@1/gfx_init_screen1::ch#3, gfx_init_screen1::@2/gfx_init_screen1::ch#1 ) [252] gfx_init_screen1::cx#2 = phi( gfx_init_screen1::@1/0, gfx_init_screen1::@2/gfx_init_screen1::cx#1 ) [253] gfx_init_screen1::$0 = gfx_init_screen1::cx#2 + gfx_init_screen1::cy#4 [254] gfx_init_screen1::$1 = gfx_init_screen1::$0 & $f [255] *gfx_init_screen1::ch#2 = gfx_init_screen1::$1 [256] gfx_init_screen1::ch#1 = ++ gfx_init_screen1::ch#2 [257] gfx_init_screen1::cx#1 = ++ gfx_init_screen1::cx#2 [258] if(gfx_init_screen1::cx#1!=$28) goto gfx_init_screen1::@2 to:gfx_init_screen1::@3 gfx_init_screen1::@3: scope:[gfx_init_screen1] from gfx_init_screen1::@2 [259] gfx_init_screen1::cy#1 = ++ gfx_init_screen1::cy#4 [260] if(gfx_init_screen1::cy#1!=$19) goto gfx_init_screen1::@1 to:gfx_init_screen1::@return gfx_init_screen1::@return: scope:[gfx_init_screen1] from gfx_init_screen1::@3 [261] return to:@return void gfx_init_screen2() gfx_init_screen2: scope:[gfx_init_screen2] from gfx_init::@2 [262] phi() to:gfx_init_screen2::@1 gfx_init_screen2::@1: scope:[gfx_init_screen2] from gfx_init_screen2 gfx_init_screen2::@3 [263] gfx_init_screen2::ch#3 = phi( gfx_init_screen2/VICII_SCREEN2, gfx_init_screen2::@3/gfx_init_screen2::ch#1 ) [263] gfx_init_screen2::cy#4 = phi( gfx_init_screen2/0, gfx_init_screen2::@3/gfx_init_screen2::cy#1 ) to:gfx_init_screen2::@2 gfx_init_screen2::@2: scope:[gfx_init_screen2] from gfx_init_screen2::@1 gfx_init_screen2::@2 [264] gfx_init_screen2::ch#2 = phi( gfx_init_screen2::@1/gfx_init_screen2::ch#3, gfx_init_screen2::@2/gfx_init_screen2::ch#1 ) [264] gfx_init_screen2::cx#2 = phi( gfx_init_screen2::@1/0, gfx_init_screen2::@2/gfx_init_screen2::cx#1 ) [265] gfx_init_screen2::$0 = gfx_init_screen2::cx#2 + gfx_init_screen2::cy#4 [266] gfx_init_screen2::col#0 = gfx_init_screen2::$0 & $f [267] gfx_init_screen2::col2#0 = $f - gfx_init_screen2::col#0 [268] gfx_init_screen2::$3 = gfx_init_screen2::col#0 << 4 [269] gfx_init_screen2::$4 = gfx_init_screen2::$3 | gfx_init_screen2::col2#0 [270] *gfx_init_screen2::ch#2 = gfx_init_screen2::$4 [271] gfx_init_screen2::ch#1 = ++ gfx_init_screen2::ch#2 [272] gfx_init_screen2::cx#1 = ++ gfx_init_screen2::cx#2 [273] if(gfx_init_screen2::cx#1!=$28) goto gfx_init_screen2::@2 to:gfx_init_screen2::@3 gfx_init_screen2::@3: scope:[gfx_init_screen2] from gfx_init_screen2::@2 [274] gfx_init_screen2::cy#1 = ++ gfx_init_screen2::cy#4 [275] if(gfx_init_screen2::cy#1!=$19) goto gfx_init_screen2::@1 to:gfx_init_screen2::@return gfx_init_screen2::@return: scope:[gfx_init_screen2] from gfx_init_screen2::@3 [276] return to:@return void gfx_init_screen3() gfx_init_screen3: scope:[gfx_init_screen3] from gfx_init::@3 [277] phi() to:gfx_init_screen3::@1 gfx_init_screen3::@1: scope:[gfx_init_screen3] from gfx_init_screen3 gfx_init_screen3::@3 [278] gfx_init_screen3::ch#3 = phi( gfx_init_screen3/VICII_SCREEN3, gfx_init_screen3::@3/gfx_init_screen3::ch#1 ) [278] gfx_init_screen3::cy#4 = phi( gfx_init_screen3/0, gfx_init_screen3::@3/gfx_init_screen3::cy#1 ) to:gfx_init_screen3::@2 gfx_init_screen3::@2: scope:[gfx_init_screen3] from gfx_init_screen3::@1 gfx_init_screen3::@2 [279] gfx_init_screen3::ch#2 = phi( gfx_init_screen3::@1/gfx_init_screen3::ch#3, gfx_init_screen3::@2/gfx_init_screen3::ch#1 ) [279] gfx_init_screen3::cx#2 = phi( gfx_init_screen3::@1/0, gfx_init_screen3::@2/gfx_init_screen3::cx#1 ) [280] gfx_init_screen3::$0 = gfx_init_screen3::cx#2 & 3 [281] gfx_init_screen3::$1 = gfx_init_screen3::$0 << 4 [282] gfx_init_screen3::$2 = gfx_init_screen3::cy#4 & 3 [283] gfx_init_screen3::$3 = gfx_init_screen3::$1 | gfx_init_screen3::$2 [284] *gfx_init_screen3::ch#2 = gfx_init_screen3::$3 [285] gfx_init_screen3::ch#1 = ++ gfx_init_screen3::ch#2 [286] gfx_init_screen3::cx#1 = ++ gfx_init_screen3::cx#2 [287] if(gfx_init_screen3::cx#1!=$28) goto gfx_init_screen3::@2 to:gfx_init_screen3::@3 gfx_init_screen3::@3: scope:[gfx_init_screen3] from gfx_init_screen3::@2 [288] gfx_init_screen3::cy#1 = ++ gfx_init_screen3::cy#4 [289] if(gfx_init_screen3::cy#1!=$19) goto gfx_init_screen3::@1 to:gfx_init_screen3::@return gfx_init_screen3::@return: scope:[gfx_init_screen3] from gfx_init_screen3::@3 [290] return to:@return void gfx_init_screen4() gfx_init_screen4: scope:[gfx_init_screen4] from gfx_init::@4 [291] phi() to:gfx_init_screen4::@1 gfx_init_screen4::@1: scope:[gfx_init_screen4] from gfx_init_screen4 gfx_init_screen4::@3 [292] gfx_init_screen4::cy#4 = phi( gfx_init_screen4/0, gfx_init_screen4::@3/gfx_init_screen4::cy#1 ) [292] gfx_init_screen4::ch#3 = phi( gfx_init_screen4/VICII_SCREEN4, gfx_init_screen4::@3/gfx_init_screen4::ch#1 ) to:gfx_init_screen4::@2 gfx_init_screen4::@2: scope:[gfx_init_screen4] from gfx_init_screen4::@1 gfx_init_screen4::@2 [293] gfx_init_screen4::cx#2 = phi( gfx_init_screen4::@1/0, gfx_init_screen4::@2/gfx_init_screen4::cx#1 ) [293] gfx_init_screen4::ch#2 = phi( gfx_init_screen4::@1/gfx_init_screen4::ch#3, gfx_init_screen4::@2/gfx_init_screen4::ch#1 ) [294] *gfx_init_screen4::ch#2 = 0 [295] gfx_init_screen4::ch#1 = ++ gfx_init_screen4::ch#2 [296] gfx_init_screen4::cx#1 = ++ gfx_init_screen4::cx#2 [297] if(gfx_init_screen4::cx#1!=$28) goto gfx_init_screen4::@2 to:gfx_init_screen4::@3 gfx_init_screen4::@3: scope:[gfx_init_screen4] from gfx_init_screen4::@2 [298] gfx_init_screen4::cy#1 = ++ gfx_init_screen4::cy#4 [299] if(gfx_init_screen4::cy#1!=$19) goto gfx_init_screen4::@1 to:gfx_init_screen4::@return gfx_init_screen4::@return: scope:[gfx_init_screen4] from gfx_init_screen4::@3 [300] return to:@return void gfx_init_charset() gfx_init_charset: scope:[gfx_init_charset] from gfx_init::@5 [301] *PROCPORT = $32 to:gfx_init_charset::@1 gfx_init_charset::@1: scope:[gfx_init_charset] from gfx_init_charset gfx_init_charset::@3 [302] gfx_init_charset::c#4 = phi( gfx_init_charset/0, gfx_init_charset::@3/gfx_init_charset::c#1 ) [302] gfx_init_charset::charset#3 = phi( gfx_init_charset/VICII_CHARSET_ROM, gfx_init_charset::@3/gfx_init_charset::charset#1 ) [302] gfx_init_charset::chargen#3 = phi( gfx_init_charset/CHARGEN, gfx_init_charset::@3/gfx_init_charset::chargen#1 ) to:gfx_init_charset::@2 gfx_init_charset::@2: scope:[gfx_init_charset] from gfx_init_charset::@1 gfx_init_charset::@2 [303] gfx_init_charset::l#2 = phi( gfx_init_charset::@1/0, gfx_init_charset::@2/gfx_init_charset::l#1 ) [303] gfx_init_charset::charset#2 = phi( gfx_init_charset::@1/gfx_init_charset::charset#3, gfx_init_charset::@2/gfx_init_charset::charset#1 ) [303] gfx_init_charset::chargen#2 = phi( gfx_init_charset::@1/gfx_init_charset::chargen#3, gfx_init_charset::@2/gfx_init_charset::chargen#1 ) [304] *gfx_init_charset::charset#2 = *gfx_init_charset::chargen#2 [305] gfx_init_charset::charset#1 = ++ gfx_init_charset::charset#2 [306] gfx_init_charset::chargen#1 = ++ gfx_init_charset::chargen#2 [307] gfx_init_charset::l#1 = ++ gfx_init_charset::l#2 [308] if(gfx_init_charset::l#1!=8) goto gfx_init_charset::@2 to:gfx_init_charset::@3 gfx_init_charset::@3: scope:[gfx_init_charset] from gfx_init_charset::@2 [309] gfx_init_charset::c#1 = ++ gfx_init_charset::c#4 [310] if(gfx_init_charset::c#1!=0) goto gfx_init_charset::@1 to:gfx_init_charset::@4 gfx_init_charset::@4: scope:[gfx_init_charset] from gfx_init_charset::@3 [311] *PROCPORT = $37 to:gfx_init_charset::@return gfx_init_charset::@return: scope:[gfx_init_charset] from gfx_init_charset::@4 [312] return to:@return void gfx_init_VICII_bitmap() gfx_init_VICII_bitmap: scope:[gfx_init_VICII_bitmap] from gfx_init::@6 [313] phi() [314] call bitmap_init to:gfx_init_VICII_bitmap::@3 gfx_init_VICII_bitmap::@3: scope:[gfx_init_VICII_bitmap] from gfx_init_VICII_bitmap [315] phi() [316] call bitmap_clear to:gfx_init_VICII_bitmap::@1 gfx_init_VICII_bitmap::@1: scope:[gfx_init_VICII_bitmap] from gfx_init_VICII_bitmap::@3 gfx_init_VICII_bitmap::@4 [317] gfx_init_VICII_bitmap::l#2 = phi( gfx_init_VICII_bitmap::@3/0, gfx_init_VICII_bitmap::@4/gfx_init_VICII_bitmap::l#1 ) [318] if(gfx_init_VICII_bitmap::l#2> 1 [407] gfx_init_plane_horisontal2::row#0 = gfx_init_plane_horisontal2::$2 & 3 [408] *gfx_init_plane_horisontal2::gfxa#2 = gfx_init_plane_horisontal2::row_bitmask[gfx_init_plane_horisontal2::row#0] [409] gfx_init_plane_horisontal2::gfxa#1 = ++ gfx_init_plane_horisontal2::gfxa#2 [410] gfx_init_plane_horisontal2::ax#1 = ++ gfx_init_plane_horisontal2::ax#2 [411] if(gfx_init_plane_horisontal2::ax#1!=$28) goto gfx_init_plane_horisontal2::@2 to:gfx_init_plane_horisontal2::@3 gfx_init_plane_horisontal2::@3: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@2 [412] gfx_init_plane_horisontal2::ay#1 = ++ gfx_init_plane_horisontal2::ay#4 [413] if(gfx_init_plane_horisontal2::ay#1!=$c8) goto gfx_init_plane_horisontal2::@1 to:gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal2::@4: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@3 [414] phi() [415] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal2::@return gfx_init_plane_horisontal2::@return: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@4 [416] return to:@return void gfx_init_plane_vertical2() gfx_init_plane_vertical2: scope:[gfx_init_plane_vertical2] from gfx_init::@12 [417] phi() [418] call gfx_init_plane_fill to:gfx_init_plane_vertical2::@return gfx_init_plane_vertical2::@return: scope:[gfx_init_plane_vertical2] from gfx_init_plane_vertical2 [419] return to:@return void gfx_init_plane_blank() gfx_init_plane_blank: scope:[gfx_init_plane_blank] from gfx_init::@13 [420] phi() [421] call gfx_init_plane_fill to:gfx_init_plane_blank::@return gfx_init_plane_blank::@return: scope:[gfx_init_plane_blank] from gfx_init_plane_blank [422] return to:@return void gfx_init_plane_full() gfx_init_plane_full: scope:[gfx_init_plane_full] from gfx_init::@14 [423] phi() [424] call gfx_init_plane_fill to:gfx_init_plane_full::@return gfx_init_plane_full::@return: scope:[gfx_init_plane_full] from gfx_init_plane_full [425] return to:@return void print_set_screen(byte* print_set_screen::screen) print_set_screen: scope:[print_set_screen] from form_mode form_mode::@10 [426] print_set_screen::screen#2 = phi( form_mode/COLS, form_mode::@10/FORM_SCREEN ) [427] print_screen#0 = print_set_screen::screen#2 to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen [428] return to:@return void print_cls() print_cls: scope:[print_cls] from form_mode::@11 form_mode::@8 [429] memset::str#0 = (void*)print_screen#0 [430] call memset to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls [431] return to:@return void print_str_lines(byte* print_str_lines::str) print_str_lines: scope:[print_str_lines] from form_mode::@12 form_mode::@9 [432] print_str_lines::str#5 = phi( form_mode::@12/FORM_TEXT, form_mode::@9/FORM_COLS ) [433] print_char_cursor#72 = print_screen#0 to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@6 [434] print_line_cursor#1 = phi( print_str_lines/print_screen#0, print_str_lines::@6/print_line_cursor#2 ) [434] print_char_cursor#2 = phi( print_str_lines/print_char_cursor#72, print_str_lines::@6/print_char_cursor#73 ) [434] print_str_lines::str#3 = phi( print_str_lines/print_str_lines::str#5, print_str_lines::@6/print_str_lines::str#0 ) [435] if(0!=*print_str_lines::str#3) goto print_str_lines::@2 to:print_str_lines::@return print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 [436] return to:@return print_str_lines::@2: scope:[print_str_lines] from print_str_lines::@1 print_str_lines::@3 [437] print_char_cursor#43 = phi( print_str_lines::@1/print_char_cursor#2, print_str_lines::@3/print_char_cursor#44 ) [437] print_str_lines::str#4 = phi( print_str_lines::@1/print_str_lines::str#3, print_str_lines::@3/print_str_lines::str#0 ) [438] print_str_lines::ch#0 = *print_str_lines::str#4 [439] print_str_lines::str#0 = ++ print_str_lines::str#4 [440] if(0==print_str_lines::ch#0) goto print_str_lines::@3 to:print_str_lines::@4 print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@2 [441] print_char::ch#0 = print_str_lines::ch#0 [442] call print_char to:print_str_lines::@3 print_str_lines::@3: scope:[print_str_lines] from print_str_lines::@2 print_str_lines::@4 [443] print_char_cursor#44 = phi( print_str_lines::@2/print_char_cursor#43, print_str_lines::@4/print_char_cursor#29 ) [444] if(0!=print_str_lines::ch#0) goto print_str_lines::@2 to:print_str_lines::@5 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@3 [445] phi() [446] call print_ln to:print_str_lines::@6 print_str_lines::@6: scope:[print_str_lines] from print_str_lines::@5 [447] print_char_cursor#73 = print_line_cursor#2 to:print_str_lines::@1 void form_set_screen(byte* form_set_screen::screen) form_set_screen: scope:[form_set_screen] from form_mode::@13 [448] phi() to:form_set_screen::@1 form_set_screen::@1: scope:[form_set_screen] from form_set_screen form_set_screen::@1 [449] form_set_screen::y#2 = phi( form_set_screen/0, form_set_screen::@1/form_set_screen::y#1 ) [449] form_set_screen::line#2 = phi( form_set_screen/FORM_SCREEN, form_set_screen::@1/form_set_screen::line#1 ) [450] form_set_screen::$0 = < form_set_screen::line#2 [451] form_line_lo[form_set_screen::y#2] = form_set_screen::$0 [452] form_set_screen::$1 = > form_set_screen::line#2 [453] form_line_hi[form_set_screen::y#2] = form_set_screen::$1 [454] form_set_screen::line#1 = form_set_screen::line#2 + $28 [455] form_set_screen::y#1 = ++ form_set_screen::y#2 [456] if(form_set_screen::y#1!=$19) goto form_set_screen::@1 to:form_set_screen::@return form_set_screen::@return: scope:[form_set_screen] from form_set_screen::@1 [457] return to:@return void form_render_values() form_render_values: scope:[form_render_values] from form_mode::@14 form_mode::@18 [458] phi() to:form_render_values::@1 form_render_values::@1: scope:[form_render_values] from form_render_values form_render_values::@3 [459] form_render_values::idx#2 = phi( form_render_values/0, form_render_values::@3/form_render_values::idx#1 ) [460] if(form_render_values::idx#2=0) goto form_control::@21 to:form_control::@1 form_control::@21: scope:[form_control] from form_control::@18 [489] phi() to:form_control::@1 form_control::@1: scope:[form_control] from form_control::@18 form_control::@21 [490] form_cursor_count#16 = phi( form_control::@21/form_cursor_count#4, form_control::@18/FORM_CURSOR_BLINK ) [491] if(form_cursor_count#16> 1 [641] if(bitmap_init::bits#1!=0) goto bitmap_init::@6 to:bitmap_init::@2 bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@1 [642] phi() to:bitmap_init::@2 bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@6 [643] bitmap_init::bits#4 = phi( bitmap_init::@6/bitmap_init::bits#1, bitmap_init::@1/$80 ) [644] bitmap_init::x#1 = ++ bitmap_init::x#2 [645] if(bitmap_init::x#1!=0) goto bitmap_init::@1 to:bitmap_init::@3 bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@2 bitmap_init::@4 [646] bitmap_init::yoffs#2 = phi( bitmap_init::@2/VICII_BITMAP, bitmap_init::@4/bitmap_init::yoffs#4 ) [646] bitmap_init::y#2 = phi( bitmap_init::@2/0, bitmap_init::@4/bitmap_init::y#1 ) [647] bitmap_init::$7 = bitmap_init::y#2 & 7 [648] bitmap_init::$4 = < bitmap_init::yoffs#2 [649] bitmap_init::$5 = bitmap_init::$7 | bitmap_init::$4 [650] bitmap_plot_ylo[bitmap_init::y#2] = bitmap_init::$5 [651] bitmap_init::$6 = > bitmap_init::yoffs#2 [652] bitmap_plot_yhi[bitmap_init::y#2] = bitmap_init::$6 [653] if(bitmap_init::$7!=7) goto bitmap_init::@4 to:bitmap_init::@5 bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@3 [654] bitmap_init::yoffs#1 = bitmap_init::yoffs#2 + (word)$28*8 to:bitmap_init::@4 bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@3 bitmap_init::@5 [655] bitmap_init::yoffs#4 = phi( bitmap_init::@3/bitmap_init::yoffs#2, bitmap_init::@5/bitmap_init::yoffs#1 ) [656] bitmap_init::y#1 = ++ bitmap_init::y#2 [657] if(bitmap_init::y#1!=0) goto bitmap_init::@3 to:bitmap_init::@return bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@4 [658] return to:@return void bitmap_clear(byte bitmap_clear::bgcol , byte bitmap_clear::fgcol) bitmap_clear: scope:[bitmap_clear] from gfx_init_VICII_bitmap::@3 [659] phi() [660] call memset to:bitmap_clear::@1 bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear [661] phi() [662] call memset to:bitmap_clear::@return bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@1 [663] return to:@return void bitmap_line(word bitmap_line::x1 , word bitmap_line::y1 , word bitmap_line::x2 , word bitmap_line::y2) bitmap_line: scope:[bitmap_line] from gfx_init_VICII_bitmap::@2 [664] abs_u16::w#0 = bitmap_line::x2#0 - bitmap_line::x1#0 [665] call abs_u16 [666] abs_u16::return#0 = abs_u16::return#4 to:bitmap_line::@12 bitmap_line::@12: scope:[bitmap_line] from bitmap_line [667] bitmap_line::dx#0 = abs_u16::return#0 [668] abs_u16::w#1 = bitmap_line::y2#0 - bitmap_line::y1#0 [669] call abs_u16 [670] abs_u16::return#1 = abs_u16::return#4 to:bitmap_line::@13 bitmap_line::@13: scope:[bitmap_line] from bitmap_line::@12 [671] bitmap_line::dy#0 = abs_u16::return#1 [672] if(bitmap_line::dx#0!=0) goto bitmap_line::@1 to:bitmap_line::@18 bitmap_line::@18: scope:[bitmap_line] from bitmap_line::@13 [673] if(bitmap_line::dy#0==0) goto bitmap_line::@4 to:bitmap_line::@1 bitmap_line::@1: scope:[bitmap_line] from bitmap_line::@13 bitmap_line::@18 [674] sgn_u16::w#0 = bitmap_line::x2#0 - bitmap_line::x1#0 [675] call sgn_u16 [676] sgn_u16::return#0 = sgn_u16::return#4 to:bitmap_line::@14 bitmap_line::@14: scope:[bitmap_line] from bitmap_line::@1 [677] bitmap_line::sx#0 = sgn_u16::return#0 [678] sgn_u16::w#1 = bitmap_line::y2#0 - bitmap_line::y1#0 [679] call sgn_u16 [680] sgn_u16::return#1 = sgn_u16::return#4 to:bitmap_line::@15 bitmap_line::@15: scope:[bitmap_line] from bitmap_line::@14 [681] bitmap_line::sy#0 = sgn_u16::return#1 [682] if(bitmap_line::dx#0>bitmap_line::dy#0) goto bitmap_line::@2 to:bitmap_line::@5 bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@15 [683] bitmap_line::e#0 = bitmap_line::dx#0 >> 1 to:bitmap_line::@6 bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@5 bitmap_line::@7 [684] bitmap_line::e#3 = phi( bitmap_line::@5/bitmap_line::e#0, bitmap_line::@7/bitmap_line::e#6 ) [684] bitmap_line::y#4 = phi( bitmap_line::@5/bitmap_line::y1#0, bitmap_line::@7/bitmap_line::y#1 ) [684] bitmap_line::x#13 = phi( bitmap_line::@5/bitmap_line::x1#0, bitmap_line::@7/bitmap_line::x#12 ) [685] bitmap_plot::x#1 = bitmap_line::x#13 [686] bitmap_plot::y#1 = (byte)bitmap_line::y#4 [687] call bitmap_plot to:bitmap_line::@16 bitmap_line::@16: scope:[bitmap_line] from bitmap_line::@6 [688] bitmap_line::y#1 = bitmap_line::y#4 + bitmap_line::sy#0 [689] bitmap_line::e#1 = bitmap_line::e#3 + bitmap_line::dx#0 [690] if(bitmap_line::dy#0>=bitmap_line::e#1) goto bitmap_line::@7 to:bitmap_line::@8 bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@16 [691] bitmap_line::x#1 = bitmap_line::x#13 + bitmap_line::sx#0 [692] bitmap_line::e#2 = bitmap_line::e#1 - bitmap_line::dy#0 to:bitmap_line::@7 bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@16 bitmap_line::@8 [693] bitmap_line::e#6 = phi( bitmap_line::@16/bitmap_line::e#1, bitmap_line::@8/bitmap_line::e#2 ) [693] bitmap_line::x#12 = phi( bitmap_line::@16/bitmap_line::x#13, bitmap_line::@8/bitmap_line::x#1 ) [694] if(bitmap_line::y#1!=bitmap_line::y2#0) goto bitmap_line::@6 to:bitmap_line::@3 bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@7 [695] bitmap_line::y#7 = phi( bitmap_line::@10/bitmap_line::y#13, bitmap_line::@7/bitmap_line::y#1 ) [695] bitmap_line::x#6 = phi( bitmap_line::@10/bitmap_line::x#15, bitmap_line::@7/bitmap_line::x#12 ) [696] bitmap_plot::x#2 = bitmap_line::x#6 [697] bitmap_plot::y#2 = (byte)bitmap_line::y#7 [698] call bitmap_plot to:bitmap_line::@return bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@3 bitmap_line::@4 [699] return to:@return bitmap_line::@2: scope:[bitmap_line] from bitmap_line::@15 [700] bitmap_line::e1#0 = bitmap_line::dy#0 >> 1 to:bitmap_line::@9 bitmap_line::@9: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@2 [701] bitmap_line::e1#3 = phi( bitmap_line::@10/bitmap_line::e1#6, bitmap_line::@2/bitmap_line::e1#0 ) [701] bitmap_line::y#15 = phi( bitmap_line::@10/bitmap_line::y#13, bitmap_line::@2/bitmap_line::y1#0 ) [701] bitmap_line::x#7 = phi( bitmap_line::@10/bitmap_line::x#15, bitmap_line::@2/bitmap_line::x1#0 ) [702] bitmap_plot::x#3 = bitmap_line::x#7 [703] bitmap_plot::y#3 = (byte)bitmap_line::y#15 [704] call bitmap_plot to:bitmap_line::@17 bitmap_line::@17: scope:[bitmap_line] from bitmap_line::@9 [705] bitmap_line::x#15 = bitmap_line::x#7 + bitmap_line::sx#0 [706] bitmap_line::e1#1 = bitmap_line::e1#3 + bitmap_line::dy#0 [707] if(bitmap_line::dx#0>=bitmap_line::e1#1) goto bitmap_line::@10 to:bitmap_line::@11 bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@17 [708] bitmap_line::y#2 = bitmap_line::y#15 + bitmap_line::sy#0 [709] bitmap_line::e1#2 = bitmap_line::e1#1 - bitmap_line::dx#0 to:bitmap_line::@10 bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@11 bitmap_line::@17 [710] bitmap_line::e1#6 = phi( bitmap_line::@11/bitmap_line::e1#2, bitmap_line::@17/bitmap_line::e1#1 ) [710] bitmap_line::y#13 = phi( bitmap_line::@11/bitmap_line::y#2, bitmap_line::@17/bitmap_line::y#15 ) [711] if(bitmap_line::x#15!=bitmap_line::x2#0) goto bitmap_line::@9 to:bitmap_line::@3 bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@18 [712] bitmap_plot::x#0 = bitmap_line::x1#0 [713] bitmap_plot::y#0 = (byte)bitmap_line::y1#0 [714] call bitmap_plot to:bitmap_line::@return void dtvSetCpuBankSegment1(byte dtvSetCpuBankSegment1::cpuBankIdx) dtvSetCpuBankSegment1: scope:[dtvSetCpuBankSegment1] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@6 gfx_init_plane_charset8 gfx_init_plane_charset8::@8 gfx_init_plane_fill gfx_init_plane_fill::@4 gfx_init_plane_horisontal gfx_init_plane_horisontal2 gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal::@7 gfx_init_plane_vertical gfx_init_plane_vertical::@4 [715] dtvSetCpuBankSegment1::cpuBankIdx#13 = phi( gfx_init_plane_8bppchunky/(byte)PLANE_8BPP_CHUNKY/$4000, gfx_init_plane_8bppchunky::@4/dtvSetCpuBankSegment1::cpuBankIdx#1, gfx_init_plane_8bppchunky::@6/(byte)$4000/$4000, gfx_init_plane_charset8/gfx_init_plane_charset8::gfxbCpuBank#0, gfx_init_plane_charset8::@8/(byte)$4000/$4000, gfx_init_plane_fill/dtvSetCpuBankSegment1::cpuBankIdx#11, gfx_init_plane_fill::@4/(byte)$4000/$4000, gfx_init_plane_horisontal/gfx_init_plane_horisontal::gfxbCpuBank#0, gfx_init_plane_horisontal2/gfx_init_plane_horisontal2::gfxbCpuBank#0, gfx_init_plane_horisontal2::@4/(byte)$4000/$4000, gfx_init_plane_horisontal::@7/(byte)$4000/$4000, gfx_init_plane_vertical/gfx_init_plane_vertical::gfxbCpuBank#0, gfx_init_plane_vertical::@4/(byte)$4000/$4000 ) [716] *dtvSetCpuBankSegment1::cpuBank = dtvSetCpuBankSegment1::cpuBankIdx#13 asm { .byte$32,$dd lda$ff .byte$32,$00 } to:dtvSetCpuBankSegment1::@return dtvSetCpuBankSegment1::@return: scope:[dtvSetCpuBankSegment1] from dtvSetCpuBankSegment1 [718] return to:@return void gfx_init_plane_fill(dword gfx_init_plane_fill::plane_addr , byte gfx_init_plane_fill::fill) gfx_init_plane_fill: scope:[gfx_init_plane_fill] from gfx_init_plane_blank gfx_init_plane_full gfx_init_plane_vertical2 [719] gfx_init_plane_fill::fill#6 = phi( gfx_init_plane_blank/0, gfx_init_plane_full/$ff, gfx_init_plane_vertical2/$1b ) [719] gfx_init_plane_fill::plane_addr#3 = phi( gfx_init_plane_blank/PLANE_BLANK, gfx_init_plane_full/PLANE_FULL, gfx_init_plane_vertical2/PLANE_VERTICAL2 ) [720] gfx_init_plane_fill::$0 = gfx_init_plane_fill::plane_addr#3 << 2 [721] gfx_init_plane_fill::$1 = > gfx_init_plane_fill::$0 [722] gfx_init_plane_fill::gfxbCpuBank#0 = < gfx_init_plane_fill::$1 [723] dtvSetCpuBankSegment1::cpuBankIdx#11 = gfx_init_plane_fill::gfxbCpuBank#0 [724] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@5 gfx_init_plane_fill::@5: scope:[gfx_init_plane_fill] from gfx_init_plane_fill [725] gfx_init_plane_fill::$4 = < gfx_init_plane_fill::plane_addr#3 [726] gfx_init_plane_fill::$5 = gfx_init_plane_fill::$4 & $3fff [727] gfx_init_plane_fill::gfxb#0 = $4000 + gfx_init_plane_fill::$5 [728] gfx_init_plane_fill::gfxb#6 = (byte*)gfx_init_plane_fill::gfxb#0 to:gfx_init_plane_fill::@1 gfx_init_plane_fill::@1: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 gfx_init_plane_fill::@5 [729] gfx_init_plane_fill::by#4 = phi( gfx_init_plane_fill::@3/gfx_init_plane_fill::by#1, gfx_init_plane_fill::@5/0 ) [729] gfx_init_plane_fill::gfxb#3 = phi( gfx_init_plane_fill::@3/gfx_init_plane_fill::gfxb#1, gfx_init_plane_fill::@5/gfx_init_plane_fill::gfxb#6 ) to:gfx_init_plane_fill::@2 gfx_init_plane_fill::@2: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@1 gfx_init_plane_fill::@2 [730] gfx_init_plane_fill::bx#2 = phi( gfx_init_plane_fill::@1/0, gfx_init_plane_fill::@2/gfx_init_plane_fill::bx#1 ) [730] gfx_init_plane_fill::gfxb#2 = phi( gfx_init_plane_fill::@1/gfx_init_plane_fill::gfxb#3, gfx_init_plane_fill::@2/gfx_init_plane_fill::gfxb#1 ) [731] *gfx_init_plane_fill::gfxb#2 = gfx_init_plane_fill::fill#6 [732] gfx_init_plane_fill::gfxb#1 = ++ gfx_init_plane_fill::gfxb#2 [733] gfx_init_plane_fill::bx#1 = ++ gfx_init_plane_fill::bx#2 [734] if(gfx_init_plane_fill::bx#1!=$28) goto gfx_init_plane_fill::@2 to:gfx_init_plane_fill::@3 gfx_init_plane_fill::@3: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@2 [735] gfx_init_plane_fill::by#1 = ++ gfx_init_plane_fill::by#4 [736] if(gfx_init_plane_fill::by#1!=$c8) goto gfx_init_plane_fill::@1 to:gfx_init_plane_fill::@4 gfx_init_plane_fill::@4: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 [737] phi() [738] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@return gfx_init_plane_fill::@return: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@4 [739] return to:@return void* memset(void* memset::str , byte memset::c , word memset::num) memset: scope:[memset] from bitmap_clear bitmap_clear::@1 print_cls [740] memset::c#5 = phi( bitmap_clear/bitmap_clear::col#0, bitmap_clear::@1/0, print_cls/' ' ) [740] memset::str#4 = phi( bitmap_clear/(void*)VICII_SCREEN0, bitmap_clear::@1/(void*)VICII_BITMAP, print_cls/memset::str#0 ) [740] memset::num#3 = phi( bitmap_clear/$3e8, bitmap_clear::@1/$1f40, print_cls/$3e8 ) [741] if(memset::num#3<=0) goto memset::@return to:memset::@1 memset::@1: scope:[memset] from memset [742] memset::end#0 = (byte*)memset::str#4 + memset::num#3 [743] memset::dst#4 = (byte*)memset::str#4 to:memset::@2 memset::@2: scope:[memset] from memset::@1 memset::@3 [744] memset::dst#2 = phi( memset::@1/memset::dst#4, memset::@3/memset::dst#1 ) [745] if(memset::dst#2!=memset::end#0) goto memset::@3 to:memset::@return memset::@return: scope:[memset] from memset memset::@2 [746] return to:@return memset::@3: scope:[memset] from memset::@2 [747] *memset::dst#2 = memset::c#5 [748] memset::dst#1 = ++ memset::dst#2 to:memset::@2 void print_char(byte print_char::ch) print_char: scope:[print_char] from print_str_lines::@4 [749] *print_char_cursor#43 = print_char::ch#0 [750] print_char_cursor#29 = ++ print_char_cursor#43 to:print_char::@return print_char::@return: scope:[print_char] from print_char [751] return to:@return void print_ln() print_ln: scope:[print_ln] from print_str_lines::@5 [752] phi() to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 [753] print_line_cursor#22 = phi( print_ln/print_line_cursor#1, print_ln::@1/print_line_cursor#2 ) [754] print_line_cursor#2 = print_line_cursor#22 + $28 [755] if(print_line_cursor#2> 3 [775] keyboard_event_pressed::row_bits#0 = keyboard_scan_values[keyboard_event_pressed::$0] [776] keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#4 & 7 [777] keyboard_event_pressed::return#10 = keyboard_event_pressed::row_bits#0 & keyboard_matrix_col_bitmask[keyboard_event_pressed::$1] to:keyboard_event_pressed::@return keyboard_event_pressed::@return: scope:[keyboard_event_pressed] from keyboard_event_pressed [778] return to:@return word abs_u16(word abs_u16::w) abs_u16: scope:[abs_u16] from bitmap_line bitmap_line::@12 [779] abs_u16::w#2 = phi( bitmap_line/abs_u16::w#0, bitmap_line::@12/abs_u16::w#1 ) [780] abs_u16::$0 = > abs_u16::w#2 [781] abs_u16::$1 = abs_u16::$0 & $80 [782] if(0!=abs_u16::$1) goto abs_u16::@1 to:abs_u16::@return abs_u16::@1: scope:[abs_u16] from abs_u16 [783] abs_u16::return#2 = - abs_u16::w#2 to:abs_u16::@return abs_u16::@return: scope:[abs_u16] from abs_u16 abs_u16::@1 [784] abs_u16::return#4 = phi( abs_u16::@1/abs_u16::return#2, abs_u16/abs_u16::w#2 ) [785] return to:@return word sgn_u16(word sgn_u16::w) sgn_u16: scope:[sgn_u16] from bitmap_line::@1 bitmap_line::@14 [786] sgn_u16::w#2 = phi( bitmap_line::@1/sgn_u16::w#0, bitmap_line::@14/sgn_u16::w#1 ) [787] sgn_u16::$0 = > sgn_u16::w#2 [788] sgn_u16::$1 = sgn_u16::$0 & $80 [789] if(0!=sgn_u16::$1) goto sgn_u16::@1 to:sgn_u16::@return sgn_u16::@1: scope:[sgn_u16] from sgn_u16 [790] phi() to:sgn_u16::@return sgn_u16::@return: scope:[sgn_u16] from sgn_u16 sgn_u16::@1 [791] sgn_u16::return#4 = phi( sgn_u16::@1/-1, sgn_u16/1 ) [792] return to:@return void bitmap_plot(word bitmap_plot::x , byte bitmap_plot::y) bitmap_plot: scope:[bitmap_plot] from bitmap_line::@3 bitmap_line::@4 bitmap_line::@6 bitmap_line::@9 [793] bitmap_plot::x#4 = phi( bitmap_line::@3/bitmap_plot::x#2, bitmap_line::@4/bitmap_plot::x#0, bitmap_line::@6/bitmap_plot::x#1, bitmap_line::@9/bitmap_plot::x#3 ) [793] bitmap_plot::y#4 = phi( bitmap_line::@3/bitmap_plot::y#2, bitmap_line::@4/bitmap_plot::y#0, bitmap_line::@6/bitmap_plot::y#1, bitmap_line::@9/bitmap_plot::y#3 ) [794] bitmap_plot::plotter#0 = bitmap_plot_yhi[bitmap_plot::y#4] w= bitmap_plot_ylo[bitmap_plot::y#4] [795] bitmap_plot::$0 = bitmap_plot::x#4 & $fff8 [796] bitmap_plot::plotter#1 = (byte*)bitmap_plot::plotter#0 + bitmap_plot::$0 [797] bitmap_plot::$1 = < bitmap_plot::x#4 [798] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot [799] return to:@return