ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt
SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000
ZPS | Technické prostředky | Programové vybavení | Dokumentace
1 .LIST
2 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 TITLE COPY KZD/MGF = CKM
4 ; MIKOS V5 JE V RAM, MIKOS/K JE V EPROM
5 ; 24.3.1988
6 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
8 0000 SM EQU 00
9
10 ; ASEG
11
12 ; *** DEFINOVANI PAMETOVEHO PROSTORU *
13
14 4000 @R@ EQU 4000H ; ZACATEK SYSTEMOVE RAM (1K)
15 00CF RSTN EQU 0CFH ; RST1 .. POUZIVA SYSTEM
16
17 0000 MONIT EQU 0 ; ROM VERZE ZPS-2
18 0000 ERAM EQU 0000
19 1800 EP3 EQU 1800H
20 3800 TVBEG EQU 3800H ; TV-RAM
21 0C00 EPROM EQU 0C00H ; O.S.
22
23
24 ; * MONITOR ENTRY *
25
26 0103 CI EQU 103H
27 0106 RI EQU 106H
28 0109 CO EQU 109H
29 010C PO EQU 10CH
30 0112 CSTS EQU 112H
31 0115 IOCHK EQU 115H
32 0118 IOSET EQU 118H
33 011B MEMCK EQU 11BH
34 011E IODEF EQU 11EH
35 0121 SPCL EQU 121H
36 0124 CRLF EQU 124H
37 0127 EXPR EQU 127H
38 012A ERROR EQU 12AH
39 012D ASHEX EQU 12DH
40 0130 DADR EQU 130H
41 0133 DBYT EQU 133H
42 0136 HILO EQU 136H
43 0139 NEXT EQU 139H
44 013C SPACE EQU 13CH
45 013F CINCR EQU 13FH
46 0142 TEXT EQU 142H
47 0148 HXASC EQU 148H
48 014B EXFLG EQU 14BH
49 0151 TXIMM EQU 151H
50 0154 WND@ EQU 154H
51 0157 KZD EQU 157H
52 015A RNAME EQU 15AH
53 015D INTER EQU 15DH
54 017B SERI@ EQU 17BH
55 017E SERO@ EQU 17EH
56 0181 SMST@ EQU 181H
57
58 ; TERMINAL
59 0018 TLINE EQU 24
60 0050 TCOLUM EQU 80
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-1
61
62 ; ZAZNAM
63 00FF LENGHT EQU 255 ; DELKA BLOKU
64 000B NAMLE EQU 11 ; DELKA JMENA
65 0040 COMLE EQU 64 ; DELKA KOMENTARE
66
67 ;------------------------------------------
68 ; KONSTANTY
69 0003 ETX EQU 3
70 0008 BS EQU 8
71 0009 HT EQU 9
72 000A LF EQU 0AH
73 000B VT EQU 0BH
74 000D CR EQU 0DH
75 0010 PREAM EQU 10H ; PREAMBLE/POSTAMBLE
76 001A SUBS EQU 1AH ; END FLAG
77 001B ESC EQU 1BH
78 001D HOME EQU 1DH
79 001E ERS EQU 1EH
80 007F DEL EQU 7FH ; DELETE
81 ;
82 00DF SPREC EQU 0DFH ; KONSTANTY RIZENI
83 00FB SPSTART EQU 0FBH ; SP-210
84 007F SPSTOP EQU 7FH
85 00EF SPPAUS EQU 0EFH
86 00BF SPREWZ EQU 0BFH
87 00F7 SPREWK EQU 0F7H
88 008B SPRS EQU 8BH ; RIDICI SLOVO 8255
89
90 ; SER. I/O
91 0013 URES EQU 13H
92 0012 UDATA EQU 12H
93 0011 USTAT EQU 11H
94 0010 UMODE EQU 10H
95 0014 PRENOS EQU 14H ; NASTAVENI PRENOSU
96
97 ;PARALEL. I/O
98 0037 SPC EQU 37H
99 0035 SPIN EQU 35H
100 0034 SPOUT EQU 34H
101
102 ; BLOKOVA NAVESTI
103 0000 EOR EQU 0 ; "END OF RECORDS"
104 0001 SOH EQU 01H ; "START OF HEADER"
105 0004 EOT EQU 04H ; "END OF TEXT"
106 003A CAN EQU ':' ; JMENO PASKY
107 ; 'A' ; DATOVY (ASCII) BLOK
108 ; 'B' ; BINARNI BLOK
109
110
111 ;************************************
112 ; ASEG
113 .PHASE 4400H ; START
114 ;************************************
115 ;
116 ;====================================
117 ; T A B U L K A S L U Z E B K O S
118 ;====================================
119
120 4400 C3 442A JMP INITS ; INIT PROGRAMU
121 4403 C3 445E JMP COPY ; SKOKOVA TABULKA
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-2
122 4406 C3 4782 JMP FIND ; 1
123 4409 C3 46B6 JMP OPEN ; 2
124 440C C3 4752 JMP CLOSE ; 3
125 440F C3 445E JMP COPY ; 4
126 4412 C3 445E JMP COPY ; 5
127 4415 C3 4722 JMP BINAR ; 6
128 4418 C3 4C23 ZAC: JMP GET@ ; 7
129 441B C3 464A JMP MOTA ; 8
130 441E C3 4C78 JMP PUT@ ; 9
131 4421 C3 49D7 JMP STOP ; 10
132
133 4424 50 45 52 49 CAS: DC 'PERINA' ; KONSTANTA
134 4428 4E C1
135
136 ;====================================
137 ; INICIALIZACE SYSTEMU KOS
138 ;====================================
139
140 442A 3E C3 INITS: MVI A,0C3H
141 442C 21 3800 LXI H,TVBEG
142 442F 46 MOV B,M
143 4430 77 MOV M,A
144 4431 BE CMP M ; TEST VIDEORAM
145 4432 CA 4436 JZ INI1
146 4435 AF XRA A ; JE TERMINAL
147 4436 32 4ECF INI1: STA TSM
148 4439 70 MOV M,B ; ZNAK ZPET
149 443A 11 4C23 LXI D,GET@ ; GET MGF
150 443D 0E 03 MVI C,3 ; RI2
151 443F CD 011E CALL IODEF
152 4442 11 4C78 LXI D,PUT@ ; PUT MGF
153 4445 0E 05 MVI C,5 ; PO2
154 4447 CD 011E CALL IODEF
155 444A AF XRA A
156 444B 32 4ECC STA TSP ; JE SP-210
157 444E 3E 8B MVI A,SPRS
158 4450 D3 37 OUT SPC ; RIDICI SLOVO SP-210
159 4452 32 4ECD STA JEDE? ; MGF STOJI
160 4455 CD 0115 CALL IOCHK
161 4458 32 4ED3 STA @IOB ; ULOZ IOBYT
162 445B C3 4632 JMP MGFIN
163
164 ;====================================
165 ; MENU A VYHODNOCENI POVELU OBSLUHY
166 ;====================================
167
168 445E 31 406D COPY: LXI SP,406DH ; MSTACK
169 4461 CD 49D7 CALL STOP
170 4464 CD 0151 CALL TXIMM
171 4467 0D 0A 0A 0A DB CR,LF,LF,LF
172 446B 4B 4F 50 49 DB 'KOPIROVACI PROGRAM MGF - KZD-1'
173 446F 52 4F 56 41
174 4473 43 49 20 50
175 4477 52 4F 47 52
176 447B 41 4D 20 20
177 447F 4D 47 46 20
178 4483 2D 20 4B 5A
179 4487 44 2D 31
180 448A 0D 0A 8A DB CR,LF,LF OR 80H
181 448D CD 0115 CALL IOCHK
182 4490 0E 2A MVI C,'*'
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-3
183 4492 E6 0C ANI 0CH
184 4494 FE 0C CPI 0CH
185 4496 CA 449B JZ $+5
186 4499 0E 20 MVI C,' '
187 449B CD 0109 CALL CO
188 449E CD 0151 CALL TXIMM
189 44A1 20 4D 2E 2E DB ' M...MGF CTENI, KZD ZAPIS'
190 44A5 2E 4D 47 46
191 44A9 20 43 54 45
192 44AD 4E 49 2C 20
193 44B1 4B 5A 44 20
194 44B5 5A 41 50 49
195 44B9 53
196 44BA 0D 8A DB CR,LF OR 80H
197 44BC CD 0115 CALL IOCHK
198 44BF 0E 2A MVI C,'*'
199 44C1 E6 30 ANI 30H
200 44C3 FE 30 CPI 30H
201 44C5 CA 44CA JZ $+5
202 44C8 0E 20 MVI C,' '
203 44CA CD 0109 CALL CO
204 44CD CD 0151 CALL TXIMM
205 44D0 20 4B 2E 2E DB ' K...KZD CTENI, MGF ZAPIS'
206 44D4 2E 4B 5A 44
207 44D8 20 43 54 45
208 44DC 4E 49 2C 20
209 44E0 4D 47 46 20
210 44E4 5A 41 50 49
211 44E8 53
212 44E9 0D 0A DB CR,LF
213 44EB 20 20 4C 2E DB ' L...CTI SOUBOR'
214 44EF 2E 2E 43 54
215 44F3 49 20 53 4F
216 44F7 55 42 4F 52
217 44FB 0D 0A DB CR,LF
218 44FD 20 20 42 2E DB ' B...ZAPIS BINARNI SOUBOR'
219 4501 2E 2E 5A 41
220 4505 50 49 53 20
221 4509 42 49 4E 41
222 450D 52 4E 49 20
223 4511 53 4F 55 42
224 4515 4F 52
225 4517 0D 0A DB CR,LF
226 4519 20 20 41 2E DB ' A...ZAPIS ZNAKOVY SOUBOR'
227 451D 2E 2E 5A 41
228 4521 50 49 53 20
229 4525 5A 4E 41 4B
230 4529 4F 56 59 20
231 452D 53 4F 55 42
232 4531 4F 52
233 4533 0D 0A DB CR,LF
234 4535 20 20 51 2E DB ' Q...UKONCENI PROGRAMU'
235 4539 2E 2E 55 4B
236 453D 4F 4E 43 45
237 4541 4E 49 20 50
238 4545 52 4F 47 52
239 4549 41 4D 55
240 454C 0D 0A DB CR,LF
241 454E 50 52 4F 20 DB 'PRO MAGNETOFON:'
242 4552 4D 41 47 4E
243 4556 45 54 4F 46
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-4
244 455A 4F 4E 3A
245 455D 0D 0A DB CR,LF
246 455F 20 20 49 2E DB ' I...INIT KAZETY'
247 4563 2E 2E 49 4E
248 4567 49 54 20 4B
249 456B 41 5A 45 54
250 456F 59
251 4570 0D 0A DB CR,LF
252 4572 20 20 44 2E DB ' D...ADRESAR KAZETY'
253 4576 2E 2E 41 44
254 457A 52 45 53 41
255 457E 52 20 4B 41
256 4582 5A 45 54 59
257 4586 0D 0A DB CR,LF
258 4588 20 20 58 2E DB ' X...PREPINANI K-10/SP-210'
259 458C 2E 2E 50 52
260 4590 45 50 49 4E
261 4594 41 4E 49 20
262 4598 4B 2D 31 30
263 459C 2F 53 50 2D
264 45A0 32 31 30
265 45A3 0D 0A DB CR,LF
266 45A5 20 20 52 2E DB ' R...PREVINUTI KAZETY (SP)'
267 45A9 2E 2E 50 52
268 45AD 45 56 49 4E
269 45B1 55 54 49 20
270 45B5 4B 41 5A 45
271 45B9 54 59 20 28
272 45BD 53 50 29
273 45C0 0D 0A DB CR,LF
274 45C2 3C 2C 3E 2E DC '<,>...RYCHLOPOSUVY (SP)'
275 45C6 2E 2E 52 59
276 45CA 43 48 4C 4F
277 45CE 50 4F 53 55
278 45D2 56 59 20 28
279 45D6 53 50 A9
280 45D9 CD 0124 COPY1: CALL CRLF
281 45DC 0E 5F MVI C,'_'
282 45DE CD 4A17 CALL TTSP
283 45E1 C2 45E6 JNZ COPY2
284 45E4 0E 3A MVI C,':'
285 45E6 CD 0109 COPY2: CALL CO
286 45E9 CD 4A50 CALL ECHOCR
287 45EC FE 44 CPI 'D'
288 45EE CA 4665 JZ DIR ; DIRECTORY
289 45F1 FE 49 CPI 'I'
290 45F3 CA 47FE JZ INIT ; INICIALIZACE PASKY
291 45F6 FE 42 CPI 'B'
292 45F8 CA 4694 JZ BSAVE
293 45FB FE 4C CPI 'L' ; LOAD
294 45FD CA 4770 JZ CLOAD
295 4600 FE 41 CPI 'A'
296 4602 CA 4698 JZ WSAVE
297 4605 FE 4B CPI 'K'
298 4607 CA 4640 JZ KZDIN
299 460A FE 4D CPI 'M'
300 460C CA 4632 JZ MGFIN
301 460F FE 58 CPI 'X'
302 4611 CA 487B JZ EXCH
303 4614 FE 3E CPI '>'
304 4616 CA 464A JZ MOTA
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-5
305 4619 FE 3C CPI '<'
306 461B CA 4886 JZ REWIZ
307 461E FE 52 CPI 'R'
308 4620 CA 4891 JZ @REW
309 4623 FE 51 CPI 'Q'
310 4625 C2 445E JNZ COPY ; SPATNY POVEL
311 4628 3A 4ED3 LDA @IOB
312 462B 4F MOV C,A ; PRO KONEC
313 462C CD 0118 CALL IOSET ; OBNOV IOBYT
314 462F C3 0139 JMP NEXT
315
316
317 ;************************************
318 ; REALIZACE POVELU
319 ;************************************
320
321 ;====================================
322 ; NASTAV MGF IN, KZD OUT
323 ;====================================
324
325 4632 CD 0115 MGFIN: CALL IOCHK ; <A>=IOBYT
326 4635 E6 C3 ANI 11000011B
327 4637 F6 2C ORI 00101100B ; PO1, RI2
328 4639 4F MG1: MOV C,A
329 463A CD 0118 CALL IOSET
330 463D C3 445E JMP COPY
331
332 ;====================================
333 ; NASTAV KZD IN, MGF OUT
334 ;====================================
335
336 4640 CD 0115 KZDIN: CALL IOCHK
337 4643 E6 C3 ANI 11000011B
338 4645 F6 38 ORI 00111000B ; PO2, RI1
339 4647 C3 4639 JMP MG1
340
341 ;====================================
342 ; PREVIN PASKU
343 ;====================================
344
345 464A CD 4A17 MOTA: CALL TTSP ; TEST SP-210
346 464D CA 4657 JZ REWIK ; PRO SP-210
347 4650 3E 28 MVI A,28H ; SEPNUTI RELE MGF.
348 4652 D3 10 OUT UMODE
349 4654 C3 465C JMP MOTA1
350 4657 3E F7 REWIK: MVI A,SPREWK ; PREVINUTI NA KONEC
351 4659 CD 4A28 CALL SPPULS
352 465C CD 4A44 MOTA1: CALL DONE
353 465F CD 49D7 CALL STOP
354 4662 C3 445E JMP COPY
355
356
357 ;====================================
358 ; DIRECTORY
359 ;====================================
360
361 4665 CD 4997 DIR: CALL PLAY
362 4668 3C INR A
363 4669 CC 48E0 DIR0: CZ VYPISH
364 466C AF XRA A
365 466D EB DIR1: XCHG
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-6
366 466E 22 4DA1 SHLD BNI ; CISLO SOUBORU..
367 4671 0E 25 MVI C,'%' ; CHYBA SEKVENCE
368 4673 C4 0109 CNZ CO
369 4676 CD 4A85 CALL SEARCH ; HLAVICKA
370 4679 CA 4669 JZ DIR0
371 467C B7 ORA A
372 467D C2 4686 JNZ DIR1A
373 4680 CD 49D7 CALL STOP ; NUTNO PRO SP-210
374 IF SM
375 LDA TSM
376 ORA A
377 JNZ COPY ; KONEC PASKY PRO TV
378 CALL SERCR
379 MVI C,1FH
380 CALL SERO@ ; KONEC PASKY PRO
381 ENDIF
382 4683 C3 445E JMP COPY ; TERMINAL
383 4686 FE 04 DIR1A: CPI EOT
384 4688 C2 468E JNZ DIR2
385 468B CD 491F CALL DBTCR
386 IF SM
387 LDA TSM
388 ORA A
389 CZ CRLF ; PRO TERMINAL
390 ENDIF
391 468E CD 4C19 DIR2: CALL NUFIL
392 4691 C3 466D JMP DIR1
393
394
395 ;====================================
396 ; ZAPIS VYSTUPNI SOUBOR
397 ;====================================
398
399 4694 AF BSAVE: XRA A ; BINARNI SOUBOR
400 4695 C3 469A JMP CSAVE ; ==============
401
402 4698 3E FF WSAVE: MVI A,0FFH ; ZNAKOVY SOUBOR
403 ; ==============
404
405 469A 32 4ED2 CSAVE: STA BINF?
406 469D 0E 00 MVI C,0
407 469F 3E 02 MVI A,2
408 46A1 CD 014B CALL EXFLG ; NEBER 1A
409 46A4 CD 0115 CALL IOCHK
410 46A7 E6 30 ANI 30H ; PO
411 46A9 FE 30 CPI 30H
412 46AB CA 46B6 JZ OPEN ; PRO MGF
413 46AE 0E 02 MVI C,2
414 46B0 CD 0157 CALL KZD ; OPEN KZD
415 46B3 C3 4709 JMP CSAV1
416
417 ;====================================
418 ; OTEVRI NOVY SOUBOR PRO ZAPIS
419 ;====================================
420
421 46B6 CD 015A OPEN: CALL RNAME
422 46B9 FE 40 CPI '@' ; APPEND?
423 46BB CA 46F1 JZ OPE4
424 46BE FE 2E CPI '.'
425 46C0 F5 PUSH PSW
426 46C1 CC 4897 CZ REWIND
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-7
427 46C4 F1 POP PSW
428 46C5 3A 40E6 LDA @OF1 ; PODRUHE?
429 46C8 B7 ORA A
430 46C9 F5 PUSH PSW ; =====================
431 46CA C4 4752 CNZ CLOSE ; UZAVRI A PRIPOJ DALSI
432 46CD F1 POP PSW ; SOUBOR
433 46CE C2 46F1 JNZ OPE4 ; =====================
434 46D1 E5 PUSH H
435 46D2 CD 4997 CALL PLAY
436 46D5 CD 4A85 OPE1: CALL SEARCH ; KONEC ZAZNAMU ?
437 46D8 CC 48E0 CZ VYPISH ; SOH
438 46DB 7A MOV A,D
439 46DC 32 4DA0 STA BTO ; CISLO SOUBORU
440 46DF 3A 4DA8 LDA BOUT-1 ; ANO
441 46E2 FE 04 CPI EOT
442 46E4 CA 46E9 JZ OPE3 ; DALSI BLOK
443 46E7 FE 3A CPI CAN
444 46E9 CC 48ED OPE3: CZ OK?
445 46EC C2 46D5 JNZ OPE1 ; DALSI BLOK
446 46EF E1 POP H
447 46F0 3E DB 3EH ; MVI A,#
448 46F1 AF OPE4: XRA A ; APPEND
449 46F2 E5 PUSH H
450 46F3 2A 4D9F LHLD BNO ; CISLO SOUBORU
451 46F6 24 INR H
452 46F7 2E 00 MVI L,0
453 46F9 22 4D9F SHLD BNO ; CISLO BLOKU A SOUBORU
454 46FC B7 ORA A ; APPEND?
455 46FD C4 4A34 CNZ RECOR
456 4700 3E 01 MVI A,SOH
457 4702 32 40E6 STA @OF1
458 4705 E1 POP H
459 4706 CD 484F CALL WRNAM
460
461 4709 3A 4ED2 CSAV1: LDA BINF?
462 470C B7 ORA A
463 470D C2 472F JNZ CSAV2 ; NENI BIN. SOUBOR
464 4710 CD 0115 CALL IOCHK
465 4713 E6 30 ANI 30H
466 4715 FE 30 CPI 30H
467 4717 CA 4722 JZ BINAR ; PRO MGF
468 471A 0E 06 MVI C,6
469 471C CD 0157 CALL KZD ; BINAR NA KZD
470 471F C3 472F JMP CSAV2
471
472 ;====================================
473 ; NASTAV BINARNI SOUBOR
474 ;====================================
475
476 4722 3E 30 BINAR: MVI A,30H
477 4724 CD 49AF CALL GAPO ; START ZAPISU
478 4727 CD 4A59 CALL BTIM8
479 472A 3E 42 MVI A,'B'
480 472C 32 4DA8 STA BOUT-1
481
482 472F 11 4ED5 CSAV2: LXI D,FREE+1
483 4732 2A 4ED0 LHLD ADREND
484 4735 EB XCHG
485 4736 4E CSAV3: MOV C,M
486 4737 CD 010C CALL PO ; ZAPIS DLE IOBYTU
487 473A CD 0136 CALL HILO
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-8
488 473D D2 4736 JNC CSAV3
489 4740 CD 0115 CALL IOCHK
490 4743 E6 30 ANI 30H
491 4745 FE 30 CPI 30H
492 4747 CA 4752 JZ CLOSE ; PRO MGF
493 474A 0E 03 MVI C,3
494 474C CD 0157 CALL KZD ; CLOSE PRO KZD
495 474F C3 445E JMP COPY
496
497 ;====================================
498 ; UZAVRI VYSTUPNI SOUBOR
499 ;====================================
500
501 4752 CLOSE:
502 4752 3A 40E6 CLOSE0: LDA @OF1 ; NENI OTEVREN
503 4755 B7 ORA A
504 4756 CA 445E JZ COPY
505 4759 E5 PUSH H
506 475A 2A 4DA3 LHLD ADRO
507 475D 23 INX H
508 475E 36 1A MVI M,SUBS ; ZAPIS POSLEDNI ZNAK
509 4760 3E 04 MVI A,EOT ; UZAVRI BLOK
510 4762 CD 4B84 CALL WOBW
511 4765 AF XRA A
512 4766 32 40E6 STA @OF1 ; CLOSE
513 4769 E1 POP H
514 476A CD 49D7 CALL STOP
515 476D C3 445E JMP COPY
516
517
518 ;====================================
519 ; CTI VSTUPNI SOUBOR
520 ;====================================
521
522 4770 CD 0115 CLOAD: CALL IOCHK
523 4773 E6 0C ANI 0CH ; RI
524 4775 FE 0C CPI 0CH
525 4777 CA 4782 JZ FIND ; PRO MGF
526 477A 0E 01 MVI C,1
527 477C CD 0157 CALL KZD ; FIND PRO KZD
528 477F C3 47AC JMP CLOA1
529
530 ;====================================
531 ; OTEVRI SOUBOR PRO CTENI
532 ;====================================
533
534 4782 CD 015A FIND: CALL RNAME
535 4785 FE 2E CPI '.'
536 4787 F5 PUSH PSW
537 4788 CC 4897 CZ REWIND
538 478B F1 POP PSW
539 478C 06 0B MVI B,NAMLE
540 478E 11 4D93 LXI D,FNAME
541 4791 CD 4A7C CALL MOVE
542 4794 CD 4960 CALL EXT?
543 4797 C4 4997 CNZ PLAY
544 479A CD 48B5 CALL CMPNM
545 479D 3E 01 MVI A,1
546 479F 5F MOV E,A
547 47A0 EB XCHG
548 47A1 22 4DA1 SHLD BNI ; CISLO SOUBORU
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-9
549 47A4 32 40E4 STA @IF1
550 47A7 3E A7 MVI A,LOW(BIEND-1)
551 47A9 32 4DA5 STA ADRI
552
553 47AC CD 011B CLOA1: CALL MEMCK
554 47AF 5F MOV E,A
555 47B0 50 MOV D,B
556 47B1 1B DCX D ; MEMTOP-1
557 47B2 21 4ED4 LXI H,FREE
558 47B5 CD 0136 CLOA2: CALL HILO
559 47B8 DA 47E6 JC EREND ; KONEC PAMETI
560 47BB CD 0106 CALL RI ; CTI DLE IOBYTU
561 47BE 77 MOV M,A ; VSTUP DO PAMETI
562 47BF D2 47B5 JNC CLOA2 ; NEBYL SUB (1AH)
563 47C2 2B DCX H ; PRED SUB
564 47C3 22 4ED0 SHLD ADREND ; ADR. KONCE SOUBORU
565
566 47C6 AF DIRSTP: XRA A
567 47C7 32 40E4 STA @IF1 ; CLOSE
568 47CA CD 0115 CALL IOCHK
569 47CD E6 0C ANI 0CH
570 47CF FE 0C CPI 0CH
571 47D1 CA 47E0 JZ CLOA3 ; PRO MGF
572 47D4 AF XRA A
573 47D5 32 427F STA DEBL ; BLOK 255 B
574 47D8 0E 0A MVI C,10
575 47DA CD 0157 CALL KZD ; STOP PRO KZD
576 47DD C3 445E JMP COPY
577 47E0 CD 49D7 CLOA3: CALL STOP ; PRO MGF
578 47E3 C3 445E JMP COPY
579
580 47E6 22 4ED0 EREND: SHLD ADREND
581 47E9 CD 0151 CALL TXIMM
582 47EC 0D 0A 0A DB CR,LF,LF
583 47EF 4B 4F 4E 45 DC 'KONEC PAMETI'
584 47F3 43 20 50 41
585 47F7 4D 45 54 C9
586 47FB C3 445E JMP COPY
587
588
589 ;====================================
590 ; INICIALIZUJ NOVOU KAZETU
591 ;====================================
592
593 47FE CD 4A17 INIT: CALL TTSP
594 4801 C2 4818 JNZ INIT2 ; PRO K-10
595 4804 CD 4897 CALL REWIND
596 4807 CD 4A1C CALL RECPUL
597 480A 06 04 MVI B,4
598 480C 3E FA INIT1: MVI A,250
599 480E CD 4A6C CALL TIME ; CEKANI 3*2.5 SEC.
600 4811 05 DCR B
601 4812 C2 480C JNZ INIT1
602 4815 C3 4832 JMP INIT3
603 4818 3E 28 INIT2: MVI A,28H ; SEPNUTI RELE MGF.
604 481A D3 10 OUT UMODE
605 481C CD 0151 CALL TXIMM
606 481F 20 50 52 45 DC ' PREVIN A ZAPNI '
607 4823 56 49 4E 20
608 4827 41 20 5A 41
609 482B 50 4E 49 A0
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-10
610 482F CD 4A34 CALL RECOR
611 4832 CD 4C0E INIT3: CALL XSTOP
612 4835 CD 0151 CALL TXIMM
613 4838 20 5A 41 44 DC ' ZADEJ'
614 483C 45 CA
615 483E 21 0000 LXI H,0 ;0..CISLO SOUBORU
616 4841 22 4D9F SHLD BNO
617 4844 CD 015A CALL RNAME
618 4847 3E 3A MVI A,CAN
619 4849 CD 484F CALL WRNAM
620 484C C3 445E JMP COPY
621
622
623 ; ZAPIS JMENO SOUBORU
624
625 484F F5 WRNAM: PUSH PSW
626 4850 E5 PUSH H ; ADRESA JMENA
627 4851 CD 4BF0 CALL NULBF
628 4854 23 INX H
629 4855 06 40 MVI B,COMLE ; JMENO+POZNAMKA
630 4857 EB XCHG
631 4858 E1 POP H
632 4859 D5 PUSH D
633 485A CD 4A7C CALL MOVE
634 485D E1 POP H
635 485E 06 0B MVI B,NAMLE
636 4860 11 4EA8 LXI D,WRNM ; VYSTUPNI POLE
637 4863 7E WRN1: MOV A,M
638 4864 E6 3F ANI 3FH ; KOD PRO AND-1
639 4866 C2 486B JNZ $+5
640 4869 3E 20 MVI A,' ' ; BLANK
641 486B 12 STAX D
642 486C 23 INX H
643 486D 13 INX D
644 486E 05 DCR B
645 486F C2 4863 JNZ WRN1
646 4872 F1 POP PSW
647 4873 CD 4B84 CALL WOBW
648 4876 36 41 MVI M,'A' ;TYP DATA
649 4878 C3 0124 JMP CRLF
650
651 ;===================================
652 ; PREPNUTI K-10 / SP-210
653 ;===================================
654
655 487B 3A 4ECC EXCH: LDA TSP
656 487E EE FF XRI 0FFH
657 4880 32 4ECC STA TSP
658 4883 C3 445E JMP COPY
659
660 ;===================================
661 ; PREVINUTI NA ZACATEK - RUCNI STOP
662 ;===================================
663
664 4886 CD 4A17 REWIZ: CALL TTSP
665 4889 C2 445E JNZ COPY ; NENI SP-210
666 488C 3E BF MVI A,SPREWZ
667 488E C3 4659 JMP REWIK+2
668
669 ;===================================
670 ; PREVINUTI NA ZACATEK - AUTOMATICKY
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-11
671 ;===================================
672
673 4891 CD 4897 @REW: CALL REWIND
674 4894 C3 445E JMP COPY
675
676 4897 CD 4A17 REWIND: CALL TTSP
677 489A C0 RNZ ; NENI SP-210
678 489B 3E BF MVI A,SPREWZ
679 489D CD 4A28 CALL SPPULS
680 48A0 3E C8 MVI A,200
681 48A2 CD 4A6C CALL TIME ; CEKANI 2 SEC.
682 48A5 CD 4980 REWI1: CALL BREAK@
683 48A8 DB 35 IN SPIN ; STAV SP-210
684 48AA FE F7 CPI 0F7H ; TEST STOPU
685 48AC C2 48A5 JNZ REWI1 ; JESTE NENI STOP
686 48AF C3 49D7 JMP STOP
687
688 ;====================================
689
690 ; TEST NA JMENO
691
692 48B2 CD 4901 CALL PHDR
693 48B5 CD 4A85 CMPNM: CALL SEARCH ; POROVNEJ JMENO
694 48B8 C2 48B5 JNZ CMPNM ; NENI HLAVICKA
695 48BB FE 3A CPI CAN
696 48BD CA 48B2 JZ CMPNM-3 ; VYPIS VOLUME JMENO
697 ; PRO ZAPIS
698 48C0 01 4D93 CPF10: LXI B,FNAME
699 48C3 1E 0B MVI E,NAMLE
700 48C5 CD 48CC CALL TESTJM
701 48C8 C2 48B5 JNZ CMPNM ; DALSI JMENO
702 48CB C9 RET
703
704 48CC 23 TESTJM: INX H ; JMENO
705 48CD 0A LDAX B
706 48CE FE 2A CPI '*'
707 48D0 CA 48EA JZ JMENO?
708 48D3 CD 4966 CALL @ANAL
709 48D6 CA 48E0 JZ VYPISH
710 48D9 BE CMP M
711 48DA C0 RNZ
712 48DB 03 INX B
713 48DC 1D DCR E
714 48DD C2 48CC JNZ TESTJM
715
716
717 ; VYPIS HLAVICKU
718
719 48E0 D5 VYPISH: PUSH D
720 48E1 21 4DA8 LXI H,BIN-1
721 48E4 CD 4901 CALL PHDR
722 IF SM
723 LDA TSM
724 ORA A
725 JNZ VYP1
726 MVI C,1FH ; PRO TERMINAL
727 CALL SERO@
728 CALL CRLF
729 ENDIF
730 48E7 D1 VYP1: POP D
731 48E8 AF XRA A
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-12
732 48E9 C9 RET
733
734 IF SM
735 SERCR: MVI C,CR ; ZNAK "CR" NA SERIOVY
736 JMP SERO@ ; VYSTUP
737 ENDIF
738
739
740 48EA CD 48E0 JMENO?: CALL VYPISH ; ANO / NE
741 48ED CD 0151 OK?: CALL TXIMM
742 48F0 2D 2D 28 41 DC '--(A/N)?'
743 48F4 2F 4E 29 BF
744 48F8 CD 4A50 CALL ECHOCR
745 48FB FE 41 CPI 'A' ; PISMENA
746 48FD C8 RZ
747 48FE FE 59 CPI 'Y'
748 4900 C9 RET
749
750
751 ; TISK HLAVICKY SOUBORU
752
753 4901 PHDR: IF SM
754 LDA TSM
755 ORA A
756 PUSH PSW
757 CNZ CRLF ; POUZE PRO TV
758 POP PSW
759 CZ SERCR ; PRO TERMINAL
760 ELSE
761 4901 CD 0124 CALL CRLF
762 ENDIF
763 4904 23 INX H
764 4905 16 40 MVI D,COMLE
765 4907 C3 0142 JMP TEXT
766
767
768 ; IDENTIFIKACE BLOKU NA CO
769
770 490A 21 4EB3 PNAME: LXI H,READNM ; VYPIS "B" ZNAKU Z POLE
771 490D 7E PNAM1: MOV A,M ; READNM NA CO
772 490E FE 1F CPI 1FH
773 4910 D2 4915 JNC PNAM2
774 4913 C6 40 ADI 40H ; KOD SAPI-1 NA ASCII
775 4915 4F PNAM2: MOV C,A
776 4916 CD 0109 CALL CO
777 4919 23 INX H
778 491A 05 DCR B
779 491B C2 490D JNZ PNAM1
780 491E C9 RET
781
782
783 491F CD 0124 DBTCR: CALL CRLF
784 4922 7A DBTV: MOV A,D
785 4923 CD 0133 CALL DBYT
786 4926 CD 013C DBTV1: CALL SPACE
787 4929 7B MOV A,E
788 492A CD 0133 CALL DBYT
789 492D C3 013C JMP SPACE
790
791
792 4930 2A 4EC9 OBNOV: LHLD POSICE ; VRACENI OKNA
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-13
793 4933 CD 0151 CALL TXIMM
794 4936 9B DB 9BH ; ESC
795 4937 4D MOV C,L
796 4938 CD 0109 CALL CO
797 493B 4C MOV C,H
798 493C CD 0109 CALL CO
799 493F 3A 4ECB LDA MOD@
800 4942 32 40E3 STA MODE
801 4945 C9 RET
802
803
804 4946 D5 OKNO: PUSH D ; NASTAVENI OKNA
805 4947 21 40E3 LXI H,MODE
806 494A 7E MOV A,M
807 494B 36 00 MVI M,0 ; ZRUS ^P
808 494D 32 4ECB STA MOD@
809 4950 CD 0121 CALL SPCL
810 4953 21 2020 LXI H,2020H
811 4956 19 DAD D
812 4957 22 4EC9 SHLD POSICE
813 495A CD 0151 CALL TXIMM
814 495D 9D DB HOME OR 80H
815 495E D1 POP D
816 495F C9 RET
817
818
819 ; JE EXTERNI JMENO '"' ?
820
821 4960 3A 4101 EXT?: LDA EXTEXT
822 4963 FE 22 CPI '"'
823 4965 C9 RET
824
825
826 ; ANALYZA ODDELOVACU
827
828 4966 FE 20 @ANAL: CPI ' '
829 4968 C8 RZ
830 4969 FE 0D ANAL: CPI CR
831 496B C8 RZ
832 496C B7 ORA A
833 496D C9 RET
834
835
836 ; VYPIS TEXT
837
838 496E CD 0151 TXNAM: CALL TXIMM
839 4971 0D 0A DB CR,LF
840 4973 20 4E 41 5A DC ' NAZEV:'
841 4977 45 56 BA
842 497A C9 RET
843
844
845 497B BREAK:
846 497B 3A 4ECF LDA TSM
847 497E B7 ORA A ; PRO TERMINAL
848 497F C8 RZ ; NETESTUJ
849 4980 CD 0112 BREAK@: CALL CSTS
850 4983 C8 RZ
851 4984 CD 0103 CALL CI
852 4987 C3 498E JMP ETX?
853
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-14
854
855 ; CTI A VYPIS ZNAK
856
857 498A CD 013F ECHO: CALL CINCR
858 498D C8 RZ
859 498E FE 03 ETX?: CPI ETX
860 4990 C0 RNZ
861 4991 CD 47C6 CALL DIRSTP ; CLOSE & STOP
862 4994 C3 0139 JMP NEXT ; BREAK=>C
863
864 ; ZOBRAZ "CTENI"
865
866 4997 CD 4A17 PLAY: CALL TTSP
867 499A CA 49AA JZ START ; PRO SP-210
868 499D CD 0151 CALL TXIMM
869 49A0 20 43 54 45 DC ' CTENI '
870 49A4 4E 49 A0
871 49A7 CD 4A44 REC0: CALL DONE
872
873
874 49AA START:
875 49AA CD 4A0A CALL DUPL
876 49AD 3E 38 MVI A,38H ; NASTAVENI MGF.
877 49AF 4F GAPO: MOV C,A
878 49B0 3A 4ECD LDA JEDE?
879 49B3 B7 ORA A
880 49B4 C8 RZ ; MGF JEDE
881 49B5 CD 4A17 CALL TTSP
882 49B8 79 MOV A,C
883 49B9 C2 49C8 JNZ STAR2 ; PRO K-10
884 49BC F5 PUSH PSW ; RIDICI SLOVO
885 49BD E6 0F ANI 0FH
886 49BF F5 PUSH PSW ; PRIZNAK Z
887 49C0 C4 4A23 CNZ SPGO ; START CTENI
888 49C3 F1 POP PSW
889 49C4 CC 4A1C CZ RECPUL ; START ZAPISU
890 49C7 F1 POP PSW ; 38 / 18
891 49C8 D3 10 STAR2: OUT UMODE
892 49CA D3 13 OUT URES ; RESET UARTU
893 49CC 3E 1F MVI A,1FH
894 49CE D3 11 OUT USTAT ; NASTAVENI PRENOSU
895 49D0 DB 12 IN UDATA ; NEPLATNA DATA
896 49D2 AF XRA A
897 49D3 32 4ECD STA JEDE?
898 49D6 C9 RET
899
900
901 49D7 CD 4A0A STOP: CALL DUPL
902 49DA CD 4A17 CALL TTSP ; TEST SP-210
903 49DD 3E 7F MVI A,SPSTOP
904 49DF CC 4A28 STOP1: CZ SPPULS ; PRO SP-210
905 49E2 3E 10 MVI A,10H
906 49E4 D3 10 OUT UMODE
907 49E6 32 4ECD STA JEDE?
908
909
910 ;------------------------------------
911 ; PREPNUTI NA TERMINAL SM7202
912 ; VSTUP: A - TYP SOUBORU
913
914 49E9 47 PNASM: MOV B,A
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-15
915 49EA 3A 4ECF LDA TSM
916 49ED B7 ORA A
917 49EE C0 RNZ ; NENI TERMINAL
918 49EF CD 4A0A CALL DUPL
919 49F2 78 MOV A,B
920 49F3 FE 42 CPI 'B'
921 49F5 3E 09 MVI A,9 ; TERMINAL + STOP MGF.
922 49F7 C2 49FC JNZ PN1
923 49FA 3E 29 MVI A,29H ; TERMINAL + START MGF.
924 49FC D3 10 PN1: OUT UMODE
925 49FE D3 13 OUT URES
926 4A00 3E 14 MVI A,PRENOS ; NASTAVENI PRENOSU
927 4A02 D3 11 OUT USTAT
928 4A04 DB 12 IN UDATA ; NEPLATNA DATA
929 4A06 AF XRA A
930 4A07 D3 12 OUT UDATA
931 4A09 C9 RET
932
933
934 4A0A 3A 4ECF DUPL: LDA TSM ; DVA ZNAKY "NUL"
935 4A0D B7 ORA A ; NA SERIOVY VYSTUP
936 4A0E C0 RNZ
937 4A0F 0E 00 MVI C,0
938 4A11 CD 017E CALL SERO@
939 4A14 C3 017E JMP SERO@
940
941
942 ; TEST PRIPOJENI SP-210
943
944 4A17 3A 4ECC TTSP: LDA TSP
945 4A1A B7 ORA A
946 4A1B C9 RET ; Z=1 PRO SP-210
947
948
949 ; GENEROVANI RIDICIHO PULSU NA SP-210
950 ; VSTUP: A - RIDICI SLOVO
951
952 4A1C CD 4A6A RECPUL: CALL T10MS
953 4A1F 3E DF MVI A,SPREC
954 4A21 D3 34 OUT SPOUT ; ZAZNAM
955 4A23 CD 4A6A SPGO: CALL T10MS
956 4A26 3E FB MVI A,SPSTART ; SPUSTENI
957 4A28 D3 34 SPPULS: OUT SPOUT
958 4A2A 3E 15 MVI A,21
959 4A2C CD 4A6C CALL TIME ; PULS DELKY 210 MS
960 4A2F 3E FF MVI A,0FFH
961 4A31 D3 34 OUT SPOUT ; KONEC SIGNALU
962 4A33 C9 RET
963
964
965 ; ZOBRAZ "ZAPIS!"
966
967 4A34 CD 4A17 RECOR: CALL TTSP
968 4A37 C8 RZ ; PRO SP-210 NIC
969 4A38 CD 0151 CALL TXIMM
970 4A3B 0D 0A DB CR,LF
971 4A3D 20 5A 41 50 DC ' ZAPIS!'
972 4A41 49 53 A1
973
974 4A44 CD 0151 DONE: CALL TXIMM
975 4A47 20 48 4F 54 DC ' HOTOVO ?'
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-16
976 4A4B 4F 56 4F 20
977 4A4F BF
978 4A50 CD 498A ECHOCR: CALL ECHO
979 4A53 F5 PUSH PSW
980 4A54 CD 0124 CALL CRLF
981 4A57 F1 POP PSW
982 4A58 C9 RET
983
984 ; CASOVE PODPROGRAMY
985
986 4A59 3A 4424 BTIM8: LDA CAS
987 4A5C 47 BTIME: MOV B,A ; * 10 MS
988 4A5D 7E MOV A,M ; 'B' ?
989 4A5E FE 42 CPI 'B'
990 4A60 78 MOV A,B
991 4A61 C2 4A6C JNZ TIME
992 4A64 0F RRC
993 4A65 0F RRC
994 4A66 0F RRC ; /8
995 4A67 C3 4A6C JMP TIME
996
997 4A6A 3E 01 T10MS: MVI A,1 ; PRO 10 MS
998 4A6C C5 TIME: PUSH B ; ACC*10MS (TCY=500NS)
999 4A6D 01 041F TIME1: LXI B,800+255
1000 4A70 0B TIME2: DCX B ; ( 5)
1001 4A71 04 INR B ; ( 5)
1002 4A72 05 DCR B ; ( 5)
1003 4A73 C2 4A70 JNZ TIME2 ; (10) 10MS LOOP @ 12.5US
1004 4A76 3D DCR A
1005 4A77 C2 4A6D JNZ TIME1
1006 4A7A C1 POP B
1007 4A7B C9 RET
1008
1009
1010 ; PRESUN PAMETI
1011
1012 4A7C 7E MOVE: MOV A,M
1013 4A7D 12 STAX D
1014 4A7E 23 INX H
1015 4A7F 13 INX D
1016 4A80 05 DCR B
1017 4A81 C2 4A7C JNZ MOVE
1018 4A84 C9 RET
1019
1020 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1021
1022 ; OPERACE SE SOUBORY
1023
1024 ;====================================
1025 ; NAJDI BLOK NA PASCE
1026 ;====================================
1027
1028 4A85 AF SEARCH: XRA A
1029 4A86 0E 23 SEAR1: MVI C,'#' ; CHYBA
1030 4A88 DC 0109 CC CO
1031 4A8B CD 4AB2 CALL ZVYS
1032 4A8E CD 4CDC CALL READF
1033 4A91 DA 4A86 JC SEAR1 ; PRO CHYBU
1034 4A94 7E MOV A,M
1035 4A95 B7 ORA A
1036 4A96 C2 4AD1 JNZ RIB2
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-17
1037 4A99 CD 0151 CALL TXIMM ; PRO KONEC PASKY
1038 4A9C 0D 0A 0A DB CR,LF,LF
1039 4A9F 53 4F 55 42 DC 'SOUBOR NENALEZEN'
1040 4AA3 4F 52 20 4E
1041 4AA7 45 4E 41 4C
1042 4AAB 45 5A 45 CE
1043 4AAF C3 445E JMP COPY
1044
1045
1046 ; ZVYS CISLO BLOKU
1047
1048 4AB2 2A 4DA1 ZVYS: LHLD BNI
1049 4AB5 23 INX H
1050 4AB6 22 4DA1 SHLD BNI
1051 4AB9 C9 RET
1052
1053 ;===================================
1054 ; CTI VSTUPNI BUFFER
1055 ;===================================
1056
1057 4ABA D5 RIB: PUSH D
1058 4ABB C5 PUSH B
1059 4ABC CD 4AB2 CALL ZVYS
1060 4ABF CD 4CE0 CALL READ
1061 4AC2 DA 4AD7 JC ERRD ; CHYBA
1062 4AC5 CD 4C19 CALL NUFIL ; CISLO O.K. ?
1063 4AC8 C2 4AD7 JNZ ERRD ; CHYBA BLOKU
1064 4ACB C1 RIB1: POP B
1065 4ACC D1 POP D
1066 4ACD 21 4DA8 LXI H,BIN-1
1067 4AD0 7E MOV A,M
1068 4AD1 FE 3A RIB2: CPI CAN ; NAZEV PASKY
1069 4AD3 C8 RZ
1070 4AD4 FE 01 CPI SOH ; JMENO SOUBORU
1071 4AD6 C9 RET ; (HL)..TYP BLOKU
1072
1073 ;===================================
1074 ; CHYBA C T E N I
1075 ;===================================
1076
1077 4AD7 CD 4C0E ERRD: CALL XSTOP
1078 4ADA CD 4A17 CALL TTSP ; PRO SP-210 1. OPRAVA
1079 4ADD 06 64 MVI B,100 ; (ABY STIHALA MECHANIKA)
1080 4ADF CA 4B43 JZ ERR31 ; AUTOMATICKY "A"
1081 4AE2 CD 49D7 ERRD0: CALL STOP ; ZPRACUJ CHYBU CTENI
1082 4AE5 2A 4DA1 LHLD BNI
1083 4AE8 EB XCHG
1084 4AE9 CD 491F CALL DBTCR ; POZADOVANE CISLO
1085 4AEC CD 0151 CALL TXIMM
1086 4AEF 0D 0A DB CR,LF
1087 4AF1 43 48 59 42 DC 'CHYBA CTENI: I/D/N/A=ZNOVA ?'
1088 4AF5 41 20 43 54
1089 4AF9 45 4E 49 3A
1090 4AFD 20 49 2F 44
1091 4B01 2F 4E 2F 41
1092 4B05 3D 5A 4E 4F
1093 4B09 56 41 20 BF
1094 4B0D CD 498A CALL ECHO ; POKRACUJ
1095 4B10 FE 4E CPI 'N'
1096 4B12 CA 4B6D JZ ERRD8 ; PRO "N"
1097 4B15 FE 49 CPI 'I'
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-18
1098 4B17 C2 4B24 JNZ ERRD1
1099 4B1A 3A 4DA2 LDA BTI
1100 4B1D 3C INR A
1101 4B1E 32 4DA2 STA BTI ; ZVYS CISLO SOUBORU
1102 IF SM
1103 LDA TSM
1104 ORA A
1105 CZ CRLF ; PRO TERMINAL
1106 ENDIF
1107 4B21 C3 4B5B JMP ERRD7
1108 4B24 FE 44 ERRD1: CPI 'D'
1109 4B26 C2 4B41 JNZ ERRD3
1110 4B29 3A 4DA2 LDA BTI
1111 4B2C 3D DCR A
1112 4B2D 32 4DA2 STA BTI
1113 4B30 06 C8 ERRD2: MVI B,200 ; PRO "D"
1114 4B32 CD 4B73 CALL VRAT ; NAVRAT O 2 SEC.
1115 4B35 CD 4CDC CALL READF
1116 4B38 CD 4C19 CALL NUFIL
1117 4B3B D2 4B30 JNC ERRD2 ; JESTE VRACEJ
1118 4B3E C3 4B5B JMP ERRD7
1119 4B41 06 32 ERRD3: MVI B,50 ; PRO "A" NAVRAT O 0.5 SEC
1120 4B43 CD 4B73 ERR31: CALL VRAT
1121 4B46 C3 4B5B JMP ERRD7
1122 4B49 CD 0151 ERRD4: CALL TXIMM
1123 4B4C 0D 0A DB CR,LF
1124 4B4E 56 52 41 54 DC 'VRAT ZPET '
1125 4B52 20 5A 50 45
1126 4B56 54 A0
1127 4B58 CD 4997 CALL PLAY
1128 4B5B CD 4CDC ERRD7: CALL READF ; ZNOVA CTI
1129 4B5E DA 4B5B JC ERRD7
1130 4B61 CD 4C19 CALL NUFIL ; A HLEDEJ
1131 4B64 CA 4B6D JZ ERRD8
1132 4B67 D2 4AE2 JNC ERRD0 ; PREJEL
1133 4B6A C3 4B5B JMP ERRD7 ; CTI DAL
1134 4B6D CD 0124 ERRD8: CALL CRLF
1135 4B70 C3 4ACB JMP RIB1 ; JE TO DOBRE
1136
1137 4B73 CD 4A17 VRAT: CALL TTSP
1138 4B76 E1 POP H ; NAVRATOVA ADRESA VRAT
1139 4B77 C2 4B49 JNZ ERRD4 ; PRO K-10
1140 4B7A E5 PUSH H ; PRO SP-210 OK
1141 4B7B 3E BF MVI A,SPREWZ ; PREVIJENI VZAD
1142 4B7D CD 4A28 CALL SPPULS ; DOBA VSTUPUJE V <A>
1143 4B80 78 MOV A,B
1144 4B81 C3 4A6C JMP TIME
1145
1146 ;================================
1147 ; ZAPIS VYSTUPNI BUFFER
1148 ;================================
1149
1150 4B84 32 4DA8 WOBW: STA BOUT-1
1151 4B87 D5 WOB: PUSH D
1152 4B88 2A 4D9F LHLD BNO
1153 4B8B 23 INX H
1154 4B8C 22 4D9F SHLD BNO
1155 4B8F EB XCHG
1156
1157 ;*********************************************
1158 ; ZAPIS BLOKU: HL - ADRESA VYSTUPNIHO BUFFERU
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-19
1159 ; DE - CISLO SOUBORU A BLOKU
1160 ;*********************************************
1161
1162 4B90 C5 WRBLO: PUSH B
1163 4B91 D5 PUSH D
1164 4B92 21 4DA8 LXI H,BOUT-1 ; START BLOKU
1165 4B95 CD 4A0A CALL DUPL
1166 4B98 3E 30 MVI A,30H
1167 4B9A CD 49AF CALL GAPO ; START WRITE
1168 4B9D CD 4A59 CALL BTIM8 ; 800/100 MS
1169 4BA0 3A 40F1 LDA CASK
1170 4BA3 B7 ORA A
1171 4BA4 C4 4A59 CNZ BTIM8 ; PRODLOUZENO 2x
1172 4BA7 CD 4D7C CALL SEROP
1173 4BAA CD 4D7C CALL SEROP
1174 4BAD CD 4D7C CALL SEROP ; PREAMBLE
1175 4BB0 01 0000 LXI B,(LENGHT+1) AND 0FFH
1176 4BB3 CD 4D72 CALL SEROM ; DATA
1177 4BB6 21 4EA8 LXI H,WRNM
1178 4BB9 0E 0B MVI C,NAMLE
1179 4BBB CD 4D72 CALL SEROM ; JMENO
1180 4BBE D1 POP D
1181 4BBF 7B MOV A,E
1182 4BC0 CD 4D7E CALL SEROUT ; CISLO BLOKU
1183 4BC3 7A MOV A,D
1184 4BC4 CD 4D7E CALL SEROUT ; CISLO SOUBORU
1185 4BC7 78 MOV A,B
1186 4BC8 CD 4D7E CALL SEROUT ; KONTROLNI SUMA
1187 4BCB CD 4D7C CALL SEROP
1188 4BCE AF XRA A
1189 4BCF CD 4D7E CALL SEROUT ; ZAVER BLOKU
1190 4BD2 21 4DA8 LXI H,BIN-1
1191 4BD5 E5 PUSH H
1192 4BD6 7E MOV A,M
1193 4BD7 CD 49E9 CALL PNASM ; PREPNI NA TERMINAL
1194 4BDA CD 4946 CALL OKNO
1195 4BDD CD 4926 CALL DBTV1 ; CISLO BLOKU A
1196 4BE0 CD 4930 CALL OBNOV ; SOUBORU NA CO
1197 4BE3 CD 4A6A CALL T10MS ; 10 MS
1198 4BE6 E1 POP H
1199 4BE7 22 4DA3 SHLD ADRO ; ZACATEK
1200 4BEA 7E MOV A,M
1201 4BEB CD 4BFF CALL ZASTAV
1202 4BEE C1 POP B
1203 4BEF D1 POP D
1204
1205
1206 ; NULUJ VYSTUPNI BUFFER
1207 ; ---------------------
1208
1209 4BF0 21 4DA8 NULBF: LXI H,BOUT-1
1210 4BF3 E5 PUSH H
1211 4BF4 3E FF MVI A,LENGHT
1212 4BF6 23 INX H
1213 4BF7 36 00 MVI M,0
1214 4BF9 3D DCR A
1215 4BFA C2 4BF6 JNZ $-4
1216 4BFD E1 POP H ;(BLOK TYP) ADRM
1217 4BFE C9 RET
1218
1219 ; ZASTAV NA KONCI BLOKU
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-20
1220
1221 4BFF D6 42 ZASTAV: SUI 'B'
1222 4C01 C8 RZ
1223 4C02 3C INR A
1224 4C03 CA 4C0E JZ XSTOP ; 'A'
1225 4C06 CD 4A59 CALL BTIM8
1226 4C09 7E MOV A,M
1227 4C0A 3D DCR A ; SOH ?
1228 4C0B C2 49D7 JNZ STOP ; NENI SOH
1229
1230
1231 ; VOLANI STOP NA K-10 / PAUSE NA SP-210
1232
1233 4C0E CD 4A17 XSTOP: CALL TTSP
1234 4C11 3E EF MVI A,SPPAUS ; PAUSE NA SP-210
1235 4C13 CA 49DF JZ STOP1
1236 4C16 C2 49D7 JNZ STOP ; STOP NA K-10
1237
1238
1239 ; CISLO BLOKU O.K. ?
1240
1241 4C19 E5 NUFIL: PUSH H
1242 4C1A 2A 4DA1 LHLD BNI
1243 4C1D 2B DCX H
1244 4C1E CD 0136 CALL HILO ; POROVNEJ
1245 4C21 E1 POP H
1246 4C22 C9 RET
1247
1248 ;==================================
1249 ; CTI BYTE Z KAZETY
1250 ;==================================
1251
1252 4C23 C5 GET@: PUSH B
1253 4C24 D5 PUSH D
1254 4C25 E5 PUSH H
1255 4C26 3A 40E4 LDA @IF1 ; BYL OTEVREN SOUBOR?
1256 4C29 B7 ORA A
1257 4C2A CC 4782 CZ FIND ; KDYZ NE, TAK FIND
1258 4C2D 2A 4DA5 LHLD ADRI
1259 4C30 23 GET0: INX H
1260 4C31 7D MOV A,L ; PRAZDNY?
1261 4C32 FE A8 CPI BIEND AND 0FFH
1262 4C34 7E MOV A,M
1263 4C35 22 4DA5 SHLD ADRI
1264 4C38 CA 4C66 JZ GET1 ; <A>..BYTE
1265 4C3B FE 1A CPI SUBS ; EOF? TEST
1266 4C3D C2 4C61 JNZ GETEX ;-
1267 4C40 4F MOV C,A
1268 4C41 CD 4C72 CALL KONEC?
1269 4C44 79 GET00: MOV A,C ; POSLEDNI BLOK
1270 4C45 C2 4C61 JNZ GETEX ;-
1271 4C48 5D MOV E,L ; ADR ZNAKU SUBS
1272 4C49 21 4EA8 LXI H,BIEND ; HLEDEJ OD KONCE
1273 4C4C 2B GET01: DCX H
1274 4C4D BE CMP M ; JE SUBS
1275 4C4E C2 4C4C JNZ GET01 ;-
1276 4C51 7D MOV A,L
1277 4C52 93 SUB E ; STEJNY ADR?
1278 4C53 C2 4C44 JNZ GET00 ;- NENI KONEC
1279
1280 4C56 AF GET2: XRA A
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-21
1281 4C57 32 40E4 STA @IF1 ; UZAVRI SOUBOR
1282 4C5A CD 49D7 CALL STOP
1283 4C5D 3E 1A MVI A,SUBS
1284 4C5F 37 STC ; CY=1 !!!
1285 4C60 06 DB 6 ; ZRUS ORA
1286 4C61 B7 GETEX: ORA A
1287 4C62 E1 POP H
1288 4C63 D1 POP D
1289 4C64 C1 POP B
1290 4C65 C9 RET
1291
1292 4C66 CD 4C72 GET1: CALL KONEC?
1293 4C69 C4 4ABA CNZ RIB
1294 4C6C C2 4C30 JNZ GET0 ; KONEC SOUBORU
1295 4C6F C3 4C56 JMP GET2
1296
1297 4C72 3A 4DA8 KONEC?: LDA BIN-1 ; POSLEDNI BLOK?
1298 4C75 FE 04 CPI EOT
1299 4C77 C9 RET ; ZY=1...ANO
1300
1301 ;===============================
1302 ; ZAPIS BYTE NA KAZETU
1303 ;===============================
1304
1305 4C78 CD 4C9E PUT@: CALL PUTEND ; JE ^Z ?
1306 4C7B DA 4752 JC CLOSE0
1307 4C7E C5 PUSH B
1308 4C7F D5 PUSH D
1309 4C80 E5 PUSH H
1310 4C81 3A 40E6 LDA @OF1 ; BYL OTEVREN?
1311 4C84 B7 ORA A
1312 4C85 C5 PUSH B
1313 4C86 CC 46B6 CZ OPEN ; KDYZ NE, TAK OPEN
1314 4C89 C1 POP B
1315 4C8A 2A 4DA3 LHLD ADRO
1316 4C8D 23 INX H
1317 4C8E 71 MOV M,C ; ZAPIS
1318 4C8F 22 4DA3 SHLD ADRO
1319 4C92 7D MOV A,L
1320 4C93 FE A7 CPI (BOEND AND 0FFH) - 1
1321 4C95 CC 4B87 CZ WOB
1322 4C98 E1 POP H
1323 4C99 D1 POP D
1324 4C9A C1 POP B
1325 4C9B 79 MOV A,C
1326 4C9C B7 ORA A ; NCY
1327 4C9D C9 RET
1328
1329 4C9E 3A 4DA8 PUTEND: LDA BOUT-1
1330 4CA1 FE 42 CPI 'B'
1331 4CA3 C8 RZ
1332 4CA4 3A 40E3 LDA MODE
1333 4CA7 E6 02 ANI 2
1334 4CA9 EE 02 XRI 2
1335 4CAB C8 RZ
1336 4CAC 79 MOV A,C
1337 4CAD FE 1A CPI SUBS
1338 4CAF 37 STC
1339 4CB0 C8 RZ
1340 4CB1 B7 ORA A
1341 4CB2 C9 RET
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-22
1342
1343
1344
1345 4CB3 48 CHECK: MOV C,B ; KONTROLNI SOUCET ?
1346 4CB4 CD 4CC8 CALL RICH
1347 4CB7 B9 CMP C
1348 4CB8 C8 RZ
1349
1350
1351 4CB9 CD 49D7 ERSTP: CALL STOP ; ZASTAV A OHLAS CHYBU
1352 4CBC C3 012A JMP ERROR
1353
1354 4CBF CD 4CC8 RADR@: CALL RICH
1355 4CC2 6F MOV L,A
1356 4CC3 CD 4CC8 CALL RICH ; HL
1357 4CC6 67 MOV H,A
1358 4CC7 C9 RET
1359
1360 4CC8 CD 0106 RICH: CALL RI ; CTENI & SUMA
1361 4CCB DA 4CB9 JC ERSTP
1362 4CCE C3 4D8B JMP SUM@
1363
1364 4CD1 4D PADR@: MOV C,L
1365 4CD2 CD 4CD6 CALL POCH
1366 4CD5 4C MOV C,H
1367
1368 4CD6 79 POCH: MOV A,C ; ZAPIS & SUMA
1369 4CD7 80 ADD B
1370 4CD8 47 MOV B,A
1371 4CD9 C3 010C JMP PO
1372
1373
1374 ;********************************************
1375 ; CTENI BLOKU: HL - ADRESA VSTUPNIHO BUFFERU
1376 ; VYSTUP: DE - CISLO SOUBORU A BLOKU
1377 ; CY=1 PRO CHYBU
1378 ;********************************************
1379
1380 4CDC AF READF: XRA A ; NASTAV FIND MOD
1381 4CDD 32 4DA7 STA FND
1382 4CE0 READ:
1383 4CE0 C5 RBLOK: PUSH B
1384 4CE1 21 4EB3 LXI H,READNM ; PRO TERMINAL
1385 4CE4 CD 49AA CALL START
1386
1387 ; SYNCHRONIZACE
1388
1389 4CE7 DB 12 SYNC: IN UDATA
1390 4CE9 CD 4A6A SYNC1: CALL T10MS ; 10 MS
1391 4CEC CD 497B CALL BREAK
1392 4CEF DB 11 IN USTAT
1393 4CF1 07 RLC
1394 4CF2 DA 4CE7 JC SYNC ; CEKEJ NA READY
1395 ;
1396 4CF5 0E 03 RBL2: MVI C,3 ; 3*PREAMBLE
1397 4CF7 CD 4D88 RBL3: CALL SERIN
1398 4CFA FE 10 CPI PREAM
1399 4CFC C2 4CE7 JNZ SYNC ; GAP
1400 4CFF 0D DCR C
1401 4D00 C2 4CF7 JNZ RBL3
1402 4D03 0E 2A MVI C,'*'
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-23
1403 4D05 3A 4DA7 LDA FND ; FIND MOD?
1404 4D08 B7 ORA A
1405 4D09 C2 4D0E JNZ $+5 ; NECTE
1406 4D0C 0E 3A MVI C,':'
1407 4D0E 71 MOV M,C
1408 4D0F 23 INX H
1409 4D10 E5 PUSH H
1410 4D11 21 4DA8 LXI H,BIN-1
1411 4D14 01 0000 LXI B,(LENGHT+1) AND 0FFH
1412
1413 ; CTI BLOK DAT
1414 4D17 CD 4D68 CALL SERIM
1415 4D1A E1 POP H
1416 4D1B 36 22 MVI M,'"'
1417 4D1D 23 INX H
1418 4D1E 0E 0B MVI C,NAMLE
1419 4D20 CD 4D68 CALL SERIM
1420 4D23 36 22 MVI M,'"'
1421 4D25 23 INX H
1422 4D26 36 20 MVI M,' '
1423 4D28 CD 4D88 CALL SERIN
1424 4D2B 5F MOV E,A
1425 4D2C CD 4D88 CALL SERIN
1426 4D2F 57 MOV D,A
1427 4D30 48 MOV C,B ; KONTROLNI SUMA
1428 4D31 CD 4D88 CALL SERIN
1429 4D34 91 SUB C
1430 4D35 F5 PUSH PSW
1431 4D36 21 4DA8 LXI H,BIN-1
1432 4D39 E5 PUSH H
1433 4D3A 7E MOV A,M
1434 4D3B CD 49E9 CALL PNASM ; PREPNUTI NA TERMINAL
1435 4D3E CD 4946 CALL OKNO
1436 4D41 06 0F MVI B,15
1437 4D43 CD 490A CALL PNAME ; VYPIS JMENA
1438 4D46 CD 4922 CALL DBTV
1439 4D49 CD 4930 CALL OBNOV
1440 4D4C E1 POP H
1441 4D4D 22 4DA5 SHLD ADRI ; POCATECNI ADRESA
1442 4D50 3A 4DA7 LDA FND
1443 4D53 B7 ORA A
1444 4D54 7E MOV A,M
1445 4D55 06 41 MVI B,'A'
1446 4D57 CA 4D5B JZ $+4
1447 4D5A 04 INR B
1448 4D5B B8 CMP B
1449 4D5C DC 4C0E CC XSTOP
1450 4D5F 78 MOV A,B
1451 4D60 32 4DA7 STA FND ; ZRUS FIND MOD
1452 4D63 F1 POP PSW ; PRO ZERO ..O.K
1453 4D64 C1 POP B
1454 4D65 C8 RZ
1455 4D66 37 STC
1456 4D67 C9 RET ; ELSE ...ERROR
1457
1458
1459 ; ZAPIS DO PAMETI
1460
1461 4D68 CD 4D88 SERIM: CALL SERIN ;CTI
1462 4D6B 77 MOV M,A
1463 4D6C 23 INX H
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-24
1464 4D6D 0D DCR C
1465 4D6E C2 4D68 JNZ SERIM
1466 4D71 C9 RET
1467
1468
1469 4D72 7E SEROM: MOV A,M ; Z PAMETI
1470 4D73 23 INX H
1471 4D74 CD 4D7E CALL SEROUT ; NA :CT:
1472 4D77 0D DCR C
1473 4D78 C2 4D72 JNZ SEROM
1474 4D7B C9 RET ; VSE
1475
1476 4D7C 3E 10 SEROP: MVI A,PREAM ; BLOCK-MARK
1477
1478 ; ZAPIS ZNAKU NA MGF
1479
1480 4D7E CD 4D8B SEROUT: CALL SUM@
1481 4D81 C5 PUSH B
1482 4D82 4F MOV C,A
1483 4D83 CD 017E CALL SERO@
1484 4D86 C1 POP B
1485 4D87 C9 RET
1486
1487 ; VSTUP ZNAKU Z MGF
1488
1489 4D88 CD 017B SERIN: CALL SERI@
1490 4D8B F5 SUM@: PUSH PSW
1491 4D8C 80 ADD B
1492 4D8D 47 MOV B,A
1493 4D8E CD 497B CALL BREAK
1494 4D91 F1 POP PSW
1495 4D92 C9 RET
1496
1497
1498 ;**********************************
1499 ; COPY DATA
1500 ;**********************************
1501
1502 ; PROMENNE PRO O.S.
1503 4D93 FNAME: DS 12 ; JMENO SOUBORU
1504 4D9F BNO: DS 1 ; CISLO BLOKU
1505 4DA0 BTO: DS 1 ; CISLO SOUBORU
1506 4DA1 BNI: DS 1 ;
1507 4DA2 BTI: DS 1 ; INPUT
1508 4DA3 ADRO: DS 2 ; ADR OUTPUT
1509 4DA5 ADRI: DS 2 ; ADR INPUT
1510 4DA7 FND: DS 1 ; FIND/READ
1511
1512 ;*******************************
1513 ; I/O BUFFER PRO KOS
1514 ;*******************************
1515 4DA8 DS 1 ; TYP BLOKU
1516 4DA9 BOUT:
1517 4DA9 BIN: DS LENGHT ; DATA
1518 4EA8 BIEND EQU $
1519 4EA8 BOEND EQU $
1520 4EA8 WRNM: DS 11 ; JMENO SOUBORU
1521 4EB3 READNM: DS 22 ; BUFFER PRO ZOBRAZENI
1522 4EC9 POSICE: DS 2 ; OKNA V MIKOSU
1523 4ECB MOD@: DS 1
1524 ;
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-25
1525 4ECC TSP: DS 1 ; PRO SP-210 - 0
1526 4ECD JEDE?: DS 1 ; 0/X - MGF. JEDE/STOJI
1527 ;
1528 427F DEBL EQU 427FH ; DELKA BLOKU
1529 4280 JEVER EQU 4280H ; 0 - NENI VERIFIKACE
1530 ;
1531 4ECE SEKV: DS 1 ; 0 - NENI ESCAPE SEKV.
1532 4ECF TSM: DS 1 ; PRO TERMINAL = 0
1533
1534 4ED0 ADREND: DS 2
1535 4ED2 BINF?: DS 1 ; 0 = BINARNI SOUBOR
1536 4ED3 @IOB: DS 1 ; PUVODNI IOBYT
1537
1538 4ED4 FREE EQU $
1539
1540 .DEPHASE
1541
1542 ;*********************************************
1543 ; ROZDELENI S Y S T E M O V E R A M
1544 ;*********************************************
1545 ;
1546 4000 RST1 EQU @R@ ; RESTART VEKTORY
1547 ;........>>>
1548 ;......
1549 ;<<... UZIVATELSKY & MONITOR. ZASOBNIK
1550
1551 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1552 .PHASE @R@+6DH
1553 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1554 ; MONITOR DATA
1555 ;
1556 406D MSTAK: DS 2
1557 406F ACSAV: DS 2
1558 4071 BCSAV: DS 2
1559 4073 DESAV: DS 2
1560 4075 HLSAV: DS 2
1561 4077 PCSAV: DS 2
1562 4079 SPSAV: DS 2
1563 ;
1564 407B BRAD: DS 2
1565 407D INSTR: DS 1
1566 407E BRAD2: DS 2
1567 4080 INST2: DS 1
1568 4081 CADR: DS 2 ; KURZOR ADR.
1569 ;-------------------------
1570 4083 WMKOD: DS 14 ; KOD PRO KURZORY
1571 4091 PREV: DS 21 ; PREVODNI KODY..0
1572 ;-------------------------
1573 ; USER I/O DEVICE
1574 ;
1575 40A6 CILOC: DS 3 ; 0
1576 40A9 COLOC: DS 3 ; 1
1577 40AC R1LOC: DS 3 ; 2
1578 40AF R2LOC: DS 3 ; 3
1579 40B2 P1LOC: DS 3 ; 4
1580 40B5 P2LOC: DS 3 ; 5
1581 40B8 LILOC: DS 3 ; 6
1582 40BB CSLOC: DS 3 ; 7
1583 40BE DS 1
1584 40BF MEMTOP: DS 2 ; 8
1585 40C1 ERRSW: DS 3 ; 9
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE 1-26
1586 40C4 CI@0: DS 3 ; 10
1587 40C7 CO@: DS 3 ; 11
1588 40CA CSTS@: DS 3 ; 12
1589 40CD LO@: DS 3 ; 13
1590 40D0 KOS@: DS 3 ; 14
1591 40D3 RI@: DS 3 ; 15
1592 40D6 PO@: DS 3 ; 16
1593 40D9 CCPM: DS 3 ; 17
1594 40DC GRAF: DS 3
1595 40DF RESER: DS 3
1596 0015 IONUM EQU ($-CILOC)/3+1
1597 ;
1598 40E2 IOBYT: DS 1 ; RIZENI I/O ZARIZENI
1599 ;
1600 ;******************************
1601 ;<< EXTERNE OVLADANE FLAGY: >>
1602 ;******************************
1603 40E3 MODE: DS 1 ; CO-MODE
1604 40E4 @IF1: DS 1
1605 40E5 @IF2: DS 1
1606 40E6 @OF1: DS 1
1607 40E7 @OF2: DS 1
1608 40E8 LINE: DS 1 ; RADEK
1609 40E9 COLUM: DS 1 ; SLOUPEC
1610 40EA RESL: DS 1 ; RESERVACE
1611 40EB RESC: DS 1 ; SLOUPEC
1612 40EC RESL1: DS 1 ; POSLEDNI RADEK
1613 40ED RESC1: DS 1 ; POSLEDNI SLOUPEC
1614 40EE PRER: DS 1 ; UROVEN PRERUSENI
1615 ;
1616 ; PROMENNE PRO OPERACNI SYSTEM
1617 ;
1618 40EF CUR@: DS 1
1619 40F0 KEY: DS 1
1620 40F1 CASK: DS 1 ; <>0 - PRODLUZ MEZERY
1621
1622 40F2 WNDP: DS 6 ; PARAMETRY PRO 2.OKNO
1623 0015 EXSER EQU $-MODE ; KONEC SLUZEB
1624 ;
1625 40F8 CHAR: DS 1
1626 40F9 XFLG: DS 1
1627 ;
1628 ;****************************************************
1629 ; DATA SPOLECNA PRO MONITOR A O.S.
1630 ;****************************************************
1631 ;
1632 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1633 40FA @BT: DS 1
1634 40FB @PED: DS 1
1635 40FC SADR: DS 2 ; START ADR
1636 40FE EADR: DS 2 ; END ADR
1637 4100 SUM: DS 1
1638 4101 EXTEXT: DS 1
1639 4102 OPT: DS 1
1640 4103 NAMBUF: DS 65
1641 ;
1642 .DEPHASE
1643
1644 END
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE S
Macros:
Symbols:
4966 @ANAL 40FA @BT 40E4 @IF1
40E5 @IF2 4ED3 @IOB 40E6 @OF1
40E7 @OF2 40FB @PED 4000 @R@
4891 @REW 406F ACSAV 4ED0 ADREND
4DA5 ADRI 4DA3 ADRO 4969 ANAL
012D ASHEX 4071 BCSAV 4EA8 BIEND
4DA9 BIN 4722 BINAR 4ED2 BINF?
4DA1 BNI 4D9F BNO 4EA8 BOEND
4DA9 BOUT 407B BRAD 407E BRAD2
497B BREAK 4980 BREAK@ 0008 BS
4694 BSAVE 4DA2 BTI 4A59 BTIM8
4A5C BTIME 4DA0 BTO 4081 CADR
003A CAN 4424 CAS 40F1 CASK
40D9 CCPM 40F8 CHAR 4CB3 CHECK
0103 CI 40C4 CI@0 40A6 CILOC
013F CINCR 47AC CLOA1 47B5 CLOA2
47E0 CLOA3 4770 CLOAD 4752 CLOSE
4752 CLOSE0 48B5 CMPNM 0109 CO
40C7 CO@ 40A9 COLOC 40E9 COLUM
0040 COMLE 445E COPY 45D9 COPY1
45E6 COPY2 48C0 CPF10 000D CR
0124 CRLF 4709 CSAV1 472F CSAV2
4736 CSAV3 469A CSAVE 40BB CSLOC
0112 CSTS 40CA CSTS@ 40EF CUR@
0130 DADR 491F DBTCR 4922 DBTV
4926 DBTV1 0133 DBYT 427F DEBL
007F DEL 4073 DESAV 4665 DIR
4669 DIR0 466D DIR1 4686 DIR1A
468E DIR2 47C6 DIRSTP 4A44 DONE
4A0A DUPL 40FE EADR 498A ECHO
4A50 ECHOCR 0000 EOR 0004 EOT
1800 EP3 0C00 EPROM 0000 ERAM
47E6 EREND 4B43 ERR31 4AD7 ERRD
4AE2 ERRD0 4B24 ERRD1 4B30 ERRD2
4B41 ERRD3 4B49 ERRD4 4B5B ERRD7
4B6D ERRD8 012A ERROR 40C1 ERRSW
001E ERS 4CB9 ERSTP 001B ESC
0003 ETX 498E ETX? 487B EXCH
014B EXFLG 0127 EXPR 0015 EXSER
4960 EXT? 4101 EXTEXT 4782 FIND
4D93 FNAME 4DA7 FND 4ED4 FREE
49AF GAPO 4C30 GET0 4C44 GET00
4C4C GET01 4C66 GET1 4C56 GET2
4C23 GET@ 4C61 GETEX 40DC GRAF
0136 HILO 4075 HLSAV 001D HOME
0009 HT 0148 HXASC 4436 INI1
47FE INIT 480C INIT1 4818 INIT2
4832 INIT3 442A INITS 4080 INST2
407D INSTR 015D INTER 40E2 IOBYT
0115 IOCHK 011E IODEF 0015 IONUM
0118 IOSET 4ECD JEDE? 4280 JEVER
48EA JMENO? 40F0 KEY 4C72 KONEC?
40D0 KOS@ 0157 KZD 4640 KZDIN
00FF LENGHT 000A LF 40B8 LILOC
40E8 LINE 40CD LO@ 011B MEMCK
40BF MEMTOP 4639 MG1 4632 MGFIN
4ECB MOD@ 40E3 MODE 0000 MONIT
COPY KZD/MGF = CKM MACRO-80 3.44 09-Dec-81 PAGE S-1
464A MOTA 465C MOTA1 4A7C MOVE
406D MSTAK 4103 NAMBUF 000B NAMLE
0139 NEXT 4C19 NUFIL 4BF0 NULBF
4930 OBNOV 48ED OK? 4946 OKNO
46D5 OPE1 46E9 OPE3 46F1 OPE4
46B6 OPEN 4102 OPT 40B2 P1LOC
40B5 P2LOC 4CD1 PADR@ 4077 PCSAV
4901 PHDR 4997 PLAY 49FC PN1
490D PNAM1 4915 PNAM2 490A PNAME
49E9 PNASM 010C PO 40D6 PO@
4CD6 POCH 4EC9 POSICE 0010 PREAM
0014 PRENOS 40EE PRER 4091 PREV
4C78 PUT@ 4C9E PUTEND 40AC R1LOC
40AF R2LOC 4CBF RADR@ 4CF5 RBL2
4CF7 RBL3 4CE0 RBLOK 4CE0 READ
4CDC READF 4EB3 READNM 49A7 REC0
4A34 RECOR 4A1C RECPUL 40EB RESC
40ED RESC1 40DF RESER 40EA RESL
40EC RESL1 48A5 REWI1 4657 REWIK
4897 REWIND 4886 REWIZ 0106 RI
40D3 RI@ 4ABA RIB 4ACB RIB1
4AD1 RIB2 4CC8 RICH 015A RNAME
4000 RST1 00CF RSTN 40FC SADR
4A86 SEAR1 4A85 SEARCH 4ECE SEKV
017B SERI@ 4D68 SERIM 4D88 SERIN
017E SERO@ 4D72 SEROM 4D7C SEROP
4D7E SEROUT 0000 SM 0181 SMST@
0001 SOH 013C SPACE 0037 SPC
0121 SPCL 4A23 SPGO 0035 SPIN
0034 SPOUT 00EF SPPAUS 4A28 SPPULS
00DF SPREC 00F7 SPREWK 00BF SPREWZ
008B SPRS 4079 SPSAV 00FB SPSTART
007F SPSTOP 49C8 STAR2 49AA START
49D7 STOP 49DF STOP1 001A SUBS
4100 SUM 4D8B SUM@ 4CE7 SYNC
4CE9 SYNC1 4A6A T10MS 0050 TCOLUM
48CC TESTJM 0142 TEXT 4A6C TIME
4A6D TIME1 4A70 TIME2 0018 TLINE
4ECF TSM 4ECC TSP 4A17 TTSP
3800 TVBEG 0151 TXIMM 496E TXNAM
0012 UDATA 0010 UMODE 0013 URES
0011 USTAT 4B73 VRAT 000B VT
48E7 VYP1 48E0 VYPISH 4083 WMKOD
0154 WND@ 40F2 WNDP 4B87 WOB
4B84 WOBW 4B90 WRBLO 4863 WRN1
484F WRNAM 4EA8 WRNM 4698 WSAVE
40F9 XFLG 4C0E XSTOP 4418 ZAC
4BFF ZASTAV 4AB2 ZVYS
No Fatal error(s)
@ANAL 708 828#
@BT 1633#
@IF1 549 567 1255 1281 1604#
@IF2 1605#
@IOB 161 311 1536#
@OF1 428 457 502 512 1310 1606#
@OF2 1607#
@PED 1634#
@R@ 14# 1546 1552
@REW 308 673#
ACSAV 1557#
ADREND 483 564 580 1534#
ADRI 551 1258 1263 1441 1509#
ADRO 506 1199 1315 1318 1508#
ANAL 830#
ASHEX 39#
BCSAV 1558#
BIEND 550 1261 1272 1518#
BIN 720 1066 1190 1297 1410 1431 1517#
BINAR 127 467 476#
BINF? 405 461 1535#
BNI 366 548 1048 1050 1082 1242 1506#
BNO 450 453 616 1152 1154 1504#
BOEND 1320 1519#
BOUT 440 480 1150 1164 1209 1329 1516#
BRAD 1564#
BRAD2 1566#
BREAK 845# 1391 1493
BREAK@ 682 849#
BS 70#
BSAVE 292 399#
BTI 1099 1101 1110 1112 1507#
BTIM8 478 986# 1168 1171 1225
BTIME 987#
BTO 439 1505#
CADR 1568#
CAN 106# 443 618 695 1068
CAS 133# 986
CASK 1169 1620#
CCPM 1593#
CHAR 1625#
CHECK 1345#
CI 26# 851
CI@0 1586#
CILOC 1575# 1596
CINCR 45# 857
CLOA1 528 553#
CLOA2 558# 562
CLOA3 571 577#
CLOAD 294 522#
CLOSE 124 431 492 501#
CLOSE0 502# 1306
CMPNM 544 693# 694 696 701
CO 28# 187 203 285 368 776 796 798 1030
CO@ 1587#
COLOC 1576#
COLUM 1609#
COMLE 65# 629 764
COPY 121 125 126 168# 310 330 354 382 495 504 515 576
578 586 620 658 665 674 1043
COPY1 280#
COPY2 283 285#
CPF10 698#
CR 74# 171 180 196 212 217 225 233 240 245 251 257
265 273 582 830 839 970 1038 1086 1123
CRLF 36# 280 649 761 783 980 1134
CSAV1 415 461#
CSAV2 463 470 482#
CSAV3 485# 488
CSAVE 400 405#
CSLOC 1582#
CSTS 30# 849
CSTS@ 1588#
CUR@ 1618#
DADR 40#
DBTCR 385 783# 1084
DBTV 784# 1438
DBTV1 786# 1195
DBYT 41# 785 788
DEBL 573 1528#
DEL 80#
DESAV 1559#
DIR 288 361#
DIR0 363# 370
DIR1 365# 392
DIR1A 372 383#
DIR2 384 391#
DIRSTP 566# 861
DONE 352 871 974#
DUPL 875 901 918 934# 1165
EADR 1636#
ECHO 857# 978 1094
ECHOCR 286 744 978#
EOR 103#
EOT 105# 383 441 509 1298
EP3 19#
EPROM 21#
ERAM 18#
EREND 559 580#
ERR31 1080 1120#
ERRD 1061 1063 1077#
ERRD0 1081# 1132
ERRD1 1098 1108#
ERRD2 1113# 1117
ERRD3 1109 1119#
ERRD4 1122# 1139
ERRD7 1107 1118 1121 1128# 1129 1133
ERRD8 1096 1131 1134#
ERROR 38# 1352
ERRSW 1585#
ERS 79#
ERSTP 1351# 1361
ESC 77#
ETX 69# 859
ETX? 852 859#
EXCH 302 655#
EXFLG 48# 408
EXPR 37#
EXSER 1623#
EXT? 542 821#
EXTEXT 821 1638#
FIND 122 525 534# 1257
FNAME 540 698 1503#
FND 1381 1403 1442 1451 1510#
FREE 482 557 1538#
GAPO 477 877# 1167
GET0 1259# 1294
GET00 1269# 1278
GET01 1273# 1275
GET1 1264 1292#
GET2 1280# 1295
GET@ 128 149 1252#
GETEX 1266 1270 1286#
GRAF 1594#
HILO 42# 487 558 1244
HLSAV 1560#
HOME 78# 814
HT 71#
HXASC 47#
INI1 145 147#
INIT 290 593#
INIT1 598# 601
INIT2 594 603#
INIT3 602 611#
INITS 120 140#
INST2 1567#
INSTR 1565#
INTER 53#
IOBYT 1598#
IOCHK 31# 160 181 197 325 336 409 464 489 522 568
IODEF 34# 151 154
IONUM 1596#
IOSET 32# 313 329
JEDE? 159 878 897 907 1526#
JEVER 1529#
JMENO? 707 740#
KEY 1619#
KONEC? 1268 1292 1297#
KOS@ 1590#
KZD 51# 414 469 494 527 575
KZDIN 298 336#
LENGHT 63# 1175 1211 1411 1517
LF 72# 171 171 171 180 180 196 212 217 225 233 240
245 251 257 265 273 582 582 839 970 1038 1038 1086
1123
LILOC 1581#
LINE 1608#
LO@ 1589#
MEMCK 33# 553
MEMTOP 1584#
MG1 328# 339
MGFIN 162 300 325#
MOD@ 799 808 1523#
MODE 800 805 1332 1603# 1623
MONIT 17#
MOTA 129 304 345#
MOTA1 349 352#
MOVE 541 633 1012# 1017
MSTAK 1556#
NAMBUF 1640#
NAMLE 64# 539 635 699 1178 1418
NEXT 43# 314 862
NUFIL 391 1062 1116 1130 1241#
NULBF 627 1209#
OBNOV 792# 1196 1439
OK? 444 741#
OKNO 804# 1194 1435
OPE1 436# 445
OPE3 442 444#
OPE4 423 433 448#
OPEN 123 412 421# 1313
OPT 1639#
P1LOC 1579#
P2LOC 1580#
PADR@ 1364#
PCSAV 1561#
PHDR 692 721 753#
PLAY 361 435 543 866# 1127
PN1 922 924#
PNAM1 771# 779
PNAM2 773 775#
PNAME 770# 1437
PNASM 914# 1193 1434
PO 29# 486 1371
PO@ 1592#
POCH 1365 1368#
POSICE 792 812 1522#
PREAM 75# 1398 1476
PRENOS 95# 926
PRER 1614#
PREV 1571#
PUT@ 130 152 1305#
PUTEND 1305 1329#
R1LOC 1577#
R2LOC 1578#
RADR@ 1354#
RBL2 1396#
RBL3 1397# 1401
RBLOK 1383#
READ 1060 1382#
READF 1032 1115 1128 1380#
READNM 770 1384 1521#
REC0 871#
RECOR 455 610 967#
RECPUL 596 889 952#
RESC 1611#
RESC1 1613#
RESER 1595#
RESL 1610#
RESL1 1612#
REWI1 682# 685
REWIK 346 350# 667
REWIND 426 537 595 673 676#
REWIZ 306 664#
RI 27# 560 1360
RI@ 1591#
RIB 1057# 1293
RIB1 1064# 1135
RIB2 1036 1068#
RICH 1346 1354 1356 1360#
RNAME 52# 421 534 617
RST1 1546#
RSTN 15#
SADR 1635#
SEAR1 1029# 1033
SEARCH 369 436 693 1028#
SEKV 1531#
SERI@ 54# 1489
SERIM 1414 1419 1461# 1465
SERIN 1397 1423 1425 1428 1461 1489#
SERO@ 55# 938 939 1483
SEROM 1176 1179 1469# 1473
SEROP 1172 1173 1174 1187 1476#
SEROUT 1182 1184 1186 1189 1471 1480#
SM 8# 374 386 722 734 753 1102
SMST@ 56#
SOH 104# 456 1070
SPACE 44# 786 789
SPC 98# 158
SPCL 35# 809
SPGO 887 955#
SPIN 99# 683
SPOUT 100# 954 957 961
SPPAUS 85# 1234
SPPULS 351 679 904 957# 1142
SPREC 82# 953
SPREWK 87# 350
SPREWZ 86# 666 678 1141
SPRS 88# 157
SPSAV 1562#
SPSTART 83# 956
SPSTOP 84# 903
STAR2 883 891#
START 867 874# 1385
STOP 131 169 353 373 514 577 686 901# 1081 1228 1236 1282
1351
STOP1 904# 1235
SUBS 76# 508 1265 1283 1337
SUM 1637#
SUM@ 1362 1480 1490#
SYNC 1389# 1394 1399
SYNC1 1390#
T10MS 952 955 997# 1197 1390
TCOLUM 60#
TESTJM 700 704# 714
TEXT 46# 765
TIME 599 681 959 991 995 998# 1144
TIME1 999# 1005
TIME2 1000# 1003
TLINE 59#
TSM 147 846 915 934 1532#
TSP 156 655 657 944 1525#
TTSP 282 345 593 664 676 866 881 902 944# 967 1078 1137
1233
TVBEG 20# 141
TXIMM 49# 170 188 204 581 605 612 741 793 813 838 868
969 974 1037 1085 1122
TXNAM 838#
UDATA 92# 895 928 930 1389
UMODE 94# 348 604 891 906 924
URES 91# 892 925
USTAT 93# 894 927 1392
VRAT 1114 1120 1137#
VT 73#
VYP1 730#
VYPISH 363 437 709 719# 740
WMKOD 1570#
WND@ 50#
WNDP 1622#
WOB 1151# 1321
WOBW 510 647 1150#
WRBLO 1162#
WRN1 637# 645
WRNAM 459 619 625#
WRNM 636 1177 1520#
WSAVE 296 402#
XFLG 1626#
XSTOP 611 1077 1224 1233# 1449
ZAC 128#
ZASTAV 1201 1221#
ZVYS 1031 1048# 1059
ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt
SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000
ZPS | Technické prostředky | Programové vybavení | Dokumentace