Rev 1067 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
801 | savelij | 1 | |
1186 | savelij | 2 | ; LAST UPDATE: 16.02.2025 savelij |
801 | savelij | 3 | |
4 | PAGE |
||
5 | TITLE "main.a80" |
||
6 | |||
1186 | savelij | 7 | include macros.a80 |
8 | include define.a80 |
||
9 | include global_vars.a80 |
||
10 | include ports_ide.a80 |
||
11 | include basic_tokens.a80 |
||
12 | include bas_trd_vars.a80 |
||
13 | include tmpkeys.a80 |
||
14 | include version.a80 |
||
15 | include nums_devices.a80 |
||
16 | include ports_ngs.a80 |
||
17 | include fat_dir.a80 |
||
801 | savelij | 18 | |
1026 | savelij | 19 | TO_DOS EQU 0x3D2F |
801 | savelij | 20 | |
1026 | savelij | 21 | INIT_VAR 0xC000 |
22 | SETVAR ADR_CAT, 0xC00 ; ᪥ ࠧ |
||
23 | SETVAR ADR_CAT_FAT, 0x800 ; 䠩 FAT |
||
24 | SETVAR ADR_CAT_SCRH, 0x1000 ; ᪠ 䠩 |
||
25 | SETVAR BUFTSC, 0x180 ; 180 ⠡ ᮢ ப ࠭ F700 |
||
26 | SETVAR MOUSE_BUFF, 0x10 ; 10 ࠭ |
||
27 | SETVAR COLBUF, 0x20 ; 20 ࠭ 梥 |
||
28 | SETVAR BUF_FILEITEM, 0x20 ; 20 ⥫ 䠩 |
||
29 | SETVAR BUF_RDSEC, 0x200 ; 200 ᥪ થ 䠩 F900 |
||
30 | SETVAR BUF_RDPATH, 0x100 ; 100 ⥪饣 FB00 |
||
31 | SETVAR BUF_LEVDIR, 0x400 ; 400 䠩 FC00 |
||
32 | SETVAR BUF_LINESWIN, 0x200 ; 200 ⥫ |
||
801 | savelij | 33 | |
1026 | savelij | 34 | H_FILE EQU 16 ; ਭ 뢮 䠩 c TR-DOS |
35 | V_FILE EQU 24 ; 뢮 䠩 c TR-DOS |
||
36 | FV_FILE EQU 26 ; ਭ 뢮 䠩 c FAT |
||
37 | FV_FILE6 EQU ((FV_FILE-3)*8)/6 ; ਭ 뢮 䠩 FAT 68 |
||
38 | FH_FILE EQU 24 ; 뢮 䠩 FAT |
||
39 | WIDE EQU 1 ; |
||
801 | savelij | 40 | |
1026 | savelij | 41 | CMOS_ON EQU 0x80 |
801 | savelij | 42 | CMOS_OFF EQU 0 |
43 | |||
1026 | savelij | 44 | ORG 0x6000 |
801 | savelij | 45 | DI |
46 | CALL CLEAR_128K |
||
1026 | savelij | 47 | LD A,0x10 |
48 | CALL SET_7FFD ; 祭 ᨪ48 ࠭ 0 |
||
49 | CALL ADRTSC ; ᮧ ⠡ ᮢ ப ࠭ |
||
50 | RST8 _MOUNTER,_GET_VIRT_BITS |
||
999 | savelij | 51 | RST8 _COM_DEV,_DEVFIND |
801 | savelij | 52 | JR C,START3 |
999 | savelij | 53 | RST8 _MOUNTER,_FIND_MOUNTED |
54 | START3 |
||
55 | RST8 _COM_DEV,_CONTROL_SD |
||
801 | savelij | 56 | EI |
57 | HALT |
||
58 | DI |
||
1186 | savelij | 59 | LD H,CMOS.SECOND |
1026 | savelij | 60 | CALL READCMOS ; ⥭ ᥪ㭤 । |
801 | savelij | 61 | INC L |
62 | LD HL,ERS_FLAGS |
||
1026 | savelij | 63 | JR NZ,START2 ; ⠫ 0xFF, |
64 | RES B_CLOCK_ON,(HL) ; |
||
801 | savelij | 65 | JR START1 |
66 | |||
1026 | savelij | 67 | START2 SET 2,(HL) ; |
801 | savelij | 68 | START4 CALL SET_MODES |
1026 | savelij | 69 | START1 CALL DETECTMOUSE ; । |
70 | CALL GLUDIN ; 㬪㫨 AY |
||
71 | CALL MOUSE ; |
||
72 | LD HL,0x807C |
||
73 | LD (ARXY),HL ; ⠭ 䮫⭮ 樨 |
||
801 | savelij | 74 | CALL DISK_NONE |
75 | CALL SYSTEM |
||
1026 | savelij | 76 | CALL RESET_VG ; 誨 ⠭ 墠稪 訡 dos |
801 | savelij | 77 | RESTART DI |
1186 | savelij | 78 | XOR A |
79 | RST8 _NMI_FB_BLOCK ; ࠧ File Browser NMI |
||
1026 | savelij | 80 | LD A,0x10 |
81 | CALL SET_7FFD ; 稫 ᨪ48 ࠭ 0 |
||
801 | savelij | 82 | CALL TURBO_7MHZ |
83 | CALL SYSTEM |
||
84 | RES 3,(IY+55) |
||
1026 | savelij | 85 | LD SP,0x6000 |
86 | LD HL,0x3E00 |
||
801 | savelij | 87 | PUSH HL |
1026 | savelij | 88 | LD HL,0x1303 |
89 | PUSH HL ; ନ ⥪ |
||
90 | LD (ERR_SP),SP ; ⥪騩 ६ ᨪ |
||
801 | savelij | 91 | LD (TEK_SP),SP |
1026 | savelij | 92 | CALL S_FACE ; 뢮 ࠭ ᭮ |
801 | savelij | 93 | LD IX,MAINMENU |
999 | savelij | 94 | RST8 _WINW |
1026 | savelij | 95 | RES 5,(IY+1) ; 祣 |
1186 | savelij | 96 | LD H,CMOS.HDD_TIMEOUT |
1026 | savelij | 97 | CALL READCMOS |
98 | RRCA |
||
99 | RRCA |
||
100 | RRCA |
||
101 | RRCA |
||
102 | AND 0x0F |
||
103 | LD (SCRSAV.TIMEOUT),A |
||
104 | CALL RESET_SCREENSAVER |
||
952 | savelij | 105 | |
106 | IFDEF TESTEMUFDD |
||
107 | ; test |
||
999 | savelij | 108 | PEC_ON M_SHADOW_BF |
109 | EVOPORT WIN_P2,RAM_DATARAMD |
||
110 | EVOPORT WIN_P2,ZXSTD_CPU2 |
||
1026 | savelij | 111 | PEC_OFF M_SHADOW_BF!0xFF |
952 | savelij | 112 | |
1186 | savelij | 113 | LD HL,CMOS.VIRT_REAL_DRIVE << 8 |
952 | savelij | 114 | CALL WRITECMOS |
115 | LD HL,ADR_TXT_BOOT |
||
116 | JP RUNFILE1 |
||
117 | |||
118 | ADR_TXT_BOOT DB "boot " |
||
119 | ; test |
||
120 | ENDIF |
||
121 | |||
1026 | savelij | 122 | ; 室 横 ࠢ |
801 | savelij | 123 | _RULILKA EI |
124 | LD A,(ERS_FLAGS) |
||
1026 | savelij | 125 | AND M_MOUSE_ON ; ઠ |
801 | savelij | 126 | JR Z,_RULNMO |
1026 | savelij | 127 | ; FIX |
801 | savelij | 128 | MKEYPR EI |
129 | HALT |
||
130 | LD A,HIGH (MOUSE_KEYS) |
||
131 | IN A,(LOW (MOUSE_KEYS)) |
||
132 | CPL |
||
133 | AND 7 |
||
134 | JR NZ,MKEYPR |
||
1026 | savelij | 135 | CALL SAVE2X2 ; ⠫ ५ |
136 | _RULNMO CALL SET_ADR_ATR ; ⠭ 梥⭮ ᪨ |
||
801 | savelij | 137 | JR MAINLOP |
138 | |||
1026 | savelij | 139 | ; ५ |
140 | UP CALL CURSOR_UP ; ᬥ ⥪騩 㭪 -1 |
||
801 | savelij | 141 | JR SET_POS1 |
142 | |||
1026 | savelij | 143 | ; ५ ࠢ |
144 | RIGHT BIT 1,(IX+_FLAGS) ; ઠ 䠩 |
||
145 | PUSH AF ; ࠭ १ ન |
||
146 | CALL NZ,PAGEDN ; 䠩, ⠭ ࠭筮 |
||
147 | POP AF ; ⠭ १ ન |
||
148 | JR NZ,SET_POS1 ; 䠩 த |
||
801 | savelij | 149 | LD A,(IX+_NUM_KOL_L) |
150 | AND A |
||
151 | JR Z,SET_POS |
||
1026 | savelij | 152 | DEC A ; 室 㭪 |
153 | JR SET_POS ; 塞 த |
||
801 | savelij | 154 | |
1026 | savelij | 155 | ; ५ |
156 | DOWN CALL CURSOR_DOWN ; ᬥ ⥪騩 㭪 +1 |
||
801 | savelij | 157 | JR SET_POS1 |
158 | |||
1026 | savelij | 159 | ; ५ |
160 | LEFT BIT 1,(IX+_FLAGS) ; ઠ 䠩 |
||
161 | PUSH AF ; ࠭ १ ન |
||
162 | CALL NZ,PAGEUP ; 䠩, ⠭ ࠭筮 |
||
163 | POP AF ; ⠭ १ ન |
||
164 | JR NZ,SET_POS1 ; 䠩 த |
||
165 | XOR A ; 室 㭪 |
||
166 | SET_POS LD (IX+_NUM_PKT),A ; |
||
801 | savelij | 167 | LD (IX+_TEK_PKT_L),A |
1026 | savelij | 168 | LD (IX+_TEK_PKT_H),0 ; ࠭ 㭪 |
169 | SET_POS1 CALL COLOR_CURSOR ; ᮢ 梥⭮ ᪨ |
||
170 | SET_POS2 CALL GLUDIN ; 㬪㫨 AY |
||
801 | savelij | 171 | MAINLOP |
1026 | savelij | 172 | CALL CHECK_SCREENSAVER |
173 | RST8 _COM_DEV,_CONTROL_SD ; ઠ SD |
||
801 | savelij | 174 | LD A,(ERS_FLAGS) |
1026 | savelij | 175 | AND M_MOUSE_ON ; ઠ |
801 | savelij | 176 | JP Z,MAINNMO |
1026 | savelij | 177 | LD HL,(ARXY) ; न |
801 | savelij | 178 | PUSH HL |
1026 | savelij | 179 | CALL MOUSE ; ⮢ |
801 | savelij | 180 | POP BC |
181 | AND A |
||
182 | SBC HL,BC |
||
1026 | savelij | 183 | JR Z,NO_SELECT ; 뫮 |
184 | CALL RESTORE_KOSHAK ; 뫮 , 稪 蠪 |
||
185 | CALL MOUOPT ; ઠ |
||
801 | savelij | 186 | NO_SELECT LD BC,MOUSE_KEYS |
1026 | savelij | 187 | IN A,(C) ; |
801 | savelij | 188 | AND 7 |
189 | CP 6 |
||
1026 | savelij | 190 | JR Z,PRESS_MOUSE ; |
801 | savelij | 191 | CP 5 |
1026 | savelij | 192 | JP Z,RESTART ; ࠢ |
193 | CALL PRINTTIME ; ६ |
||
801 | savelij | 194 | EI |
195 | HALT |
||
1026 | savelij | 196 | CALL REST2X2 ; ⠭ ᮪ ࠭ |
197 | CALL DRAW_MOUSE ; ᮢ |
||
198 | JR MAINQMO ; த |
||
801 | savelij | 199 | |
200 | PRESS_MOUSE CALL OPMSPL |
||
201 | AND A |
||
202 | JR Z,CP_MOUSE4 |
||
203 | LD (LAST_K),A |
||
204 | CALL TIMELP |
||
205 | JR SELECT_KEY |
||
206 | |||
1026 | savelij | 207 | CP_MOUSE4 CALL MOUOPT ; ઠ । ⥪饣 |
208 | JR C,MAINNMO ; |
||
801 | savelij | 209 | LD L,(IX+_ADR_HOTKEY_L) |
210 | LD H,(IX+_ADR_HOTKEY_H) |
||
211 | LD A,H |
||
212 | OR L |
||
1026 | savelij | 213 | JR Z,ENTER ; ᯨ᪠ ⪥ , 室 㭪 |
214 | LD E,(IX+_NUM_PKT) ; 㭪 㤠 |
||
801 | savelij | 215 | LD D,0 |
1026 | savelij | 216 | ADD HL,DE ; ⪥ ࠭ 㭪 |
801 | savelij | 217 | LD DE,LAST_K |
1026 | savelij | 218 | LDI ; |
801 | savelij | 219 | JR ENTER |
220 | |||
1026 | savelij | 221 | MAINNMO CALL PRINTTIME ; ६, |
801 | savelij | 222 | EI |
223 | HALT |
||
1026 | savelij | 224 | MAINQMO BIT 5,(IY+1) ; ઠ |
225 | CALL Z,CP_TIME_KOSHAK ; 祣, 塞 稪 蠪 |
||
226 | JP Z,MAINLOP ; த ࠢ |
||
227 | CALL 0x1F54 ; ઠ BREAK |
||
228 | JP NC,RESTART ; BREAK १᪠ |
||
1030 | savelij | 229 | SELECT_KEY CALL GLUDIN |
230 | CALL RESTORE_KOSHAK ; , 稪 蠪 |
||
1026 | savelij | 231 | CALL RESET_SCREENSAVER |
232 | RES 5,(IY+1) ; 祣 |
||
801 | savelij | 233 | LD HL,LAST_K |
1026 | savelij | 234 | LD A,(HL) ; |
801 | savelij | 235 | LD B,0 |
236 | LD HL,MAIN_KEYS |
||
1026 | savelij | 237 | LD C,(HL) ; ⢮ 㯭 |
801 | savelij | 238 | LD D,C |
239 | INC HL |
||
240 | CPIR |
||
1026 | savelij | 241 | JR NZ,NOMAINKEYS ; 祣 諨, ᬮਬ ⥪饣 |
242 | ; - , 㯭 ᥣ |
||
801 | savelij | 243 | LD HL,ADREXEKEYS |
1026 | savelij | 244 | LD A,D ; ⢮ ⠡ -1 |
245 | SUB C ; 稫 ࠭ |
||
801 | savelij | 246 | DEC A |
247 | JR JUMP2HL |
||
248 | |||
1026 | savelij | 249 | ; ઠ ⪥ ⥪饬 |
801 | savelij | 250 | NOMAINKEYS LD L,(IX+_ADR_HOTKEY_L) |
251 | LD H,(IX+_ADR_HOTKEY_H) |
||
252 | LD C,A |
||
253 | LD A,H |
||
254 | OR L |
||
1026 | savelij | 255 | JP Z,MAINLOP ; ᯨ᪠ , த |
801 | savelij | 256 | LD A,C |
257 | LD C,(IX+_V_SIZE) |
||
258 | LD E,(HL) |
||
259 | INC HL |
||
1026 | savelij | 260 | DEC C ; ⢮ |
261 | DEC C ; -2 |
||
801 | savelij | 262 | LD D,C |
263 | LD B,0 |
||
1026 | savelij | 264 | CPIR ; ᪠ ᯨ᪠ |
801 | savelij | 265 | JR NZ,OSTAT_KEYS |
1026 | savelij | 266 | LD A,D ; |
801 | savelij | 267 | SUB C |
1026 | savelij | 268 | DEC A ; 稫 ⮩ -1 |
269 | LD (IX+_NUM_PKT),A ; 㭪 |
||
270 | LD (IX+_TEK_PKT_L),A ; ⮩ 㪠 ᯨ |
||
801 | savelij | 271 | ENTER LD A,(ERS_FLAGS) |
272 | AND M_MOUSE_ON |
||
1026 | savelij | 273 | CALL NZ,TIMELP ; ६ |
274 | CALL REST2X2 ; ૨ |
||
275 | CALL GLUDIN ; 㬪㫨 AY |
||
276 | LD A,(IX+_NUM_PKT) ; ᯨ᪠ 맢 |
||
801 | savelij | 277 | JUMP2HL1 LD L,(IX+_ADR_PRG_L) |
1026 | savelij | 278 | LD H,(IX+_ADR_PRG_H) ; ᯨ᮪ ᮢ 1 㤥 뢠 |
801 | savelij | 279 | JUMP2HL ADD A,A |
280 | ADD A,L |
||
281 | LD L,A |
||
282 | ADC A,H |
||
283 | SUB L |
||
284 | LD H,A |
||
285 | LD A,(HL) |
||
286 | INC HL |
||
287 | LD H,(HL) |
||
288 | LD L,A |
||
289 | JP (HL) |
||
290 | |||
291 | OSTAT_KEYS EX AF,AF' |
||
292 | LD A,E |
||
293 | SUB D |
||
294 | JP Z,MAINLOP |
||
295 | LD C,A |
||
296 | EX AF,AF' |
||
297 | CPIR |
||
298 | JP NZ,MAINLOP |
||
299 | LD A,E |
||
300 | SUB C |
||
301 | DEC A |
||
302 | JR JUMP2HL1 |
||
303 | |||
1026 | savelij | 304 | ; ० |
801 | savelij | 305 | CHNGMODE LD HL,MEMMODE |
1026 | savelij | 306 | DEC (HL) ; ᬥ ० |
801 | savelij | 307 | JP P,CHNGMODEY |
1026 | savelij | 308 | LD (HL),2 ; 諨 १ 0, ⠢ ० 48 |
801 | savelij | 309 | CHNGMODEY LD A,(ERS_FLAGS) |
1026 | savelij | 310 | AND M_CLOCK_ON ; ઠ |
801 | savelij | 311 | RET Z |
312 | LD A,(ERS_FLAGS) |
||
313 | AND M_EMU_TAPE |
||
314 | RLCA |
||
315 | RLCA |
||
316 | LD L,A |
||
317 | LD A,(MEMMODE) |
||
318 | OR L |
||
319 | LD L,A |
||
320 | CHNGMODEY1 LD A,(SYSREG1) |
||
1026 | savelij | 321 | AND 0x10 |
801 | savelij | 322 | RLCA |
323 | RLCA |
||
324 | RLCA |
||
325 | OR L |
||
326 | LD C,A |
||
1186 | savelij | 327 | LD H,CMOS.BYTE_01 |
801 | savelij | 328 | CALL READCMOS |
329 | AND %01111100 |
||
330 | OR C |
||
331 | CHANGE_MODES LD L,A |
||
1026 | savelij | 332 | CALL WRITECMOS ; ࠭ ० |
801 | savelij | 333 | CALL REST2X2 |
334 | CALL SET_MODES |
||
335 | CALL PRT_MODES |
||
336 | LD A,(ERS_FLAGS) |
||
337 | AND M_MOUSE_ON |
||
338 | JP Z,MAINLOP |
||
339 | CALL DRAW_MOUSE |
||
340 | CALL TIMELP |
||
341 | JP MAINLOP |
||
342 | |||
1026 | savelij | 343 | ; ० 0=3,5MHZ, 1=7MHZ, 2-14MHZ |
801 | savelij | 344 | CHNGTURBO LD HL,TURBO_NUM |
1026 | savelij | 345 | INC (HL) ; ᬥ turbo ० |
801 | savelij | 346 | LD A,(HL) |
347 | CP 3 |
||
348 | JR C,CHNGTURBO1 |
||
1026 | savelij | 349 | LD (HL),0 ; 諨 १ 0, ⠢ ० 14MHZ |
801 | savelij | 350 | CHNGTURBO1 LD A,(HL) |
351 | AND A |
||
1026 | savelij | 352 | LD DE,0x1000 |
801 | savelij | 353 | JR Z,CHNGTURBO2 |
354 | DEC A |
||
355 | LD DE,0 |
||
356 | JR Z,CHNGTURBO2 |
||
1186 | savelij | 357 | LD DE,0x10 << 8 + CMOS_ED.M_TURBO14 |
801 | savelij | 358 | CHNGTURBO2 LD A,D |
359 | LD HL,SYSREG1 |
||
360 | LD A,(HL) |
||
1026 | savelij | 361 | AND %11101111 ; ० |
801 | savelij | 362 | OR D |
363 | LD (HL),A |
||
1186 | savelij | 364 | LD H,CMOS.BYTE_00 |
801 | savelij | 365 | CALL READCMOS |
1186 | savelij | 366 | AND CMOS_ED.M_TURBO14 ! 0xFF |
801 | savelij | 367 | OR E |
368 | LD L,A |
||
1186 | savelij | 369 | LD H,CMOS.BYTE_00 |
801 | savelij | 370 | CALL WRITECMOS |
371 | JP CHNGMODEY |
||
372 | |||
1186 | savelij | 373 | CHNGTAPMODE LD H,CMOS.BYTE_00 |
801 | savelij | 374 | CALL READCMOS |
1186 | savelij | 375 | XOR CMOS_ED.M_EMUL_TAPE |
801 | savelij | 376 | JR CHANGE_MODES |
377 | |||
1186 | savelij | 378 | CHNGGLUKMOD LD H,CMOS.BYTE_00 |
801 | savelij | 379 | CALL READCMOS |
1186 | savelij | 380 | AND CMOS_EC.MKOL_MODES ! 0xFF |
801 | savelij | 381 | LD C,A |
382 | LD A,L |
||
1186 | savelij | 383 | AND CMOS_EC.MKOL_MODES |
801 | savelij | 384 | INC A |
1186 | savelij | 385 | CP CMOS_EC.KOL_MODES |
801 | savelij | 386 | JR C,CHNGGLUKMOD1 |
387 | XOR A |
||
388 | CHNGGLUKMOD1 OR C |
||
389 | LD L,A |
||
390 | JR CHANGE_MODES |
||
391 | |||
1186 | savelij | 392 | EN_AUTOMNT LD H,CMOS.BYTE_01 |
801 | savelij | 393 | CALL READCMOS |
1186 | savelij | 394 | XOR CMOS_EC.M_AUTOMOUNT |
801 | savelij | 395 | JP CHANGE_MODES |
396 | |||
1186 | savelij | 397 | EN_LOADFONT LD H,CMOS.BYTE_00 |
801 | savelij | 398 | CALL READCMOS |
1186 | savelij | 399 | XOR CMOS_ED.M_RELOAD_FONT |
801 | savelij | 400 | JP CHANGE_MODES |
401 | |||
1186 | savelij | 402 | SET_TYPEFONT LD H,CMOS.BYTE_00 |
801 | savelij | 403 | CALL READCMOS |
1186 | savelij | 404 | XOR CMOS_ED.M_TYPE_FONT |
801 | savelij | 405 | PUSH AF |
406 | PUSH HL |
||
1186 | savelij | 407 | AND CMOS_ED.M_TYPE_FONT |
801 | savelij | 408 | JR Z,SETTYPEFONT |
409 | LD A,1 |
||
999 | savelij | 410 | SETTYPEFONT |
411 | RST8 _SETUP_FONT |
||
801 | savelij | 412 | POP HL |
413 | POP AF |
||
414 | JP CHANGE_MODES |
||
415 | |||
1026 | savelij | 416 | ; 祭/몫祭e ⮡ࠦ ᮢ |
801 | savelij | 417 | CMOS_ONOFF LD A,(ERS_FLAGS) |
1026 | savelij | 418 | AND M_CLOCK_ON ; ઠ |
801 | savelij | 419 | JP Z,MAINLOP |
1186 | savelij | 420 | LD H,CMOS.BYTE_01 |
801 | savelij | 421 | CALL READCMOS |
1186 | savelij | 422 | XOR CMOS_EC.M_CLOCK_VIEW |
801 | savelij | 423 | LD L,A |
424 | PUSH AF |
||
1186 | savelij | 425 | LD H,CMOS.BYTE_01 |
801 | savelij | 426 | CALL WRITECMOS |
427 | POP AF |
||
1186 | savelij | 428 | AND CMOS_EC.M_CLOCK_VIEW |
801 | savelij | 429 | JP Z,MAINLOP |
430 | LD HL,TIME_OFF |
||
999 | savelij | 431 | RST8 _PRINT_MESSAGE |
801 | savelij | 432 | JP MAINLOP |
433 | |||
1026 | savelij | 434 | ;祭/몫祭 |
801 | savelij | 435 | MOUSE_ONOFF LD HL,ERS_FLAGS |
436 | LD A,(HL) |
||
1026 | savelij | 437 | XOR M_MOUSE_ON ; ⮡ࠦ |
801 | savelij | 438 | LD (HL),A |
439 | AND M_MOUSE_ON |
||
1026 | savelij | 440 | CALL NZ,DETECTMOUSE ; 稫, 塞 稥 |
441 | CALL NC,REST2X2 ; , 몫砥 ⮡ࠦ |
||
801 | savelij | 442 | JP MAINLOP |
443 | |||
1026 | savelij | 444 | ; 祣- 訡 |
445 | EXIT4ERROR RES 5,(IY+1) ; 祣 |
||
801 | savelij | 446 | LD BC,MOUSE_KEYS |
447 | IN D,(C) |
||
448 | E4E1 CALL PRINTTIME |
||
449 | EI |
||
450 | HALT |
||
451 | BIT 5,(IY+1) |
||
452 | JR NZ,E4E3 |
||
453 | LD A,(ERS_FLAGS) |
||
454 | AND M_MOUSE_ON |
||
455 | JR NZ,E4E1 |
||
456 | LD A,HIGH (MOUSE_KEYS) |
||
457 | IN A,(LOW (MOUSE_KEYS)) |
||
458 | CP D |
||
459 | JR Z,E4E1 |
||
460 | E4E2 EX AF,AF' |
||
461 | CALL TIMELP |
||
462 | EX AF,AF' |
||
463 | RRA |
||
464 | RET |
||
465 | |||
466 | E4E3 XOR A |
||
1186 | savelij | 467 | IN A,(0xFE) |
801 | savelij | 468 | CPL |
1026 | savelij | 469 | AND 0x1F |
801 | savelij | 470 | JR NZ,E4E3 |
471 | LD (LAST_K),A |
||
1026 | savelij | 472 | RES 5,(IY+1) ; 祣 |
801 | savelij | 473 | RET |
474 | |||
1026 | savelij | 475 | ; ⥪饣 ࠭ |
801 | savelij | 476 | PRT_DRV_SYM LD A,(TRD_5CF8) |
477 | ADD A,"A" |
||
478 | LD (TXT_DRIVE),A |
||
479 | LD HL,TRDDRV_MODE |
||
999 | savelij | 480 | RST8 _PRINT_MESSAGE |
801 | savelij | 481 | RET |
482 | |||
1026 | savelij | 483 | ; ᯥ⪠ ⥪饣 ० |
801 | savelij | 484 | PRT_MODES LD HL,SPEED_MODE |
999 | savelij | 485 | RST8 _PRINT_MESSAGE |
801 | savelij | 486 | LD HL,MEM_MODE |
999 | savelij | 487 | RST8 _PRINT_MESSAGE |
801 | savelij | 488 | LD HL,EMUTAPLOAD |
999 | savelij | 489 | RST8 _PRINT_MESSAGE |
801 | savelij | 490 | LD HL,SET_RESET |
999 | savelij | 491 | RST8 _PRINT_MESSAGE |
801 | savelij | 492 | LD HL,ROMLOADFONT |
999 | savelij | 493 | RST8 _PRINT_MESSAGE |
801 | savelij | 494 | LD HL,TYPESFONT |
999 | savelij | 495 | RST8 _PRINT_MESSAGE |
801 | savelij | 496 | LD HL,TXT_AUTOMOUNT |
999 | savelij | 497 | RST8 _PRINT_MESSAGE |
801 | savelij | 498 | RET |
499 | |||
1026 | savelij | 500 | ; ᯥ⪠ ⥪饣 㠫쭮 |
999 | savelij | 501 | PRT_VIRTDRV |
502 | RST8 _MOUNTER,_GET_VIRT_BITS |
||
888 | savelij | 503 | LD D,A |
1186 | savelij | 504 | LD H,CMOS.VIRT_REAL_DRIVE |
888 | savelij | 505 | CALL READCMOS |
801 | savelij | 506 | AND 3 |
834 | savelij | 507 | LD B,A |
508 | INC B |
||
835 | savelij | 509 | ADD A,'A' |
510 | LD C,A |
||
888 | savelij | 511 | LD A,%10000000 |
834 | savelij | 512 | .L1 RLCA |
513 | DJNZ .L1 |
||
888 | savelij | 514 | AND D |
801 | savelij | 515 | LD HL,VIRT_DRIVE |
516 | JR NZ,PRTVIRTDRV2 |
||
517 | LD (HL)," " |
||
518 | INC HL |
||
519 | LD (HL),C |
||
520 | INC HL |
||
521 | LD (HL)," " |
||
522 | JR PRTVIRTDRV1 |
||
523 | |||
524 | PRTVIRTDRV2 LD (HL),"o" |
||
525 | INC HL |
||
526 | LD (HL),"f" |
||
527 | INC HL |
||
528 | LD (HL),"f" |
||
529 | PRTVIRTDRV1 LD HL,VIRTUAL_DRV |
||
999 | savelij | 530 | RST8 _PRINT_MESSAGE |
801 | savelij | 531 | LD HL,ADR_CAT |
999 | savelij | 532 | RST8 _MOUNTER,_GET_MOUNTED |
801 | savelij | 533 | LD HL,ADR_CAT |
534 | LD DE,MNT_DRV_A |
||
535 | CALL COPY_MNTNAME |
||
1026 | savelij | 536 | LD L,0x40 |
801 | savelij | 537 | LD DE,MNT_DRV_B |
538 | CALL COPY_MNTNAME |
||
1026 | savelij | 539 | LD L,0x80 |
801 | savelij | 540 | LD DE,MNT_DRV_C |
541 | CALL COPY_MNTNAME |
||
1026 | savelij | 542 | LD L,0xC0 |
801 | savelij | 543 | LD DE,MNT_DRV_D |
544 | CALL COPY_MNTNAME |
||
545 | CALL GET_RAMD_NAME |
||
546 | LD HL,MOUNTED_DRV |
||
999 | savelij | 547 | RST8 _PRINT_MESSAGE |
801 | savelij | 548 | RET |
549 | |||
550 | COPY_MNTNAME PUSH HL |
||
551 | LD A,(HL) |
||
552 | AND A |
||
553 | JR NZ,COPY_MNTNAME1 |
||
554 | LD HL,TXT_NONE |
||
1026 | savelij | 555 | LD BC,0x0C |
801 | savelij | 556 | JR COPY_MNTNAME3 |
557 | |||
558 | COPY_MNTNAME1 LD BC,8 |
||
559 | LDIR |
||
560 | LD A,"." |
||
561 | LD (DE),A |
||
562 | INC DE |
||
563 | LD C,3 |
||
564 | COPY_MNTNAME3 LDIR |
||
565 | POP HL |
||
566 | RET |
||
567 | |||
1026 | savelij | 568 | ; 祭 䠩 㦥 ࠬ |
999 | savelij | 569 | GET_RAMD_NAME |
570 | PEC_ON M_SHADOW_BF |
||
801 | savelij | 571 | LD BC,WIN_P2 |
572 | LD A,RAM_RAMDISK |
||
573 | OUT (C),A |
||
1026 | savelij | 574 | LD DE,CPU2+0x3DFF |
801 | savelij | 575 | LD A,(DE) |
576 | AND A |
||
577 | JR Z,GRN1 |
||
578 | LD HL,GRN1 |
||
579 | PUSH HL |
||
580 | LD HL,IN_RAMDISK |
||
581 | LD B,8 |
||
582 | CALL GRN2 |
||
583 | LD B,3 |
||
584 | LD (HL),"." |
||
585 | INC HL |
||
586 | GRN2 LD A,(DE) |
||
587 | LD (HL),A |
||
588 | DEC D |
||
589 | INC HL |
||
590 | DJNZ GRN2 |
||
591 | RET |
||
592 | |||
593 | GRN1 LD BC,WIN_P2 |
||
1026 | savelij | 594 | LD A,ZXSTD_CPU2 |
801 | savelij | 595 | OUT (C),A |
999 | savelij | 596 | PEC_OFF M_SHADOW_BF |
801 | savelij | 597 | RET |
598 | |||
1026 | savelij | 599 | ; 뢮 ᭮ ᥩ |
801 | savelij | 600 | S_FACE LD A,7 |
601 | CALL CLS |
||
602 | LD HL,TXTFULLSCR |
||
999 | savelij | 603 | RST8 _PRINT_MESSAGE |
604 | RST8 _VERSION |
||
977 | savelij | 605 | BIT B_INCORRECTFPGA,A |
606 | JR Z,.L1 |
||
607 | RES B_INCORRECTFPGA,A |
||
608 | AND A |
||
609 | JR Z,.L1 |
||
610 | LD HL,INCORRECTFPGA |
||
999 | savelij | 611 | RST8 _PRINT_MESSAGE |
1026 | savelij | 612 | .L1 CALL PRT_DRV_SYM ; ⥪饣 |
613 | CALL PRT_MODES ; ⥪饣 ० |
||
614 | CALL PRT_VIRTDRV ; ⥪饣 㠫쭮 |
||
801 | savelij | 615 | XOR A |
1026 | savelij | 616 | JP DRAW_KOSHAK ; 뢮 0 䠧 蠪 |
801 | savelij | 617 | |
618 | SET_EFF7_A_ LD A,(SYSREG1) |
||
619 | SET_EFF7 LD BC,PENT_CONF |
||
620 | OUT (C),A |
||
621 | RET |
||
622 | |||
1026 | savelij | 623 | SET_7FFD_0 LD A,0x10 |
801 | savelij | 624 | SET_7FFD PUSH BC |
625 | LD BC,CONF_128 |
||
626 | OUT (C),A |
||
627 | POP BC |
||
628 | RET |
||
629 | |||
630 | MEMSET CALL CLEAR_128K |
||
1026 | savelij | 631 | LD A,(TURBO_NUM) ; ⠭ TURBO ० |
801 | savelij | 632 | AND A |
1026 | savelij | 633 | LD DE,0x10A3 ; 3,5MHZ ports EFF7 BIT4=1 xx77 BIT3=0 |
801 | savelij | 634 | JR Z,MEMSET01 |
635 | DEC A |
||
1026 | savelij | 636 | LD DE,0xA3 ; 7MHZ ports EFF7 BIT4=0 xx77 BIT3=0 |
801 | savelij | 637 | JR Z,MEMSET01 |
1026 | savelij | 638 | LD DE,0x10AB ; 14MHZ ports EFF7 BIT4=1 xx77 BIT3=1 |
639 | MEMSET01 LD BC,0xFF77 |
||
999 | savelij | 640 | PEC_ON M_SHADOW_BF |
801 | savelij | 641 | OUT (C),E |
999 | savelij | 642 | PEC_OFF M_SHADOW_BF |
801 | savelij | 643 | LD A,D |
644 | CALL SET_EFF7 |
||
645 | LD A,(MEMMODE) |
||
646 | AND A |
||
1026 | savelij | 647 | RET Z ; ० |
801 | savelij | 648 | MEMSET1 DEC A |
649 | JR Z,MEMORY48 |
||
1026 | savelij | 650 | ; 祭 ० BASIC128 |
801 | savelij | 651 | ON_BIT128 LD A,(SYSREG1) |
1026 | savelij | 652 | AND 0x10 |
801 | savelij | 653 | ADD A,4 |
654 | CALL SET_EFF7 |
||
655 | JR SET_7FFD_0 |
||
656 | |||
1026 | savelij | 657 | ; 祭 ० BASI48 |
801 | savelij | 658 | MEMORY48 CALL ON_BIT128 |
1026 | savelij | 659 | LD A,0x30 |
801 | savelij | 660 | JR SET_7FFD |
661 | |||
1026 | savelij | 662 | ; ⥭ CMOS ᮮ饭 뢮 ࠭ ⠭ ० |
1186 | savelij | 663 | SET_MODES LD H,CMOS.REG_B ; ० ᮢ |
801 | savelij | 664 | CALL READCMOS |
1186 | savelij | 665 | RES CMOSREG.B_B_RW_DM,L ; ਭ㤨⥫쭮 砥 |
1026 | savelij | 666 | CALL WRITECMOS ; ࠭塞 |
1186 | savelij | 667 | LD H,CMOS.BYTE_01 ; ⠥ ⠭ |
801 | savelij | 668 | CALL READCMOS |
1186 | savelij | 669 | AND CMOS_EC.M_TURBO357 |
801 | savelij | 670 | RRCA |
671 | RRCA |
||
672 | RRCA |
||
1026 | savelij | 673 | LD (SYSREG1),A ; ᮤন EFF7 |
801 | savelij | 674 | LD B,A |
675 | LD A,L |
||
1186 | savelij | 676 | AND CMOS_EC._128K | CMOS_EC._48K | CMOS_EC._1MB |
1026 | savelij | 677 | LD (MEMMODE),A ; ࠭ ० |
1186 | savelij | 678 | LD H,CMOS.BYTE_00 |
1026 | savelij | 679 | CALL READCMOS ; ⠥ ᭮ ⠭ |
801 | savelij | 680 | LD C,A |
1186 | savelij | 681 | AND CMOS_ED.M_TURBO14 |
1026 | savelij | 682 | LD HL,TURBO_NUM ; ० |
683 | LD (HL),2 ; ० 14 |
||
801 | savelij | 684 | JR NZ,SETMODES04 |
685 | LD A,B |
||
1026 | savelij | 686 | DEC (HL) ; ० 7 |
687 | AND 0x10 |
||
801 | savelij | 688 | JR Z,SETMODES04 |
1026 | savelij | 689 | DEC (HL) ; ० 3,5 |
690 | SETMODES04 LD A,(HL) ; ⥪騩 ० |
||
801 | savelij | 691 | ADD A,A |
692 | ADD A,A |
||
693 | LD E,A |
||
694 | LD D,0 |
||
1026 | savelij | 695 | LD HL,TXTTURBOMODE ; ⥪ ० |
696 | ADD HL,DE ; 諨 㦭 ⥪ |
||
801 | savelij | 697 | LD DE,TXT_SPEED |
698 | LD A,C |
||
699 | LDI |
||
700 | LDI |
||
701 | LDI |
||
1026 | savelij | 702 | LDI ; ७ 뢮 ࠭ |
801 | savelij | 703 | LD C,A |
1186 | savelij | 704 | AND CMOS_ED.M_EMUL_TAPE |
801 | savelij | 705 | LD HL,EMTAPLOAD |
1026 | savelij | 706 | CALL SET_ONOFF ; ७ ᨬ 뢮 ࠭, ON OFF |
801 | savelij | 707 | LD A,C |
1186 | savelij | 708 | AND CMOS_ED.M_RELOAD_FONT |
709 | XOR CMOS_ED.M_RELOAD_FONT |
||
801 | savelij | 710 | LD HL,EROMLOADFONT |
1026 | savelij | 711 | CALL SET_ONOFF ; ७ ᨬ 뢮 ࠭, ON OFF |
801 | savelij | 712 | LD A,C |
1186 | savelij | 713 | AND CMOS_ED.M_TYPE_FONT |
801 | savelij | 714 | PUSH BC |
715 | LD HL,TXTMODTYPE |
||
716 | LD BC,5 |
||
717 | JR Z,SET_FONT2 |
||
718 | ADD HL,BC |
||
719 | SET_FONT2 LD DE,ETYPESFONT |
||
720 | LDIR |
||
721 | POP BC |
||
722 | LD A,C |
||
1186 | savelij | 723 | AND CMOS_EC.MKOL_MODES |
724 | CP CMOS_EC.KOL_MODES |
||
801 | savelij | 725 | JR C,SETMODES03 |
726 | XOR A |
||
727 | SETMODES03 LD L,A |
||
728 | ADD A,A |
||
729 | ADD A,L |
||
730 | ADD A,A |
||
731 | ADD A,A |
||
732 | LD H,0 |
||
733 | LD L,A |
||
734 | LD DE,TXT_RESETTO |
||
735 | ADD HL,DE |
||
736 | LD DE,TXT_RESET |
||
737 | LD A,C |
||
1026 | savelij | 738 | LD BC,0x0C |
801 | savelij | 739 | LDIR |
740 | LD C,A |
||
1186 | savelij | 741 | AND CMOS_ED.M_PRINTER_AY |
801 | savelij | 742 | LD HL,ETXT_AYPRINTER |
1026 | savelij | 743 | CALL SET_ONOFF ; ७ ᨬ 뢮 ࠭, ON OFF |
801 | savelij | 744 | SETMODES02 LD A,(MEMMODE) |
745 | AND A |
||
746 | LD HL,T_ALL |
||
1026 | savelij | 747 | JR Z,SETMODES01 ; all memory |
801 | savelij | 748 | LD HL,T_48 |
749 | DEC A |
||
1026 | savelij | 750 | JR Z,SETMODES01 ; 48K |
751 | LD HL,T_128 ; 128K |
||
752 | SETMODES01 LD DE,TXT_MEM ; ० |
||
801 | savelij | 753 | LD A,C |
754 | LD BC,3 |
||
755 | LDIR |
||
1186 | savelij | 756 | LD H,CMOS.BYTE_01 |
801 | savelij | 757 | CALL READCMOS |
758 | PUSH AF |
||
1186 | savelij | 759 | AND CMOS_EC.M_AUTOMOUNT |
801 | savelij | 760 | LD HL,ETXT_AUTOMOUNT |
761 | CALL SET_ONOFF |
||
762 | POP AF |
||
1026 | savelij | 763 | ; १ HONEY COMANDER |
1186 | savelij | 764 | AND CMOS_EC.M_REZIDENT |
801 | savelij | 765 | LD HL,TXT_REZIDENT |
766 | CALL SET_ONOFF |
||
1186 | savelij | 767 | LD H,CMOS.BYTE_03 |
838 | savelij | 768 | CALL READCMOS |
1186 | savelij | 769 | AND CMOS_E9.M_KILL_REZIDENT |
838 | savelij | 770 | LD HL,TXT_KILLREZID |
771 | CALL SET_ONOFF |
||
801 | savelij | 772 | LD A,(ERS_FLAGS) |
773 | AND M_CLOCK_ON |
||
774 | RET Z |
||
775 | LD DE,VERS_CONF |
||
776 | LD L,0 |
||
1026 | savelij | 777 | CALL GET_VERS_EVO ; 䨣樨 |
801 | savelij | 778 | LD DE,VERS_BOOT |
779 | LD L,1 |
||
1026 | savelij | 780 | JP GET_VERS_EVO ; AVRBOOT |
801 | savelij | 781 | |
1026 | savelij | 782 | ; ७ ᨬ 뢮 ࠭, ON OFF |
801 | savelij | 783 | SET_ONOFF LD DE,"n " |
784 | JR NZ,SET_ONOFF1 |
||
785 | LD DE,"ff" |
||
786 | SET_ONOFF1 LD (HL),D |
||
787 | INC HL |
||
788 | LD (HL),E |
||
789 | RET |
||
790 | |||
1026 | savelij | 791 | TURBO_7MHZ LD E,0xA3 |
792 | LD BC,0xFF77 |
||
999 | savelij | 793 | PEC_ON M_SHADOW_BF |
801 | savelij | 794 | OUT (C),E |
999 | savelij | 795 | PEC_OFF M_SHADOW_BF |
801 | savelij | 796 | XOR A |
797 | JP SET_EFF7 |
||
798 | |||
1026 | savelij | 799 | IF 1 |
800 | ; BC=BC/DE |
||
801 | DIVIDE16 LD HL,0 |
||
802 | LD A,0x11 |
||
803 | .L1 RL C |
||
804 | RL B |
||
805 | DEC A |
||
806 | RET Z |
||
807 | ADC HL,HL |
||
808 | JR NC,.L2 |
||
809 | OR A |
||
810 | SBC HL,DE |
||
811 | JR .L1 |
||
812 | |||
813 | .L2 SBC HL,DE |
||
814 | JR NC,.L3 |
||
815 | ADD HL,DE |
||
816 | .L3 CCF |
||
817 | JR .L1 |
||
818 | |||
819 | MULT PUSH BC |
||
820 | LD A,B |
||
821 | LD HL,0 |
||
822 | LD B,0x10 |
||
823 | .L1 ADD HL,HL |
||
824 | RL C |
||
825 | RLA |
||
826 | JR NC,.L2 |
||
827 | ADD HL,DE |
||
828 | JR NC,.L2 |
||
829 | INC C |
||
830 | JR NZ,.L2 |
||
831 | INC A |
||
832 | .L2 DJNZ .L1 |
||
833 | EX DE,HL |
||
834 | LD L,C |
||
835 | LD H,A |
||
836 | POP BC |
||
837 | RET |
||
838 | ENDIF |
||
839 | |||
840 | IF 0 |
||
841 | ;============================= |
||
842 | ; 16-bit multiply |
||
843 | ; Tim Paterson |
||
844 | ;============================= |
||
845 | MULTIPLY16 ld hl,0 |
||
846 | MUL_HLBC_DE ld a,b |
||
847 | ld b,0x11 |
||
848 | jr .l1 |
||
849 | |||
850 | .l2 jr nc,.l3 |
||
851 | add hl,de |
||
852 | .l3 rr h |
||
853 | rr l |
||
854 | .l1 rra |
||
855 | rr c |
||
856 | djnz .l2 |
||
857 | ld b,a |
||
858 | ret |
||
859 | |||
860 | ;============================= |
||
861 | ; 16-bit divide |
||
862 | ; Tim Paterson |
||
863 | ;============================= |
||
864 | ; HLBC DE |
||
865 | ; 室 HL - ⮪, BC - ⭮ |
||
866 | DIVIDE16 ld hl,0 |
||
867 | DIV_HLBC_DE ld a,b |
||
868 | ld b,0x10 |
||
869 | rl c |
||
870 | rla |
||
871 | .l1 rl l |
||
872 | rl h |
||
873 | jr c,.l2 |
||
874 | sbc hl,de |
||
875 | jr nc,.l3 |
||
876 | add hl,de |
||
877 | .l3 ccf |
||
878 | .l4 rl c |
||
879 | rla |
||
880 | djnz .l1 |
||
881 | ld b,a |
||
882 | ret |
||
883 | |||
884 | .l2 or a |
||
885 | sbc hl,de |
||
886 | jr .l4 |
||
887 | ENDIF |
||
888 | |||
1047 | savelij | 889 | include conf_down.a80 |
1026 | savelij | 890 | include menu_execute.a80 |
891 | include call_cmos.a80 |
||
801 | savelij | 892 | include menu_data.a80 |
1026 | savelij | 893 | include fat_boot.a80 |
801 | savelij | 894 | include mouse.a80 |
895 | include window.a80 |
||
896 | include call_trdos.a80 |
||
897 | include koshak.a80 |
||
898 | include pc_keys_test.a80 |
||
899 | include bmp_view.a80 |
||
1047 | savelij | 900 | include conf_up.a80 |
1067 | savelij | 901 | include flasher.a80 |
801 | savelij | 902 | |
1026 | savelij | 903 | KOSHAK binclude kot_anim.bin,9 |
904 | ICON binclude icon.bin,9 |
||
905 | |||
906 | BAS_VAR binclude bas_var.bin |
||
907 | EBAS_VAR |
||
908 | |||
801 | savelij | 909 | CLEAR_128K DI |
910 | LD HL,0 |
||
1026 | savelij | 911 | LD A,0x17 |
801 | savelij | 912 | CALL CLEAR128K0 |
1026 | savelij | 913 | LD A,0x16 |
801 | savelij | 914 | CALL CLEAR128K0 |
1026 | savelij | 915 | LD A,0x14 |
801 | savelij | 916 | CALL CLEAR128K0 |
1026 | savelij | 917 | LD A,0x13 |
801 | savelij | 918 | CALL CLEAR128K0 |
1026 | savelij | 919 | LD A,0x11 |
801 | savelij | 920 | CALL CLEAR128K0 |
1026 | savelij | 921 | LD A,0x10 |
801 | savelij | 922 | CLEAR128K0 LD (TEMP_SAVE_SP),SP |
923 | LD BC,CONF_128 |
||
924 | OUT (C),A |
||
925 | LD SP,0 |
||
1026 | savelij | 926 | LD B,0x80 |
801 | savelij | 927 | CLEAR128K1 REPT 64 |
928 | PUSH HL |
||
929 | ENDM |
||
930 | DJNZ CLEAR128K1 |
||
931 | LD SP,0 |
||
932 | TEMP_SAVE_SP EQU $-2 |
||
933 | RET |
||
934 | |||
1026 | savelij | 935 | ; ⠭ ६ ᨪ म, ⠭ ࠭ |
801 | savelij | 936 | SYSTEM LD HL,BAS_VAR |
937 | LD DE,KSTATE0 |
||
938 | LD BC,EBAS_VAR-BAS_VAR |
||
1026 | savelij | 939 | LDIR ; ⠭ ⠭ ६ BASIC TR-DOS |
940 | GET_DRV_SYM LD A,(ERS_FLAGS) ; 塞 稥 |
||
801 | savelij | 941 | AND M_CLOCK_ON |
942 | JR Z,SET_DRIVE |
||
1186 | savelij | 943 | LD H,CMOS.VIRT_REAL_DRIVE |
801 | savelij | 944 | CALL READCMOS |
945 | RRCA |
||
946 | RRCA |
||
947 | AND 3 |
||
1026 | savelij | 948 | SETUP_DRIVE LD (DRV_SYM),A ; ⠭ ࠭ ॠ쭮 |
949 | SET_DRIVE LD A,(DRV_SYM) ; ⥬ ६ ᪠ |
||
801 | savelij | 950 | LD (TRD_5D19),A |
951 | LD (TRD_5CF6),A |
||
952 | LD L,A |
||
953 | LD H,A |
||
954 | LD (TRD_5CF8),HL |
||
1026 | savelij | 955 | OR 0x3C |
801 | savelij | 956 | LD (TRD_5D16),A |
957 | RET |
||
958 | |||
1186 | savelij | 959 | GLUDIN LD H,CMOS.BYTE_01 |
801 | savelij | 960 | CALL READCMOS |
1186 | savelij | 961 | AND CMOS_EC.M_SOUNDKEYS |
801 | savelij | 962 | RET Z |
1026 | savelij | 963 | LD HL,DIN+0x0D |
964 | LD A,0x0D |
||
965 | GLUDIN1 LD BC,0xFFFD |
||
801 | savelij | 966 | OUT (C),A |
1026 | savelij | 967 | LD B,0xBF |
801 | savelij | 968 | OUTD |
969 | SUB 1 |
||
970 | JR NC,GLUDIN1 |
||
971 | RET |
||
972 | |||
1186 | savelij | 973 | SHUT2AY LD H,CMOS.BYTE_01 |
801 | savelij | 974 | CALL READCMOS |
1186 | savelij | 975 | AND CMOS_EC.M_SOUNDKEYS |
801 | savelij | 976 | RET Z |
1026 | savelij | 977 | LD DE,0x0E00 |
801 | savelij | 978 | SHUT2AY1 DEC D |
979 | LD H,D |
||
980 | LD L,E |
||
981 | CALL SHUT2AY2 |
||
1026 | savelij | 982 | JR NZ,SHUT2AY1 ; |
983 | LD HL,0x073F |
||
984 | SHUT2AY2 LD BC,0xFFFD |
||
801 | savelij | 985 | OUT (C),H |
1026 | savelij | 986 | LD B,0xBF |
801 | savelij | 987 | OUT (C),L |
988 | RET |
||
989 | |||
990 | TIMELP CALL PRINTTIME |
||
991 | LD A,HIGH (MOUSE_KEYS) |
||
1026 | savelij | 992 | IN A,(LOW (MOUSE_KEYS)) ; |
801 | savelij | 993 | CPL |
994 | AND 7 |
||
1026 | savelij | 995 | JR NZ,TIMELP ; |
801 | savelij | 996 | RET |
997 | |||
1026 | savelij | 998 | ; PERFECT COMMANDER |
801 | savelij | 999 | PERFECT DI |
1026 | savelij | 1000 | LD SP,0xC000 |
999 | savelij | 1001 | PEC_ON M_SHADOW_BF |
801 | savelij | 1002 | LD BC,WIN_A0 |
1003 | LD A,ROM_RST81 |
||
1004 | OUT (C),A |
||
1005 | LD HL,(ADR_PERFECT) |
||
1026 | savelij | 1006 | LD DE,0x5B00 |
801 | savelij | 1007 | CALL UNPACK |
1008 | LD BC,WIN_A0 |
||
1026 | savelij | 1009 | LD A,0x83 |
801 | savelij | 1010 | OUT (C),A |
999 | savelij | 1011 | PEC_OFF M_SHADOW_BF |
1026 | savelij | 1012 | LD A,0xC9 |
1013 | LD (0x66D2),A |
||
1014 | LD SP,0x5FE4 |
||
1015 | JP 0x8A1D |
||
801 | savelij | 1016 | |
1017 | ISDOS_BOOT LD HL,ISDOS_BOOT1 |
||
1026 | savelij | 1018 | LD DE,0x5E00 |
801 | savelij | 1019 | LD BC,ISDOS_BOOT2-ISDOS_BOOT1 |
1020 | LDIR |
||
1026 | savelij | 1021 | JP 0x5E00 |
801 | savelij | 1022 | |
1023 | include hdd_detect.a80 |
||
1024 | |||
1025 | ISDOS_BOOT1 include isdos_boot.a80 |
||
1026 | ISDOS_BOOT2 |
||
1027 | |||
1026 | savelij | 1028 | SEL_FAT_DRV ; ᮧ ⥪, ᮢ 뢮 ᯨ᪠ 롮 ࠧ FAT |