Rev 627 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 627 | Rev 1120 | ||
---|---|---|---|
Line -... | Line 1... | ||
- | 1 | ||
- | 2 | ; LAST UPDATE: 18.10.2023 savelij |
|
- | 3 | ||
1 | ;.Z80 |
4 | ;.Z80 |
2 | ;#INCLUDE "ALLVARS.ASH" |
5 | ;#INCLUDE "ALLVARS.ASH" |
3 | 6 | ||
4 | CI_INIT: JP _CI_INIT |
7 | CI_INIT: JP _CI_INIT |
5 | CI_IN: JP _CI_ |
8 | CI_IN: JP _CI_ |
Line 19... | Line 22... | ||
19 | LD (KS_UNDS),A |
22 | LD (KS_UNDS),A |
20 | LD (KS_UNDS1),A |
23 | LD (KS_UNDS1),A |
21 | JP K_INIT |
24 | JP K_INIT |
22 | 25 | ||
23 | CI_CVT: LD D,A |
26 | CI_CVT: LD D,A |
24 | BIT _KS_ALT,E |
27 | BIT B_KS_ALT,E |
25 | SCF |
28 | SCF |
26 | RET NZ |
29 | RET NZ |
27 | CIC_2: LD D,A |
30 | CIC_2: LD D,A |
28 | BIT 7,A |
31 | BIT 7,A |
29 | JR Z,CIC_1 |
32 | JR Z,CIC_1 |
Line 31... | Line 34... | ||
31 | XOR A |
34 | XOR A |
32 | CALL CI_ENC1 |
35 | CALL CI_ENC1 |
33 | CIC_21: INC L |
36 | CIC_21: INC L |
34 | JR Z,CIC_2 |
37 | JR Z,CIC_2 |
35 | JR CIC_RETA |
38 | JR CIC_RETA |
- | 39 | ||
36 | CIC_1: LD HL,CIC_TBL-1 |
40 | CIC_1: LD HL,CIC_TBL-1 |
37 | LD B,-1 |
41 | LD B,-1 |
38 | CIC_L1: INC HL |
42 | CIC_L1: INC HL |
39 | INC B |
43 | INC B |
40 | CP (HL) |
44 | CP (HL) |
41 | INC HL |
45 | INC HL |
42 | JR C,CIC_L1 |
46 | JR C,CIC_L1 |
43 | CP (HL) |
47 | CP (HL) |
44 | JR NC,CIC_L1 |
48 | JR NC,CIC_L1 |
45 | LD C,0 |
49 | LD C,0 |
46 | BIT _KS_CTRL,E |
50 | BIT B_KS_CTRL,E |
47 | LD A,3 |
51 | LD A,3 |
48 | JR NZ,CIC_ST |
52 | JR NZ,CIC_ST |
49 | BIT _KS_RUS,E |
53 | BIT B_KS_RUS,E |
50 | JR Z,CIC_S1 |
54 | JR Z,CIC_S1 |
51 | LD C,4 |
55 | LD C,4 |
52 | CIC_S1: BIT _KS_SHFT,E |
56 | CIC_S1: BIT B_KS_SHFT,E |
53 | LD A,1 |
57 | LD A,1 |
54 | JR NZ,CIC_ST |
58 | JR NZ,CIC_ST |
55 | INC A |
59 | INC A |
56 | BIT _KS_SHFT2,E |
60 | BIT B_KS_SHFT2,E |
57 | JR NZ,CIC_ST |
61 | JR NZ,CIC_ST |
58 | XOR A |
62 | XOR A |
59 | CIC_ST: OR C |
63 | CIC_ST: OR C |
60 | ADD A,A |
64 | ADD A,A |
61 | ADD A,A |
65 | ADD A,A |
Line 67... | Line 71... | ||
67 | LD A,1FH |
71 | LD A,1FH |
68 | AND D |
72 | AND D |
69 | RET |
73 | RET |
70 | 74 | ||
71 | CIC_DOL_: LD A,D |
75 | CIC_DOL_: LD A,D |
72 | BIT _KS_CAPS,E |
76 | BIT B_KS_CAPS,E |
73 | RET Z |
77 | RET Z |
74 | CIC_DOS: ADD A,20H |
78 | CIC_DOS: ADD A,20H |
75 | RET |
79 | RET |
76 | 80 | ||
77 | CIC_DOS_: LD A,D |
81 | CIC_DOS_: LD A,D |
78 | BIT _KS_CAPS,E |
82 | BIT B_KS_CAPS,E |
79 | RET NZ |
83 | RET NZ |
80 | JR CIC_DOS |
84 | JR CIC_DOS |
81 | 85 | ||
82 | CIC_RET: LD A,D |
86 | CIC_RET: LD A,D |
83 | CIC_RETA: OR A |
87 | CIC_RETA: OR A |
Line 111... | Line 115... | ||
111 | RES 0,H |
115 | RES 0,H |
112 | JR C,CIC_NOLIT |
116 | JR C,CIC_NOLIT |
113 | BIT 7,A |
117 | BIT 7,A |
114 | JR NZ,CIC_LIT |
118 | JR NZ,CIC_LIT |
115 | CP "A" |
119 | CP "A" |
116 | BIT _KS_RUS,E |
120 | BIT B_KS_RUS,E |
117 | JR Z,CIC_51 |
121 | JR Z,CIC_51 |
118 | CP "@" |
122 | CP "@" |
119 | CIC_51: JR C,CIC_NOLIT |
123 | CIC_51: JR C,CIC_NOLIT |
120 | CP 0X5A+1;'Z'+1 |
124 | CP 0X5A+1;'Z'+1 |
121 | BIT _KS_RUS,E |
125 | BIT B_KS_RUS,E |
122 | JR Z,CIC_5 |
126 | JR Z,CIC_5 |
123 | CP 60H |
127 | CP 60H |
124 | CIC_5: JR NC,CIC_NOLIT |
128 | CIC_5: JR NC,CIC_NOLIT |
125 | CIC_LIT: LD C,A |
129 | CIC_LIT: LD C,A |
126 | LD A,E |
130 | LD A,E |
Line 129... | Line 133... | ||
129 | RET PO |
133 | RET PO |
130 | CIC_4: LD A,H |
134 | CIC_4: LD A,H |
131 | JR CIC_3 |
135 | JR CIC_3 |
132 | 136 | ||
133 | CIC_NOLIT: OR A |
137 | CIC_NOLIT: OR A |
134 | BIT _KS_SHFT,E |
138 | BIT B_KS_SHFT,E |
135 | JR NZ,CIC_RETA |
139 | JR NZ,CIC_RETA |
136 | JR CIC_4 |
140 | JR CIC_4 |
137 | 141 | ||
138 | CI_ENC: INC A |
142 | CI_ENC: INC A |
139 | CI_ENC1: PUSH DE |
143 | CI_ENC1: PUSH DE |
Line 291... | Line 295... | ||
291 | _1: CALL CI_CVT |
295 | _1: CALL CI_CVT |
292 | LD (IX-_KS_UND+1),E |
296 | LD (IX-_KS_UND+1),E |
293 | LD (IX-_KS_UNDS),D |
297 | LD (IX-_KS_UNDS),D |
294 | RET NC |
298 | RET NC |
295 | LD A,E |
299 | LD A,E |
296 | AND _KS_CTRL<<1+_KS_ALT<<1;(1 SHL _KS_CTRL) + (1 SHL _KS_ALT) |
300 | AND M_KS_CTRL + M_KS_ALT;(1 SHL _KS_CTRL) + (1 SHL _KS_ALT) |
297 | CP _KS_CTRL<<1+_KS_ALT<<1;(1 SHL _KS_CTRL) + (1 SHL _KS_ALT) |
301 | CP M_KS_CTRL + M_KS_ALT;(1 SHL _KS_CTRL) + (1 SHL _KS_ALT) |
298 | JR Z,CHK_CA |
302 | JR Z,CHK_CA |
299 | CP _KS_ALT<<1;1 SHL _KS_ALT |
303 | CP B_KS_ALT<<1;1 SHL _KS_ALT |
300 | JR Z,_L1_ |
304 | JR Z,_L1_ |
301 | LD A,D |
305 | LD A,D |
302 | CP "z" |
306 | CP "z" |
303 | JR Z,RUS_LAT_SW |
307 | JR Z,RUS_LAT_SW |
304 | CP "o" |
308 | CP "o" |
Line 342... | Line 346... | ||
342 | JR NZ,_L1_ |
346 | JR NZ,_L1_ |
343 | JP ENTR2;## |
347 | JP ENTR2;## |
344 | 348 | ||
345 | RUS_LAT_SW: |
349 | RUS_LAT_SW: |
346 | LD A,14 |
350 | LD A,14 |
347 | BIT _KS_RUS,E |
351 | BIT B_KS_RUS,E |
348 | RET NZ |
352 | RET NZ |
349 | INC A |
353 | INC A |
350 | RET |
354 | RET |
351 | 355 | ||
352 | _CI_TAB: DB 5,24,19,4,18,3,0,0,15,7 |
356 | _CI_TAB: DB 5,24,19,4,18,3,0,0,15,7 |
Line 387... | Line 391... | ||
387 | LD A,OLDSC_TL |
391 | LD A,OLDSC_TL |
388 | SUB C |
392 | SUB C |
389 | LD H,A |
393 | LD H,A |
390 | PAFRET: LD D,0 |
394 | PAFRET: LD D,0 |
391 | OR A |
395 | OR A |
392 | BIT _KS_SHFT,E |
396 | BIT B_KS_SHFT,E |
393 | JR Z,PFR_1 |
397 | JR Z,PFR_1 |
394 | SET 7,D |
398 | SET 7,D |
395 | RET |
399 | RET |
396 | PFR_1: BIT _KS_CTRL,E |
400 | PFR_1: BIT B_KS_CTRL,E |
397 | RET Z |
401 | RET Z |
398 | SET 7,D |
402 | SET 7,D |
399 | SET 6,D |
403 | SET 6,D |
400 | RET |
404 | RET |
401 | 405 |