Mercurial > public > mk2
annotate code_part1/OSTC_code_asm_part1/MAIN.ASM @ 85:8b813f67220f
renaming "Max Depth" to "max."
author | heinrichsweikamp |
---|---|
date | Wed, 08 Dec 2010 08:37:03 +0100 |
parents | 3e351e25f5d1 |
children | 82de387d6e7c |
rev | line source |
---|---|
0 | 1 |
2 ; OSTC - diving computer code | |
3 ; Copyright (C) 2008 HeinrichsWeikamp GbR | |
4 | |
5 ; This program is free software: you can redistribute it and/or modify | |
6 ; it under the terms of the GNU General Public License as published by | |
7 ; the Free Software Foundation, either version 3 of the License, or | |
8 ; (at your option) any later version. | |
9 | |
10 ; This program is distributed in the hope that it will be useful, | |
11 ; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 ; GNU General Public License for more details. | |
14 | |
15 ; You should have received a copy of the GNU General Public License | |
16 ; along with this program. If not, see <http://www.gnu.org/licenses/>. | |
17 | |
18 | |
19 ; it under the terms of the GNU General Public License as published by | |
20 ; the Free Software Foundation, either versio | |
21 ; includes and isr | |
22 ; written by: Matthias Heinrichs, info@heinrichsweikamp.com | |
23 ; written: 041013 | |
24 ; last updated: 081219 | |
25 ; known bugs: | |
26 ; ToDo: | |
27 | |
28 | |
29 LIST P=18F4685 ;directive to define processor | |
30 #include <P18F4685.INC> ;processor specific variable definitions | |
31 | |
32 #include definitions.asm ; Defines, I/O Ports and variables | |
33 | |
83
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
34 reset_v code 0x0000 |
0 | 35 goto start ; Start! |
36 | |
83
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
37 inter_v code 0x0008 |
0 | 38 bra HighInt ;High Priority Interrups |
39 | |
83
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
40 inter_asm code 0x0018 ;Low Priority Interrups |
0 | 41 ; *** low priority interrupts not used |
42 bra HighInt ;High Priority Interrups | |
43 | |
44 HighInt: | |
45 movff BSR,0x102 ;save BSR register | |
46 movlb b'00000001' ;select Bank1 | |
47 | |
48 movff STATUS,status_temp ;save STATUS register | |
49 movff WREG,wreg_temp ;save working register | |
50 | |
51 movf PORTB,W ;move portb into latch register | |
52 | |
53 btfsc PIR1,TMR1IF ;Timer1 INT (external 32.768kHz Clock) | |
54 call timer1int | |
55 | |
56 btfsc INTCON,TMR0IF ;Timer0 INT (Debounce Timer) | |
57 call timer0int | |
58 | |
59 btfsc PIR2,TMR3IF ;Timer3 INT (Delay for PWM Buzzer) | |
60 call timer3int | |
61 | |
62 btfsc PIR1,RCIF ; UART | |
63 call uartint | |
64 | |
65 btfsc INTCON,INT0IF ; Switch left | |
66 call schalter_links | |
67 | |
68 btfsc INTCON3,INT1IF ; switch right | |
69 call schalter_rechts | |
70 | |
71 movff wreg_temp,WREG ;restore working register | |
72 movff status_temp,STATUS ;restore STATUS register | |
73 movff 0x102,BSR ;restore BSR register | |
74 retfie | |
75 | |
83
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
76 ;============================================================================= |
0 | 77 #include text_table.asm ; includes textmacros |
83
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
78 |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
79 ;============================================================================= |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
80 osct_asm code |
0 | 81 #include displaytext.asm ; sends texts to wordprocessor |
82 #include math.asm ; mathematical functions | |
83 #include wait.asm ; waitroutines | |
84 #include valconv.asm ; outputs to POSTINC2 | |
85 #include eeprom_rs232.asm ; Internal EEPROM and RS232 Interface | |
86 #include oled_samsung.asm ; Attached in 80-System 8-Bit Mode | |
87 #include menu_custom.asm ; Menu "Custom FunctionsI" and "Custom FunctionsII" | |
88 #include menu.asm ; Main Menu and Setup Menu | |
89 #include menu_reset.asm ; Submenu "Reset" | |
90 #include menu_settime.asm ; Submenu "Set Time" | |
91 #include ms5535.asm ; Interface to MS5535A,B or C pressure sensor | |
92 #include pled_outputs.asm ; div. PLED outputs and background debugger | |
93 #include i2c_eeprom.asm ; for external I2C EEPROM and general I2C Routines | |
94 #include menu_logbook.asm ; Submenu "Logbook" | |
95 #include interface.asm ; Interface routines | |
96 #include menu_ppO2.asm ; Constant ppO2 setup menu | |
97 #include menu_battery.asm ; Submenu "Battery Info" | |
98 #include menu_gassetup.asm ; Menu "Gas Setup" | |
99 #include isr.asm ; Interrupt service routine (RTC&Sensor) | |
100 #include surfmode.asm ; Mainroutines for Surfacemode | |
101 #include divemode.asm ; Mainroutines for Divemode | |
102 #include divemode_menu.asm ; Underwater menu | |
103 #include sleepmode.asm ; Mainroutines for Sleepmode | |
104 #include adc_rtc.asm ; A/D converter (battery control) and RTC init | |
105 #include temp_extrema.asm ; Takes care of the temperature extrema logger | |
106 #include sync_clock.asm ; syncs RTC with PC | |
107 #include start.asm ; Startup and init, checks background debugger | |
108 #include simulator.asm ; Stand-alone simulator routines | |
109 #include io.asm ; Low-Level I/O access | |
110 | |
83
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
111 ;============================================================================= |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
112 #include printf.asm ; jDG's compact printf test implementation. |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
113 #ifdef TESTING |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
114 #include aa_tests.asm ; And testing code. |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
115 #include test_printf.asm ; Special font/colors page |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
116 #endif |
0 | 117 |
83
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
118 ;============================================================================= |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
119 #ifdef AAFONTS |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
120 ; New antialiased word processor and fonts |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
121 #include aa_wordprocessor.asm ; ASM wordprocessor under tests. |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
122 #else |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
123 ; Include C sub-routines automatically |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
124 p3_wp code 0x09A00 ; Mark segment name into the .map file |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
125 ; #include p3_wordprocessor_9A00_BAFF_0B468.txt ; jDG's C-Code |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
126 #include ostc_part3_wordprocessor_NEW_CURSOR_9A00_to_B960_jump_in_B410.txt ; Christians fonts... |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
127 #endif |
62 | 128 |
83
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
129 ;============================================================================= |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
130 p2_deco code 0x0C000 ; Mark segment name into the .map file |
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
131 #include p2_deco_main_v110d.txt |
62 | 132 |
83
3e351e25f5d1
adding anti-aliased fonts frame and merging some patches from Jeando
heinrichsweikamp
parents:
62
diff
changeset
|
133 ;============================================================================= |
58 | 134 MESSG "OSTC - diving computer code, Copyright (C) 2010 HeinrichsWeikamp GbR" |
0 | 135 MESSG "This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the" |
136 MESSG "Free Software Foundation, either version 3 of the License, or (at your option) any later version." | |
137 MESSG "This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY" | |
138 MESSG "or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details." | |
139 MESSG "You should have received a copy of the GNU General Public License along with this program.If not, see http://www.gnu.org/licenses/." | |
140 | |
141 END ; end of program | |
142 |