Mercurial > public > hwos_code
annotate src/text_multilang.asm @ 640:8c1f1f334275
3.13 release
author | heinrichsweikamp |
---|---|
date | Thu, 29 Oct 2020 09:29:15 +0100 |
parents | 9a64914a8fca |
children | 5b7fe7777425 |
rev | line source |
---|---|
0 | 1 ;============================================================================= |
2 ; | |
634 | 3 ; File text_multilang.asm * combined next generation V3.09.4k |
0 | 4 ; |
5 ; Implementation text in various selectable languages. | |
6 ; | |
7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved. | |
8 ;============================================================================= | |
9 ; HISTORY | |
604 | 10 ; 2011-06-12 : [jDG] Creation |
0 | 11 |
604 | 12 #include "hwos.inc" |
0 | 13 #include "text_multilang.inc" |
14 | |
634 | 15 |
16 ; Because multi-lingual texts are indexed using a FSR register and a FSR | |
17 ; register only holds 12 bit, the texts need to be aligned to a 4 kB block | |
18 ; in program memory. That is, they need to start at an address 0xXX000. | |
19 | |
20 | |
21 | |
22 ; fast hack **ONLY** for **CHANGING** languages ( en / de / fr / it ) | |
23 | |
635
9a64914a8fca
3.10 re-release addressing some minor issues and language fixes
heinrichsweikamp
parents:
634
diff
changeset
|
24 ;#undefine _language_1 |
9a64914a8fca
3.10 re-release addressing some minor issues and language fixes
heinrichsweikamp
parents:
634
diff
changeset
|
25 ;#define _language_1 fr |
640 | 26 |
635
9a64914a8fca
3.10 re-release addressing some minor issues and language fixes
heinrichsweikamp
parents:
634
diff
changeset
|
27 ;#undefine _language_2 |
9a64914a8fca
3.10 re-release addressing some minor issues and language fixes
heinrichsweikamp
parents:
634
diff
changeset
|
28 ;#define _language_2 it |
634 | 29 |
30 | |
31 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
32 ; LANGUAGE 1 | |
33 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
34 | |
0 | 35 |
36 ;============================================================================= | |
634 | 37 text_1_base CODE 0x09000 ; ! DO NOT CHANGE ! *** Index Table *** |
38 ;============================================================================= | |
39 | |
604 | 40 global text_1_base |
448 | 41 text_1_base: |
634 | 42 |
604 | 43 tcode_idx set 0 |
44 LANG set 0 | |
45 #define TCODE TCODE_1 | |
0 | 46 |
604 | 47 IF _language_1==en |
613 | 48 MESSG "1st Language: English" |
604 | 49 #include "text_english.inc" |
50 ELSE | |
51 IF _language_1==de | |
613 | 52 MESSG "1st Language: German" |
604 | 53 #include "text_german.inc" |
54 ELSE | |
55 IF _language_1==fr | |
613 | 56 MESSG "1st Language: French" |
604 | 57 #include "text_french.inc" |
58 ELSE | |
59 IF _language_1==it | |
613 | 60 MESSG "1st Language: Italian" |
61 #include "text_italian.inc" | |
604 | 62 ELSE |
613 | 63 MESSG "1st Language: Default (English)" |
604 | 64 #include "text_english.inc" |
65 ENDIF | |
66 ENDIF | |
67 ENDIF | |
68 ENDIF | |
69 | |
70 #undefine TCODE | |
71 | |
634 | 72 |
73 ;============================================================================= | |
74 text_1_text CODE_PACK ; *** Text Table *** | |
75 ;============================================================================= | |
76 | |
77 global text_1_text | |
78 text_1_text: | |
79 | |
604 | 80 tcode_idx set 0 |
81 #define TCODE TCODE_2 | |
82 | |
83 IF _language_1==en | |
84 #include "text_english.inc" | |
85 ELSE | |
86 IF _language_1==de | |
87 #include "text_german.inc" | |
88 ELSE | |
89 IF _language_1==fr | |
90 #include "text_french.inc" | |
91 ELSE | |
92 IF _language_1==it | |
613 | 93 #include "text_italian.inc" |
604 | 94 ELSE |
95 #include "text_english.inc" | |
96 ENDIF | |
97 ENDIF | |
98 ENDIF | |
99 ENDIF | |
100 | |
101 #undefine TCODE | |
0 | 102 |
634 | 103 |
104 | |
105 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
106 ; LANGUAGE 2 | |
107 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
560 | 108 |
634 | 109 IF _language_2 != none |
110 | |
111 | |
112 ;============================================================================= | |
113 text_2_base CODE 0x09400 ; ! DO NOT CHANGE ! *** Index Table *** | |
114 ;============================================================================= | |
560 | 115 |
604 | 116 global text_2_base |
448 | 117 text_2_base: |
634 | 118 |
604 | 119 tcode_idx set 0 |
120 LANG set 1 | |
121 #define TCODE TCODE_1 | |
0 | 122 |
604 | 123 IF _language_2==en |
613 | 124 MESSG "2nd Language: English" |
604 | 125 #include "text_english.inc" |
126 ELSE | |
127 IF _language_2==de | |
613 | 128 MESSG "2nd Language: German" |
604 | 129 #include "text_german.inc" |
130 ELSE | |
131 IF _language_2==fr | |
613 | 132 MESSG "2nd Language: French" |
604 | 133 #include "text_french.inc" |
134 ELSE | |
135 IF _language_2==it | |
613 | 136 MESSG "2nd Language: Italian" |
137 #include "text_italian.inc" | |
604 | 138 ELSE |
613 | 139 MESSG "2nd Language: Default (English)" |
604 | 140 #include "text_english.inc" |
141 ENDIF | |
142 ENDIF | |
143 ENDIF | |
144 ENDIF | |
145 | |
146 #undefine TCODE | |
0 | 147 |
634 | 148 |
149 ;============================================================================= | |
150 text_2_text CODE_PACK ; *** Text Table *** | |
151 ;============================================================================= | |
152 | |
153 global text_2_text | |
154 text_2_text: | |
155 | |
604 | 156 tcode_idx set 0 |
157 #define TCODE TCODE_2 | |
0 | 158 |
604 | 159 IF _language_2==en |
160 #include "text_english.inc" | |
161 ELSE | |
162 IF _language_2==de | |
163 #include "text_german.inc" | |
164 ELSE | |
165 IF _language_2==fr | |
166 #include "text_french.inc" | |
167 ELSE | |
168 IF _language_2==it | |
613 | 169 #include "text_italian.inc" |
604 | 170 ELSE |
171 #include "text_english.inc" | |
172 ENDIF | |
173 ENDIF | |
174 ENDIF | |
175 ENDIF | |
176 | |
177 #undefine TCODE | |
178 | |
634 | 179 ENDIF ; _language_2 |
0 | 180 |
634 | 181 ;----------------------------------------------------------------------------- |
0 | 182 |
604 | 183 END |