Mercurial > public > hwos_code
comparison src/menu_processor.asm @ 631:185ba2f91f59
3.09 beta 1 release
author | heinrichsweikamp |
---|---|
date | Fri, 28 Feb 2020 15:45:07 +0100 |
parents | c40025d8e750 |
children | 4050675965ea |
comparison
equal
deleted
inserted
replaced
630:4cd81bdbf15c | 631:185ba2f91f59 |
---|---|
1 ;============================================================================= | 1 ;============================================================================= |
2 ; | 2 ; |
3 ; File menu_processor.asm combined next generation V3.03.2 | 3 ; File menu_processor.asm combined next generation V3.08.6 |
4 ; | 4 ; |
5 ; Routines to handle all hwOS graphic/text menus. | 5 ; Routines to handle all hwOS graphic/text menus. |
6 ; | 6 ; |
7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved. | 7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved. |
8 ;============================================================================= | 8 ;============================================================================= |
41 extern option_inc | 41 extern option_inc |
42 extern option_draw | 42 extern option_draw |
43 extern TFT_clear_divemode_menu | 43 extern TFT_clear_divemode_menu |
44 extern TFT_divemask_color | 44 extern TFT_divemask_color |
45 extern rtc_set_rtc | 45 extern rtc_set_rtc |
46 extern divemode_option0_return | 46 extern divemode_option_divemenu_return |
47 extern TFT_fillup_with_spaces | 47 extern TFT_fillup_with_spaces |
48 | 48 |
49 | 49 |
50 menu_proc CODE | 50 menu_proc CODE |
51 | 51 |
254 bcf switch_right ; clear left-over right button event | 254 bcf switch_right ; clear left-over right button event |
255 bcf switch_left ; clear left-over left button event | 255 bcf switch_left ; clear left-over left button event |
256 | 256 |
257 menu_line_loop_pre3: | 257 menu_line_loop_pre3: |
258 btfsc divemode ; in dive mode? | 258 btfsc divemode ; in dive mode? |
259 goto divemode_option0_return ; YES - return to it | 259 goto divemode_option_divemenu_return ; YES - return to it |
260 ;bra menu_line_loop_surface ; - proceed to surface mode dispatcher | 260 ;bra menu_line_loop_surface ; NO - proceed to surface mode dispatcher |
261 | 261 |
262 ; dispatcher for surface mode menus | 262 ; dispatcher for surface mode menus |
263 menu_line_loop_surface: | 263 menu_line_loop_surface: |
264 call reset_timeout_surfmode ; reset timeout | 264 call reset_timeout_surfmode ; reset timeout |
265 menu_line_loop: | 265 menu_line_loop: |
326 bra menu_draw_lines_2 | 326 bra menu_draw_lines_2 |
327 | 327 |
328 menu_draw_lines: | 328 menu_draw_lines: |
329 btfsc divemode ; in dive mode? | 329 btfsc divemode ; in dive mode? |
330 bra menu_draw_lines_divemode ; YES | 330 bra menu_draw_lines_divemode ; YES |
331 btfsc menu_flags,0 ; Dynamic title? | 331 btfsc menu_flags,0 ; dynamic title? |
332 rcall menu_processor_title ; YES - redraw it then | 332 rcall menu_processor_title ; YES - redraw it then |
333 MENU_LINE_FONT MENU_LEFT, 0 ; initialize start position/font | 333 MENU_LINE_FONT MENU_LEFT, 0 ; initialize start position/font |
334 movff menu_center,win_top ; computed in menu block. | 334 movff menu_center,win_top ; computed in menu block |
335 | 335 |
336 ; Does the menu have more than 6 lines ? | 336 ; Does the menu have more than 6 lines ? |
337 movf item_max,W | 337 movf item_max,W |
338 addlw -(MENU_LINES_MAX+1) ; | 338 addlw -(MENU_LINES_MAX+1) ; |
339 bnn menu_draw_long_menu ; bra if >= 7 | 339 bnn menu_draw_long_menu ; bra if >= 7 |