Subversion Repositories pentevo

Rev

Rev 1035 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
627 savelij 1
 
1186 savelij 2
; LAST UPDATE: 16.02.2025 savelij
627 savelij 3
 
1186 savelij 4
ITSELECTOR      LD HL,SYSFLAGS
5
                RES SYSFLAGS.B_MOUSE_PRESENT,(HL); 能身膉兩市鴙恭 栽物鍡平言 禺閮 井 漭花漎恕
6
                SET SYSFLAGS.B_VIDEO_MODE,(HL)  ; 洛叟 漭花漅╳ㄝ ◢丰桌它足
627 savelij 7
                LD HL,KEYBOARDS
1186 savelij 8
                LD (ADR_INT),HL                 ; 祚 能丞諲郃麍 ∼丰 悖鉈 物◢睼鳪
627 savelij 9
                LD (OLD_STACK),SP
10
                JR SELECTOR
11
 
1186 savelij 12
ISELECTOR       LD HL,SYSFLAGS
13
                RES SYSFLAGS.B_VIDEO_MODE,(HL)
627 savelij 14
                CALL DETECTMOUSE
15
                LD (OLD_STACK),SP
16
SELECTOR        EI     
1186 savelij 17
                LD A,(SYSFLAGS)
18
                AND SYSFLAGS.M_MOUSE_PRESENT    ; 能恥丞 咧蝔 禺閮
627 savelij 19
                JR Z,_RULNMO
1186 savelij 20
; FIX 狙咱嵼 禺閮
627 savelij 21
MKEYPR          EI
1186 savelij 22
                LD A,HIGH (MOUSE_KEYS)
23
                IN A,(LOW (MOUSE_KEYS))
627 savelij 24
                CPL
1186 savelij 25
                AND %00000111
627 savelij 26
                JR NZ,MKEYPR
1186 savelij 27
_RULNMO         CALL SAVE2X2                    ; 丟咧 洛叟 砲咧 祚╞馲 摵鄍囿
28
                CALL SET_ADR_ATR                ; 蝁陋◥ 陋╳ㄝ 戈丟 井 璇乒陋 祚垣嶊
627 savelij 29
                LD HL,FLAGS_KEY
1186 savelij 30
                RES 5,(HL)                      ;  物◢睼鄍 郃蟡ㄝ 郊 漅
627 savelij 31
                JR MAINLOP
32
 
1186 savelij 33
;  摵鄍囿 ╰丞
34
UP              CALL CURSOR_UP                  ; 嶈平走 漭芥擉 胯酊  -1
627 savelij 35
                JR SET_POS1                    
36
 
1186 savelij 37
;  摵鄍囿 0╳
38
RIGHT           BIT 1,(IX+_FLAGS)               ; 能恥丞 能桑漅 洛叟 走 帖恥恭
39
                PUSH AF                         ; 嵼樈郃咧 鄍扼恢 能恥丞爸
40
                CALL NZ,PAGEDN                  ; 丟咧 帖恥恭, 漅 咧摵郃 摵郃蝑恭
41
                POP AF                          ; ╳摽陋◢咧 鄍扼恢 能恥丞爸
42
                JR NZ,SET_POS1                  ; 丟咧 帖恥恭 能恕悍布
43
                LD A,(IX+_NUM_KOL_L)
627 savelij 44
                AND A
45
                JR Z,SET_POS
1186 savelij 46
                DEC A                           ; 身蟡 砲鄍摰 芥颬桌  祚嶉奶郃 胯酊
47
                JR SET_POS                      ; 豆洛哨布 祚垣戎郃 芥颬桌  能恕悍布
627 savelij 48
 
1186 savelij 49
;  摵鄍囿 ╲豆
50
DOWN            CALL CURSOR_DOWN                ; 嶈平走 漭芥擉 胯酊  +1
627 savelij 51
                JR SET_POS1
52
 
1186 savelij 53
;  摵鄍囿 ◤失
54
LEFT            BIT 1,(IX+_FLAGS)               ; 能恥丞 能桑漅 洛叟 走 帖恥恭
55
                PUSH AF                         ; 嵼樈郃咧 鄍扼恢 能恥丞爸
56
                CALL NZ,PAGEUP                  ; 丟咧 帖恥恭, 漅 咧摵郃 摵郃蝑恭
57
                POP AF                          ; ╳摽陋◢咧 鄍扼恢 能恥丞爸
58
                JR NZ,SET_POS1                  ; 丟咧 帖恥恭 能恕悍布
59
                XOR A                           ; 身蟡 砲鄍摰 芥颬桌  砲遉諰 胯酊
60
SET_POS         BIT B_ADR_PUNKT,(IX+_NUM_PKT)
627 savelij 61
                JR Z,SET_POS3
1186 savelij 62
                LD L,(IX+_TEK_PKT_L)
63
                LD H,(IX+_TEK_PKT_H)
627 savelij 64
                LD (HL),A
65
                INC HL
66
                LD (HL),A
67
                INC HL
68
                LD (HL),0
69
                JR SET_POS1
70
 
1186 savelij 71
SET_POS3        LD (IX+_NUM_PKT),A              ; 豆洛郃咧 祚夾璅 芥颬桌
72
                LD (IX+_TEK_PKT_L),A
73
                LD (IX+_TEK_PKT_H),0            ; 豆洛郃咧 陋洛 c﹤限恐 胯酊
74
SET_POS1        CALL COLOR_CURSOR               ; 砲鄍鄖嵼◥ 璇乒陋 祚垣嶊 洛叟
627 savelij 75
MAINLOP         LD HL,FLAGS_KEY
1186 savelij 76
                RES 5,(HL)                      ; 寣鉈 碲 狎悖悚
77
                LD A,(SYSFLAGS)
78
                AND SYSFLAGS.M_MOUSE_PRESENT    ; 能恥丞 咧蝔 禺閮
627 savelij 79
                JP Z,MAINNMO
1186 savelij 80
                LD HL,(ARXY)                    ; 摵 狙桌尹 禺閮
627 savelij 81
                PUSH HL
1186 savelij 82
                CALL MOUSE                      ; 悖鉈 祚飶恥 禺閮
627 savelij 83
                POP BC
84
                AND A
85
                SBC HL,BC
1186 savelij 86
                JR Z,NO_SELECT                  ; 郊 ㏑垣 丐谷平剁 禺閮
87
                CALL MOUOPT                     ; 能恥丞 ╞丰郃 禺閮  限恭 悚陋
88
NO_SELECT       LD BC,MOUSE_KEYS
89
                IN A,(C)                        ; 悖鉈 漼 狎悖悚 禺閮
627 savelij 90
                AND 7
91
                CP 6
1186 savelij 92
                JR Z,PRESS_MOUSE                ; 丟咧  咱 狎悖 禺閮
627 savelij 93
                CP 5
1186 savelij 94
                JP Z,RESTART                    ; 丟咧  能 狎悖 禺閮
95
                CALL PRINTTIME                  ; 恣陋◢咧 R布 丟咧 豆洛郃垣摐
627 savelij 96
                EI
1186 savelij 97
                CALL REST2X2                    ; ╳摽陋◢咧 芥嵼 磲 祚 禺鳻
98
                CALL DRAW_MOUSE                 ; 鄖嵼咧 芥颬桌 禺閮
99
                JR MAINQMO                      ; 能恕悍戎郃 悖鉈
627 savelij 100
 
101
PRESS_MOUSE     CALL OPMSPL
102
                AND A
103
                JR Z,CP_MOUSE4
104
                LD (LAST_K),A
105
                CALL TIMELP
106
                JR SELECT_KEY
107
 
1186 savelij 108
CP_MOUSE4       CALL MOUOPT                     ; 能恥丞 祚郃 禺閮  能奶市 漭芥擖ㄝ 悚
109
                JR C,MAINNMO                    ; 郊 祚咧  奶布 咱
110
                LD E,(IX+_NUM_PKT)              ; ╡麉 陋洛 胯酊 芥 祚咧 禺鳻
111
                BIT B_ADR_PUNKT,E
627 savelij 112
                JR Z,CP_MOUSE5
1186 savelij 113
                LD L,(IX+_TEK_PKT_L)
114
                LD H,(IX+_TEK_PKT_H)
627 savelij 115
                LD E,(HL)
116
CP_MOUSE5       LD D,0
1186 savelij 117
                LD HL,(PRESSEDKEY)              ; 戈丟 嶍兕 摰滫孕 漭芥擖ㄝ 悚
118
                ADD HL,DE                       ; 戈丟 摰滫伐 c﹤限恐 胯酊
627 savelij 119
                LD DE,LAST_K
1186 savelij 120
                LDI                             ; 足兩璅 漼 限悟 狎悖爸
627 savelij 121
                JR ENTER
122
 
1186 savelij 123
MAINNMO         CALL PRINTTIME                  ; 恣陋◤平言 R布平, 丟咧  悌 恣陋◢垣摐
627 savelij 124
                EI
125
                HALT
126
MAINQMO         LD A,(FLAGS_KEY)
1186 savelij 127
                BIT 5,A                         ; 能恥丞 漼 狎悖悚 物◢睼鳪
128
                JP Z,MAINLOP                    ; 能恕悍布 悖鉈 蒟◤平剁
129
        ROMCALL BREAK_KEY,ROM_RST82             ; 能恥丞  BREAK
130
                JR C,SELECT_KEY                 ; 丟咧 BREAK 郊  能恕悍布
627 savelij 131
RESTART         DI
1186 savelij 132
                CALL RESTORE_FATVARS            ; ╳摽陋◤平言 FAT 砲鄍洛限錼
133
                CALL TRESTORE_CLINE             ; ╳摽陋◤平言 璇乒  洛叟
627 savelij 134
                LD A,1
135
                RET
136
 
137
SELECT_KEY      DI
138
                LD HL,SET_POS1
139
                PUSH HL
140
                LD HL,LAST_K
1186 savelij 141
                LD A,(HL)                       ; ╡麉 睼 物◢魬
627 savelij 142
                LD B,0
143
                LD HL,MAIN_KEYS
1186 savelij 144
                LD C,(HL)                       ; 狙咧蟡摵╳ 亢摵蒟卿 狎悖悚
627 savelij 145
                LD D,C
146
                INC HL
147
                CPIR
1186 savelij 148
                JR NZ,NOMAINKEYS                ; 郃蟡ㄝ 郊 隢, 咱 嶈栽鄖 狎悖爸 漭芥擖ㄝ 悚
149
                                                ; 漅 誺-漅 豆 ㄚ╲錼 狎悖悚, 亢摵蒟卿 S奴
627 savelij 150
                LD HL,ADREXEKEYS
1186 savelij 151
                LD A,D                          ; 狙咧蟡摵╳ 狎悖悚  ‵冽 -1
152
                SUB C                           ; 祚怒蝔咧 c﹤限諰 陋洛
627 savelij 153
                DEC A
154
                ADD A,A
155
                ADD A,L
156
                LD L,A
157
                ADC A,H
158
                SUB L
159
                LD H,A
160
                LD A,(HL)
161
                INC HL
162
                LD H,(HL)
163
                LD L,A
164
                JP (HL)
165
 
1186 savelij 166
; 能恥丞 摰滫孕  漭芥擖 悚郊
167
NOMAINKEYS      LD L,(IX+_ADR_HOTKEY_L)
168
                LD H,(IX+_ADR_HOTKEY_H)         ; 戈丟 嶍兕 碲 狎悖悚 漭芥擖ㄝ 悚
627 savelij 169
                LD C,A
170
                LD A,H
171
                OR L
1186 savelij 172
                JP Z,MAINLOP                    ; 丟咧 嶍兕 郊, 能恕悍布 悖鉈
627 savelij 173
                LD A,C
1186 savelij 174
                LD C,(IX+_V_SIZE)
627 savelij 175
                LD E,(HL)
176
                INC HL
1186 savelij 177
                DEC C                           ; 狙咧蟡摵╳ 狎悖悚
178
                DEC C                           ; c嵼 悚 -2
627 savelij 179
                LD D,C
180
                LD B,0
1186 savelij 181
                CPIR                            ; 嶊郃鉈郃 嶍兕 限錼 物◢
627 savelij 182
                JR NZ,OSTAT_KEYS
1186 savelij 183
                LD A,D                          ; c嵼 悚
627 savelij 184
                SUB C
1186 savelij 185
                DEC A                           ; 祚怒蝔咧 陋洛 漅 狎悖爸  -1
186
                BIT B_ADR_PUNKT,(IX+_NUM_PKT)
627 savelij 187
                JR Z,ENTER1
1186 savelij 188
                LD L,(IX+_TEK_PKT_L)
189
                LD H,(IX+_TEK_PKT_H)
627 savelij 190
                LD (HL),A
191
                INC HL
192
                LD (HL),A
193
                JR ENTER
194
 
1186 savelij 195
ENTER1          LD (IX+_NUM_PKT),A              ; 陋洛 胯酊  悚郊
196
                LD (IX+_TEK_PKT_L),A            ; 陋洛 漅 物◢閮 祚 膋限悔 嶍兕芥
197
ENTER           LD A,(SYSFLAGS)
198
                AND SYSFLAGS.M_MOUSE_PRESENT
199
                CALL NZ,TIMELP                  ; 恣陋◤平言 R布平 丟咧 悌 豆洛郃垣摐        
200
                CALL REST2X2                    ; 摵丞咧 芥颬桌 禺閮
201
                LD A,(IX+_NUM_PKT)              ; 陋洛 豆 嶍兕 狙漅鳪 c坎碪
202
                BIT B_ADR_PUNKT,A
627 savelij 203
                JR Z,JUMP2HL1
1186 savelij 204
                LD L,(IX+_TEK_PKT_L)
205
                LD H,(IX+_TEK_PKT_H)
627 savelij 206
                LD A,(HL)
1186 savelij 207
JUMP2HL1        LD L,(IX+_ADR_PRG_L)
208
                LD H,(IX+_ADR_PRG_H)            ; ╡麉 嶍兕悚 戈丟恥 1 豆 狙漅鳪 ∼丰 c投碪
627 savelij 209
JUMP2HL         ADD A,A
210
                ADD A,L
211
                LD L,A
212
                ADC A,H
213
                SUB L
214
                LD H,A
215
                LD A,(HL)
216
                INC HL
217
                LD H,(HL)
218
                LD L,A
219
                JP (HL)
220
 
221
OSTAT_KEYS      EX AF,AF'
222
                LD A,E
223
                SUB D
224
                JP Z,MAINLOP
225
                LD C,A
226
                EX AF,AF'
227
                CPIR
228
                JP NZ,MAINLOP
229
                LD A,E
230
                SUB C
231
                DEC A
232
                JR JUMP2HL1
233
 
234
TIMELP          CALL PRINTTIME
1186 savelij 235
                LD A,HIGH (MOUSE_KEYS)
236
                IN A,(LOW (MOUSE_KEYS))         ; 狎悖爸 禺閮
627 savelij 237
                CPL
238
                AND 7
1186 savelij 239
                JR NZ,TIMELP                    ; 祚 郊 栽胯摵檺
627 savelij 240
                RET
241
 
1186 savelij 242
CURSOR_UP       LD C,(IX+_TEK_PKT_L)
243
                LD B,(IX+_TEK_PKT_H)
244
                BIT B_ADR_PUNKT,(IX+_NUM_PKT)
627 savelij 245
                JR Z,CURSOR_UP3
1186 savelij 246
                LD L,(IX+_TEK_PKT_L)
247
                LD H,(IX+_TEK_PKT_H)
627 savelij 248
                INC HL
249
                LD C,(HL)
250
                INC HL
251
                LD B,(HL)
252
CURSOR_UP3      LD A,B
253
                OR C
254
                RET Z
255
                DEC BC
1186 savelij 256
                BIT B_ADR_PUNKT,(IX+_NUM_PKT)
627 savelij 257
                JR Z,CURSOR_UP2
258
                LD (HL),B
259
                DEC HL
260
                LD (HL),C
261
                DEC HL
262
                LD A,(HL)
263
                AND A
264
                JR Z,CURSOR_UP1
265
                DEC (HL)
266
                RET
267
 
1186 savelij 268
CURSOR_UP2      LD (IX+_TEK_PKT_L),C
269
                LD (IX+_TEK_PKT_H),B
270
                LD A,(IX+_NUM_PKT)
627 savelij 271
                AND A
272
                JR Z,CURSOR_UP1
1186 savelij 273
                DEC (IX+_NUM_PKT)
627 savelij 274
                RET
275
 
276
CURSOR_UP1      CALL REST2X2
277
                CALL RESTORE_CLINE
278
                CALL SCRDN
1186 savelij 279
                LD E,(IX+_Y_COORD)
627 savelij 280
                INC E
1186 savelij 281
DOWN1           LD D,(IX+_X_COORD)
627 savelij 282
                INC D
283
                INC D
1186 savelij 284
        EVOPORT WIN_P3,RAM_SORTFILES
285
                LD L,(IX+_TEK_PKT_L)
286
                LD H,(IX+_TEK_PKT_H)
287
                BIT B_ADR_PUNKT,(IX+_NUM_PKT)
627 savelij 288
                JR Z,DOWN3
289
                DEC D
290
                INC HL
291
                LD A,(HL)
292
                INC HL
293
                LD H,(HL)
294
                LD L,A
295
DOWN3           LD BC,CPU3
296
                ADD HL,HL
297
                ADD HL,BC
298
                LD C,(HL)
299
                INC HL
300
                LD B,(HL)
301
                PUSH DE
1186 savelij 302
        ROMCALL POSTF06,ROM_RST83
303
        ROMCALL READ_DIR,ROM_RST83
627 savelij 304
                LD DE,FILES_EXT
1186 savelij 305
        ROMCALL CP_EXT,ROM_RST83
627 savelij 306
                EX AF,AF'
1186 savelij 307
                LD BC,_DIR_Attr
627 savelij 308
                ADD HL,BC
309
                LD A,(HL)
310
                SBC HL,BC
1186 savelij 311
                AND M_DIR_Directory
312
                LD A,BLUE << 3 + WHITE + BR_INK ; 丟咧 尹鄍芬桌剁 漅 璇乒 ‘恨
627 savelij 313
                JR NZ,DOWN7
1186 savelij 314
; 嶊嶊 祚 限悟 ‵冽
627 savelij 315
                EX AF,AF'
1186 savelij 316
                LD HL,COLOR_EXT
627 savelij 317
                ADD A,L
318
                LD L,A
319
                ADC A,H
320
                SUB L
1186 savelij 321
                LD H,A
627 savelij 322
                LD A,(HL)
1186 savelij 323
                ADD A,BLUE << 3 + BR_INK
324
DOWN7           LD (OUT_NAME_FILE+1),A          ; 蝁陋◥ 璇乒 嶊嶊
325
                LD HL,BUF_MOVE256
326
        ROMCALL GET_LONGNAME,ROM_RST83
627 savelij 327
                POP DE
328
                CALL FILENAME8_3
329
                JP SET_ADR_ATR
330
 
1186 savelij 331
CURSOR_DOWN     LD L,(IX+_NUM_KOL_L)
332
                LD H,(IX+_NUM_KOL_H)            ; 狙咧蟡摵╳ 胯酊漅
333
                BIT B_ADR_NUMS_PUNKT,(IX+_NUM_PKT)
627 savelij 334
                JR Z,CURSOR_DOWN6
1186 savelij 335
                LD L,(IX+_TEK_PKT_L)            ; 祚怒蟡郃 狙咧蟡摵 胯酊漅          
336
                LD H,(IX+_TEK_PKT_H)            ; 豆 膋限恐 戈丟
627 savelij 337
                INC HL
338
                INC HL
339
                INC HL
340
                LD A,(HL)
341
                INC HL
342
                LD H,(HL)
1186 savelij 343
                LD L,A                          ; 狙咧蟡摵╳ 胯酊漅  罿悔 洛叟
627 savelij 344
CURSOR_DOWN6    LD A,H
345
                OR L
346
                RET Z
1186 savelij 347
                BIT B_ADR_PUNKT,(IX+_NUM_PKT)
627 savelij 348
                JR Z,CURSOR_DOWN2
1186 savelij 349
                LD E,(IX+_TEK_PKT_L)
350
                LD D,(IX+_TEK_PKT_H)            ; 漭芥擉 陋洛
627 savelij 351
                EX DE,HL
352
                INC HL
353
                LD C,(HL)
354
                INC HL
355
                LD B,(HL)
356
                EX DE,HL
357
                JR CURSOR_DOWN3
358
 
1186 savelij 359
CURSOR_DOWN2    LD C,(IX+_TEK_PKT_L)
360
                LD B,(IX+_TEK_PKT_H)
627 savelij 361
CURSOR_DOWN3    SCF
362
                SBC HL,BC
363
                RET Z
364
                INC BC
1186 savelij 365
                BIT B_ADR_PUNKT,(IX+_NUM_PKT)
627 savelij 366
                JR Z,CURSOR_DOWN4
367
                EX DE,HL
368
                LD (HL),B
369
                DEC HL
370
                LD (HL),C
371
                DEC HL
1186 savelij 372
                LD A,(IX+_V_SIZE)
627 savelij 373
                SUB 3
374
                CP (HL)
375
                JR Z,CURSOR_DOWN1
376
                INC (HL)
377
                RET
378
 
1186 savelij 379
CURSOR_DOWN4    LD (IX+_TEK_PKT_L),C
380
                LD (IX+_TEK_PKT_H),B
381
                LD A,(IX+_V_SIZE)
627 savelij 382
                SUB 3
1186 savelij 383
                CP (IX+_NUM_PKT)
627 savelij 384
                JR Z,CURSOR_DOWN1
1186 savelij 385
                INC (IX+_NUM_PKT)
627 savelij 386
                RET
387
 
388
CURSOR_DOWN1    CALL REST2X2
389
                CALL RESTORE_CLINE
390
                CALL SCRUP
1186 savelij 391
                LD A,(IX+_Y_COORD)
392
                ADD A,(IX+_V_SIZE)
627 savelij 393
                SUB 2
394
                LD E,A
395
                JP DOWN1
396
 
1186 savelij 397
GET_XY          LD L,(IX+_TEK_PKT_L)
398
                LD H,(IX+_TEK_PKT_H)            ; 漭芥擉 陋洛
399
                BIT B_ADR_PUNKT,(IX+_NUM_PKT)
627 savelij 400
                JR Z,GETXY1
1186 savelij 401
; 祚怒蟡郃 陋洛 漭芥擖ㄝ 胯酊 豆 膋漭恬
627 savelij 402
                INC HL
403
                LD E,(HL)
404
                INC HL
1186 savelij 405
                LD D,(HL)               ; 漭芥擉 陋洛 豆 膋限恐 戈丟
627 savelij 406
                EX DE,HL
1186 savelij 407
                BIT B_ADR_NUMS_PUNKT,(IX+_NUM_PKT)
627 savelij 408
                JR Z,GETXY1
1186 savelij 409
; 祚怒蟡郃 狙咧蟡摵 胯酊漅 豆 膋漭恬
627 savelij 410
                EX DE,HL
411
                INC HL
412
                LD A,(HL)
413
                INC HL
414
                LD H,(HL)
1186 savelij 415
                LD L,A                  ; 狙咧蟡摵╳ 胯酊漅 豆 膋限恐 戈丟
627 savelij 416
                EX DE,HL
417
                JR GETXY2
418
 
1186 savelij 419
GETXY1          LD E,(IX+_NUM_KOL_L)
420
                LD D,(IX+_NUM_KOL_H)            ; 狙-╳ 胯酊漅
421
GETXY2          LD A,(IX+_V_SIZE)
627 savelij 422
                SUB 3
1186 savelij 423
                LD C,A                  ; 狙咧蟡摵╳ 胯酊漅  c嵼漭 悚
627 savelij 424
                LD B,0
425
                LD A,D
426
                OR E
427
                LD A,C
428
                RET
429
 
1186 savelij 430
; 砲鄍洛擖郃  摵郃緷 ╰丞
627 savelij 431
PAGEUP          CALL GET_XY
432
                RET Z
433
                XOR A
434
                SBC HL,BC
435
                EX DE,HL
436
                JR NC,PDUN0
437
PDU0            LD D,A
438
                LD E,A
439
                JR PDUN0
440
 
1186 savelij 441
; 砲鄍洛擖郃  摵郃緷 ╲豆
627 savelij 442
PAGEDN          CALL GET_XY
443
                RET Z
444
                EX DE,HL
445
                AND A
446
                SBC HL,BC
447
                ADD HL,BC
448
                EX DE,HL
449
                JR NC,PDN00
450
                DEC DE
451
                LD A,E
452
                JR PDUN0
453
 
454
PDN00           ADD HL,BC
455
                EX DE,HL
456
                SBC HL,DE
457
                ADD HL,DE
458
                JR Z,PDUN1
459
                JR NC,PDUN0
460
PDUN1           EX DE,HL
461
                DEC DE
1186 savelij 462
PDUN0           BIT B_ADR_PUNKT,(IX+_NUM_PKT)
627 savelij 463
                JR Z,PDUN2
1186 savelij 464
                LD L,(IX+_TEK_PKT_L)
465
                LD H,(IX+_TEK_PKT_H)
627 savelij 466
                LD (HL),A
467
                INC HL
468
                LD (HL),E
469
                INC HL
470
                LD (HL),D
471
                JR PDUN3
472
 
1186 savelij 473
PDUN2           LD (IX+_NUM_PKT),A
474
                LD (IX+_TEK_PKT_L),E
475
                LD (IX+_TEK_PKT_H),D
646 savelij 476
PDUN3           CALL RESTORE_CLINE
1186 savelij 477
                JP OUT_CURR_DIR
627 savelij 478
 
479
PRINTTIME       DI
1186 savelij 480
                LD H,CMOS.REG_C
764 savelij 481
                CALL READCMOS
1186 savelij 482
                AND CMOSREG.M_C_RO_UF
483
                RET Z                           ; 丟咧 R布 仿 郊 恣陋◢垣摐, c摰尹 郃蟡ㄝ 郊 c╳歹
484
                LD BC,TXT_TIME                  ; 誺平言  能幼﹤妙郃 R布平
485
                LD H,CMOS.HOUR
486
                CALL READCMOS                   ; 能桃兩咧 摠
487
                CALL BYTE2TXT                   ; 嶊悌╞飶走 摠  膋云悟  ∼銗
627 savelij 488
                LD A,(BC)
1186 savelij 489
                XOR ':'-' '                     ; 狙迫丞嶁 洧鍣奴 丐恭漅蝔
627 savelij 490
                LD (BC),A
491
                INC BC
1186 savelij 492
                LD H,CMOS.MINUTE
493
                CALL READCMOS                   ; 能桃兩咧 洧准碲
494
                CALL BYTE2TXT                   ; 嶊悌╞飶走 摠  膋云悟  ∼銗
627 savelij 495
                LD A,(BC)
1186 savelij 496
                XOR ':'-' '                     ; 狙迫丞嶁 洧鍣奴 丐恭漅蝔
627 savelij 497
                LD (BC),A
498
                INC BC
1186 savelij 499
                LD H,CMOS.SECOND
500
                CALL READCMOS                   ; 能桃兩咧 嵽芥迨
627 savelij 501
                CALL BYTE2TXT
1186 savelij 502
                LD BC,TXT_DATA                  ; 咱 誺平言  能幼﹤妙郃 碲
503
                LD H,CMOS.DAY_MONTH
764 savelij 504
                CALL READCMOS
627 savelij 505
                CALL BYTE2TXT
506
                INC BC
1186 savelij 507
                LD H,CMOS.MONTH
764 savelij 508
                CALL READCMOS
627 savelij 509
                CALL BYTE2TXT
510
                INC BC
1186 savelij 511
                LD H,CMOS.YEAR
764 savelij 512
                CALL READCMOS
627 savelij 513
                CALL BYTE2TXT
1186 savelij 514
                LD HL,BUFF_TIME                 ; 砲布 R布 豆 ∼銗
627 savelij 515
                JP ITPRINT_MESSAGE
516
 
1186 savelij 517
; 砲鄍╳ "A"  丰摬漼蝒   漭花
627 savelij 518
A2TXT           PUSH HL
519
                LD L,A
520
                LD H,0
521
                LD DE,10
522
                XOR A
523
                DEC A
1186 savelij 524
.L1             INC A
627 savelij 525
                SBC HL,DE
1186 savelij 526
                JR NC,.L1
627 savelij 527
                ADD HL,DE
1186 savelij 528
                ADD A,'0'
627 savelij 529
                LD D,A
530
                LD A,L
1186 savelij 531
                ADD A,'0'
627 savelij 532
                POP HL
533
                LD (HL),D
534
                INC HL
535
                LD (HL),A
536
                INC HL
537
                RET
538
 
539
BYTE2TXT        LD L,A
1186 savelij 540
                LD H,'0'
627 savelij 541
                RRCA
542
                RRCA
543
                RRCA
544
                RRCA
1186 savelij 545
                AND 0x0F
627 savelij 546
                ADD A,H
547
                LD (BC),A
548
                INC BC
549
                LD A,L
1186 savelij 550
                AND 0x0F
627 savelij 551
                ADD A,H
552
                LD (BC),A
553
                INC BC
554
                RET
555
 
1186 savelij 556
; c摰 豆 MAGIC
627 savelij 557
CONTINUE_PROG   DI
558
                LD SP,(OLD_STACK)
559
                XOR A
560
                RET
561
 
1186 savelij 562
; 砲鄍胯嶊 MAGIC 洛叟  祚垠悟 砲鄍鄖嵼◥悟 磲
627 savelij 563
RESTART_MAIN    DI
564
                LD SP,(OLD_STACK)
565
                LD A,1
566
                RET
567
 
1186 savelij 568
; c摰 豆 栽斤赤
627 savelij 569
TRACER_DBG      DI
570
                LD SP,(OLD_STACK)
571
                LD A,2
572
                RET
573
 
574
SETUP           LD IX,SETUP_MENU
1186 savelij 575
                CALL INT_TXT_WINDOW
627 savelij 576
                JP SET_ADR_ATR
577
 
1186 savelij 578
; 砲鄍& TURBO 鄍成洫  祠摐  CMOS  豆洛郊郃布 祚嶉 c摰 豆 NMI
579
; 0-7MHZ 1-3,5MHZ 2-14,0MHZ
627 savelij 580
SET_TURBO       DI
1186 savelij 581
                LD H,CMOS.BYTE_01
764 savelij 582
                CALL READCMOS
1186 savelij 583
                LD E,L                          ; 睼遄 鄍成  鄍成 穿漼
584
                LD H,CMOS.BYTE_00
764 savelij 585
                CALL READCMOS
1186 savelij 586
                LD D,L                          ; TURBO 14.0
627 savelij 587
                RLCA
588
                LD C,A
589
                LD A,E
590
                RLCA
591
                LD A,C
592
                RLA
593
                AND 3
1186 savelij 594
                INC A                           ; 嶈平走 TURBO 鄍成
627 savelij 595
                CP 3
596
                JR C,SETTURBO1
1186 savelij 597
                XOR A                           ; 丟咧 砲鄍隢 蟡鄍 0, 漅 c摵◢咧 鄍成 14.0
627 savelij 598
SETTURBO1       LD C,A
599
                PUSH BC
600
                AND A
1186 savelij 601
                RES 7,E                         ; TURBO 7       0
602
                RES 7,D                         ; TURBO 14=7MHZ 0
627 savelij 603
                JR Z,SETTURBO3
604
                DEC A
1186 savelij 605
                SET 7,E                         ; TURBO 7       1
606
                RES 7,D                         ; TURBO 14=3,5  0
627 savelij 607
                JR Z,SETTURBO3
1186 savelij 608
                RES 7,E                         ; TURBO 7       0
609
                SET 7,D                         ; TURBO 14=14   1
610
SETTURBO3       LD H,CMOS.BYTE_00
627 savelij 611
                LD L,D
612
                PUSH DE
764 savelij 613
                CALL IWRITECMOS
627 savelij 614
                POP DE
1186 savelij 615
                LD H,CMOS.BYTE_01
627 savelij 616
                LD L,E
764 savelij 617
                CALL IWRITECMOS
627 savelij 618
                POP BC
619
                LD A,C
620
                AND A
1186 savelij 621
                LD DE,%0000000000000000         ; 7MHZ
627 savelij 622
                JR Z,SETTURBO4
623
                DEC A
1186 savelij 624
                LD DE,%0001000000000000         ; 3,5MHZ
627 savelij 625
                JR Z,SETTURBO4
1186 savelij 626
                LD DE,%0000000000001000         ; 14MHZ
627 savelij 627
SETTURBO4       LD A,(B_PORT77)
628
                AND %11110111
629
                OR E
630
                LD (B_PORT77),A
631
                LD A,(N_EFF7)
632
                AND %11101111
633
                OR D
634
                LD (N_EFF7),A
795 savelij 635
SETANDPRINT     CALL SETUP4SEL
1186 savelij 636
                LD HL,SETUP_MENU.TXT_SETUPMENU
627 savelij 637
                JP ITPRINT_MESSAGE
638
 
1186 savelij 639
; 砲鄍& 鄍成洫 穿漼  祠摐  CMOS  豆洛郊郃布 祚嶉 c摰 豆 NMI
627 savelij 640
SET_MEMORY      DI
1186 savelij 641
                LD H,CMOS.BYTE_01
764 savelij 642
                CALL READCMOS
627 savelij 643
                AND 3
644
                INC A
645
                CP 3
646
                JR C,SETMEMORY1
647
                XOR A
648
SETMEMORY1      LD C,A
649
                LD A,L
650
                AND %11111100
651
                OR C
652
                LD L,A
764 savelij 653
                CALL IWRITECMOS
795 savelij 654
                JR SETANDPRINT
627 savelij 655
 
1186 savelij 656
; ◥恃蟡郃/c物鍡平言 鄍夾丰凌 HONEY COMANDER
795 savelij 657
SET_REZIDENT    DI
1186 savelij 658
                LD H,CMOS.BYTE_01
795 savelij 659
                CALL READCMOS
1186 savelij 660
                XOR CMOS_EC.M_REZIDENT
795 savelij 661
                LD L,A
662
                CALL IWRITECMOS
663
                JR SETANDPRINT
838 savelij 664
 
665
KILL_REZID      DI
1186 savelij 666
                LD H,CMOS.BYTE_03
838 savelij 667
                CALL READCMOS
1186 savelij 668
                XOR CMOS_E9.M_KILL_REZIDENT
838 savelij 669
                LD L,A
670
                CALL IWRITECMOS
671
                JR SETANDPRINT
795 savelij 672
 
1186 savelij 673
; 豆洛郊郃 漭花  洛叟
627 savelij 674
SETUP4SEL       DI
1186 savelij 675
                LD H,CMOS.BYTE_01
764 savelij 676
                CALL READCMOS
1186 savelij 677
                LD E,L                          ; 睼遄 鄍成  鄍成 穿漼
678
                LD H,CMOS.BYTE_00
764 savelij 679
                CALL READCMOS
1186 savelij 680
                LD D,L                          ; TURBO 14.0
627 savelij 681
                RLCA
682
                LD C,A
683
                LD A,E
684
                RLCA
685
                LD A,C
686
                RLA
687
                AND 3
688
                CP 3
689
                JR C,SETUP4SEL1
690
                DEC A
691
SETUP4SEL1      ADD A,A
692
                ADD A,A
693
                LD HL,TXT_TURBO
694
                LD C,A
695
                LD B,0
696
                ADD HL,BC
697
                PUSH DE
1186 savelij 698
                LD DE,TXT_TURBO_MODE
627 savelij 699
                LDI
700
                LDI
701
                LDI
702
                LDI
703
                EX DE,HL
704
                LD (HL),2
705
                POP DE
795 savelij 706
                PUSH DE
627 savelij 707
                LD A,E
708
                AND 3
709
                LD C,A
710
                LD B,0
711
                LD HL,TXT_MEMORY
712
                ADD HL,BC
713
                ADD HL,BC
714
                ADD HL,BC
1186 savelij 715
                LD DE,TXT_MEMORY_MODE
627 savelij 716
                LDI
717
                LDI
718
                LDI
719
                EX DE,HL
720
                LD (HL),2
795 savelij 721
                POP DE
1186 savelij 722
; 井 鄍夾丰凌 HONEY COMANDER
795 savelij 723
                LD A,E
1186 savelij 724
                AND CMOS_EC.M_REZIDENT
795 savelij 725
                LD HL,TXT_ONOFF
726
                JR NZ,.ON
727
                LD HL,TXT_ONOFF+3
1186 savelij 728
.ON             LD DE,TXT_REZIDENT_MODE
795 savelij 729
                LDI
730
                LDI
731
                LDI
732
                EX DE,HL
733
                LD (HL),2
1186 savelij 734
                LD H,CMOS.BYTE_03
838 savelij 735
                CALL READCMOS
1186 savelij 736
                AND CMOS_E9.M_KILL_REZIDENT
838 savelij 737
                LD HL,TXT_ONOFF
738
                JR NZ,.ON1
739
                LD HL,TXT_ONOFF+3
740
.ON1            LD DE,TXT_KILLREZID
741
                LDI
742
                LDI
743
                LDI
744
                EX DE,HL
745
                LD (HL),2
627 savelij 746
                RET
747
 
1186 savelij 748
; 恩角郃 漼  栽胯嶊郃 恃& 物◢閮
627 savelij 749
ANY_KEYS        XOR A
1186 savelij 750
                IN A,(0xFE)
627 savelij 751
                CPL
1186 savelij 752
                AND 0x1F
627 savelij 753
                JR Z,ANY_KEYS
754
ANYKEYS1        XOR A
1186 savelij 755
                IN A,(0xFE)
627 savelij 756
                CPL
1186 savelij 757
                AND 0x1F
627 savelij 758
                JR NZ,ANYKEYS1
759
                RET