Ú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 FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD
4 ; 6.4.88
5 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6
7 0000' ASEG
8 ;
9 ; *** DEFINOVANI PAMETOVEHO PROSTORU *
10 ;
11 4000 @R@ EQU 4000H ; ZACATEK
12 00CF RSTN EQU 0CFH ; RST1 .. POUZIVA SYSTEM
13
14 ;-----------------------------------------------
15
16 0000 MONIT EQU 0
17 0000 ERAM EQU 0000
18 1800 EP3 EQU 1800H
19 3800 TVBEG EQU 3800H ; TV-RAM
20 0C00 EPROM EQU 0C00H
21
22 ;
23 ; * MONITOR ENTRY *
24 ;
25 0103 CI EQU 103H
26 0106 RI EQU 106H
27 0109 CO EQU 109H
28 010C PO EQU 10CH
29 0112 CSTS EQU 112H
30 0115 IOCHK EQU 115H
31 0118 IOSET EQU 118H
32 011E IODEF EQU 11EH
33 0121 SPCL EQU 121H
34 0124 CRLF EQU 124H
35 0127 EXPR EQU 127H
36 012A ERROR EQU 12AH
37 012D ASHEX EQU 12DH
38 0130 DADR EQU 130H
39 0133 DBYT EQU 133H
40 0136 HILO EQU 136H
41 0139 NEXT EQU 139H
42 013C SPACE EQU 13CH
43 013F CINCR EQU 13FH
44 0142 TEXT EQU 142H
45 0148 HXASC EQU 148H
46 0151 TXIMM EQU 151H
47 0154 WND@ EQU 154H
48 015A RNAME EQU 15AH
49 015D INTER EQU 15DH
50 017B SERI@ EQU 17BH
51 017E SERO@ EQU 17EH
52 0181 SMST@ EQU 181H
53 ;
54 ; TERMINAL
55 0018 TLINE EQU 24
56 0050 TCOLUM EQU 80
57 ; ZAZNAM
58 00FF LENGHT EQU 255 ; DELKA BLOKU
59 000B NAMLE EQU 11 ; DELKA JMENA
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-1
60 0040 COMLE EQU 64 ; DELKA KOMENTARE
61 00FB UVOD EQU 0FBH ; SYNCHRO BLOKU
62
63 ;------------------------------------------
64 ; KONSTANTY
65 0003 ETX EQU 3
66 0008 BS EQU 8
67 0009 HT EQU 9
68 000A LF EQU 0AH
69 000B VT EQU 0BH
70 000D CR EQU 0DH
71 001A SUBS EQU 1AH ; END FLAG
72 001B ESC EQU 1BH
73 001D HOME EQU 1DH
74
75 ; BLOKOVA NAVESTI
76 0001 SOH EQU 01H ; "START OF HEADER"
77 0004 EOT EQU 04H ; "END OF TEXT"
78 003A CAN EQU ':' ; JMENO PASKY
79 ; 'A' ; DATOVY (ASCII) BLOK
80 ; 'B' ; BINARNI BLOK
81
82 ; SERIOVY KANAL
83 ; =============
84
85 0010 UMODE EQU 10H
86 0011 USTAT EQU 11H
87 0012 UDATA EQU 12H
88 0013 URES EQU 13H
89 000D PRENOS EQU 0DH
90
91 ; PARAMETRY KZD-1
92 ; ===============
93
94 0031 KZDIN EQU 31H ; ADRESA VSTUPNIHO PORTU
95 0030 KZDOUT EQU 30H ; ADRESA VYSTUPNIHO PORTU
96 0033 KZDCTR EQU 33H ; ADRESA RIDICIHO REGISTRU
97 ; MHB 8255
98
99
100 ; VYZNAM CHYBOVYCH HLASENI (PRIZNAK Z=0):
101 ; =======================================
102 ; CHYBA <A>
103 ; 0 30H ZAZNAM NENI POVOLEN (SZAVP)
104 ; 2 32H CHYBA PRI CTENI DAT (CRC) (CTBLD,KOBLD)
105 ; 4 34H NESOUHLASI CISLO BLOKU (@READU)
106 ; CHYBA PRI CTENI OZNACENI (CTOZN)
107 ; 6 36H PRETIZENI MOTORKU (TEKP,CTTV)
108 ; 8 38H BYLA PRECTENA EM (@READU)
109 ; A 3AH NENI BINARNI FORMAT (LOAD)
110 ; C 3CH SOUBOR NEEXISTUJE (NUMB,CMPNM)
111
112 ; DEFINICE KONSTANT:
113 ; ==================
114 008B SETPPI EQU 8BH
115 001F SETOUT EQU 1FH
116 00FE KSCVP EQU 0FEH
117 00BE KSCVPC EQU 0BEH
118 00BB KSCVZC EQU 0BBH
119 00BD KSCRVP EQU 0BDH
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-2
120 00B7 KSCRVZ EQU 0B7H
121 00AE KSZAVP EQU 0AEH
122 00FF KSTPCT EQU 0FFH
123 00AF KSTPZA EQU 0AFH
124 005C KONST1 EQU 05CH
125 00B3 KPREVZ EQU 0B3H
126
127 ;************************************
128 0000 ASEG
129 ORG EPROM ; START
130 ;************************************
131
132 ;====================================
133 ; T A B U L K A S L U Z E B K O S
134 ;====================================
135
136 0C00 C3 0C92 JMP MICOS ; BRANCH TABLE
137 0C03 C3 0C2A JMP INITS ; INIT SYSTEM
138 0C06 C3 0DAF JMP FIND ; 1
139 0C09 C3 0D44 JMP OPEN ; 2
140 0C0C C3 0E87 JMP CLOSE ; 3
141 0C0F C3 0DE3 JMP LOAD ; 4
142 0C12 C3 0E50 JMP SAVE ; 5
143 0C15 C3 0D14 JMP BINAR ; 6
144 0C18 C3 1118 ZAC: JMP GET@ ; 7
145 0C1B C3 14ED JMP REWIND ; 8
146 0C1E C3 117F JMP PUT@ ; 9
147 0C21 C3 150B JMP STOP ; 10
148 0C24 C3 0D36 JMP SLEN ; 11
149 0C27 C3 0ED4 JMP NUMB@ ; 12
150
151 002A MAXSL EQU $-EPROM
152
153 ;====================================
154 ; INICIALIZACE SYSTEMU KOS
155 ;====================================
156
157 0C2A 3E A9 INITS: MVI A,0A9H ; LO=L,RI-1,PO-1
158 0C2C 32 4158 STA FND ; NE FIND MODE
159 0C2F 32 40E2 STA IOBYT
160 0C32 CD 0151 CALL TXIMM ; OHLASENI
161 0C35 4D 49 4B 4F DB 'MIKOS/K V5.0 '
162 0C39 53 2F 4B 20
163 0C3D 56 35 2E 30
164 0C41 20
165 0C42 28 43 29 20 DC '(C) TESLA DIZ 1987 '
166 0C46 54 45 53 4C
167 0C4A 41 20 44 49
168 0C4E 5A 20 31 39
169 0C52 38 37 A0
170 0C55 21 0C81 LXI H,KOS@@
171 0C58 22 40D1 SHLD KOS@+1
172 0C5B AF XRA A
173 0C5C 32 40E4 STA @IF1 ; FIND FLAG
174 0C5F 32 40E6 STA @OF1
175 0C62 32 4280 STA JEVER ; NENI VERIFIKACE
176 0C65 21 0C18 LXI H,ZAC
177 0C68 11 40AC LXI D,R1LOC
178 0C6B 06 0C MVI B,12
179 0C6D CD 1496 CALL MOVE
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-3
180 0C70 CD 1512 CALL INITIO ; INICIALIZACE 8255
181 0C73 3E FF MVI A,LENGHT ; IMPLICITNI DELKA
182 0C75 32 427F STA DEBL ; BLOKU
183 0C78 3A 1800 LDA EP3 ; USER SYSTEM ?
184 0C7B FE C3 CPI 0C3H
185 0C7D CC 1803 CZ EP3 + 3 ; START
186 0C80 C9 RET
187
188 ;===================================
189 ; VYHODNOCENI SLUZBY MONITORU
190 ;===================================
191
192 0C81 0C KOS@@: INR C
193 0C82 11 0C00 LXI D,EPROM
194 0C85 06 2A MVI B,MAXSL
195 0C87 EB SLUZBA: XCHG ; JMENO
196 0C88 79 MOV A,C
197 0C89 81 ADD C
198 0C8A 81 ADD C ; *3
199 0C8B B8 CMP B
200 0C8C D0 RNC ; VETSI
201 0C8D 06 00 MVI B,0
202 0C8F 4F MOV C,A ; OFFSET
203 0C90 09 DAD B ; VYPOCTI ADR
204 0C91 E9 PCHL
205
206 ;===================================
207 ; VYHODNOCENI POVELU OBSLUHY
208 ;===================================
209
210 0C92 CD 150B MICOS: CALL STOP
211 0C95 AF XRA A
212 0C96 32 4101 STA EXTEXT ; 0..NENI
213 0C99 0E 5F MVI C,'_'
214 0C9B 3A 4280 LDA JEVER
215 0C9E B7 ORA A
216 0C9F CA 0CA4 JZ $+5
217 0CA2 0E 2A MVI C,'*' ; PRO VERIFIKACI
218 0CA4 CD 0109 CALL CO
219 0CA7 CD 148D CALL ECHOCR
220 0CAA FE 49 CPI 'I'
221 0CAC CA 0F10 JZ INIT ; INICIALIZACE PASKY
222 0CAF FE 4F CPI 'O'
223 0CB1 CA 0D44 JZ OPEN ; OPEN OUTPUT
224 0CB4 FE 43 CPI 'C' ; CLOSE OUTPUT
225 0CB6 CA 0E87 JZ CLOSE
226 0CB9 FE 46 CPI 'F' ; FIND INPUT
227 0CBB CA 0DAF JZ FIND
228 0CBE FE 53 CPI 'S'
229 0CC0 CA 0E50 JZ SAVE
230 0CC3 FE 4C CPI 'L' ; LOAD
231 0CC5 CA 0DE3 JZ LOAD
232 0CC8 FE 45 CPI 'E'
233 0CCA CA 15DE JZ EOR
234 0CCD FE 5A CPI 'Z'
235 0CCF CA 153F JZ @BOT ; NASTAV NA "BOT"
236 0CD2 FE 42 CPI 'B'
237 0CD4 CA 15B2 JZ @BLOK ; O BLOK VPRED
238 0CD7 FE 3E CPI '>'
239 0CD9 CA 1561 JZ @SKIP ; O SOUBOR VPRED
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-4
240 0CDC FE 3C CPI '<'
241 0CDE CA 1573 JZ @BACK ; O SOUBOR VZAD
242 0CE1 FE 56 CPI 'V'
243 0CE3 CA 0D3B JZ VERIF ; NASTAV VERIFIKACI
244 0CE6 FE 50 CPI 'P'
245 0CE8 CA 11BE JZ VRF1 ; POROVNANI 1 SOUBORU
246 0CEB FE 52 CPI 'R'
247 0CED 16 01 MVI D,1
248 0CEF CA 14ED JZ REWIND ; PREVINUTI NA ZACATEK
249 0CF2 FE 44 CPI 'D'
250 0CF4 CA 15E2 JZ @EOR ; ADRESAR KAZETY
251 0CF7 FE 4E CPI 'N'
252 0CF9 CA 0EBC JZ NUMB ; NAJDI DLE CISLA SOUBORU
253 0CFC FE 58 CPI 'X'
254 0CFE CA 0D20 JZ SLEN@ ; NASTAV DELKU BLOKU
255 0D01 FE 4B CPI 'K' ; ZAPIS EM
256 0D03 C0 RNZ ; JINY POVEL
257
258 ;************************************
259 ; REALIZACE POVELU KOS-1
260 ;************************************
261
262 ;====================================
263 ; ZAPIS EM NA PASKU
264 ;====================================
265
266 0D04 CD 141D KONEC: CALL OK?
267 0D07 C0 RNZ ; NEPIS
268 0D08 CD 1525 CALL SCVZC
269 0D0B CD 15C4 CALL HLKMM
270 0D0E CD 158F CALL ZAKMM
271 0D11 C3 10F1 JMP ZAKS1-1
272
273 ;====================================
274 ; BINARNI SOUBOR NASTAV
275 ;====================================
276
277 0D14 3E 42 BINAR: MVI A,'B'
278 0D16 32 4159 STA BOUT-1
279 0D19 C9 RET
280
281 ;====================================
282 ; UZAVRI A PRIPOJ DALSI SOUBOR
283 ;====================================
284
285 0D1A CD 0E87 NOVYOT: CALL CLOSE
286 0D1D C3 0D78 JMP OPE4
287
288 ;====================================
289 ; NASTAV DELKU BLOKU
290 ; VSTUP: E - DELKA BLOKU
291 ; (PRI VOLANI SLUZBY 157
292 ; JE DELKA BLOKU V <L>
293 ;====================================
294
295 0D20 CD 0151 SLEN@: CALL TXIMM
296 0D23 0D 0A DB CR,LF
297 0D25 44 45 4C 4B DC 'DELKA BLOKU'
298 0D29 41 20 42 4C
299 0D2D 4F 4B D5
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-5
300 0D30 0E 01 MVI C,1
301 0D32 CD 0127 CALL EXPR
302 0D35 D1 POP D
303 0D36 7B SLEN: MOV A,E
304 0D37 32 427F STA DEBL ; NOVA DELKA BLOKU
305 0D3A C9 RET
306
307 ;====================================
308 ; PREPNI NASTAVENI VERIFIKACE
309 ;====================================
310
311 0D3B 3A 4280 VERIF: LDA JEVER
312 0D3E EE FF XRI 0FFH
313 0D40 32 4280 STA JEVER
314 0D43 C9 RET
315
316 ;====================================
317 ; OTEVRI NOVY SOUBOR PRO ZAPIS
318 ;====================================
319
320 0D44 AF OPEN: XRA A
321 0D45 CD 1443 CALL IOPO ; NASTAV IOBYT
322 0D48 CD 1431 CALL NPO
323 0D4B F8 RM ; PO=SYSTEM..
324 0D4C 0E 02 MVI C,2
325 0D4E C2 40D9 JNZ CCPM ; USER=2
326 0D51 CD 015A CALL RNAME
327 0D54 FE 40 CPI '@' ; VYBER
328 0D56 CA 0D99 JZ OPE2 ; ZA SOUBOR
329 0D59 FE 2E CPI '.'
330 0D5B C2 0D8A JNZ OPE5 ; NA KONEC (APPEND)
331 0D5E CD 1545 CALL BOT ; OD ZACATKU
332 0D61 E5 PUSH H
333 0D62 CD 0FA1 OPE1: CALL SEARCH ; KONEC ZAZNAMU ?
334 0D65 CD 0F98 CALL VYPISH ; SOH
335 0D68 79 MOV A,C
336 0D69 32 4151 STA BTO ; CISLO SOUBORU
337 0D6C CD 1567 CALL SKIP
338 0D6F CD 150B CALL STOP
339 0D72 CD 141D CALL OK?
340 0D75 C2 0D62 JNZ OPE1 ; DALSI SOUBOR
341 0D78 2A 4150 OPE4: LHLD BNO ; CISLO SOUBORU
342 0D7B 24 INR H
343 0D7C 2E 00 MVI L,0
344 0D7E 22 4150 SHLD BNO ; CISLO BLOKU A SOUBORU
345 0D81 3E 01 MVI A,SOH
346 0D83 32 40E6 STA @OF1
347 0D86 E1 POP H
348 0D87 C3 0F27 JMP WRNAM
349
350 0D8A 3E 08 OPE5: MVI A,8 ; NASTAV PO=1
351 0D8C CD 1449 CALL IOPO1
352 0D8F E5 PUSH H
353 0D90 CD 1280 CALL BLOK4
354 0D93 CD 15DE CALL EOR
355 0D96 C3 0D78 JMP OPE4
356
357 0D99 3E 08 OPE2: MVI A,8
358 0D9B CD 1449 CALL IOPO1
359 0D9E 3A 40E6 LDA @OF1 ; PODRUHE ?
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-6
360 0DA1 B7 ORA A
361 0DA2 C2 0D1A JNZ NOVYOT
362 0DA5 E5 PUSH H
363 0DA6 CD 1520 CALL SCVPC
364 0DA9 CD 1582 CALL HLDMM ; ZA SOUBOR
365 0DAC C3 0D78 JMP OPE4
366
367 ;====================================
368 ; OTEVRI SOUBOR PRO CTENI
369 ;====================================
370
371 0DAF AF FIND: XRA A
372 0DB0 CD 144E CALL IORI
373 0DB3 CD 143D CALL NRI
374 0DB6 F8 RM ; SYSTEM RI
375 0DB7 0E 01 MVI C,1
376 0DB9 C2 40D9 JNZ CCPM ; USER 2
377 0DBC CD 015A CALL RNAME
378 0DBF FE 2E CPI '.'
379 0DC1 CC 1545 CZ BOT
380 0DC4 06 0B MVI B,NAMLE
381 0DC6 11 4144 LXI D,FNAME
382 0DC9 CD 1496 CALL MOVE
383 0DCC CD 0F5B CALL CMPNM
384 0DCF 61 FIND1: MOV H,C ; CISLO SOUBORU
385 0DD0 2E 01 MVI L,1
386 0DD2 22 4152 SHLD BNI
387 0DD5 22 4150 SHLD BNO ; PRO ZAPIS (PO "K_N")
388 0DD8 7D MOV A,L
389 0DD9 32 40E4 STA @IF1
390 0DDC CD 1174 CALL BUFEND
391 0DDF 22 4156 SHLD ADRI
392 0DE2 C9 RET
393
394 ;====================================
395 ; CTI BINARNI SOUBOR
396 ;====================================
397 ;
398 0DE3 CD 0DAF LOAD: CALL FIND ; OTEVRI SOUBOR
399 0DE6 CD 12C8 LO1: CALL RICH
400 0DE9 B7 ORA A ; BLANK?
401 0DEA CA 0DE6 JZ LO1
402 0DED D6 3C SUI '<'
403 0DEF F5 PUSH PSW
404 0DF0 3E 3A MVI A,3AH
405 0DF2 C2 128E JNZ ERREND ; NENI BINARNI FORMAT
406 0DF5 F1 POP PSW
407 0DF6 47 MOV B,A ; KONTROLNI SOUCET
408 0DF7 CD 12BF CALL RADR@
409 0DFA 22 40FE SHLD EADR ; KONCOVA ADRESA
410 0DFD EB XCHG
411 0DFE CD 12BF CALL RADR@
412 0E01 22 40FC SHLD SADR ; START. ADRESA
413 0E04 CD 12C8 CALL RICH
414 0E07 FE 3E CPI '>'
415 0E09 F5 PUSH PSW
416 0E0A 3E 3A MVI A,3AH
417 0E0C C2 128E JNZ ERREND ; NENI BINAR
418 0E0F F1 POP PSW
419 0E10 E5 PUSH H
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-7
420 0E11 CD 12B9 CALL CHECK
421 0E14 06 00 MVI B,0 ; NULUJ
422 0E16 CD 12C8 LO2: CALL RICH
423 0E19 77 MOV M,A
424 0E1A CD 0136 CALL HILO
425 0E1D D2 0E16 JNC LO2
426 0E20 CD 12B9 CALL CHECK
427 0E23 32 4100 STA SUM
428 0E26 E1 POP H
429 0E27 11 4401 LXI D,4401H
430 0E2A CD 0136 CALL HILO
431 0E2D C2 0E36 JNZ CLSTP
432 0E30 21 0000 LXI H,0
433 0E33 22 40FA SHLD @BT
434
435 ; UZAVRI VSTUPNI SOUBOR
436 0E36 CD 0124 CLSTP: CALL CRLF
437 0E39 CD 143D CALL NRI
438 0E3C F8 RM
439 0E3D C2 0E4B JNZ CLST2
440 0E40 AF DIRSTP: XRA A
441 0E41 32 40E4 STA @IF1 ; CLOSE
442 0E44 2F CMA
443 0E45 32 427F STA DEBL ; BLOK 255 B
444 0E48 C3 1561 JMP @SKIP ; ZA EM A STOP
445 0E4B AF CLST2: XRA A
446 0E4C 32 40E5 STA @IF2
447 0E4F C9 RET
448 ;====================================
449 ; ULOZ BINARNI SOUBOR
450 ;====================================
451
452 0E50 CD 0D44 SAVE: CALL OPEN
453 0E53 0E 02 MVI C,2
454 0E55 CD 0127 CALL EXPR ; ROZSAH ADRES
455 0E58 CD 1431 CALL NPO
456 0E5B CC 0D14 CZ BINAR
457 0E5E 0E 3C MVI C,'<' ; PRVNI BYTE
458 0E60 CD 12D8 CALL POCH
459 0E63 06 00 MVI B,0 ; KONTROLNI SOUCET
460 0E65 E1 POP H ; POCATECNI ADRESA
461 0E66 D1 POP D ; KONCOVA ADRESA
462 0E67 CD 12D3 CALL PADR@
463 0E6A EB XCHG
464 0E6B CD 12D3 CALL PADR@
465 0E6E 0E 3E MVI C,'>'
466 0E70 CD 12D8 CALL POCH
467 0E73 48 MOV C,B ; KONTROLNI SUMA ADRES
468 0E74 CD 12D8 CALL POCH
469 0E77 06 00 MVI B,0 ; KONTROLNI SUMA DAT
470 0E79 4E SAV1: MOV C,M
471 0E7A CD 12D8 CALL POCH
472 0E7D CD 0136 CALL HILO
473 0E80 D2 0E79 JNC SAV1
474 0E83 48 MOV C,B ; SUMA
475 0E84 CD 12D8 CALL POCH
476
477 ;====================================
478 ; UZAVRI VYSTUPNI SOUBOR
479 ;====================================
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-8
480
481 0E87 CD 1431 CLOSE: CALL NPO
482 0E8A F8 RM
483 0E8B 0E 03 MVI C,3
484 0E8D C2 40D9 JNZ CCPM
485 0E90 3A 40E6 CLOSE0: LDA @OF1 ; NENI OTEVREN
486 0E93 B7 ORA A
487 0E94 C8 RZ
488 0E95 D5 PUSH D
489 0E96 E5 PUSH H
490 0E97 2A 4154 LHLD ADRO
491 0E9A 23 INX H
492 0E9B 36 1A MVI M,SUBS ; ZAPIS POSLEDNI ZNAK
493 0E9D 3E 04 MVI A,EOT ; UZAVRI BLOK
494 0E9F 32 4159 STA BOUT-1
495 0EA2 CD 10B4 CALL WOB
496 0EA5 AF XRA A
497 0EA6 32 40E6 STA @OF1 ; CLOSE
498 0EA9 CD 1630 CALL EOR1 ; PRED EM
499 0EAC 3A 4280 LDA JEVER
500 0EAF B7 ORA A
501 0EB0 CA 0EB9 JZ CLOSE1
502 0EB3 CD 1579 CALL BACK
503 0EB6 CD 11BE CALL VRF1
504 0EB9 E1 CLOSE1: POP H
505 0EBA D1 POP D
506 0EBB C9 RET
507
508 ;====================================
509 ; NAJDI SOUBOR DLE CISLA A OTEVRI
510 ; VSTUP: PRO VOLANI SLUZBOU 157
511 ; L - CISLO SOUBORU
512 ;====================================
513
514 0EBC CD 0151 NUMB: CALL TXIMM
515 0EBF 0D 0A DB CR,LF
516 0EC1 43 49 53 4C DC 'CISLO SOUBORU'
517 0EC5 4F 20 53 4F
518 0EC9 55 42 4F 52
519 0ECD D5
520 0ECE 0E 01 MVI C,1
521 0ED0 CD 0127 CALL EXPR
522 0ED3 D1 POP D
523 0ED4 7B NUMB@: MOV A,E ; CISLO SOUBORU
524 0ED5 B7 ORA A
525 0ED6 CA 0F07 JZ NUM4 ; PRO SOUBOR "00"
526 0ED9 F5 PUSH PSW
527 0EDA CD 0FA1 CALL SEARCH
528 0EDD FE 38 CPI 38H
529 0EDF CA 0EF1 JZ NUM2 ; PRO EM
530 0EE2 F1 NUM1: POP PSW
531 0EE3 B9 CMP C ; CISLO SOUBORU ?
532 0EE4 CA 0DCF JZ FIND1 ; OK - NASEL
533 0EE7 F5 PUSH PSW ; CISLO SOUBORU ZADANE
534 0EE8 DA 0EF1 JC NUM2 ; PRO A<C ZPET
535 0EEB CD 1567 CALL SKIP ; PRO A>C VPRED
536 0EEE C3 0EF7 JMP NUM3
537 0EF1 CD 1579 NUM2: CALL BACK ; PRO A<C
538 0EF4 CD 1579 CALL BACK
539 0EF7 CD 0FA1 NUM3: CALL SEARCH
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-9
540 0EFA FE 38 CPI 38H
541 0EFC C2 0EE2 JNZ NUM1
542 0EFF CD 1630 CALL EOR1
543 0F02 3E 3C MVI A,3CH ; SOUBOR NEEXISTUJE
544 0F04 C3 128E JMP ERREND
545 0F07 32 4151 NUM4: STA BTO ; CISLO SOUBORU PRO ZAPIS
546 0F0A CD 1545 CALL BOT
547 0F0D C3 15B2 JMP @BLOK ; NAZEV PASKY
548
549
550 ;====================================
551 ; INICIALIZUJ NOVOU KAZETU
552 ;====================================
553
554 0F10 CD 163F INIT: CALL FORM ; FORMATOVANI
555 0F13 CD 0151 CALL TXIMM
556 0F16 20 5A 41 44 DC ' ZADEJ'
557 0F1A 45 CA
558 0F1C 21 0000 LXI H,0 ; CISLO SOUBORU
559 0F1F 22 4150 SHLD BNO ; A BLOKU
560 0F22 CD 015A CALL RNAME ; JMENO PASKY
561 0F25 3E 3A MVI A,CAN
562
563 ; ZAPIS JMENO SOUBORU
564
565 0F27 E5 WRNAM: PUSH H
566 0F28 F5 PUSH PSW
567 0F29 CD 10FF CALL NULBF
568 0F2C F1 POP PSW
569 0F2D 77 MOV M,A
570 0F2E 23 INX H
571 0F2F 06 40 MVI B,COMLE ; JMENO+POZNAMKA
572 0F31 EB XCHG
573 0F32 E1 POP H
574 0F33 D5 PUSH D
575 0F34 CD 1496 CALL MOVE
576 0F37 E1 POP H
577 0F38 06 0B MVI B,NAMLE
578 0F3A 11 4259 LXI D,WRNM ; VYSTUPNI POLE
579 0F3D 7E WRN1: MOV A,M
580 0F3E B7 ORA A
581 0F3F C2 0F44 JNZ $+5
582 0F42 3E 20 MVI A,' ' ; BLANK
583 0F44 12 STAX D
584 0F45 23 INX H
585 0F46 13 INX D
586 0F47 05 DCR B
587 0F48 C2 0F3D JNZ WRN1
588 0F4B CD 15AB CALL ZADMM ; DMM PRED SOUBOREM
589 0F4E 0E 41 MVI C,COMLE+1 ; DELKA BLOKU
590 0F50 CD 10B9 CALL WOB1
591 0F53 36 41 MVI M,'A' ; TYP DATA
592 0F55 C3 0124 JMP CRLF
593
594 ;====================================
595
596 ; TEST NA JMENO
597
598 0F58 CD 0FAD CALL PHDR
599 0F5B CD 0FA1 CMPNM: CALL SEARCH ; POROVNEJ JMENO
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-10
600 0F5E FE 38 CPI 38H
601 0F60 C2 0F68 JNZ CMPN1
602 0F63 3E 3C MVI A,3CH ; KONEC SOUBORU
603 0F65 C3 128E JMP ERREND
604 0F68 3A 4159 CMPN1: LDA BIN-1
605 0F6B FE 3A CPI CAN
606 0F6D CA 0F58 JZ CMPNM-3 ; VYPIS VOLUME JMENO
607 ; PRO ZAPIS
608 0F70 C5 CPF10: PUSH B ; <C> - CISLO SOUBORU
609 0F71 01 4144 LXI B,FNAME
610 0F74 21 4159 LXI H,BIN-1
611 0F77 1E 0B MVI E,NAMLE
612 0F79 CD 0F84 CALL TESTJM
613 0F7C C1 POP B
614 0F7D C8 RZ ; OK - NASEL
615 0F7E CD 1567 CALL SKIP
616 0F81 C3 0F5B JMP CMPNM ; DALSI JMENO
617
618 0F84 23 TESTJM: INX H ; JMENO
619 0F85 0A LDAX B
620 0F86 FE 2A CPI '*'
621 0F88 CA 141A JZ JMENO?
622 0F8B CD 1412 CALL @ANAL
623 0F8E CA 0F98 JZ VYPISH
624 0F91 BE CMP M
625 0F92 C0 RNZ
626 0F93 03 INX B
627 0F94 1D DCR E
628 0F95 C2 0F84 JNZ TESTJM
629
630
631 ; VYPIS HLAVICKU
632
633 0F98 C5 VYPISH: PUSH B
634 0F99 D5 PUSH D
635 0F9A CD 0FAD CALL PHDR
636 0F9D D1 VYP1: POP D
637 0F9E C1 POP B
638 0F9F AF XRA A
639 0FA0 C9 RET
640
641
642 0FA1 CD 1520 SEARCH: CALL SCVPC ; NALEZENI SOUBORU
643 0FA4 CD 1582 CALL HLDMM ; NA PASCE A TEST
644 0FA7 CD 1048 CALL READBL
645 0FAA C3 150B JMP STOP
646
647
648 ; TISK HLAVICKY SOUBORU
649
650 0FAD CD 0124 PHDR: CALL CRLF
651 0FB0 21 415A PHDR1: LXI H,BIN
652 0FB3 16 40 MVI D,COMLE
653 0FB5 C3 0142 JMP TEXT
654
655 0FB8 C5 PDIR: PUSH B
656 0FB9 79 MOV A,C
657 0FBA CD 0FE5 CALL DBTV2
658 0FBD CD 0FB0 CALL PHDR1
659 0FC0 CD 013C CALL SPACE
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-11
660 0FC3 C1 POP B
661 0FC4 C9 RET
662
663
664 ; VYPIS NA CO PRO IDENTIFIKACI BLOKU
665
666 0FC5 21 4264 PNAME: LXI H,READNM ; VYPIS "E" ZNAKU Z POLE
667 0FC8 7E PNAM1: MOV A,M ; READNM NA CO
668 0FC9 FE 1F CPI 1FH
669 0FCB D2 0FD0 JNC PNAM2
670 0FCE C6 40 ADI 40H ; KOD SAPI-1 NA ASCII
671 0FD0 4F PNAM2: MOV C,A
672 0FD1 CD 0109 CALL CO
673 0FD4 23 INX H
674 0FD5 1D DCR E
675 0FD6 C2 0FC8 JNZ PNAM1
676 0FD9 C9 RET
677
678
679 0FDA CD 0124 DBTCR: CALL CRLF
680 0FDD 7A DBTV: MOV A,D
681 0FDE CD 0133 CALL DBYT
682 0FE1 CD 013C DBTV1: CALL SPACE
683 0FE4 78 MOV A,B
684 0FE5 CD 0133 DBTV2: CALL DBYT
685 0FE8 C3 013C JMP SPACE
686
687
688 0FEB 2A 427A OBNOV: LHLD POSICE ; VRACENI OKNA
689 0FEE CD 0151 CALL TXIMM
690 0FF1 9B DB 9BH ; ESC
691 0FF2 4D MOV C,L
692 0FF3 CD 0109 CALL CO
693 0FF6 4C MOV C,H
694 0FF7 CD 0109 CALL CO
695 0FFA 3A 427C LDA MOD@
696 0FFD 32 40E3 STA MODE
697 1000 C9 RET
698
699
700 1001 D5 OKNO: PUSH D ; NASTAVENI OKNA
701 1002 C5 PUSH B
702 1003 21 40E3 LXI H,MODE
703 1006 7E MOV A,M
704 1007 36 00 MVI M,0 ; ZRUS ^P
705 1009 32 427C STA MOD@
706 100C CD 0121 CALL SPCL
707 100F 21 2020 LXI H,2020H
708 1012 19 DAD D
709 1013 22 427A SHLD POSICE
710 1016 CD 0151 CALL TXIMM
711 1019 9D DB HOME OR 80H
712 101A C1 POP B
713 101B D1 POP D
714 101C C9 RET
715
716
717 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
718
719 ; OPERACE SE SOUBORY
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-12
720
721 ;=======================================
722 ; CTI VSTUPNI BUFFER
723 ;=======================================
724
725 101D D5 RIB: PUSH D
726 101E C5 PUSH B
727 101F AF XRA A
728 1020 32 4158 STA FND ; FIND MOD
729 1023 CD 1048 CALL READBL
730 1026 B7 ORA A
731 1027 C2 1263 JNZ ERRD ; CHYBA CTENI BLOKU
732 102A CD 103E CALL NUFIL ; CISLA OK ?
733 102D C2 1263 JNZ ERRD
734 1030 22 4152 RIB1: SHLD BNI
735 1033 C1 POP B
736 1034 D1 POP D
737 1035 3A 4159 RIB2: LDA BIN-1 ; TYP BLOKU
738 1038 FE 3A CPI CAN ; NAZEV PASKY
739 103A C8 RZ
740 103B FE 01 CPI SOH ; JMENO SOUBORU
741 103D C9 RET ; <A> = TYP BLOKU
742
743
744 103E 2A 4152 NUFIL: LHLD BNI
745 1041 23 INX H ; CISLO BLOKU
746 1042 79 MOV A,C
747 1043 BC CMP H ; OK?
748 1044 C0 RNZ
749 1045 78 MOV A,B
750 1046 BD CMP L ; CISLO SOUBORU ?
751 1047 C9 RET
752
753
754 ;=============================================
755 ; CTENI BLOKU VYSTUP: B -CISLO BLOKU CTENE
756 ; C -CISLO SOUBORU CTENE
757 ; A =0 - CTENI OK
758 ; A<>0 - CHYBA
759 ;=============================================
760
761 1048 CD 1093 READBL: CALL @READU ; CTENI UVODU BLOKU
762 104B B7 ORA A
763 104C C2 1068 JNZ KONBL1 ; PRO CHYBU
764 104F 21 4264 LXI H,READNM
765 1052 36 3A MVI M,':' ; VYHLEDAVANI
766 1054 3A 4158 LDA FND
767 1057 B7 ORA A
768 1058 C2 1062 JNZ KONBL0
769 105B 36 2A MVI M,'*'
770 105D 79 MOV A,C
771 105E 3D DCR A
772 105F 32 427F STA DEBL ; DELKA BLOKU
773 1062 23 KONBL0: INX H
774 1063 36 22 MVI M,'"'
775 1065 CD 1335 CALL CTBLD ; CTENI BLOKU DAT
776
777 1068 F5 KONBL1: PUSH PSW ; <A> = CHYBA
778 1069 3A 4159 LDA BIN-1
779 106C FE 42 CPI 'B'
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-13
780 106E CA 1078 JZ KONBL2 ; NENI STOP
781 1071 3A 4158 LDA FND
782 1074 B7 ORA A
783 1075 CC 150B CZ STOP
784 1078 CD 1001 KONBL2: CALL OKNO
785 107B 1E 0F MVI E,15
786 107D 7B MOV A,E
787 107E 32 4158 STA FND ; NE FIND MOD
788 1081 CD 0FC5 CALL PNAME ; VYPIS JMENA
789 1084 CD 0FDD CALL DBTV
790 1087 CD 0FEB CALL OBNOV
791 108A 21 4159 LXI H,BIN-1
792 108D 22 4156 SHLD ADRI
793 1090 F1 POP PSW
794 1091 4A MOV C,D ; CISLO SOUBORU
795 1092 C9 RET ; A=0 PRO OK
796 ; A<>0 PRO CHYBU
797
798 ;==============================================
799 ; CTENI UVODU BLOKU
800 ; VYSTUP: B - CISLO BLOKU CTENE
801 ; C - DELKA BLOKU
802 ; D - CISLO SOUBORU CTENE
803 ; NEBO VIZ TEKP
804 ;===========================================
805
806 1093 CD 1520 @READU: CALL SCVPC
807 1096 CD 15C4 CALL HLKMM
808 1099 C0 RNZ ; PRO CHYBU (A=31)
809 109A CD 151B CALL SCVP
810 109D CD 12DE CALL CTTV
811 10A0 FE 36 CPI 36H
812 10A2 CA 128E JZ ERREND ; KONEC PASKY
813 10A5 4F MOV C,A
814 10A6 B7 ORA A
815 10A7 3E 38 MVI A,38H
816 10A9 C8 RZ ; PRO KONEC SOUBORU
817 10AA 79 MOV A,C
818 10AB FE FB CPI UVOD
819 10AD C0 RNZ ; NENI SYNCHRONIZACE
820 10AE CD 131B CALL CTOZN
821 10B1 C0 RNZ ; PRO CHYBU CTENI ONACENI
822 10B2 AF XRA A ; BLOKU (A=34)
823 10B3 C9 RET ; PRO CTOZN OK
824
825
826 ;==============================================
827 ; ZAPIS VYSTUPNI BUFFER
828 ;==============================================
829
830 10B4 3A 427F WOB: LDA DEBL ; DELKA BLOKU
831 10B7 4F MOV C,A
832 10B8 0C INR C ; + TYP BLOKU
833 10B9 2A 4150 WOB1: LHLD BNO
834 10BC 23 INX H
835 10BD 22 4150 SHLD BNO
836 10C0 45 MOV B,L ; CISLO BLOKU
837 10C1 54 MOV D,H ; CISLO SOUBORU
838 10C2 C5 PUSH B
839 10C3 CD 1001 CALL OKNO
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-14
840 10C6 CD 0FE1 CALL DBTV1 ; CISLO BLOKU NA CO
841 10C9 CD 0FEB CALL OBNOV
842 10CC C1 POP B
843
844 ;==============================================
845 ; ZAPIS BLOKU VSTUP: B -CISLO BLOKU
846 ; C -DELKA BLOKU
847 ; D -CISLO SOUBORU
848 ; VYSTUP: B -CISLO BLOKU
849 ;==============================================
850
851 10CD CD 158F @WBLOK: CALL ZAKMM
852 10D0 C2 128E JNZ ERREND ; PRO NEPOVOLENY ZAPIS
853 10D3 CD 149F CALL ZAOZN
854 10D6 CD 1392 CALL ZABLD
855 10D9 CD 14CF CALL TEKP
856 10DC C2 128E JNZ ERREND ; PRO CHYBU
857 10DF 3A 4159 LDA BOUT-1
858 10E2 FE 04 CPI EOT ; BYL POSLEDNI BLOK?
859 10E4 CA 10EC JZ ZAKS ; ANO=KONEC
860 10E7 FE 3A CPI CAN
861 10E9 C2 10FF JNZ NULBF
862 10EC CD 158F ZAKS: CALL ZAKMM ; ZAPIS KONEC SOUBORU
863 10EF CD 14C1 CALL ZAKBL ; EM
864 10F2 CD 15AB ZAKS1: CALL ZADMM ; DMM ZA SOUBOREM
865 10F5 CD 14CF CALL TEKP
866 10F8 C0 RNZ
867 10F9 CD 14C1 ZAKS2: CALL ZAKBL ; EM
868 10FC CD 158F CALL ZAKMM
869
870 ; NULUJ VYSTUPNI BUFFER
871
872 10FF 21 4159 NULBF: LXI H,BOUT-1
873 1102 22 4154 SHLD ADRO
874 1105 E5 PUSH H
875 1106 3E FF MVI A,LENGHT
876 1108 23 INX H
877 1109 36 00 MVI M,0
878 110B 3D DCR A
879 110C C2 1108 JNZ $-4
880 110F E1 POP H ; (BLOK TYP) ADR
881 1110 7E MOV A,M
882 1111 FE 42 CPI 'B'
883 1113 C4 150B CNZ STOP
884 1116 AF XRA A ; OK
885 1117 C9 RET
886
887
888 ;==============================
889 ; CTI BYTE Z KAZETY
890 ;==============================
891
892 1118 C5 GET@: PUSH B
893 1119 D5 PUSH D
894 111A E5 PUSH H
895 111B 3A 40E4 LDA @IF1 ; BYL OTEVREN SOUBOR?
896 111E B7 ORA A
897 111F CC 0DAF CZ FIND ; KDYZ NE, TAK FIND
898 1122 CD 1174 GET0: CALL BUFEND
899 1125 EB XCHG ; DE = BEIND-1
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-15
900 1126 2A 4156 LHLD ADRI
901 1129 CD 0136 CALL HILO
902 112C 7E MOV A,M
903 112D 22 4156 SHLD ADRI
904 1130 DA 1162 JC GET1 ; <A>..BYTE
905 1133 FE 1A CPI SUBS ; EOF? TEST
906 1135 C2 115D JNZ GETEX ; -
907 1138 4F MOV C,A
908 1139 CD 116E CALL KONEC?
909 113C 79 GET00: MOV A,C ; POSLEDNI BLOK
910 113D C2 115D JNZ GETEX ; -
911 1140 45 MOV B,L ; ADR ZNAKU SUBS
912 1141 CD 1174 CALL BUFEND ; HLEDEJ OD KONCE
913 1144 2B GET01: DCX H
914 1145 BE CMP M ; JE SUBS
915 1146 C2 1144 JNZ GET01 ; -
916 1149 7D MOV A,L
917 114A 93 SUB E ; STEJNY ADR?
918 114B C2 113C JNZ GET00 ; - NENI KONEC
919
920 114E AF GET2: XRA A
921 114F 32 40E4 STA @IF1 ; UZAVRI SOUBOR
922 1152 2F CMA
923 1153 32 427F STA DEBL ; DELKA BLOKU 255 B
924 1156 CD 1561 CALL @SKIP ; ZA EM
925 1159 3E 1A MVI A,SUBS
926 115B 37 STC
927 115C 06 DB 6
928 115D B7 GETEX: ORA A
929 115E E1 POP H
930 115F D1 POP D
931 1160 C1 POP B
932 1161 C9 RET
933
934 1162 CD 116E GET1: CALL KONEC?
935 1165 C4 101D CNZ RIB
936 1168 C2 1122 JNZ GET0 ; KONEC SOUBORU
937 116B C3 114E JMP GET2
938
939 116E 3A 4159 KONEC?: LDA BIN-1 ; POSLEDNI BLOK?
940 1171 FE 04 CPI EOT
941 1173 C9 RET ; ZY=1...ANO
942
943 1174 3A 427F BUFEND: LDA DEBL ; VYPOCTI KONEC BLOKU
944 1177 5F MOV E,A ; V BUFFRU
945 1178 21 4159 LXI H,BIN-1
946 117B 16 00 MVI D,0
947 117D 19 DAD D
948 117E C9 RET
949
950
951 ;===============================
952 ; ZAPIS BYTE NA KAZETU
953 ;===============================
954
955 117F CD 11A9 PUT@: CALL PUTEND ; JE ^Z ?
956 1182 DA 0E90 JC CLOSE0
957 1185 C5 PUSH B
958 1186 D5 PUSH D
959 1187 E5 PUSH H
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-16
960 1188 3A 40E6 LDA @OF1 ; BYL OTEVREN?
961 118B B7 ORA A
962 118C C5 PUSH B
963 118D CC 0D44 CZ OPEN ; KDYZ NE, TAK OPEN
964 1190 C1 POP B
965 1191 CD 1174 CALL BUFEND ; DE = BOUT-1
966 1194 EB XCHG
967 1195 2A 4154 LHLD ADRO
968 1198 23 INX H
969 1199 71 MOV M,C
970 119A 22 4154 SHLD ADRO
971 119D CD 0136 CALL HILO
972 11A0 DC 10B4 CC WOB
973 11A3 E1 POP H
974 11A4 D1 POP D
975 11A5 C1 POP B
976 11A6 79 MOV A,C
977 11A7 B7 ORA A ; NCY
978 11A8 C9 RET
979
980 11A9 3A 4159 PUTEND: LDA BOUT-1
981 11AC FE 42 CPI 'B'
982 11AE C8 RZ
983 11AF 3A 40E3 LDA MODE
984 11B2 E6 02 ANI 2
985 11B4 EE 02 XRI 2
986 11B6 C8 RZ
987 11B7 79 MOV A,C
988 11B8 FE 1A CPI SUBS
989 11BA 37 STC
990 11BB C8 RZ
991 11BC B7 ORA A
992 11BD C9 RET
993
994
995 ;===============================
996 ; ZKONTROLUJ JEDEN SOUBOR
997 ;===============================
998
999 11BE CD 0124 VRF1: CALL CRLF
1000 11C1 CD 0FA1 CALL SEARCH
1001 11C4 F5 PUSH PSW ; <A> = CHYBA
1002 11C5 79 MOV A,C
1003 11C6 32 4153 STA BTI ; CISLO SOUBORU
1004 11C9 AF XRA A
1005 11CA 32 4152 STA BNI ; CISLO BLOKU
1006 11CD CD 0FB8 CALL PDIR ; CISLO SOUBORU A HLAVICKA
1007 11D0 F1 POP PSW ; NA CO
1008 11D1 B7 VRF2: ORA A
1009 11D2 CA 11E9 JZ VRF4 ; OK
1010 11D5 FE 38 CPI 38H
1011 11D7 C2 11E2 JNZ VRF3 ; BYLA EM
1012 11DA 3A 4159 LDA BIN-1
1013 11DD FE 3A CPI CAN
1014 11DF CA 150B JZ STOP ; OK
1015 11E2 C5 VRF3: PUSH B ; CISLO BLOKU
1016 11E3 0E 23 MVI C,'#'
1017 11E5 CD 0109 CALL CO
1018 11E8 C1 POP B
1019 11E9 CD 103E VRF4: CALL NUFIL
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-17
1020 11EC 0E 25 MVI C,'%'
1021 11EE 22 4152 SHLD BNI ; ULOZ CISLA
1022 11F1 C4 0109 CNZ CO ; PRO CHYBU CISEL
1023 11F4 3A 4159 LDA BIN-1
1024 11F7 FE 04 CPI EOT
1025 11F9 CA 150B JZ STOP ; KONEC SOUBORU
1026 11FC CD 1048 CALL READBL
1027 11FF C3 11D1 JMP VRF2
1028
1029
1030 ;===============================
1031 ; OSETRENI CHYBY
1032 ;===============================
1033
1034 1202 CD 150B ERRD0: CALL STOP
1035 1205 CD 0124 CALL CRLF
1036 1208 2A 4152 LHLD BNI
1037 120B 23 INX H
1038 120C EB XCHG ; CISLO SOUBORU
1039 120D 43 MOV B,E ; A BLOKU NA CO
1040 120E CD 0FDA CALL DBTCR
1041 1211 CD 0151 CALL TXIMM
1042 1214 0D 0A 07 DB CR,LF,7
1043 1217 43 48 59 42 DC 'CHYBA CTENI: I/D/N/A=ZNOVA ?'
1044 121B 41 20 43 54
1045 121F 45 4E 49 3A
1046 1223 20 49 2F 44
1047 1227 2F 4E 2F 41
1048 122B 3D 5A 4E 4F
1049 122F 56 41 20 BF
1050 1233 CD 1480 CALL ECHO
1051 1236 EB XCHG ; CISLO SOUBORU A BLOKU
1052 1237 FE 4E CPI 'N' ; PRO "N"
1053 1239 CA 1030 JZ RIB1
1054 123C FE 49 CPI 'I'
1055 123E C2 124E JNZ ERRD1
1056 1241 3A 4153 LDA BTI
1057 1244 3C INR A
1058 1245 32 4153 STA BTI ; ZVYS CISLO SOUBORU
1059 1248 CD 1567 CALL SKIP
1060 124B C3 1269 JMP ERRD7
1061 124E FE 44 ERRD1: CPI 'D'
1062 1250 C2 1266 JNZ ERRD3
1063 1253 3A 4153 LDA BTI
1064 1256 3D DCR A ; SNIZ CISLO SOUBORU
1065 1257 32 4153 STA BTI
1066 125A CD 1579 CALL BACK
1067 125D CD 1579 CALL BACK
1068 1260 C3 1269 JMP ERRD7
1069 1263 CD 150B ERRD: CALL STOP ; PRO 1. CHYBU - "A"
1070 1266 CD 1280 ERRD3: CALL BLOK4
1071 1269 AF ERRD7: XRA A
1072 126A 32 4158 STA FND ; FIND MOD
1073 126D CD 1048 CALL READBL
1074 1270 B7 ORA A
1075 1271 C2 1269 JNZ ERRD7
1076 1274 CD 103E CALL NUFIL ; NASEL ?
1077 1277 CA 1030 JZ RIB1 ; ANO - OK
1078 127A D2 1202 JNC ERRD0 ; PREJEL
1079 127D C3 1269 JMP ERRD7
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-18
1080
1081 1280 C5 BLOK4: PUSH B ; ZPET O 4 BLOKY
1082 1281 06 04 MVI B,4
1083 1283 CD 15BE BL41: CALL BLOK2
1084 1286 05 DCR B
1085 1287 C2 1283 JNZ BL41
1086 128A C1 POP B
1087 128B C9 RET
1088
1089
1090 ; ZASTAV A OHLAS CHYBU
1091
1092 128C 3E 32 ERSTP: MVI A,32H ; CHYBA SOUCTU
1093 128E F5 ERREND: PUSH PSW
1094 128F CD 0124 CALL CRLF
1095 1292 CD 0151 CALL TXIMM
1096 1295 43 48 59 42 DC 'CHYBA - '
1097 1299 41 20 2D A0
1098 129D F1 POP PSW
1099 129E E6 0F ANI 0FH ; TYP CHYBY
1100 12A0 5F MOV E,A
1101 12A1 CD 150B CALL STOP
1102 12A4 16 00 MVI D,0
1103 12A6 21 1684 LXI H,TXERR
1104 12A9 19 DAD D
1105 12AA CD 12B0 CALL @TEXT
1106 12AD C3 0139 JMP NEXT
1107
1108 12B0 5E @TEXT: MOV E,M
1109 12B1 23 INX H
1110 12B2 56 MOV D,M
1111 12B3 EB XCHG
1112 12B4 56 MOV D,M
1113 12B5 23 INX H
1114 12B6 C3 0142 JMP TEXT
1115
1116
1117 12B9 48 CHECK: MOV C,B ; KONTROLNI SOUCET ?
1118 12BA CD 12C8 CALL RICH
1119 12BD B9 CMP C
1120 12BE C8 RZ
1121
1122 12BF CD 12C8 RADR@: CALL RICH
1123 12C2 6F MOV L,A
1124 12C3 CD 12C8 CALL RICH ; HL
1125 12C6 67 MOV H,A
1126 12C7 C9 RET
1127
1128 12C8 CD 0106 RICH: CALL RI ; CTENI & SUMA
1129 12CB DA 128C JC ERSTP
1130 12CE F5 PUSH PSW
1131 12CF 80 ADD B
1132 12D0 47 MOV B,A
1133 12D1 F1 POP PSW
1134 12D2 C9 RET
1135
1136 12D3 4D PADR@: MOV C,L
1137 12D4 CD 12D8 CALL POCH
1138 12D7 4C MOV C,H
1139
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-19
1140 12D8 79 POCH: MOV A,C ; ZAPIS & SUMA
1141 12D9 80 ADD B
1142 12DA 47 MOV B,A
1143 12DB C3 010C JMP PO
1144
1145
1146 ;=======================================
1147 ; CTENI TYPU ZAZNAMU
1148 ; VYSTUP: A = 00 - PRO EM
1149 ; FB - PRO DATOVY BLOK
1150 ; NEBO VIZ TEKP
1151 ;=======================================
1152
1153 12DE C5 CTTV: PUSH B
1154 12DF D5 PUSH D
1155 12E0 11 5000 LXI D,5000H ; TIME OUT
1156 12E3 C3 12FF JMP CTTV2
1157 12E6 3E 05 CTTV0: MVI A,5
1158 12E8 3D DCR A
1159 12E9 C2 12E8 JNZ $-1
1160 12EC 0E 10 MVI C,10H
1161 12EE 0D CTTV1: DCR C
1162 12EF C2 1302 JNZ CTTV3
1163 12F2 1B DCX D
1164 12F3 7A MOV A,D
1165 12F4 B3 ORA E
1166 12F5 C2 12FF JNZ CTTV2
1167 12F8 D1 POP D
1168 12F9 C1 POP B
1169 12FA 3E 38 MVI A,38H
1170 12FC C3 128E JMP ERREND ; KONEC PRO TIME OUT
1171 12FF 01 0110 CTTV2: LXI B,0110H
1172 1302 DB 31 CTTV3: IN KZDIN
1173 1304 E6 F0 ANI 0F0H
1174 1306 CA 12EE JZ CTTV1
1175 1309 17 RAL
1176 130A 78 MOV A,B
1177 130B 17 RAL
1178 130C 47 MOV B,A
1179 130D D2 12E6 JNC CTTV0
1180 1310 DB 31 IN KZDIN
1181 1312 E6 30 ANI 30H ; TEST PRETIZENI MOTORKU
1182 1314 78 MOV A,B
1183 1315 D1 POP D
1184 1316 C1 POP B
1185 1317 C8 RZ ; OK
1186 1318 3E 36 MVI A,36H ; PRO CHYBU
1187 131A C9 RET
1188
1189
1190 ;==============================================
1191 ; CTENI OZNACENI BLOKU
1192 ; VYSTUP: B - CISLO BLOKU
1193 ; C - DELKA BLOKU
1194 ; D - CISLO SOUBORU
1195 ; NEBO NZ - CHYBA CTENI OZNACENI BLOKU
1196 ; A - CHYBA 2
1197 ; NEBO VIZ TEKP
1198 ;==============================================
1199
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-20
1200 131B E5 CTOZN: PUSH H
1201 131C CD 136C CALL CTIBYT
1202 131F 47 MOV B,A ; CISLO BLOKU
1203 1320 CD 136C CALL CTIBYT
1204 1323 4F MOV C,A ; DELKA BLOKU
1205 1324 CD 136C CALL CTIBYT
1206 1327 57 MOV D,A ; CISLO SOUBORU
1207 1328 CD 136C CALL CTIBYT ; KONTROLNI SOUCET OZNACENI
1208 132B 82 ADD D ; BLOKU
1209 132C 81 ADD C
1210 132D 80 ADD B ; MUSI BYT 0, JINAK CHYBA
1211 132E E1 POP H
1212 132F 3E 34 MVI A,34H
1213 1331 C0 RNZ ; NAVRAT PRO CHYBNY SOUCET
1214 1332 C3 14CF JMP TEKP ; PRO OK TEST KONCE PASKY
1215 ; POKUD NENI, JE VSE OK
1216
1217
1218 ;====================================
1219 ; CTENI BLOKU DAT
1220 ; VSTUP: C - DELKA BLOKU
1221 ; VYSTUP: NZ - CHYBA CTENI DAT
1222 ; A - CHYBA 2
1223 ; NEBO VIZ TEKP
1224 ;====================================
1225
1226 1335 D5 CTBLD: PUSH D
1227 1336 C5 PUSH B
1228 1337 11 4159 LXI D,BIN-1 ; DATA DO VSTUP. BUFFRU
1229 133A 21 0000 LXI H,0 ; PRO VYPOCET CRC
1230 133D CD 136C CTBLD1: CALL CTIBYT
1231 1340 12 STAX D ; ULOZENI DAT DO PAMETI
1232 1341 13 INX D
1233 1342 0D DCR C
1234 1343 C2 133D JNZ CTBLD1
1235 1346 CD 136C CTBLD2: CALL CTIBYT ; NACTENI KONTROLNI SUMY
1236 1349 CD 136C CALL CTIBYT ; DO HL
1237 134C 7C MOV A,H
1238 134D B5 ORA L ; PRO OK MUSI BYT 0
1239 134E 3E 32 MVI A,32H
1240 1350 F5 PUSH PSW ; "Z" A CHYBU
1241 1351 11 4266 LXI D,READNM+2
1242 1354 06 0B MVI B,NAMLE
1243 1356 CD 136C CTBLD3: CALL CTIBYT ; CTENI JMENA
1244 1359 12 STAX D ; NA CO
1245 135A 13 INX D
1246 135B 05 DCR B
1247 135C C2 1356 JNZ CTBLD3
1248 135F EB XCHG
1249 1360 36 22 MVI M,'"'
1250 1362 23 INX H
1251 1363 36 20 MVI M,' '
1252 1365 F1 POP PSW
1253 1366 C1 POP B
1254 1367 D1 POP D
1255 1368 C0 RNZ ; PRO CHYBU KONTROL. SOUCTU
1256 1369 C3 14CF JMP TEKP ; PRO OK KONTROLA KONCE
1257 ; PASKY
1258
1259 ;====================================
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-21
1260 ; NACTENI 1 BYTE Z PASKY
1261 ; VSTUP: HL - PREDCHOZI CRC
1262 ; VYSTUP: A - PRECTENY BYTE
1263 ; HL - CRC
1264 ;====================================
1265
1266 136C C5 CTIBYT: PUSH B
1267 136D 06 01 MVI B,01 ; POCITADLO BITU
1268 136F DB 31 CTIBY1: IN KZDIN
1269 1371 E6 F0 ANI 0F0H
1270 1373 CA 136F JZ CTIBY1
1271 1376 DB 31 IN KZDIN
1272 1378 E6 F0 ANI 0F0H
1273 137A CA 136F JZ CTIBY1 ; PRO RUSENI
1274 137D 17 RAL
1275 137E F5 PUSH PSW ; VYPOCET CRC
1276 137F 9F SBB A
1277 1380 29 DAD H ; PREDCHOZI CRC
1278 1381 8F ADC A
1279 1382 3E 07 MVI A,7
1280 1384 EA 1389 JPE $+5
1281 1387 AD XRA L
1282 1388 6F MOV L,A
1283 1389 F1 POP PSW ; KONEC VYPOCTU CRC
1284 138A 78 MOV A,B
1285 138B 17 RAL ; CYKLUS PRO 8 BITU
1286 138C 47 MOV B,A
1287 138D D2 136F JNC CTIBY1
1288 1390 C1 POP B
1289 1391 C9 RET
1290
1291
1292 ;====================================
1293 ; ZAPIS BLOKU DAT = "C" BYTU DAT,
1294 ; 2 BYTY CRC, 11 BYTU JMENO,
1295 ; 2 BYTY ODDELOVACI <55H>
1296 ; VSTUP: C - DELKA DAT
1297 ;====================================
1298
1299 1392 C5 ZABLD: PUSH B
1300 1393 11 4159 LXI D,BOUT-1 ; DATA Z VYSTUP. BUFFERU
1301 1396 21 0000 LXI H,0 ; PRO VYPOCET CRC
1302 1399 1A ZABLD1: LDAX D
1303 139A CD 13BE CALL PISBYT ; ZAPIS VLASTNICH DAT
1304 139D 13 INX D
1305 139E 0D DCR C
1306 139F C2 1399 JNZ ZABLD1
1307 13A2 7C MOV A,H
1308 13A3 CD 13BE CALL PISBYT ; ZAPIS CRC ZNAKU
1309 13A6 7C MOV A,H
1310 13A7 CD 13BE CALL PISBYT
1311 13AA 11 4259 LXI D,WRNM
1312 13AD 06 0B MVI B,NAMLE ; Z WRNM
1313 13AF 1A ZABLD2: LDAX D
1314 13B0 CD 13BE CALL PISBYT ; ZAPIS JMENA
1315 13B3 13 INX D
1316 13B4 05 DCR B
1317 13B5 C2 13AF JNZ ZABLD2
1318 13B8 C1 POP B
1319 13B9 3E 55 PISODD: MVI A,55H
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-22
1320 13BB CD 13BE CALL PISBYT ; ZAPIS 16 BITU ODDELOVACICH
1321
1322
1323 ;======================================
1324 ; ZAPIS 1 BYTE NA PASKU
1325 ; VSTUP: A - BYTE DAT
1326 ; HL - PREDCHOZI CRC
1327 ; VYSTUP: HL - CRC
1328 ;======================================
1329
1330 13BE C5 PISBYT: PUSH B
1331 13BF 0E 80 MVI C,80H ; POCITADLO (MASKA) BITU
1332 13C1 47 MOV B,A ; DATA DO REG.B
1333 13C2 A1 ANA C ; VYBER BITU
1334 13C3 C6 FF ADI 0FFH ; BIT DO CARRY
1335 13C5 3E 5C MVI A,KONST1
1336 13C7 1F RAR
1337 13C8 D3 30 OUT KZDOUT ; VYSTUP DAT
1338 13CA F5 PUSH PSW
1339 13CB EE 20 XRI 20H
1340 13CD D3 30 OUT KZDOUT ; DATA PLATNA
1341
1342 13CF 17 RAL ; VYPOCET CRC
1343 13D0 9F SBB A
1344 13D1 29 DAD H
1345 13D2 8F ADC A
1346 13D3 3E 07 MVI A,7
1347 13D5 EA 13DA JPE $+5
1348 13D8 AD XRA L
1349 13D9 6F MOV L,A
1350 13DA 3E 02 MVI A,2
1351 13DC 3D DCR A
1352 13DD C2 13DC JNZ $-1
1353 13E0 F1 POP PSW ; KONEC VYP.CRC
1354
1355 13E1 D3 30 OUT KZDOUT ; VRACENI SIGN.D.P.
1356 13E3 3E 03 MVI A,3
1357 13E5 3D DCR A
1358 13E6 C2 13E5 JNZ $-1
1359 13E9 79 MOV A,C
1360 13EA 0F RRC ; NA DALSI BIT
1361 13EB 4F MOV C,A
1362 13EC 78 MOV A,B
1363 13ED D2 13C2 JNC PISBYT+4
1364 13F0 C1 POP B
1365 13F1 C9 RET
1366
1367
1368 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1369
1370 ; INSTALACE TERMINALU SM 7202
1371
1372 ORG EPROM+800H
1373
1374 1400 C3 1710 SERIO: JMP SINIT
1375 1403 C3 017B JMP SERI@
1376 1406 C3 172C JMP SCO
1377 1409 C3 0181 JMP SMST@
1378
1379 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-23
1380
1381
1382 ; JE EXTERNI JMENO '"' ?
1383
1384 140C 3A 4101 EXT?: LDA EXTEXT
1385 140F FE 22 CPI '"'
1386 1411 C9 RET
1387
1388
1389 ; ANALYZA ODDELOVACU
1390
1391 1412 FE 20 @ANAL: CPI ' '
1392 1414 C8 RZ
1393 1415 FE 0D ANAL: CPI CR
1394 1417 C8 RZ
1395 1418 B7 ORA A
1396 1419 C9 RET
1397
1398 141A CD 0F98 JMENO?: CALL VYPISH ; ANO / NE
1399 141D CD 0151 OK?: CALL TXIMM
1400 1420 2D 2D 28 41 DC '--(A/N)?'
1401 1424 2F 4E 29 BF
1402 1428 CD 148D CALL ECHOCR
1403 142B FE 41 CPI 'A'
1404 142D C8 RZ
1405 142E FE 59 CPI 'Y'
1406 1430 C9 RET
1407
1408 ;========================================
1409
1410 ; TEST NA IOBYTE (PO)
1411
1412 1431 3A 40E2 NPO: LDA IOBYT
1413 1434 0F RRC
1414 1435 0F RRC
1415 1436 0F NRI1: RRC
1416 1437 0F RRC
1417 1438 E6 03 ANI 3 ; ZARIZENI
1418 143A 3D DCR A ; MINUS .. SYSTEM
1419 143B 3D DCR A ; ZY.. USER=1
1420 143C C9 RET ; NZ.. USER=2
1421
1422 ; TEST NA IOBYTE (RI)
1423
1424 143D 3A 40E2 NRI: LDA IOBYT
1425 1440 C3 1436 JMP NRI1
1426
1427 ; NASTAV IOBYTE PODLE OPTION
1428
1429 1443 CD 1460 IOPO: CALL CISLO
1430 1446 D8 RC
1431 1447 07 RLC
1432 1448 07 RLC
1433 1449 0E CF IOPO1: MVI C,0CFH ; MASKA
1434 144B C3 1454 JMP ZMIO
1435
1436 144E CD 1460 IORI: CALL CISLO
1437 1451 D8 RC
1438 1452 0E F3 MVI C,0F3H ; MASKA
1439 1454 07 ZMIO: RLC
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-24
1440 1455 07 RLC
1441 1456 47 MOV B,A
1442 1457 3A 40E2 LDA IOBYT
1443 145A A1 ANA C
1444 145B B0 ORA B
1445 145C 32 40E2 STA IOBYT
1446 145F C9 RET
1447
1448 1460 D6 30 CISLO: SUI '0'
1449 1462 D8 RC ; CY=1..NENI
1450 1463 FE 03 CPI 3
1451 1465 3F CMC
1452 1466 D8 RC
1453 1467 3C INR A
1454 1468 C9 RET
1455
1456
1457 ; VYPIS TEXT
1458
1459 1469 CD 0151 TXNAM: CALL TXIMM
1460 146C 0D 0A DB CR,LF
1461 146E 20 4E 41 5A DC ' NAZEV:'
1462 1472 45 56 BA
1463 1475 C9 RET
1464
1465
1466 1476 CD 0112 BREAK: CALL CSTS
1467 1479 C8 RZ
1468 147A CD 0103 CALL CI
1469 147D C3 1484 JMP ETX?
1470
1471
1472 ; CTI A VYPIS ZNAK
1473
1474 1480 CD 013F ECHO: CALL CINCR
1475 1483 C8 RZ
1476 1484 FE 03 ETX?: CPI ETX
1477 1486 C0 RNZ
1478 1487 CD 0E40 CALL DIRSTP ; CLOSE & STOP
1479 148A C3 0139 JMP NEXT ; BREAK=>C
1480
1481
1482 148D CD 1480 ECHOCR: CALL ECHO
1483 1490 F5 PUSH PSW
1484 1491 CD 0124 CALL CRLF
1485 1494 F1 POP PSW
1486 1495 C9 RET
1487
1488
1489 1496 7E MOVE: MOV A,M ; PRESUN PAMETI
1490 1497 12 STAX D ; HL - ODKUD
1491 1498 23 INX H ; DE - KAM
1492 1499 13 INX D ; B - KOLIK
1493 149A 05 DCR B
1494 149B C2 1496 JNZ MOVE
1495 149E C9 RET
1496
1497 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1498
1499 ;====================================
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-25
1500 ; ZAPIS OZNACENI BLOKU - 0FFH, CISLO
1501 ; A DELKA BLOKU, CISLO SOUBORU,
1502 ; KONTROLNI SOUCET
1503 ; VSTUP: B - CISLO BLOKU
1504 ; C - DELKA BLOKU
1505 ; D - CISLO SOUBORU
1506 ;====================================
1507
1508 149F 3E FB ZAOZN: MVI A,UVOD ; UVOD BLOKU (0FBH)
1509 14A1 CD 13BE CALL PISBYT
1510 14A4 CD 14BA CALL ZAOZN1
1511 14A7 78 MOV A,B ; CISLO BLOKU
1512 14A8 CD 13BE CALL PISBYT
1513 14AB 79 MOV A,C ; DELKA BLOKU
1514 14AC CD 13BE CALL PISBYT
1515 14AF 7A MOV A,D
1516 14B0 CD 13BE CALL PISBYT ; CISLO SOUBORU
1517 14B3 81 ADD C
1518 14B4 80 ADD B
1519 14B5 2F CMA
1520 14B6 3C INR A
1521 14B7 CD 13BE CALL PISBYT ; KONTROLNI SOUCET
1522 14BA 3E 20 ZAOZN1: MVI A,32
1523 14BC 3D DCR A
1524 14BD C2 14BC JNZ $-1
1525 14C0 C9 RET
1526
1527
1528 ;====================================
1529 ; ZAPIS KONCOVYCH BLOKU (EM, FM)
1530 ; - 16 KRAT PISE <00H>
1531 ; VYSTUP: VIZ TEKP
1532 ;====================================
1533
1534 14C1 C5 ZAKBL: PUSH B
1535 14C2 E5 PUSH H
1536 14C3 06 10 MVI B,16
1537 14C5 AF ZAKB1: XRA A
1538 14C6 CD 13BE CALL PISBYT
1539 14C9 05 DCR B
1540 14CA C2 14C5 JNZ ZAKB1
1541 14CD E1 POP H
1542 14CE C1 POP B
1543
1544
1545 ;====================================
1546 ; TEST KONCE PASKY
1547 ; VYSTUP: NZ - MOTOREK PRETIZEN
1548 ; A - CHYBA 1
1549 ;====================================
1550
1551 14CF CD 1476 TEKP: CALL BREAK
1552 14D2 DB 31 IN KZDIN
1553 14D4 E6 30 ANI 30H ; TEST PRETIZENI
1554 14D6 3E 36 MVI A,36H ; OBOU MOTORKU
1555 14D8 C0 RNZ ; PRO CHYBU - NENALEZEN KONEC
1556 14D9 AF XRA A ; SOUBORU
1557 14DA C9 RET ; PRO OK - PASKA STOJI
1558
1559 ;====================================
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-26
1560 ; PREVINUTI KAZETY
1561 ; VSTUP: D=1 - NA ZACATEK
1562 ; D-0 - NA KONEC
1563 ; VYSTUP: VIZ TEKP
1564 ;====================================
1565
1566 14DB D5 REW3: PUSH D
1567 14DC 3E B3 MVI A,KPREVZ
1568 14DE 15 DCR D ; URCENI SMERU PREMOTANI
1569 14DF CA 14E4 JZ REW4
1570 14E2 3E BD MVI A,KSCRVP
1571 14E4 D3 30 REW4: OUT KZDOUT
1572 14E6 D1 POP D
1573 14E7 CD 14CF REW7: CALL TEKP
1574 14EA CA 14E7 JZ REW7
1575 14ED D5 REWIND: PUSH D
1576 14EE 3E BB MVI A,KSCVZC
1577 14F0 15 DCR D ; URCENI SMERU
1578 14F1 CA 14F6 JZ REW5
1579 14F4 3E BE MVI A,KSCVPC
1580 14F6 D3 30 REW5: OUT KZDOUT
1581 14F8 D1 POP D
1582 14F9 C5 PUSH B
1583 14FA 01 2EE0 LXI B,12000D
1584 14FD 0B REW1: DCX B
1585 14FE 78 MOV A,B
1586 14FF B1 ORA C
1587 1500 C2 14FD JNZ REW1
1588 1503 C1 POP B
1589 1504 CD 14CF CALL TEKP
1590 1507 CA 14DB JZ REW3
1591 150A AF XRA A
1592
1593
1594 ;===================================
1595 ; STOP POHYBU
1596 ;===================================
1597
1598 150B F5 STOP: PUSH PSW
1599 150C 3E FF MVI A,KSTPCT
1600 150E D3 30 OUT KZDOUT
1601 1510 F1 POP PSW
1602 1511 C9 RET
1603
1604
1605 ;==================================
1606 ; INICIALIZACE MHB 8255
1607 ;==================================
1608
1609 1512 3E 8B INITIO: MVI A,SETPPI
1610 1514 D3 33 OUT KZDCTR
1611 1516 3E 1F MVI A,SETOUT
1612 1518 D3 30 OUT KZDOUT
1613 151A C9 RET
1614
1615 ;==================================
1616 ; START CTENI VPRED
1617 ;==================================
1618
1619 151B 3E FE SCVP: MVI A,KSCVP
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-27
1620 151D D3 30 OUT KZDOUT
1621 151F C9 RET
1622
1623 ;==================================
1624 ; START CTENI VPRED (SNIZ.CITL.)
1625 ;==================================
1626
1627 1520 3E BE SCVPC: MVI A,KSCVPC
1628 1522 D3 30 OUT KZDOUT
1629 1524 C9 RET
1630
1631 ;==================================
1632 ; START CTENI VZAD (SNIZ.CITL.)
1633 ;==================================
1634
1635 1525 3E BB SCVZC: MVI A,KSCVZC
1636 1527 D3 30 OUT KZDOUT
1637 1529 C9 RET
1638
1639 ;==================================
1640 ; START CTENI RYCHLE VPRED
1641 ;==================================
1642
1643 152A 3E BD SCRVP: MVI A,KSCRVP
1644 152C D3 30 OUT KZDOUT
1645 152E C9 RET
1646
1647 ;==================================
1648 ; START CTENI RYCHLE VZAD
1649 ;==================================
1650
1651 152F 3E B7 SCRVZ: MVI A,KSCRVZ
1652 1531 D3 30 OUT KZDOUT
1653 1533 C9 RET
1654
1655 ;=======================================
1656 ; START ZAZNAMU VPRED
1657 ; VYSTUP: NZ - ZAZNAM NENI POVOLEN
1658 ; A - CHYBA 0
1659 ;=======================================
1660
1661 1534 3E AE SZAVP: MVI A,KSZAVP
1662 1536 D3 30 OUT KZDOUT
1663 1538 DB 31 IN KZDIN
1664 153A E6 08 ANI 08H
1665 153C 3E 30 MVI A,30H
1666 153E C9 RET
1667
1668
1669 ;===================================
1670 ; VYHLEDANI ZACATKU PASKY (ZN. BOT)
1671 ; VYSTUP: VIZ TEKP
1672 ;===================================
1673
1674 153F CD 1545 @BOT: CALL BOT
1675 1542 C3 150B JMP STOP
1676
1677 1545 16 01 BOT: MVI D,1 ; PREVINUTI NA ZACATEK
1678 1547 CD 14ED CALL REWIND
1679 154A CD 1520 CALL SCVPC
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-28
1680 154D CD 1582 CALL HLDMM
1681 1550 CD 1582 CALL HLDMM
1682 1553 C2 128E JNZ ERREND
1683 1556 C5 PUSH B
1684 1557 01 01F4 LXI B,500D
1685 155A CD 167A CALL HLBOT1
1686 155D C1 POP B
1687 155E C3 1582 JMP HLDMM
1688
1689
1690 ;===============================
1691 ; SKOK O 1 SOUBOR VPRED
1692 ; VYSTUP: VIZ TEKP
1693 ;===============================
1694
1695 1561 CD 1567 @SKIP: CALL SKIP
1696 1564 C3 150B JMP STOP
1697
1698 1567 CD 1520 SKIP: CALL SCVPC
1699 156A CD 12DE CALL CTTV
1700 156D CD 152A CALL SCRVP
1701 1570 C3 1582 JMP HLDMM ; NASTAVI NA KONEC SOUBORU
1702
1703
1704 ;===============================
1705 ; SKOK O 1 SOUBOR VZAD
1706 ; VYSTUP: VIZ TEKP
1707 ;===============================
1708
1709 1573 CD 1579 @BACK: CALL BACK
1710 1576 C3 150B JMP STOP
1711
1712 1579 CD 1525 BACK: CALL SCVZC
1713 157C CD 12DE CALL CTTV ; VYHLED.DAT VZAD
1714 157F CD 152F CALL SCRVZ ; RYCHLE VZAD
1715
1716
1717 ;==============================
1718 ; HLEDANI DLOUHE MEZIBL. MEZERY
1719 ; VYSTUP: VIZ TEKP
1720 ;==============================
1721
1722 1582 E5 HLDMM: PUSH H
1723 1583 21 2000 LXI H,2000H
1724 1586 CD 15D2 CALL HLMM2
1725 1589 C2 1583 JNZ HLDMM+1
1726 158C C3 15CE JMP HLMM1
1727
1728
1729 ;==============================
1730 ; ZAPIS KRATKE MEZIBL. MEZERY
1731 ; VYSTUP: VIZ SZAVP, TEKP
1732 ;==============================
1733
1734 158F C5 ZAKMM: PUSH B
1735 1590 01 0450 LXI B,450H
1736 1593 CD 1534 ZAMM2: CALL SZAVP
1737 1596 C2 15A6 JNZ ZAMM3 ; PRO NEPOVOLENY ZAZNAM
1738 1599 3E 0B ZAMM1: MVI A,11
1739 159B 3D DCR A
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-29
1740 159C C2 159B JNZ $-1
1741 159F 00 NOP
1742 15A0 0B DCX B
1743 15A1 79 MOV A,C
1744 15A2 B0 ORA B
1745 15A3 C2 1599 JNZ ZAMM1
1746 15A6 C1 ZAMM3: POP B
1747 15A7 C0 RNZ ; PRO NEPOVOLENY ZAZNAM
1748 15A8 C3 14CF JMP TEKP
1749
1750
1751 ;==============================
1752 ; ZAPIS DLOUHE MEZIBL. MEZERY
1753 ; VYSTUP: VIZ SZAVP, TEKP
1754 ;==============================
1755
1756 15AB C5 ZADMM: PUSH B
1757 15AC 01 2000 LXI B,2000H
1758 15AF C3 1593 JMP ZAMM2
1759
1760
1761 ;==============================
1762 ; SKOK O 1 BLOK VPRED
1763 ; VYSTUP: VIZ TEKP
1764 ;==============================
1765
1766 15B2 CD 15B8 @BLOK: CALL BLOK1
1767 15B5 C3 150B JMP STOP
1768
1769 15B8 CD 1520 BLOK1: CALL SCVPC
1770 15BB C3 15C1 JMP BLOK2+3
1771
1772
1773 ;==============================
1774 ; SKOK O 1 BLOK VZAD
1775 ; VYSTUP: VIZ TEKP
1776 ;==============================
1777
1778 15BE CD 1525 BLOK2: CALL SCVZC
1779 15C1 CD 12DE CALL CTTV
1780
1781
1782 ;==============================
1783 ; HLEDANI KRATKE MEZIBL.MEZERY
1784 ; VYSTUP: VIZ TEKP
1785 ;==============================
1786
1787 15C4 E5 HLKMM: PUSH H
1788 15C5 21 0200 LXI H,200H
1789 15C8 CD 15D2 CALL HLMM2
1790 15CB C2 15C5 JNZ HLKMM+1
1791 15CE E1 HLMM1: POP H
1792 15CF C3 14CF JMP TEKP
1793
1794 15D2 DB 31 HLMM2: IN KZDIN ; HLEDANI MEZERY
1795 15D4 E6 C0 ANI 0C0H ; V ZADANE DELCE
1796 15D6 C0 RNZ
1797 15D7 2B DCX H
1798 15D8 B4 ORA H
1799 15D9 B5 ORA L
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-30
1800 15DA C2 15D2 JNZ HLMM2
1801 15DD C9 RET ; PRO OK
1802
1803
1804 ;==============================
1805 ; VYHLEDANI KONCE VSECH ZAZNAMU
1806 ; VYSTUP: VIZ TEKP
1807 ;==============================
1808
1809 15DE AF EOR: XRA A ; = EOR
1810 15DF C3 15E7 JMP EOR0
1811 15E2 4F @EOR: MOV C,A ; C=0/"D" PRO EOR?DIR
1812 15E3 3A 4280 LDA JEVER
1813 15E6 B1 ORA C ; A="D" OR JEVER
1814 15E7 F5 EOR0: PUSH PSW ; A<>0 - DIR
1815 15E8 C4 1545 CNZ BOT
1816 15EB CD 0FA1 EOR2: CALL SEARCH ; CTENI BLOKU SE JMENEM
1817 15EE FE 38 CPI 38H ; TEST CTENI EM
1818 15F0 CA 162F JZ EOR3 ; CTENA EM
1819 15F3 79 MOV A,C
1820 15F4 32 4151 STA BTO ; CISLO SOUBORU PRO ZAPIS
1821 15F7 32 4153 STA BTI ; -"- PRO CTENI
1822 15FA F1 POP PSW
1823 15FB F5 PUSH PSW
1824 15FC CA 1611 JZ EOR4 ; NENI DIR
1825 15FF CD 0FB8 CALL PDIR
1826 1602 79 MOV A,C
1827 1603 B7 ORA A
1828 1604 CA 160E JZ EOR41 ; PRO NAZEV PASKY
1829 1607 F1 POP PSW
1830 1608 F5 PUSH PSW
1831 1609 FE 44 CPI 'D'
1832 160B C2 1617 JNZ EOR5 ; PRO VERIFIKACI
1833 160E CD 0124 EOR41: CALL CRLF
1834 1611 CD 1567 EOR4: CALL SKIP
1835 1614 C3 15EB JMP EOR2
1836 1617 AF EOR5: XRA A ; NENI CHYBA
1837 1618 32 4152 STA BNI ; CISLO BLOKU
1838 161B CD 11D1 CALL VRF2
1839 161E CD 0124 CALL CRLF
1840 1621 0E 2D MVI C,'-'
1841 1623 CD 0109 CALL CO
1842 1626 CD 0FE1 CALL DBTV1 ; CISLO BLOKU
1843 1629 CD 0124 CALL CRLF
1844 162C C3 15EB JMP EOR2
1845 162F F1 EOR3: POP PSW
1846 1630 CD 1525 EOR1: CALL SCVZC
1847 1633 CD 1582 CALL HLDMM
1848 1636 CD 15C4 CALL HLKMM
1849 1639 C2 128E JNZ ERREND
1850 163C C3 150B JMP STOP
1851
1852
1853 ;==============================
1854 ; FORMATOVANI (MAZANI) KAZETY
1855 ; VYSTUP: VIZ TEKP
1856 ;==============================
1857
1858 163F 16 01 FORM: MVI D,1 ; PREVIJENI VZAD, TEDY
1859 1641 CD 14ED CALL REWIND ; PREVINUTI NA ZACATEK
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-31
1860 1644 CD 1534 CALL SZAVP
1861 1647 C2 128E JNZ ERREND ; PRO ZAPIS NENI POVOLEN
1862 164A C5 PUSH B
1863 164B E5 PUSH H
1864 164C 01 2EE0 LXI B,12000D
1865 164F 3E 55 MVI A,55H
1866 1651 CD 13BE FORM1: CALL PISBYT
1867 1654 0B DCX B
1868 1655 78 MOV A,B
1869 1656 B1 ORA C
1870 1657 C2 1651 JNZ FORM1
1871 165A CD 152F CALL SCRVZ
1872 165D CD 1582 CALL HLDMM
1873 1660 CD 1582 CALL HLDMM ; PREVINUTI NA ZACATEK
1874 1663 CD 1520 CALL SCVPC
1875 1666 CD 1677 CALL HLBOT
1876 1669 E1 POP H
1877 166A C1 POP B
1878 166B 32 4103 STA NAMBUF ; A=0 (<>"@")
1879 166E CD 10F2 CALL ZAKS1 ; ZAPIS DMM, EM A KMM
1880 1671 C2 128E JNZ ERREND
1881 1674 C3 1630 JMP EOR1 ; NASTAVENI PRED EM
1882
1883 1677 01 044C HLBOT: LXI B,1100D
1884 167A CD 12DE HLBOT1: CALL CTTV
1885 167D 0B DCX B
1886 167E 78 MOV A,B
1887 167F B1 ORA C
1888 1680 C2 167A JNZ HLBOT1
1889 1683 C9 RET
1890
1891 ;-----------------------------------
1892
1893 ; TEXTY CHYBOVYCH HLASENI
1894
1895 1684 1692 TXERR: DW TXER0
1896 1686 16A6 DW TXER2
1897 1688 16B6 DW TXER4
1898 168A 16CB DW TXER6
1899 168C 16D7 DW TXER8
1900 168E 16EA DW TXERA
1901 1690 16FE DW TXERC
1902
1903 1692 13 TXER0: DB 19
1904 1693 5A 41 5A 4E DC 'ZAZNAM NENI POVOLEN'
1905 1697 41 4D 20 4E
1906 169B 45 4E 49 20
1907 169F 50 4F 56 4F
1908 16A3 4C 45 CE
1909 16A6 0F TXER2: DB 15
1910 16A7 43 48 59 42 DC 'CHYBA CTENI DAT'
1911 16AB 41 20 43 54
1912 16AF 45 4E 49 20
1913 16B3 44 41 D4
1914 16B6 14 TXER4: DB 20
1915 16B7 43 48 59 42 DC 'CHYBA OZNACENI BLOKU'
1916 16BB 41 20 4F 5A
1917 16BF 4E 41 43 45
1918 16C3 4E 49 20 42
1919 16C7 4C 4F 4B D5
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-32
1920 16CB 0B TXER6: DB 11
1921 16CC 4B 4F 4E 45 DC 'KONEC PASKY'
1922 16D0 43 20 50 41
1923 16D4 53 4B D9
1924 16D7 12 TXER8: DB 18
1925 16D8 4E 45 4E 49 DC 'NENI KONEC SOUBORU'
1926 16DC 20 4B 4F 4E
1927 16E0 45 43 20 53
1928 16E4 4F 55 42 4F
1929 16E8 52 D5
1930 16EA 13 TXERA: DB 19
1931 16EB 4E 45 4E 49 DC 'NENI BINARNI FORMAT'
1932 16EF 20 42 49 4E
1933 16F3 41 52 4E 49
1934 16F7 20 46 4F 52
1935 16FB 4D 41 D4
1936 16FE 11 TXERC: DB 17
1937 16FF 53 4F 55 42 DC 'SOUBOR NEEXISTUJE'
1938 1703 4F 52 20 4E
1939 1707 45 45 58 49
1940 170B 53 54 55 4A
1941 170F C5
1942
1943 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1944
1945 ; OBSLUHA TERMINALU SM 7202
1946
1947 ; INICIALIZACE SYSTEMU
1948 ; --------------------
1949
1950 1710 21 1403 SINIT: LXI H,SERIO+3
1951 1713 11 40C4 LXI D,CI@0
1952 1716 06 09 MVI B,9
1953 1718 CD 1496 CALL MOVE
1954 171B AF XRA A
1955 171C 32 4281 STA SEKV ; NENI ESC. SEKVENCE
1956 171F 3E 09 MVI A,9 ; TERM.+STOP MGF.
1957 1721 D3 10 SINI1: OUT UMODE
1958 1723 D3 13 OUT URES
1959 1725 3E 0D MVI A,PRENOS ; NASTAVENI PRENOSU
1960 1727 D3 11 OUT USTAT
1961 1729 DB 12 IN UDATA
1962 172B C9 RET
1963
1964
1965 ; SERIOVY VYSTUP
1966 ; --------------
1967
1968 172C 3A 4281 SCO: LDA SEKV
1969 172F B7 ORA A
1970 1730 C2 17AD JNZ SCO7 ; JE ESC. SEKVENCE
1971 1733 79 MOV A,C ; ANALYZA ZNAKU
1972 1734 FE 1B CPI ESC
1973 1736 CA 17A7 JZ SCO6 ; ZACINA ESC. SEKV.
1974 1739 FE 1D CPI HOME
1975 173B CA 1762 JZ SCO1
1976 173E FE 0A CPI LF
1977 1740 CA 176D JZ SCO3
1978 1743 FE 0B CPI VT
1979 1745 CA 176D JZ SCO3
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-33
1980 1748 FE 0D CPI CR
1981 174A CA 1766 JZ SCO2
1982 174D FE 09 CPI HT
1983 174F CA 177C JZ SCO4
1984 1752 FE 08 CPI BS
1985 1754 C2 1795 JNZ SCO5
1986 1757 3A 40E9 LDA COLUM ; "BS"
1987 175A B7 ORA A
1988 175B CA 017E JZ SERO@
1989 175E 3D DCR A
1990 175F C3 1767 JMP SCO21
1991 1762 AF SCO1: XRA A ; "HOME"
1992 1763 32 40E8 STA LINE
1993 1766 AF SCO2: XRA A ; "CR"
1994 1767 32 40E9 SCO21: STA COLUM
1995 176A C3 017E JMP SERO@
1996 176D 3A 40E8 SCO3: LDA LINE ; "LF" A "VT"
1997 1770 FE 18 CPI TLINE ; POCET RADKU
1998 1772 CA 017E JZ SERO@
1999 1775 3C INR A
2000 1776 32 40E8 STA LINE
2001 1779 C3 017E JMP SERO@
2002 177C C5 SCO4: PUSH B ; "HT"
2003 177D 3A 40E9 LDA COLUM
2004 1780 3C SCO41: INR A
2005 1781 FE 50 CPI TCOLUM ; POCET SLOUPCU
2006 1783 CA 1790 JZ SCO42
2007 1786 47 MOV B,A
2008 1787 E6 07 ANI 7
2009 1789 78 MOV A,B
2010 178A C2 1780 JNZ SCO41
2011 178D C3 1791 JMP SCO43 ; TABELACNI POZICE
2012 1790 3D SCO42: DCR A ; POSLEDNI SLOUPEC
2013 1791 C1 SCO43: POP B
2014 1792 C3 1767 JMP SCO21
2015 1795 79 SCO5: MOV A,C
2016 1796 FE 20 CPI 20H
2017 1798 D2 017E JNC SERO@ ; PRO RIDICI ZNAK
2018 179B 3A 40E9 LDA COLUM
2019 179E FE 4F CPI TCOLUM-1 ; POCET SLOUPCU
2020 17A0 CA 017E JZ SERO@
2021 17A3 3C INR A
2022 17A4 C3 1767 JMP SCO21
2023 17A7 32 4281 SCO6: STA SEKV ; NASTAVENI ESC. SEKV.
2024 17AA C3 017E JMP SERO@
2025 17AD E5 SCO7: PUSH H ; ESC. SEKVENCE
2026 17AE 3A 4281 LDA SEKV
2027 17B1 07 RLC
2028 17B2 DA 17BD JC SCO8 ; PRO 3.BYTE
2029 17B5 F6 80 ORI 80H
2030 17B7 21 40E8 LXI H,LINE
2031 17BA C3 17C1 JMP SCO9
2032 17BD AF SCO8: XRA A ; KONEC SEKVENCE
2033 17BE 21 40E9 LXI H,COLUM
2034 17C1 32 4281 SCO9: STA SEKV
2035 17C4 79 MOV A,C
2036 17C5 D6 20 SUI 20H
2037 17C7 DA 17CB JC SCO10 ; NENI ADRESACE KURZORU
2038 17CA 77 MOV M,A
2039 17CB E1 SCO10: POP H
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-34
2040 17CC C3 017E JMP SERO@
2041
2042
2043 17CF @E@KOS EQU $
2044
2045 ;
2046 ;*********************************************
2047 ; ROZDELENI S Y S T E M O V E R A M
2048 ;*********************************************
2049 ;
2050 4000 RST1 EQU @R@ ; RESTART VEKTORY
2051 ;........>>>
2052 ;......
2053 ;<<... UZIVATELSKY & MONITOR. ZASOBNIK
2054
2055
2056 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2057 .PHASE @R@+6DH
2058 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2059 ; MONITOR DATA
2060 ;
2061 406D MSTAK: DS 2
2062 406F ACSAV: DS 2
2063 4071 BCSAV: DS 2
2064 4073 DESAV: DS 2
2065 4075 HLSAV: DS 2
2066 4077 PCSAV: DS 2
2067 4079 SPSAV: DS 2
2068 ;
2069 407B BRAD: DS 2
2070 407D INSTR: DS 1
2071 407E BRAD2: DS 2
2072 4080 INST2: DS 1
2073 4081 CADR: DS 2 ; KURZOR ADR.
2074 ;-------------------------
2075 4083 WMKOD: DS 14 ; KOD PRO KURZORY
2076 4091 PREV: DS 21 ; PREVODNI KODY..0
2077 ;-------------------------
2078 ; USER I/O DEVICE
2079 ;
2080 40A6 CILOC: DS 3 ; 0
2081 40A9 COLOC: DS 3 ; 1
2082 40AC R1LOC: DS 3 ; 2
2083 40AF R2LOC: DS 3 ; 3
2084 40B2 P1LOC: DS 3 ; 4
2085 40B5 P2LOC: DS 3 ; 5
2086 40B8 LILOC: DS 3 ; 6
2087 40BB CSLOC: DS 3 ; 7
2088 40BE DS 1
2089 40BF MEMTOP: DS 2 ; 8
2090 40C1 ERRSW: DS 3 ; 9
2091 40C4 CI@0: DS 3 ; 10
2092 40C7 CO@: DS 3 ; 11
2093 40CA CSTS@: DS 3 ; 12
2094 40CD LO@: DS 3 ; 13
2095 40D0 KOS@: DS 3 ; 14
2096 40D3 RI@: DS 3 ; 15
2097 40D6 PO@: DS 3 ; 16
2098 40D9 CCPM: DS 3 ; 17
2099 40DC GRAF: DS 3
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-35
2100 40DF RESER: DS 3
2101 0015 IONUM EQU ($-CILOC)/3+1
2102 ;
2103 40E2 IOBYT: DS 1 ; RIZENI I/O ZARIZENI
2104 ;
2105 ;******************************
2106 ;<< EXTERNE OVLADANE FLAGY: >>
2107 ;******************************
2108 40E3 MODE: DS 1 ; CO-MODE
2109 40E4 @IF1: DS 1
2110 40E5 @IF2: DS 1
2111 40E6 @OF1: DS 1
2112 40E7 @OF2: DS 1
2113 40E8 LINE: DS 1 ; RADEK
2114 40E9 COLUM: DS 1 ; SLOUPEC
2115 40EA RESL: DS 1 ; RESERVACE
2116 40EB RESC: DS 1 ; SLOUPEC
2117 40EC RESL1: DS 1 ; POSLEDNI RADEK
2118 40ED RESC1: DS 1 ; POSLEDNI SLOUPEC
2119 40EE PRER: DS 1 ; UROVEN PRERUSENI
2120 ;
2121 ; PROMENNE PRO OPERACNI SYSTEM
2122 ;
2123 40EF CUR@: DS 1
2124 40F0 KEY: DS 1
2125 40F1 CAS: DS 1
2126
2127 40F2 WNDP: DS 6 ; PARAMETRY PRO 2.OKNO
2128 0015 EXSER EQU $-MODE ; KONEC SLUZEB
2129 ;
2130 40F8 CHAR: DS 1
2131 40F9 XFLG: DS 1
2132 ;
2133 ;**********************************
2134 ; DATA SPOLECNA PRO MONITOR A O.S.
2135 ;**********************************
2136 ;
2137 40FA @BT: DS 1
2138 40FB @PED: DS 1
2139 40FC SADR: DS 2 ; START ADR
2140 40FE EADR: DS 2 ; END ADR
2141 4100 SUM: DS 1
2142 4101 EXTEXT: DS 1
2143 4102 OPT: DS 1
2144 4103 NAMBUF: DS 65
2145 ;
2146 ;""""""""""""""""""""""""""""""""""
2147 ; PROMENNE PRO O.S.
2148 4144 FNAME: DS 12 ; JMENO SOUBORU
2149 4150 BNO: DS 1 ; CISLO BLOKU
2150 4151 BTO: DS 1 ; CISLO SOUBORU
2151 4152 BNI: DS 1 ;
2152 4153 BTI: DS 1 ; INPUT
2153 4154 ADRO: DS 2 ; ADR OUTPUT
2154 4156 ADRI: DS 2 ; ADR INPUT
2155 4158 FND: DS 1 ; FIND/READ
2156
2157 ;**********************************
2158 ; I/O BUFFER PRO KOS
2159 ;**********************************
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE 1-36
2160 4159 DS 1 ; TYP BLOKU
2161 415A BOUT:
2162 415A BIN: DS LENGHT ; DATA
2163 4259 BIEND EQU $
2164 4259 BOEND EQU $
2165 4259 WRNM: DS 11 ; JMENO SOUBORU
2166 4264 READNM: DS 22 ; BUFFER PRO ZOBRAZENI
2167 427A POSICE: DS 2 ; ZOBRAZENI BLOKU
2168 427C MOD@: DS 1
2169 ;
2170 427D TSP: DS 1 ; PRO SP-210
2171 427E JEDE?: DS 1 ; - " -
2172 ;
2173 427F DEBL: DS 1 ; DELKA BLOKU
2174 4280 JEVER: DS 1 ; 0 - NENI VERIFIKACE
2175 ;
2176 4281 SEKV: DS 1 ; 0 - NENI ESCAPE SEKV.
2177 4282 TSM: DS 1 ; 0 - JE TERMINAL
2178 ;
2179 .DEPHASE
2180 ;
2181 END ;
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE S
Macros:
Symbols:
1412 @ANAL 1573 @BACK 15B2 @BLOK
153F @BOT 40FA @BT 17CF @E@KOS
15E2 @EOR 40E4 @IF1 40E5 @IF2
40E6 @OF1 40E7 @OF2 40FB @PED
4000 @R@ 1093 @READU 1561 @SKIP
12B0 @TEXT 10CD @WBLOK 406F ACSAV
4156 ADRI 4154 ADRO 1415 ANAL
012D ASHEX 1579 BACK 4071 BCSAV
4259 BIEND 415A BIN 0D14 BINAR
1283 BL41 15B8 BLOK1 15BE BLOK2
1280 BLOK4 4152 BNI 4150 BNO
4259 BOEND 1545 BOT 415A BOUT
407B BRAD 407E BRAD2 1476 BREAK
0008 BS 4153 BTI 4151 BTO
1174 BUFEND 4081 CADR 003A CAN
40F1 CAS 40D9 CCPM 40F8 CHAR
12B9 CHECK 0103 CI 40C4 CI@0
40A6 CILOC 013F CINCR 1460 CISLO
0E87 CLOSE 0E90 CLOSE0 0EB9 CLOSE1
0E4B CLST2 0E36 CLSTP 0F68 CMPN1
0F5B CMPNM 0109 CO 40C7 CO@
40A9 COLOC 40E9 COLUM 0040 COMLE
0F70 CPF10 000D CR 0124 CRLF
40BB CSLOC 0112 CSTS 40CA CSTS@
1335 CTBLD 133D CTBLD1 1346 CTBLD2
1356 CTBLD3 136F CTIBY1 136C CTIBYT
131B CTOZN 12DE CTTV 12E6 CTTV0
12EE CTTV1 12FF CTTV2 1302 CTTV3
40EF CUR@ 0130 DADR 0FDA DBTCR
0FDD DBTV 0FE1 DBTV1 0FE5 DBTV2
0133 DBYT 427F DEBL 4073 DESAV
0E40 DIRSTP 40FE EADR 1480 ECHO
148D ECHOCR 15DE EOR 15E7 EOR0
1630 EOR1 15EB EOR2 162F EOR3
1611 EOR4 160E EOR41 1617 EOR5
0004 EOT 1800 EP3 0C00 EPROM
0000 ERAM 1263 ERRD 1202 ERRD0
124E ERRD1 1266 ERRD3 1269 ERRD7
128E ERREND 012A ERROR 40C1 ERRSW
128C ERSTP 001B ESC 0003 ETX
1484 ETX? 0127 EXPR 0015 EXSER
140C EXT? 4101 EXTEXT 0DAF FIND
0DCF FIND1 4144 FNAME 4158 FND
163F FORM 1651 FORM1 1122 GET0
113C GET00 1144 GET01 1162 GET1
114E GET2 1118 GET@ 115D GETEX
40DC GRAF 0136 HILO 1677 HLBOT
167A HLBOT1 1582 HLDMM 15C4 HLKMM
15CE HLMM1 15D2 HLMM2 4075 HLSAV
001D HOME 0009 HT 0148 HXASC
0F10 INIT 1512 INITIO 0C2A INITS
4080 INST2 407D INSTR 015D INTER
40E2 IOBYT 0115 IOCHK 011E IODEF
0015 IONUM 1443 IOPO 1449 IOPO1
144E IORI 0118 IOSET 427E JEDE?
4280 JEVER 141A JMENO? 40F0 KEY
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE S-1
1062 KONBL0 1068 KONBL1 1078 KONBL2
0D04 KONEC 116E KONEC? 005C KONST1
40D0 KOS@ 0C81 KOS@@ 00B3 KPREVZ
00BD KSCRVP 00B7 KSCRVZ 00FE KSCVP
00BE KSCVPC 00BB KSCVZC 00FF KSTPCT
00AF KSTPZA 00AE KSZAVP 0033 KZDCTR
0031 KZDIN 0030 KZDOUT 00FF LENGHT
000A LF 40B8 LILOC 40E8 LINE
0DE6 LO1 0E16 LO2 40CD LO@
0DE3 LOAD 002A MAXSL 40BF MEMTOP
0C92 MICOS 427C MOD@ 40E3 MODE
0000 MONIT 1496 MOVE 406D MSTAK
4103 NAMBUF 000B NAMLE 0139 NEXT
0D1A NOVYOT 1431 NPO 143D NRI
1436 NRI1 103E NUFIL 10FF NULBF
0EE2 NUM1 0EF1 NUM2 0EF7 NUM3
0F07 NUM4 0EBC NUMB 0ED4 NUMB@
0FEB OBNOV 141D OK? 1001 OKNO
0D62 OPE1 0D99 OPE2 0D78 OPE4
0D8A OPE5 0D44 OPEN 4102 OPT
40B2 P1LOC 40B5 P2LOC 12D3 PADR@
4077 PCSAV 0FB8 PDIR 0FAD PHDR
0FB0 PHDR1 13BE PISBYT 13B9 PISODD
0FC8 PNAM1 0FD0 PNAM2 0FC5 PNAME
010C PO 40D6 PO@ 12D8 POCH
427A POSICE 000D PRENOS 40EE PRER
4091 PREV 117F PUT@ 11A9 PUTEND
40AC R1LOC 40AF R2LOC 12BF RADR@
1048 READBL 4264 READNM 40EB RESC
40ED RESC1 40DF RESER 40EA RESL
40EC RESL1 14FD REW1 14DB REW3
14E4 REW4 14F6 REW5 14E7 REW7
14ED REWIND 0106 RI 40D3 RI@
101D RIB 1030 RIB1 1035 RIB2
12C8 RICH 015A RNAME 4000 RST1
00CF RSTN 40FC SADR 0E79 SAV1
0E50 SAVE 172C SCO 1762 SCO1
17CB SCO10 1766 SCO2 1767 SCO21
176D SCO3 177C SCO4 1780 SCO41
1790 SCO42 1791 SCO43 1795 SCO5
17A7 SCO6 17AD SCO7 17BD SCO8
17C1 SCO9 152A SCRVP 152F SCRVZ
151B SCVP 1520 SCVPC 1525 SCVZC
0FA1 SEARCH 4281 SEKV 017B SERI@
1400 SERIO 017E SERO@ 001F SETOUT
008B SETPPI 1721 SINI1 1710 SINIT
1567 SKIP 0D36 SLEN 0D20 SLEN@
0C87 SLUZBA 0181 SMST@ 0001 SOH
013C SPACE 0121 SPCL 4079 SPSAV
150B STOP 001A SUBS 4100 SUM
1534 SZAVP 0050 TCOLUM 14CF TEKP
0F84 TESTJM 0142 TEXT 0018 TLINE
4282 TSM 427D TSP 3800 TVBEG
1692 TXER0 16A6 TXER2 16B6 TXER4
16CB TXER6 16D7 TXER8 16EA TXERA
16FE TXERC 1684 TXERR 0151 TXIMM
1469 TXNAM 0012 UDATA 0010 UMODE
0013 URES 0011 USTAT 00FB UVOD
0D3B VERIF 11BE VRF1 11D1 VRF2
11E2 VRF3 11E9 VRF4 000B VT
FIRMWARE SAPI-1 MIKOS/K V5.0 - KZD MACRO-80 3.44 09-Dec-81 PAGE S-2
0F9D VYP1 0F98 VYPISH 4083 WMKOD
0154 WND@ 40F2 WNDP 10B4 WOB
10B9 WOB1 0F3D WRN1 0F27 WRNAM
4259 WRNM 40F9 XFLG 1392 ZABLD
1399 ZABLD1 13AF ZABLD2 0C18 ZAC
15AB ZADMM 14C5 ZAKB1 14C1 ZAKBL
158F ZAKMM 10EC ZAKS 10F2 ZAKS1
10F9 ZAKS2 1599 ZAMM1 1593 ZAMM2
15A6 ZAMM3 149F ZAOZN 14BA ZAOZN1
1454 ZMIO
No Fatal error(s)
@ANAL 622 1391#
@BACK 241 1709#
@BLOK 237 547 1766#
@BOT 235 1674#
@BT 433 2137#
@E@KOS 2043#
@EOR 250 1811#
@IF1 173 389 441 895 921 2109#
@IF2 446 2110#
@OF1 174 346 359 485 497 960 2111#
@OF2 2112#
@PED 2138#
@R@ 11# 2050 2057
@READU 761 806#
@SKIP 239 444 924 1695#
@TEXT 1105 1108#
@WBLOK 851#
ACSAV 2062#
ADRI 391 792 900 903 2154#
ADRO 490 873 967 970 2153#
ANAL 1393#
ASHEX 37#
BACK 502 537 538 1066 1067 1709 1712#
BCSAV 2063#
BIEND 2163#
BIN 604 610 651 737 778 791 939 945 1012 1023 1228 2162#
BINAR 143 277# 456
BL41 1083# 1085
BLOK1 1766 1769#
BLOK2 1083 1770 1778#
BLOK4 353 1070 1081#
BNI 386 734 744 1005 1021 1036 1837 2151#
BNO 341 344 387 559 833 835 2149#
BOEND 2164#
BOT 331 379 546 1674 1677# 1815
BOUT 278 494 857 872 980 1300 2161#
BRAD 2069#
BRAD2 2071#
BREAK 1466# 1551
BS 66# 1984
BTI 1003 1056 1058 1063 1065 1821 2152#
BTO 336 545 1820 2150#
BUFEND 390 898 912 943# 965
CADR 2073#
CAN 78# 561 605 738 860 1013
CAS 2125#
CCPM 325 376 484 2098#
CHAR 2130#
CHECK 420 426 1117#
CI 25# 1468
CI@0 1951 2091#
CILOC 2080# 2101
CINCR 43# 1474
CISLO 1429 1436 1448#
CLOSE 140 225 285 481#
CLOSE0 485# 956
CLOSE1 501 504#
CLST2 439 445#
CLSTP 431 436#
CMPN1 601 604#
CMPNM 383 599# 606 616
CO 27# 218 672 692 694 1017 1022 1841
CO@ 2092#
COLOC 2081#
COLUM 1986 1994 2003 2018 2033 2114#
COMLE 60# 571 589 652
CPF10 608#
CR 70# 296 515 1042 1393 1460 1980
CRLF 34# 436 592 650 679 999 1035 1094 1484 1833 1839 1843
CSLOC 2087#
CSTS 29# 1466
CSTS@ 2093#
CTBLD 775 1226#
CTBLD1 1230# 1234
CTBLD2 1235#
CTBLD3 1243# 1247
CTIBY1 1268# 1270 1273 1287
CTIBYT 1201 1203 1205 1207 1230 1235 1236 1243 1266#
CTOZN 820 1200#
CTTV 810 1153# 1699 1713 1779 1884
CTTV0 1157# 1179
CTTV1 1161# 1174
CTTV2 1156 1166 1171#
CTTV3 1162 1172#
CUR@ 2123#
DADR 38#
DBTCR 679# 1040
DBTV 680# 789
DBTV1 682# 840 1842
DBTV2 657 684#
DBYT 39# 681 684
DEBL 182 304 443 772 830 923 943 2173#
DESAV 2064#
DIRSTP 440# 1478
EADR 409 2140#
ECHO 1050 1474# 1482
ECHOCR 219 1402 1482#
EOR 233 354 1809#
EOR0 1810 1814#
EOR1 498 542 1846# 1881
EOR2 1816# 1835 1844
EOR3 1818 1845#
EOR4 1824 1834#
EOR41 1828 1833#
EOR5 1832 1836#
EOT 77# 493 858 940 1024
EP3 18# 183 185
EPROM 20# 129 151 193 1372
ERAM 17#
ERRD 731 733 1069#
ERRD0 1034# 1078
ERRD1 1055 1061#
ERRD3 1062 1070#
ERRD7 1060 1068 1071# 1075 1079
ERREND 405 417 544 603 812 852 856 1093# 1170 1682 1849 1861
1880
ERROR 36#
ERRSW 2090#
ERSTP 1092# 1129
ESC 72# 1972
ETX 65# 1476
ETX? 1469 1476#
EXPR 35# 301 454 521
EXSER 2128#
EXT? 1384#
EXTEXT 212 1384 2142#
FIND 138 227 371# 398 897
FIND1 384# 532
FNAME 381 609 2148#
FND 158 728 766 781 787 1072 2155#
FORM 554 1858#
FORM1 1866# 1870
GET0 898# 936
GET00 909# 918
GET01 913# 915
GET1 904 934#
GET2 920# 937
GET@ 144 892#
GETEX 906 910 928#
GRAF 2099#
HILO 40# 424 430 472 901 971
HLBOT 1875 1883#
HLBOT1 1685 1884# 1888
HLDMM 364 643 1680 1681 1687 1701 1722# 1725 1847 1872 1873
HLKMM 269 807 1787# 1790 1848
HLMM1 1726 1791#
HLMM2 1724 1789 1794# 1800
HLSAV 2065#
HOME 73# 711 1974
HT 67# 1982
HXASC 45#
INIT 221 554#
INITIO 180 1609#
INITS 137 157#
INST2 2072#
INSTR 2070#
INTER 49#
IOBYT 159 1412 1424 1442 1445 2103#
IOCHK 30#
IODEF 32#
IONUM 2101#
IOPO 321 1429#
IOPO1 351 358 1433#
IORI 372 1436#
IOSET 31#
JEDE? 2171#
JEVER 175 214 311 313 499 1812 2174#
JMENO? 621 1398#
KEY 2124#
KONBL0 768 773#
KONBL1 763 777#
KONBL2 780 784#
KONEC 266#
KONEC? 908 934 939#
KONST1 124# 1335
KOS@ 171 2095#
KOS@@ 170 192#
KPREVZ 125# 1567
KSCRVP 119# 1570 1643
KSCRVZ 120# 1651
KSCVP 116# 1619
KSCVPC 117# 1579 1627
KSCVZC 118# 1576 1635
KSTPCT 122# 1599
KSTPZA 123#
KSZAVP 121# 1661
KZDCTR 96# 1610
KZDIN 94# 1172 1180 1268 1271 1552 1663 1794
KZDOUT 95# 1337 1340 1355 1571 1580 1600 1612 1620 1628 1636 1644
1652 1662
LENGHT 58# 181 875 2162
LF 68# 296 515 1042 1460 1976
LILOC 2086#
LINE 1992 1996 2000 2030 2113#
LO1 399# 401
LO2 422# 425
LO@ 2094#
LOAD 141 231 398#
MAXSL 151# 194
MEMTOP 2089#
MICOS 136 210#
MOD@ 695 705 2168#
MODE 696 702 983 2108# 2128
MONIT 16#
MOVE 179 382 575 1489# 1494 1953
MSTAK 2061#
NAMBUF 1878 2144#
NAMLE 59# 380 577 611 1242 1312
NEXT 41# 1106 1479
NOVYOT 285# 361
NPO 322 455 481 1412#
NRI 373 437 1424#
NRI1 1415# 1425
NUFIL 732 744# 1019 1076
NULBF 567 861 872#
NUM1 530# 541
NUM2 529 534 537#
NUM3 536 539#
NUM4 525 545#
NUMB 252 514#
NUMB@ 149 523#
OBNOV 688# 790 841
OK? 266 339 1399#
OKNO 700# 784 839
OPE1 333# 340
OPE2 328 357#
OPE4 286 341# 355 365
OPE5 330 350#
OPEN 139 223 320# 452 963
OPT 2143#
P1LOC 2084#
P2LOC 2085#
PADR@ 462 464 1136#
PCSAV 2066#
PDIR 655# 1006 1825
PHDR 598 635 650#
PHDR1 651# 658
PISBYT 1303 1308 1310 1314 1320 1330# 1363 1509 1512 1514 1516 1521
1538 1866
PISODD 1319#
PNAM1 667# 675
PNAM2 669 671#
PNAME 666# 788
PO 28# 1143
PO@ 2097#
POCH 458 466 468 471 475 1137 1140#
POSICE 688 709 2167#
PRENOS 89# 1959
PRER 2119#
PREV 2076#
PUT@ 146 955#
PUTEND 955 980#
R1LOC 177 2082#
R2LOC 2083#
RADR@ 408 411 1122#
READBL 644 729 761# 1026 1073
READNM 666 764 1241 2166#
RESC 2116#
RESC1 2118#
RESER 2100#
RESL 2115#
RESL1 2117#
REW1 1584# 1587
REW3 1566# 1590
REW4 1569 1571#
REW5 1578 1580#
REW7 1573# 1574
REWIND 145 248 1575# 1678 1859
RI 26# 1128
RI@ 2096#
RIB 725# 935
RIB1 734# 1053 1077
RIB2 737#
RICH 399 413 422 1118 1122 1124 1128#
RNAME 48# 326 377 560
RST1 2050#
RSTN 12#
SADR 412 2139#
SAV1 470# 473
SAVE 142 229 452#
SCO 1376 1968#
SCO1 1975 1991#
SCO10 2037 2039#
SCO2 1981 1993#
SCO21 1990 1994# 2014 2022
SCO3 1977 1979 1996#
SCO4 1983 2002#
SCO41 2004# 2010
SCO42 2006 2012#
SCO43 2011 2013#
SCO5 1985 2015#
SCO6 1973 2023#
SCO7 1970 2025#
SCO8 2028 2032#
SCO9 2031 2034#
SCRVP 1643# 1700
SCRVZ 1651# 1714 1871
SCVP 809 1619#
SCVPC 363 642 806 1627# 1679 1698 1769 1874
SCVZC 268 1635# 1712 1778 1846
SEARCH 333 527 539 599 642# 1000 1816
SEKV 1955 1968 2023 2026 2034 2176#
SERI@ 50# 1375
SERIO 1374# 1950
SERO@ 51# 1988 1995 1998 2001 2017 2020 2024 2040
SETOUT 115# 1611
SETPPI 114# 1609
SINI1 1957#
SINIT 1374 1950#
SKIP 337 535 615 1059 1695 1698# 1834
SLEN 148 303#
SLEN@ 254 295#
SLUZBA 195#
SMST@ 52# 1377
SOH 76# 345 740
SPACE 42# 659 682 685
SPCL 33# 706
SPSAV 2067#
STOP 147 210 338 645 783 883 1014 1025 1034 1069 1101 1598#
1675 1696 1710 1767 1850
SUBS 71# 492 905 925 988
SUM 427 2141#
SZAVP 1661# 1736 1860
TCOLUM 56# 2005 2019
TEKP 855 865 1214 1256 1551# 1573 1589 1748 1792
TESTJM 612 618# 628
TEXT 44# 653 1114
TLINE 55# 1997
TSM 2177#
TSP 2170#
TVBEG 19#
TXER0 1895 1903#
TXER2 1896 1909#
TXER4 1897 1914#
TXER6 1898 1920#
TXER8 1899 1924#
TXERA 1900 1930#
TXERC 1901 1936#
TXERR 1103 1895#
TXIMM 46# 160 295 514 555 689 710 1041 1095 1399 1459
TXNAM 1459#
UDATA 87# 1961
UMODE 85# 1957
URES 88# 1958
USTAT 86# 1960
UVOD 61# 818 1508
VERIF 243 311#
VRF1 245 503 999#
VRF2 1008# 1027 1838
VRF3 1011 1015#
VRF4 1009 1019#
VT 69# 1978
VYP1 636#
VYPISH 334 623 633# 1398
WMKOD 2075#
WND@ 47#
WNDP 2127#
WOB 495 830# 972
WOB1 590 833#
WRN1 579# 587
WRNAM 348 565#
WRNM 578 1311 2165#
XFLG 2131#
ZABLD 854 1299#
ZABLD1 1302# 1306
ZABLD2 1313# 1317
ZAC 144# 176
ZADMM 588 864 1756#
ZAKB1 1537# 1540
ZAKBL 863 867 1534#
ZAKMM 270 851 862 868 1734#
ZAKS 859 862#
ZAKS1 271 864# 1879
ZAKS2 867#
ZAMM1 1738# 1745
ZAMM2 1736# 1758
ZAMM3 1737 1746#
ZAOZN 853 1508#
ZAOZN1 1510 1522#
ZMIO 1434 1439#
47#
WNDP 2127#
WOB 495 830# 972
WOB1 590
Ú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