Ú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