
void main()
main: scope:[main]  from
  [0] *BORDER_COLOR = GREEN
  to:main::@1
main::@1: scope:[main]  from main main::@1
  [1] phi()
  [2] call menu
  to:main::@1

void menu()
menu: scope:[menu]  from main::@1
  [3] phi()
  to:menu::@1
menu::@1: scope:[menu]  from menu menu::@4
  [4] phi()
  [5] call keyboard_key_pressed
  [6] keyboard_key_pressed::return#2 = keyboard_key_pressed::return#0
  to:menu::@8
menu::@8: scope:[menu]  from menu::@1
  [7] menu::$0 = keyboard_key_pressed::return#2
  [8] if(menu::$0==0) goto menu::@2
  to:menu::@5
menu::@5: scope:[menu]  from menu::@8
  [9] phi()
  [10] call pressed
  to:menu::@return
menu::@return: scope:[menu]  from menu::@5 menu::@6 menu::@7
  [11] return 
  to:@return
menu::@2: scope:[menu]  from menu::@8
  [12] phi()
  [13] call keyboard_key_pressed
  [14] keyboard_key_pressed::return#3 = keyboard_key_pressed::return#0
  to:menu::@9
menu::@9: scope:[menu]  from menu::@2
  [15] menu::$4 = keyboard_key_pressed::return#3
  [16] if(menu::$4==0) goto menu::@3
  to:menu::@6
menu::@6: scope:[menu]  from menu::@9
  [17] *BORDER_COLOR = RED
  asm { sei  }
  to:menu::@return
menu::@3: scope:[menu]  from menu::@9
  [19] phi()
  [20] call keyboard_key_pressed
  [21] keyboard_key_pressed::return#4 = keyboard_key_pressed::return#0
  to:menu::@10
menu::@10: scope:[menu]  from menu::@3
  [22] menu::$7 = keyboard_key_pressed::return#4
  [23] if(menu::$7==0) goto menu::@4
  to:menu::@7
menu::@7: scope:[menu]  from menu::@10
  [24] *BORDER_COLOR = GREEN
  asm { cli  }
  to:menu::@return
menu::@4: scope:[menu]  from menu::@10
  [26] *SCREEN = ++ *SCREEN
  to:menu::@1

char keyboard_key_pressed(char key)
keyboard_key_pressed: scope:[keyboard_key_pressed]  from menu::@1 menu::@2 menu::@3 pressed::@1
  [27] keyboard_key_pressed::key#4 = phi( menu::@1/KEY_C, menu::@2/KEY_I, menu::@3/KEY_E, pressed::@1/KEY_SPACE )
  [28] keyboard_key_pressed::colidx#0 = keyboard_key_pressed::key#4 & 7
  [29] keyboard_key_pressed::rowidx#0 = keyboard_key_pressed::key#4 >> 3
  [30] keyboard_matrix_read::rowid#0 = keyboard_key_pressed::rowidx#0
  [31] call keyboard_matrix_read
  [32] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
  to:keyboard_key_pressed::@1
keyboard_key_pressed::@1: scope:[keyboard_key_pressed]  from keyboard_key_pressed
  [33] keyboard_key_pressed::$2 = keyboard_matrix_read::return#2
  [34] keyboard_key_pressed::return#0 = keyboard_key_pressed::$2 & keyboard_matrix_col_bitmask[keyboard_key_pressed::colidx#0]
  to:keyboard_key_pressed::@return
keyboard_key_pressed::@return: scope:[keyboard_key_pressed]  from keyboard_key_pressed::@1
  [35] return 
  to:@return

void pressed()
pressed: scope:[pressed]  from menu::@5
  [36] *BG_COLOR = ++ *BG_COLOR
  to:pressed::@1
pressed::@1: scope:[pressed]  from pressed pressed::@2
  [37] phi()
  [38] call keyboard_key_pressed
  [39] keyboard_key_pressed::return#10 = keyboard_key_pressed::return#0
  to:pressed::@2
pressed::@2: scope:[pressed]  from pressed::@1
  [40] pressed::$1 = keyboard_key_pressed::return#10
  [41] if(pressed::$1!=0) goto pressed::@return
  to:pressed::@1
pressed::@return: scope:[pressed]  from pressed::@2
  [42] return 
  to:@return

char keyboard_matrix_read(char rowid)
keyboard_matrix_read: scope:[keyboard_matrix_read]  from keyboard_key_pressed
  [43] *((char *)CIA1) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#0]
  [44] keyboard_matrix_read::return#0 = ~ *((char *)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B)
  to:keyboard_matrix_read::@return
keyboard_matrix_read::@return: scope:[keyboard_matrix_read]  from keyboard_matrix_read
  [45] return 
  to:@return
