annotate code_part1/OSTC_code_asm_part1/customview.asm @ 100:db4a20b413df

Checking all CF values at once. Fix minor false negative check on 15bit CF values.
author JeanDo
date Tue, 14 Dec 2010 02:20:04 +0100
parents 6f8e3a08011e
children a2b9eca1f396
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
98
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
1 ; OSTC - diving computer code
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
2 ; Copyright (C) 2008 HeinrichsWeikamp GbR
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
3
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
4 ; This program is free software: you can redistribute it and/or modify
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
5 ; it under the terms of the GNU General Public License as published by
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
6 ; the Free Software Foundation, either version 3 of the License, or
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
7 ; (at your option) any later version.
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
8
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
9 ; This program is distributed in the hope that it will be useful,
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
10 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
11 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
12 ; GNU General Public License for more details.
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
13
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
14 ; You should have received a copy of the GNU General Public License
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
15 ; along with this program. If not, see <http://www.gnu.org/licenses/>.
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
16
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
17
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
18 ; Customviews for divemode
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
19 ; written by: Matthias Heinrichs, info@heinrichsweikamp.com
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
20 ; written: 101212
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
21 ; last updated: 101212
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
22 ; known bugs:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
23 ; ToDo:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
24
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
25 customview_menu_entry3: ; Show the customview-dependent entry for the divemode menu
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
26 bcf menu3_active ;=1: menu entry three in divemode menu is active
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
27 movff menupos3,temp1 ; copy
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
28 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
29 bra customview_menu3_stopwatch ; Show the stopwatch option in divemode menu
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
30 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
31 bra customview_menu3_marker ; Show the marker option in divemode menu
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
32 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
33 bra customview_menu3_clock ; Show the clock option in divemode menu
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
34 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
35 bra customview_menu3_lead_tiss ; Show the leading tissue option in divemode menu
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
36 ; Menupos3=0, do nothing
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
37 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
38
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
39 customview_menu3_stopwatch:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
40 bsf menu3_active ; Set Flag
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
41 DISPLAYTEXT .33 ; ResetAvr
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
42 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
43
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
44 customview_menu3_marker:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
45 bsf menu3_active ; Set Flag
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
46 DISPLAYTEXT .30 ; Set Marker
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
47 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
48
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
49 customview_menu3_clock: ; No menu entry
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
50 customview_menu3_lead_tiss ; No menu entry
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
51 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
52
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
53 customview_second: ; Do every-second tasks for the custom view area
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
54 movff menupos3,temp1 ; copy
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
55 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
56 bra customview_1sec_stopwatch ; Update the Stopwatch
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
57 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
58 bra customview_1sec_marker ; Update the Marker
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
59 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
60 bra customview_1sec_clock ; Update the Clock
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
61 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
62 bra customview_1sec_lead_tiss ; Update the leading tissue
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
63 ; Menupos3=0, do nothing
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
64 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
65
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
66 customview_1sec_stopwatch:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
67 call PLED_stopwatch_show2 ; Update figures only
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
68 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
69
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
70 customview_1sec_marker: ; Do nothing extra
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
71 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
72
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
73 customview_1sec_lead_tiss: ; Do nothing extra
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
74 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
75
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
76 customview_1sec_clock:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
77 ; call PLED_diveclock2
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
78 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
79
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
80
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
81 customview_minute: ; Do every-minute tasks for the custom view area
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
82 movff menupos3,temp1 ; copy
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
83 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
84 bra customview_minute_stopwatch ; Update the Stopwatch
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
85 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
86 bra customview_minute_marker ; Update the Marker
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
87 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
88 bra customview_minute_clock ; Update the Clock
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
89 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
90 bra customview_minute_lead_tiss ; Update the leading tissue
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
91 ; Menupos3=0, do nothing
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
92 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
93
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
94 customview_minute_clock:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
95 call PLED_diveclock2 ; Update the clock
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
96 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
97
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
98 customview_minute_lead_tiss:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
99 call PLED_show_leading_tissue_2 ; Update the leading tissue
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
100 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
101
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
102 customview_minute_marker: ; Do nothing extra
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
103 customview_minute_stopwatch: ; Do nothing extra
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
104 return
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
105
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
106
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
107 customview_toggle: ; Yes, show next customview (and delete this flag)
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
108 incf menupos3,F ; Number of customview to show
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
109 movlw d'5' ; Max number+1
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
110 cpfseq menupos3 ; Max reached?
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
111 bra customview_mask ; No, show
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
112 clrf menupos3 ; Reset to zero (Zero=no custom view)
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
113 customview_mask:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
114 call PLED_clear_customview_divemode
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
115 movff menupos3,temp1 ; Menupos3 holds number of customview function
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
116 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
117 bra customview_init_stopwatch ; Show the Stopwatch
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
118 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
119 bra customview_init_marker ; Show the Marker-Menu
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
120 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
121 bra customview_init_clock ; Show the clock
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
122 dcfsnz temp1,F
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
123 bra customview_init_lead_tissue ; Show the leading tissue
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
124 ; bra customview_init_nocustomview ; menupos3=0 -> No Customview
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
125 customview_init_nocustomview:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
126 bra customview_toggle_exit
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
127
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
128 customview_init_stopwatch:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
129 ; Init Stopwatch
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
130 call PLED_stopwatch_show
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
131 bra customview_toggle_exit
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
132
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
133 customview_init_marker:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
134 ; Init Marker
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
135 DISPLAYTEXT d'151' ; Set Marker?
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
136 bra customview_toggle_exit
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
137
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
138 customview_init_clock:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
139 ; Init Clock
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
140 call PLED_diveclock
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
141 bra customview_toggle_exit
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
142
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
143 customview_init_lead_tissue:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
144 ; Show leading tissue
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
145 call PLED_show_leading_tissue
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
146 bra customview_toggle_exit
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
147
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
148 customview_toggle_exit:
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
149 bcf toggle_customview ; Clear flag
6f8e3a08011e 1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
diff changeset
150 return