Ú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 MONITOR V5.0/F 4 ; 18.5.1988 (P.P.) 5 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 ; 7 ; VOLBA SYSTEMU PODLE CPU-KARTY 8 0000 TV64 EQU 00 ; TV NA 64 ZNAKU (HDG) 9 0000 ANDZ EQU 00 ; AND-1Z OD 3800H 10 0000 CPM EQU 00 ; IF CPM=0 THEN SYSTEM 11 ; ZPS-2 ELSE SYSTEM ZPS-3 12 ; 13 ;========================================== 14 ; MONITOR + MIKOS V5.0 TVORI FIRMWARE SYSTEMU SAPI-1. 15 ; V5.0 JE KOMPATIBILNI S VERZI V4.0 A JE ULOZENA 16 ; V 5K EPROM. 17 ; DALSI SKUPINA PROGRAMU JE NA KAZETE: 18 ; 1) BASIC EXP V5.0 19 ; 2) TEDIT 1 20 ; 3) TOOL ASM-80 21 ;.......................................... 22 ; ROZDELENI PAMETI U ZPS-2: 23 ; 0000H-13FFH FIRMWARE EPROM 5K 24 ; 2400H-33FFH PORTY 25 ; 3800H-3FFFH VIDEO RAM 26 ; 4000H-42FFH 1K SYSTEMOVE RAM 27 ; 4400H-0FFFFH RAM---glt; SYSTEMOVE PROGRAMY 28 ; \--glt; UZIVATELSKE PROGRAMY 29 ;========================================= 30 0000' ASEG 31 ; 32 ; *** DEFINOVANI PAMETOVEHO PROSTORU * 33 ; 34 4000 @R@ EQU 4000H ; ZACATEK SYSTEMOVE RAM (1K) 35 00CF RSTN EQU 0CFH 36 ; 37 ; 38 4400 BASIC EQU 4400H ; START 39 4C00 TRACER EQU 4C00H ; START 40 4400 PEDIT EQU 4400H ; START 41 ; 42 ;----------------------------------------------- 43 IF CPM 44 MONIT EQU 100H ; START 45 EP2 EQU 0C00H+100H ; O.S. EPROM 46 ERAM EQU 9FFFH ; TOP RAM 47 IF TV64 48 TVBEG EQU 0F800H 49 ELSE 50 TVBEG EQU 0E800H ; TV-RAM 51 ENDIF 52 ELSE 53 0000 MONIT EQU 0 ; ROM VERZE - ZPS2 54 0C00 EP2 EQU 0C00H 55 0000 ERAM EQU 0000 56 1400 TVROM EQU 1400H ; AND1 NEBO GRAFIKA 57 IF TV64 AND (NOT ANDZ) 58 TVBEG EQU 0F800H FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-1 59 ELSE 60 3800 TVBEG EQU 03800H ; TV-RAM 61 ENDIF 62 ENDIF 63 ; 64 ; KONSTANTY ASCII... 65 ; 66 000D CR EQU 0DH ; CARRIAGE RETURN 67 0009 HT EQU 9 ; TAB 68 0008 BACK EQU 8 ; BACK SPACE 69 0018 RIGHT EQU 18H ; FORWARDS 70 001A UP EQU 1AH ; UP 71 001B ESC EQU 1BH ; ESCAPE 72 0007 BELL EQU 7 ; BELL 73 000A LF EQU 0AH ; LINE FEED 74 0003 ETX EQU 03H ; BREAK CHAR.( CONTROL C) 75 0004 EOT EQU 4 ; END OF FILE 76 000B VT EQU 0BH 77 001A SUB@ EQU 1AH ; CTRL Z 78 0017 PRNT EQU 17H ; BREAK CTRL W 79 007F DEL EQU 7FH ; DELETE 80 001C WNDCD EQU 1CH ; ZMENA OKNA 81 0055 BEGIO EQU 55H ; POCATECNI HODNOTA PRO I/O BYTE 82 ; 83 ; T.V. PARAMETRY 84 ; 85 IF TV64 86 WIDTH EQU 64 87 IF ANDZ 88 HEIGHT EQU 20 89 CURSOR EQU 127 90 CURCH EQU 0B0H 91 ELSE 92 HEIGHT EQU 28 93 CURSOR EQU 0FFH 94 CURCH EQU 127 95 ENDIF 96 LINOF EQU 64 ; OFFSET 97 LREST EQU LINOF - WIDTH 98 TVEND EQU TVBEG + (WIDTH * HEIGHT) 99 ELSE 100 0028 WIDTH EQU 40 101 0018 HEIGHT EQU 24 102 0040 LINOF EQU 64 ; OFFSET 103 0018 LREST EQU LINOF - WIDTH 104 3DE7 TVEND EQU TVBEG + 5E7H 105 00A0 CURSOR EQU 0A0H 106 0067 CURCH EQU 67H 107 ENDIF 108 001F ERS EQU 1FH ; ERASE SCREEN 109 001E EOL EQU 1EH ; ERASE END OF LINE 110 0011 CTRLQ EQU 11H ; ^Q-REZERVUJ 111 0010 CTRLP EQU 10H ; ^P-LIST 112 001D HOME EQU 1DH ; HOME 113 ;.XLIST 114 115 ;------------------------------------------------- 116 ; RIDICI I/O 117 ; FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-2 118 IF NOT CPM ; ZPS-2 119 ;KLAVESNICE 120 2400 PORTK EQU 2400H ; 2400H-27FFH 121 ;TISKARNA 122 2B00 PORTLC EQU 2B00H ; 2800H-2BFFH 123 2C00 PORTLD EQU 2C00H ; 2C00H-2FFFH 124 ;PRERUSENI 3214 125 3000 PORTI EQU 3000H ; 3000H-33FFH 126 ; 127 ELSE 128 P0 EQU 1 ; KLAVESNICE 129 P1 EQU 2 ; KLAVESNICE + TISKARNA 130 P2 EQU 3 ; TISKARNA 131 ; 132 ENDIF 133 ; 134 ; DESKA PARALERNICH PORTU 135 ; 136 001B CWR1 EQU 1BH ; RIDICI SLOVO 8255A/1 137 0018 PA1 EQU 18H 138 0019 PB1 EQU 19H 139 001A PC1 EQU 1AH 140 001F CWR2 EQU 1FH ; RIDICI SLOVO 8255A/2 141 001C PA2 EQU 1CH 142 001D PB2 EQU 1DH 143 001E PC2 EQU 1EH 144 ; 145 ; UART - MAGNETOFON + SERIOVY PRENOS 146 ; 147 0012 UDATA EQU 12H ; UART-DATA 148 0011 USTAT EQU 11H ; STATUS 149 0011 MMODE EQU 11H ; MODEM 150 0010 UMODE EQU 10H ; UART 151 0013 URES EQU 13H ; RESET 152 ; 153 0001 ALLINT EQU 01H ; POUZE RST0 154 155 ;=============================================== 156 ; ZACATEK PROGRAMU 157 ;=============================================== 158 ; 159 ORG MONIT ; ROM/RAM DEFINICE 160 0000 C3 018B JMP COLD ; INICIALIZACE SYSTEMU 161 ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 162 ; 163 ; TABULKA "ZAKLADNICH SLUZEB SYSTEMU SAPI-1 164 165 IF CPM 166 ; 167 JMP CI ; CONZOLE INPUT <Aglt; 168 JMP RI ; READER INPUT <Aglt;, CY=1 ERROR 169 JMP CO ; CONZOLE OUTPUT <Cglt; 170 JMP PO ; PUNCH OUTPUT <Cglt; 171 JMP LO ; LIST OUTPUT <Cglt; 172 JMP CSTS ; CONZOLE INPUT STATUS 173 JMP IOCHK ; I/O BYT CHEK <Aglt; 174 JMP IOSET ; I/O BYT SET <Cglt; 175 JMP MEMCK ; MEMTOP 176 JMP IODEF ; DEFINICE UZIVATELSKYCH PERIFERII FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-3 177 JMP SPCL ; I/O CONTROL SPECIAL 178 JMP CRLF ; NOVY RADEK 179 JMP EXPR ; SKLADANI ADRES (N=POCET <Cglt;, SP) 180 JMP ERROR ; OSETRENI CHYBY 181 JMP ASHEX ; PREVOD ASCII -glt; HEX 182 JMP DADR ; ZOBRAZENI ADRESY <HLglt; 183 JMP DBYT ; ZOBRAZENI ZNAKU <Aglt; 184 JMP HILO ; HL+1, SROVNANI S DE 185 JMP NEXT ; OVLADANI MONITORU 186 JMP SPACE ; MEZERA NA CRT 187 JMP CINCR ; ECHO+ANALYZA 188 JMP TEXT ; VYPIS TEXTU <HL=ADRglt;,<D=DELKAglt; 189 JMP XY ; "DO" PRIKAZ <Aglt; 190 JMP HXASC ; PREVOD HEX -glt; ASCII 191 JMP EXFLG ; EXTERNI RIZENI FLAGU 192 JMP ASSIGN ; PRIRAZENI I/O PERIF. 193 ; -- ROZSIRENI SLUZEB -- 194 JMP TX ; ZOBRAZENI NASLEDUJICIHO TEXTU 195 JMP WND@ ; NASTAVENI OKNA 196 JMP KOS@ ; CALL O.S. <Cglt;-SLUZBA,<HLglt;-DATA 197 JMP RNAME ; <HLglt;.. EXT. A VYST. ADR 198 JMP INTER ; NASTAVENI PRERUSENI + EI 199 JMP KODWM ; <HLglt;.. NOVE KODY, CS 200 JMP KODASC ; <HLglt;..ZMENY KODU Z KLAVESNICE 201 JMP GRAF ; <HLglt;..DATA, <Dglt;..KOD, <Eglt; SLUZBA 202 JMP RESER ; 203 ; 204 ;*************************************************** 205 ; 206 ; TABULKY PRO INSTALACI SYSTEMOVYCH HANDLERU 207 ; 208 SYSTAB: JMP CI@@ ; VSTUP ZNAKU :CI: 209 JMP CO@@ ; VYSTUP ZNAKU :CO: 210 JMP CSTS@@ ; STATUS :CI: 211 JMP DUMMY ; :LO: 212 JMP ERROR ; INIT O.S. 213 SMTAB: ; -- ; TABULKA PRO SM 7202 214 JMP SERIN ; SERIOVY VSTUP 215 JMP SEROUT ; SERIOVY VYSTUP 216 JMP SMST ; STATUS SER. VSTUPU 217 JMP DUMMY 218 JMP DUMMY 219 SYSEND EQU $ 220 DB BEGIO ; 55-glt; IOBYTE 221 ; 222 ENDIF 223 ;**************************************************** 224 ; POMOCNE PROGRAMY 225 ;**************************************************** 226 0003 55 DB 55H ; INTEL IOBYT 227 0004 50 DB 50H ; V 5.0 228 IF CPM 229 JMP 0B006H ; ZPS2+CPM 230 ELSE 231 0005 C3 F006 JMP 0F006H ; POSLEDNI 4K PRO BDOS 232 ENDIF 233 0008 C3 4000 JMP @R@ 234 ; 235 000B 3E 2D MINUS: MVI A,'-' FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-4 236 000D C3 0568 JMP COA 237 0010 C3 4003 JMP @R@+3 238 ; 239 0013 3E 3D EQUAL: MVI A,'=' 240 0015 C3 0568 JMP COA 241 0018 C3 4006 JMP @R@+6 242 ; 243 001B 3E 3F QUES: MVI A,'?' 244 001D C3 0568 JMP COA 245 0020 C3 4009 JMP @R@+9 246 ; 247 ; CTI IOBYTE <Aglt; 248 ; 249 0023 3A 40E2 IOCHK: LDA IOBYT 250 0026 C9 RET 251 0027 50 DB 'P' ; MONOGRAM 252 0028 C3 400C JMP @R@+12 253 ; 254 ; NASTAV IOBYTE <Cglt; 255 ; 256 002B 79 IOSET: MOV A,C 257 002C 32 40E2 STA IOBYT 258 002F C9 RET 259 0030 C3 400F JMP @R@+15 260 ; 261 ; SPECIAL:<Aglt;..ZNAK,<Bglt;..MODE,<DEglt;..LOG.ADR 262 ; <HLglt;..FYZ.ADR 263 ; 264 0033 2A 40E8 SPCL: LHLD LINE ; LOG. ADR KORZORU 265 0036 EB XCHG 266 0037 21 DB 21H 267 0038 C3 4012 JMP @R@+18 268 003B 2A 4081 LHLD CADR ; FYZ. ADR ZNAKU 269 003E 3A 40F0 LDA KEY ; KEY -glt;B 270 0041 47 MOV B,A 271 0042 7E MOV A,M ; CTI ZNAK Z T.V. 272 0043 C9 RET 273 274 IF NOT CPM 275 ; 276 ; KOPIRUJ RI -glt; PO 277 ; 278 0044 CD 05AA COPY: CALL RI 279 0047 DA 04D4 JC CRLF 280 004A 4F MOV C,A 281 004B CD 05D3 CALL LO ; "H" VYBERE PERIF. 282 004E C3 0044 JMP COPY 283 ; 284 ; READ DALSI BYTE 285 ; 286 0051 3E 30 RBYT0: MVI A,'0' 287 0053 C5 RBYT: PUSH B 288 0054 E5 PUSH H 289 0055 CD 04E1 CALL EXPRM 290 0058 D1 POP D 291 0059 E1 POP H 292 005A 73 MOV M,E 293 005B 78 MOV A,B 294 005C FE 0D CPI CR FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-5 295 005E C1 POP B 296 005F C9 RET 297 298 ;************************************** 299 ; OBECNA CAST O.S. 300 ;************************************** 301 ; 302 ; VOLANI O.S Z MONITORU 303 ; 304 0060 0E FF KOS: MVI C,-1 305 0062 C3 40D0 JMP KOS@ 306 ; 307 ;INIT O.S 308 ; 309 0065 0E 00 KOSI: MVI C,0 310 0067 C3 40D0 JMP KOS@ 311 ; 312 ; SLUZBY KOMPATIBILNI Z MONITOREM V4.0 313 ; 314 006A 0E 01 FIND: MVI C,1 315 006C C3 40D0 JMP KOS@ 316 006F 0E 02 OPEN: MVI C,2 317 0071 C3 40D0 JMP KOS@ 318 0074 0E 04 LOADCD: MVI C,4 319 0076 C3 40D0 JMP KOS@ 320 0079 0E 05 SAVECD: MVI C,5 321 007B C3 40D0 JMP KOS@ 322 007E 0E 06 BINAR: MVI C,6 323 0080 C3 40D0 JMP KOS@ 324 325 ;**************************************************** 326 ; 327 0083 22 0D JMENO: DB '"',CR ; PRAZDNE 328 ; 329 ; INSTALUJ HANDLER PRO TISKARNU 330 ; 331 0085 CD 0500 HNDIN: CALL RADR 332 0088 87 ADD A ; *2 333 0089 FE 10 CPI HNDMX 334 008B D0 RNC ; VETSI... 335 008C 26 00 MVI H,0 336 008E 6F MOV L,A 337 008F 11 009D LXI D,TABHND 338 0092 19 DAD D ; ADR. ADRESY HNDLR 339 0093 7E MOV A,M 340 0094 32 40CE STA LO@ + 1 ; PREPIS 341 0097 23 INX H 342 0098 7E MOV A,M 343 0099 32 40CF STA LO@ + 2 344 009C C9 DUMMY: RET 345 ;------------------------ 346 ; TABULKA HANDLERU 347 ; 348 009D 009C TABHND: DW DUMMY ; 0.. PRAZDNY HANDLER 349 009F 00B0 DW LO@@ ; 1.. C 211 350 00A1 00E2 DW CENTRO ; 2.. CENTRONICS 351 00A3 00C9 DW D100S ; 3.. D 100 S 352 00A5 00AD DW D180 ; 4.. D 180 353 00A7 05C1 DW PO ; 5.. PUNCH DEVICE FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-6 354 00A9 40C7 DW CO@ ; 6.. CONSOLE OUTPUT 355 00AB 05FF DW SEROUT ; 7.. SERIOVY VYSTUP 356 0010 HNDMX EQU $-TABHND 357 ; 358 ;**************************************************** 359 ; LIST OUTPUT <Cglt;... ZNAK 360 ;**************************************************** 361 ; 362 00AD 79 D180: MOV A,C 363 00AE 2F CMA 364 00AF 4F MOV C,A 365 366 ; CONSUL 211 367 00B0 LO@@: 368 00B0 E5 PUSH H 369 00B1 21 2B01 LXI H,2B01H ; POC. PARAMETY 370 00B4 75 MOV M,L 371 00B5 24 INR H 372 00B6 71 MOV M,C 373 00B7 7E LO@1: MOV A,M 374 00B8 87 ADD A 375 00B9 F2 00B7 JP LO@1 376 00BC 25 DCR H 377 00BD 36 03 MVI M,3 378 00BF 24 INR H 379 00C0 7E LO@2: MOV A,M 380 00C1 87 ADD A 381 00C2 FA 00C0 JM LO@2 382 00C5 25 DCR H 383 00C6 75 MOV M,L 384 00C7 E1 POP H 385 00C8 C9 RET 386 ; 387 ; SERIOVY INTERFACE PRO :LP: 388 ; 389 00C9 3E 0E D100S: MVI A,0EH ; SERIOVE PRIPOJENI D100 390 00CB D3 11 OUT MMODE ; PREPOJ 391 00CD DB 11 D101: IN USTAT 392 00CF 87 ADD A 393 00D0 F2 00CD JP D101 394 00D3 79 MOV A,C 395 00D4 D3 12 OUT UDATA 396 00D6 3E 02 MVI A,2 397 00D8 D3 10 OUT UMODE 398 00DA DB 11 D102: IN USTAT 399 00DC 87 ADD A 400 00DD FA 00DA JM D102 401 00E0 79 MOV A,C 402 00E1 C9 RET 403 ; 404 ; INTERFACE CENTRONICS 405 ; 406 00E2 CENTRO: 407 00E2 E5 PUSH H 408 00E3 26 2C MVI H,2CH 409 00E5 71 MOV M,C 410 00E6 7E CENTR1: MOV A,M 411 00E7 E6 60 ANI 60H 412 00E9 FE 20 CPI 20H FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-7 413 00EB C2 00E6 JNZ CENTR1 ; CEKEJ NA BUSY 414 00EE 25 DCR H 415 00EF 36 00 MVI M,0 416 00F1 E3 XTHL 417 00F2 E3 XTHL 418 00F3 79 MOV A,C 419 00F4 36 02 MVI M,2 420 00F6 E1 POP H 421 00F7 C9 RET 422 423 ;**************************************************** 424 425 ORG 100H ; TABULKA SLUZEB !!! 426 ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 427 ; 428 ; TABULKA "ZAKLADNICH SLUZEB SYSTEMU SAPI-1 429 ; 430 0100 C3 018B JMP COLD ; STUDENY START 431 0103 C3 0596 JMP CI ; CONZOLE INPUT <Aglt; 432 0106 C3 05AA JMP RI ; READER INPUT <Aglt;, CY=1 ERROR 433 0109 C3 05F4 JMP CO ; CONZOLE OUTPUT <Cglt; 434 010C C3 05C1 JMP PO ; PUNCH OUTPUT <Cglt; 435 010F C3 05D3 JMP LO ; LIST OUTPUT <Cglt; 436 0112 C3 058B JMP CSTS ; CONZOLE INPUT STATUS 437 0115 C3 0023 JMP IOCHK ; I/O BYT CHEK <Aglt; 438 0118 C3 002B JMP IOSET ; I/O BYT SET <Cglt; 439 011B C3 051B JMP MEMCK ; MEMTOP 440 011E C3 056F JMP IODEF ; DEFINICE UZIVATELSKYCH PERIFERII 441 0121 C3 0033 JMP SPCL ; I/O CONTROL SPECIAL 442 0124 C3 04D4 JMP CRLF ; NOVY RADEK 443 0127 C3 04A8 JMP EXPR ; SKLADANI ADRES (N=POCET <Cglt;, SP) 444 012A C3 0A38 JMP ERROR ; OSETRENI CHYBY 445 012D C3 0523 JMP ASHEX ; PREVOD ASCII -glt; HEX 446 0130 C3 050B JMP DADR ; ZOBRAZENI ADRESY <HLglt; 447 0133 C3 05E8 JMP DBYT ; ZOBRAZENI ZNAKU <Aglt; 448 0136 C3 04F5 JMP HILO ; HL+1, SROVNANI S DE 449 0139 C3 0203 JMP NEXT ; OVLADANI MONITORU 450 013C C3 09CC JMP SPACE ; MEZERA NA CRT 451 013F C3 053A JMP CINCR ; ECHO+ANALYZA 452 0142 C3 0558 JMP TEXT ; VYPIS TEXTU <HL=ADRglt;,<D=DELKAglt; 453 0145 C3 0222 JMP XY ; "DO" PRIKAZ <Aglt; 454 0148 C3 0513 JMP HXASC ; PREVOD HEX -glt; ASCII 455 014B C3 06A1 JMP EXFLG ; EXTERNI RIZENI FLAGU 456 014E C3 0270 JMP ASSIGN ; PRIRAZENI I/O PERIF. 457 ; -- ROZSIRENI SLUZEB -- 458 0151 C3 0549 JMP TX ; ZOBRAZENI NASLEDUJICIHO TEXTU 459 0154 C3 0708 JMP WND@ ; NASTAVENI OKNA 460 0157 C3 40D0 JMP KOS@ ; CALL O.S. <Cglt;-SLUZBA,<HLglt;-DATA 461 015A C3 0B5F JMP RNAME ; <HLglt;.. EXT. A VYST. ADR 462 015D C3 0348 JMP INTER ; NASTAVENI PRERUSENI + EI 463 0160 C3 08B5 JMP KODWM ; <HLglt;.. NOVE KODY, CS 464 0163 C3 08BD JMP KODASC ; <HLglt;..ZMENY KODU Z KLAVESNICE 465 0166 C3 40DC JMP GRAF ; <HLglt;..DATA, <Dglt;..KOD, <Eglt; SLUZBA 466 0169 C3 40DF JMP RESER ; 467 ;*************************************************** 468 ; 469 ; TABULKY PRO INSTALACI SYSTEMOVYCH HANDLERU 470 ; 471 016C C3 0992 SYSTAB: JMP CI@@ ; VSTUP ZNAKU :CI: FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-8 472 016F C3 0617 JMP CO@@ ; VYSTUP ZNAKU :CO: 473 0172 C3 097F JMP CSTS@@ ; STATUS :CI: 474 0175 C3 009C JMP DUMMY ; :LO: 475 0178 C3 0A38 JMP ERROR ; INIT O.S. 476 017B SMTAB: ; -- ; TABULKA PRO SM 7202 477 017B C3 0988 JMP SERIN ; SERIOVY VSTUP 478 017E C3 05FF JMP SEROUT ; SERIOVY VYSTUP 479 0181 C3 0978 JMP SMST ; STATUS SER. VSTUPU 480 0184 C3 009C JMP DUMMY 481 0187 C3 009C JMP DUMMY 482 018A SYSEND EQU $ 483 018A 55 DB BEGIO ; 55-glt; IOBYTE 484 ENDIF 485 486 487 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 488 ; **** S T A R T M O N I T O R U **** 489 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 490 ; 491 018B COLD: 492 018B F3 BEG: DI ; PRIKAZ "B" 493 018C 21 406D LXI HL,MSTAK ; NASTAV STACK POINTER 494 018F F9 SPHL 495 0190 AF XRA A 496 0191 77 BEG0: MOV M,A 497 0192 2C INR L 498 0193 C2 0191 JNZ BEG0 ; NULUJ M-RAM 499 ; 500 0196 3C INR A 501 0197 D3 13 OUT URES ; RESET UART 502 0199 D3 10 OUT UMODE ; MODEM 503 019B 3C INR A 504 IF CPM 505 OUT P1 ; INIT LP 506 OUT P0 ; INIT KLAVESNICE 507 ELSE 508 019C 26 28 MVI H,(HIGH PORTK)+4 509 019E 77 MOV M,A 510 019F 25 DCR H 511 01A0 77 MOV M,A 512 ENDIF 513 01A1 3E 0D MVI A,0DH ; SERIOVY PRENOS 514 01A3 D3 11 OUT USTAT ; STATUS UART 515 ; 516 01A5 21 016C LXI H,SYSTAB ; NASTAV 517 01A8 11 018A LXI D,SYSEND ; SYSTEMOVE PERIFERIE 518 01AB 01 40C4 LXI B,CI@0 519 01AE CD 0480 CALL MO1 520 ; 521 01B1 21 4000 LXI H,@R@ ; NAJDI KONEC RAM 522 01B4 36 C3 MVI M,0C3H 523 01B6 24 MEM1: INR H ; DALSI STRANKA 524 IF CPM 525 MOV A,H 526 CPI HIGH ERAM+1 527 ENDIF 528 01B7 CA 01C3 JZ MEM2 529 01BA 7E MOV A,M 530 01BB 2F CMA FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-9 531 01BC 77 MOV M,A ; ZAPIS DOPLNEK 532 01BD BE CMP M ; ZAPIS O.K. ? 533 01BE 2F CMA 534 01BF 77 MOV M,A ; OBNOVA PAMETI 535 01C0 CA 01B6 JZ MEM1 536 01C3 2B MEM2: DCX H ; POSLEDNI BYTE 537 01C4 22 40BF SHLD MEMTOP ; ULOZ MEMTOP 538 ; 539 01C7 3E 67 MVI A,CURCH ; NASTAV KURZOR CS 540 01C9 32 40EF STA CUR@ 541 ; 542 01CC CD 08A7 CALL CINIT ; KLAVESNICE 543 ; 544 01CF 21 3800 LXI H,TVBEG ; NASTAV T.V. 545 01D2 22 4081 SHLD CADR 546 01D5 3E C3 MVI A,0C3H 547 01D7 32 40C1 STA ERRSW 548 IF CPM 549 STA 8 550 ELSE 551 01DA 77 MOV M,A 552 01DB BE CMP M 553 01DC C4 1400 CNZ TVROM ; NENI AND-1 554 ENDIF 555 01DF CD 0549 CALL TX 556 01E2 1D 9F DB HOME,ERS OR 80H 557 ; 558 01E4 3A 0C00 LDA EP2 ; JE O.S V EPROM ? 559 01E7 FE C3 CPI 0C3H 560 01E9 CC 0C03 CZ EP2+3 ; INICIALIZUJ O.S. 561 ; 562 ; ZOTAVENI PO CHYBE "INIC-6" !! 563 01EC 21 404D LXI H,MSTAK-20H 564 01EF 22 4079 SHLD SPSAV 565 ; 566 ; OHLASENI MONITORU 567 ; 568 01F2 CD 0549 INIC: CALL TX 569 01F5 0D 0A DB CR,LF 570 01F7 4D 4F 4E 49 DC 'MONITOR V5.0' 571 01FB 54 4F 52 20 572 01FF 56 35 2E B0 573 ; 574 ;------------------------------------ 575 ; * VYHODNOCENI POVELU OPERATORA * 576 ;------------------------------------ 577 578 0203 31 406D NEXT: LXI SP,MSTAK ; NASTAV STACK PRO MONITOR 579 0206 21 0203 LXI H,NEXT 580 0209 E5 PUSH H ; ADRESA NAVRATU 581 020A 21 0353 LXI H,RESTA 582 IF CPM 583 SHLD 9 584 ENDIF 585 020D 22 4001 SHLD @R@+1 586 0210 21 01EC LXI H,INIC-6 ; ZPRACOVANI CHYBY 587 0213 22 40C2 SHLD ERRSW+1 588 0216 CD 0348 CALL INTER ; NASTAV PRERUSENI 589 0219 CD 0549 CALL TX FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-10 590 021C 0D 0A AE DB CR,LF,'.' OR 80H 591 021F CD 053A CALL CINCR ; POVEL !!!!! 592 ; 593 0222 6F XY: MOV L,A ; L-PRIKAZ 594 0223 E5 PUSH H ; SAVE 595 0224 D6 41 SUI 'A' 596 0226 FA 0203 JM NEXT ; ASCII < "A" 597 0229 21 023C LXI H,CTBL ; ZACATEK TABULKY PRIKAZU 598 022C 01 1A02 LXI B,(LCT SHL 8) OR 2 599 022F B8 INJM@: CMP B 600 0230 D2 0A38 JNC ERROR ; PRETECENI 601 0233 87 INJMP: ADD A ; 2* 602 0234 85 ADD L 603 0235 6F MOV L,A 604 0236 7E MOV A,M 605 0237 23 INX H 606 0238 66 MOV H,M 607 0239 6F MOV L,A 608 023A E3 XTHL ; NASTAV HL 609 023B C9 RET ; START 610 ; 611 ;---------------------------------- 612 ; * TABULKA POVELU MONITORU * 613 ;---------------------------------- 614 615 ; 616 023C 0270 CTBL: DW ASSIGN ; NASTAV I/O 617 023E 09F1 DW BCMD ; BASIC 618 0240 018B DW BEG ; CLEAR 619 0242 041F DW DISP ; ZOBRAZ PAMET 620 0244 0A57 DW EOF ; KONEC HEX 621 0246 046A DW FILL ; NAPLN PAMET 622 0248 02FA DW GOTO ; GOTO & BREAK 623 024A 0085 DW HNDIN ; INSTALUJ HANDLER 624 024C 0065 DW KOSI ; INIT O.S 625 024E 0A26 DW JUMP ; J 626 0250 0060 DW KOS ; K 627 0252 09D1 DW LOADB ; L 628 0254 0479 DW MOVE ; PRESUN PAMET 629 0256 0044 DW COPY ; N 630 0258 09AB DW CHMODE ; ZMENA MODE 631 025A 0A1B DW PCMD ; PEDIT 632 025C 02C6 DW QUERY ; NASTAVENI I/O 633 025E 0A6B DW READ@ ; R 634 0260 048A DW SUBS ; ZMENA OBSAHU 635 0262 0A13 DW TCMD ; TOOL 636 0264 0A4A DW UKAZ ; U ADR 637 0266 09C0 DW VERIFY ; V 638 0268 0ACF DW WRITE ; W 639 026A 039B DW X ; OBSAHY REGISTRU 640 026C 09B2 DW Y ; NASTAV PRERUSENI 641 026E 09B9 DW Z ; CASOVANI MGF 642 001A LCT EQU ($-CTBL)/2 643 IF HIGH ($-CTBL) 644 .PRINTX "CHYBA VE STRANCE S POVELY" 645 CHY EQU $ 646 ENDIF 647 ; 648 ; FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-11 649 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 650 ; REALIZACE POVELU MONITORU 651 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 652 ; 653 ; NASTAV I/O MODUL 654 ; 655 0270 CD 0537 ASSIGN: CALL CIMIN ; JMENO 656 ; <Aglt;..NAME (EXTERN CALLS) 657 0273 21 02AE LXI H,IOTAB ; TABULKA 658 0276 0E 04 MVI C,4 ; POCITADLO 659 0278 11 0006 LXI D,6 ; OFFSET 660 027B BE ASS0: CMP M 661 027C CA 0287 JZ ASS1 ; + 662 027F 19 DAD D ; ADRESA 663 0280 0D DCR C ; VSE? 664 0281 C2 027B JNZ ASS0 ; - 665 0284 C3 0A38 JMP ERROR 666 0287 CD 0013 ASS1: CALL EQUAL 667 028A CD 0562 CALL ECHO 668 028D 23 INX H 669 028E 46 MOV B,M 670 028F 0E 00 MVI C,0 ;IOBYT 671 0291 23 ASS2: INX H 672 0292 BE CMP M 673 0293 CA 02A2 JZ ASS3 ; + 674 0296 F5 PUSH PSW 675 0297 3E 55 MVI A,55H ; OFFSET 676 0299 81 ADD C 677 029A 4F MOV C,A 678 029B DA 0A38 JC ERROR ; NE # 679 029E F1 POP PSW 680 029F C3 0291 JMP ASS2 ; DALSI 681 02A2 79 ASS3: MOV A,C ; SPOCTU IOBYT 682 02A3 A0 ANA B 683 02A4 4F MOV C,A ; ULOZ 684 02A5 78 MOV A,B 685 02A6 2F CMA ; NEGUJ 686 02A7 21 40E2 IONEW: LXI H,IOBYT 687 02AA A6 ANA M 688 02AB B1 ORA C 689 02AC 77 MOV M,A 690 02AD C9 RET 691 ; 692 ; I/O TABULKA 693 ; 694 02AE 43 03 IOTAB: DB 'C',03H ; CONSOLE 695 02B0 54 43 42 31 DB 'TCB1' 696 02B4 52 0C DB 'R',0CH ; READER 697 02B6 54 50 31 32 DB 'TP12' 698 02BA 50 30 DB 'P',30H ; PUNCHER 699 02BC 54 50 31 32 DB 'TP12' 700 02C0 4C C0 DB 'L',0C0H ; LIST 701 02C2 54 43 4C 31 DB 'TCL1' 702 ; 703 ; VYPIS NASTAVENI I/O 704 ; 705 02C6 2A 40BF QUERY: LHLD MEMTOP 706 02C9 CD 0508 CALL DNADR 707 02CC 21 02AE LXI H,IOTAB ; TABULKA FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-12 708 02CF 3A 40E2 LDA IOBYT ; CTI 709 02D2 47 MOV B,A ; ULOZ 710 02D3 CD 02D6 CALL $+3 711 02D6 CD 02D9 CALL $+3 712 ; ZOBRAZ NASTAVENI I/O 713 02D9 CD 09CC CALL SPACE 714 02DC 7E MOV A,M ; CTI LOGICKE JMENO 715 02DD CD 0568 CALL COA 716 02E0 CD 0013 CALL EQUAL 717 02E3 E5 PUSH H ; ULOZ ADR. 718 02E4 23 INX H 719 02E5 23 INX H ; ADR. 720 02E6 78 MOV A,B 721 02E7 E6 03 ANI 3 722 02E9 5F MOV E,A 723 02EA 16 00 MVI D,0 724 02EC 19 DAD D ; FYZICKA ADR. 725 02ED 7E MOV A,M 726 02EE CD 0568 CALL COA 727 02F1 78 MOV A,B 728 02F2 0F RRC 729 02F3 0F RRC ; ROTUJ IOBYT 730 02F4 47 MOV B,A 731 02F5 E1 POP H 732 02F6 1E 06 MVI E,6 ; OFFSET 733 02F8 19 DAD D 734 02F9 C9 RET ; HL=DALSI ADR. 735 ; 736 ; GOTO + VYHODNOCENI PRERUSENI + PROHLIZENI REG. 737 ;*********************************************** 738 ; 739 ; 740 ; "GO TO" PRIKAZ 741 ; 742 02FA CD 0013 GOTO: CALL EQUAL 743 02FD CD 053A CALL CINCR ; PRIKAZ 744 0300 DA 0331 JC GO@ ; IF CR THEN GOTO 745 0303 CA 0313 JZ GO@BR 746 0306 CD 04E1 CALL EXPRM ; START ADR 747 0309 E1 POP H 748 030A 22 4077 SHLD PCSAV 749 030D 78 MOV A,B ; JEN START ADR ? 750 030E FE 0D CPI CR 751 0310 CA 0331 JZ GO@ 752 0313 CD 0500 GO@BR: CALL RADR ; CTI BREAK ADR 753 0316 22 407B SHLD BRAD 754 0319 7E MOV A,M ; ULOZ INSTR. KOD 755 031A 32 407D STA INSTR 756 031D 36 CF MVI M,RSTN 757 031F 3E 0D MVI A,CR 758 0321 B8 CMP B ; JEN 1-BREAK ? 759 0322 CA 0331 JZ GO@ 760 ; O.S. BREAK 761 0325 CD 0500 CALL RADR 762 0328 22 407E SHLD BRAD2 763 032B 7E MOV A,M 764 032C 32 4080 STA INST2 765 032F 36 CF MVI M,RSTN 766 ; START FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-13 767 0331 CD 04D4 GO@: CALL CRLF 768 0334 F3 DI 769 0335 31 406F LXI SP,ACSAV 770 0338 F1 POP PSW 771 0339 C1 POP B 772 033A D1 POP D 773 033B 2A 4079 LHLD SPSAV ; ZASOBNIK 774 033E 2B DCX H ; -2 775 033F 2B DCX H 776 0340 F9 SPHL 777 0341 2A 4077 LHLD PCSAV ; PC 778 0344 E3 XTHL 779 0345 2A 4075 LHLD HLSAV 780 ; 781 ; POVOLENI A NASTAVENI PRERUSENI 782 ; 783 0348 F5 INTER: PUSH PSW 784 0349 F3 DI ; ZAKAZ PRI MODIFIKACI 785 034A 3A 40EE LDA PRER ; RIDICI SLOVO 786 IF NOT CPM 787 034D 32 3000 STA 3000H ; NASTAV 788 ENDIF 789 0350 F1 POP PSW 790 0351 FB EI ; A TAKY POVOL 791 0352 C9 RET ; POKRACUJ 792 ; 793 ;*********************************************; 794 ; RUN & BREAK MODUL: 795 ; 796 0353 F3 RESTA: DI 797 0354 22 4075 SHLD HLSAV 798 0357 F5 PUSH PSW 799 0358 21 0004 LXI H,4 ; OFFSET 800 035B 39 DAD SP 801 035C 22 4079 SHLD SPSAV 802 035F F1 POP PSW 803 0360 E1 POP H ; PC 804 0361 31 4075 LXI SP,HLSAV 805 0364 D5 PUSH D 806 0365 C5 PUSH B 807 0366 F5 PUSH PSW ; BYL BREAK ? 808 0367 EB XCHG 809 0368 1B DCX D ; PC-1 810 0369 21 407B LXI H,BRAD ; BREAK ? 811 036C 0E 02 MVI C,2 ; DVA BREAKY 812 036E C5 RST10: PUSH B 813 036F 4E MOV C,M 814 0370 36 00 MVI M,0 815 0372 23 INX H 816 0373 46 MOV B,M 817 0374 36 00 MVI M,0 818 0376 23 INX H 819 0377 79 MOV A,C 820 0378 B0 ORA B ; 0 ? 821 0379 CA 038A JZ RST20 ; NEBYL BREAK 822 037C 7E MOV A,M ; OBNOV INSTR. 823 037D 02 STAX B 824 037E 23 INX H 825 037F E5 PUSH H FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-14 826 0380 60 MOV H,B 827 0381 69 MOV L,C ; BYL BREAK ? 828 0382 CD 04FA CALL COMPR 829 0385 E1 POP H 830 0386 C2 038A JNZ RST20 831 0389 1B DCX D ; PC-1 832 038A C1 RST20: POP B 833 038B 0D DCR C 834 038C C2 036E JNZ RST10 835 038F EB XCHG 836 0390 23 INX H ; OBNOV PC 837 0391 22 4077 SHLD PCSAV 838 0394 37 STC 839 0395 CD 039E CALL X+3 ; ZOBRAZ VSECHNY REG. 840 0398 C3 0203 JMP NEXT 841 ; 842 ;************************************* 843 ; 844 ; ZOBRAZ & ZMEN OBSAHY REGISTRU 845 ; 846 039B CD 053A X: CALL CINCR ; PRIKAZ 847 039E 21 040A LXI H,RGNAM ; TABULKA JMEN 848 03A1 16 40 MVI D,HIGH ACSAV ;DATA 849 03A3 D2 03B1 JNC X1 ; ZMENA 850 03A6 CD 04D4 CALL CRLF 851 03A9 CD 03E7 X0: CALL XDISP 852 03AC C8 RZ ;END 853 03AD 23 INX H 854 03AE C3 03A9 JMP X0 855 03B1 CA 03C6 X1: JZ X2 ; ZADNA ZMENA 856 03B4 5F MOV E,A ; ULOZ JMENO 857 03B5 01 DB 1 ; LXI B,## 858 03B6 23 X10: INX H 859 03B7 23 INX H 860 03B8 7E MOV A,M ; CTI JMENO REG. 861 03B9 CA 0A38 JZ ERROR 862 03BC BB CMP E 863 03BD C2 03B6 JNZ X10 ; DALSI 864 03C0 CD 03F1 CALL XDIS1 865 03C3 C3 03C9 JMP X2+3 866 ; 867 03C6 CD 03EA X2: CALL XDISP+3 868 03C9 C8 RZ 869 03CA CD 0537 CALL CIMIN ; - PRIKAZ 870 03CD D8 RC ; CR - END 871 03CE 5E MOV E,M ; DOLNI ADR. 872 03CF 23 INX H 873 03D0 CA 03C6 JZ X2 874 03D3 EB XCHG 875 03D4 D5 PUSH D 876 03D5 CD 0053 CALL RBYT ; CTI NOVY BYTE A ZMEN 877 03D8 05 DCR B 878 03D9 CA 03DF JZ $+6 879 03DC 72 MOV M,D ; DOLNI BYTE 880 03DD 2B DCX H 881 03DE 73 MOV M,E 882 03DF D1 POP D 883 03E0 EB XCHG 884 03E1 FE 0D CPI CR ; POSLEDNI? FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-15 885 03E3 C8 RZ ; + 886 03E4 C3 03C6 JMP X2 ; DALSI 887 ; 888 03E7 CD 09CC XDISP: CALL SPACE 889 03EA 7E MOV A,M 890 03EB E6 7F ANI 7FH 891 03ED C8 RZ 892 03EE CD 0568 CALL COA 893 03F1 CD 0013 XDIS1: CALL EQUAL ; JMENO= 894 03F4 7E MOV A,M 895 03F5 07 RLC 896 03F6 3E 01 MVI A,1 897 03F8 CE 00 ACI 0 ; SPOCTI DELKU 898 03FA 47 MOV B,A ; ULOZ 899 03FB 23 INX H 900 03FC 5E MOV E,M ; SPODNI ADR. 901 03FD 1A LDAX D ; HORNI BYTE 902 03FE CD 05E8 CALL DBYT 903 0401 78 MOV A,B 904 0402 3D DCR A 905 0403 1B DCX D 906 0404 1A LDAX D ; CTI DRUHY BYTE 907 0405 C4 05E8 CNZ DBYT ; PRO 2.BYTE REG. ZOBRAZ 908 0408 B3 ORA E 909 0409 C9 RET 910 ; 911 ; X: TABULKA PRIKAZU 912 040A 41 70 RGNAM: DB 'A',LOW ACSAV+1 913 040C 46 6F DB 'F',LOW ACSAV 914 040E 42 72 DB 'B',LOW BCSAV+1 915 0410 43 71 DB 'C',LOW BCSAV 916 0412 44 74 DB 'D',LOW DESAV+1 917 0414 45 73 DB 'E',LOW DESAV 918 0416 48 76 DB 'H',LOW HLSAV+1 919 0418 4C 75 DB 'L',LOW HLSAV 920 041A D0 78 DB 'P' OR 80H,LOW PCSAV+1 921 041C D3 7A DB 'S' OR 80H,LOW SPSAV+1 922 041E 00 DB 0 923 ; 924 ; PRACE S PAMETI: PROHLIZENI, PLNENI, PRESUV A ZAMENA 925 ;**************************************************** 926 ; 927 ; ZOBRAZENI OBSAHU PAMETI 928 ; 929 041F CD 04A8 DISP: CALL EXPR ; OD - DO 930 0422 D1 POP D 931 0423 E1 POP H 932 0424 E5 DI0: PUSH H ; PRVNI ADR. 933 0425 CD 0508 CALL DNADR ; NOVA ADR. 934 0428 7E DI1: MOV A,M 935 0429 CD 09C9 CALL DBYTE 936 042C CD 04F5 CALL HILO 937 042F DA 0438 JC DIA ; ZOBRAZ ASCII 938 0432 7D MOV A,L 939 0433 E6 07 ANI 7 940 0435 C2 0428 JNZ DI1 ; DALSI BYTE 941 0438 E1 DIA: POP H 942 0439 CD 09CC CALL SPACE 943 043C 7E DI2: MOV A,M FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-16 944 043D CD 089C CALL BIG 945 0440 FE 20 CPI ' ' 946 0442 DA 044A JC DI4 947 0445 FE 7B CPI 7BH 948 0447 DA 044C JC DI5 949 044A 3E 2E DI4: MVI A,'.' 950 044C CD 0568 DI5: CALL COA 951 044F CD 04F5 CALL HILO 952 0452 D8 RC 953 0453 7D MOV A,L 954 0454 E6 07 ANI 7 955 0456 C2 043C JNZ DI2 ; DALSI ASCII 956 0459 CD 058B CALL CSTS 957 045C CA 0424 JZ DI0 ; DALSI RADEK 958 045F CD 0537 CALL CIMIN ; ' '..PRERUSENI 959 0462 D8 RC ; CR 960 0463 CD 053A DI3: CALL CINCR 961 0466 D8 RC ; CR 962 0467 C3 0424 JMP DI0 963 ;************************************* 964 ; 965 ; NAPLNENI PAMETI KONSTANTOU 966 ; 967 046A 0C FILL: INR C 968 046B CD 04A8 CALL EXPR ; OD-DO-CIM 969 046E C1 POP B 970 046F D1 POP D 971 0470 E1 POP H 972 0471 71 FI1: MOV M,C 973 0472 CD 04F5 CALL HILO 974 0475 D2 0471 JNC FI1 975 0478 C9 RET 976 ;************************************* 977 ; 978 ; PRESUN BLOKU PAMETI 979 ; 980 0479 0C MOVE: INR C 981 047A CD 04A8 CALL EXPR 982 047D C1 POP B 983 047E D1 POP D 984 047F E1 POP H 985 0480 7E MO1: MOV A,M 986 0481 02 STAX B 987 0482 03 INX B 988 0483 CD 04F5 CALL HILO 989 0486 D2 0480 JNC MO1 990 0489 C9 RET 991 ;************************************* 992 ; 993 ; ZMENA OBSAHU PAMETI 994 ; 995 048A CD 0500 SUBS: CALL RADR ; ADR. 996 048D 7E SU1: MOV A,M 997 998 999 048E CD 05E8 CALL DBYT 1000 0491 CD 0537 CALL CIMIN ; - & CINCR 1001 0494 D8 RC ; CR 1002 0495 CA 049C JZ SU2 FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-17 1003 0498 CD 0053 CALL RBYT ; ZMENA 1004 049B C8 RZ ; KONEC 1005 049C 23 SU2: INX H ; DALSI BYTE 1006 049D FE 2C CPI ',' ; PRO "," ZOBRAZ ADR. 1007 049F CC 0508 CZ DNADR 1008 04A2 C3 048D JMP SU1 1009 ; 1010 ;******************************************** 1011 ; PODPROGRAMY MONITORU A SLUZBY 1012 ;******************************************** 1013 ; 1014 ; SKLADANI ADRES (VSTUP PARAMETRU) DO ZASOBNIKU, 1015 ; POCET V C-REG. 1016 ; 1017 04A5 DA 0A38 EXPR0: JC ERROR 1018 04A8 CD 0013 EXPR: CALL EQUAL ; TISK = 1019 04AB 21 0000 LXI H,0 1020 04AE CD 0562 EX0: CALL ECHO 1021 04B1 47 EX1: MOV B,A 1022 04B2 FE 27 CPI 27H ; "'" 1023 04B4 CA 04E9 JZ EX4 1024 04B7 CD 0523 CALL ASHEX 1025 04BA DA 04C6 EX2: JC EX3 ; HEX CIFRA ? 1026 04BD 29 DAD H ; POSUV "HL" O 4 BITY VLEVO 1027 04BE 29 DAD H 1028 04BF 29 DAD H 1029 04C0 29 DAD H 1030 04C1 B5 ORA L 1031 04C2 6F MOV L,A 1032 04C3 C3 04AE JMP EX0 ; DALSI ZNAK 1033 04C6 78 EX3: MOV A,B 1034 04C7 CD 053D CALL ANAL 1035 04CA C2 04DA JNZ EX5 ; NENI HEX CIFRA 1036 04CD E3 XTHL 1037 04CE E5 PUSH H 1038 04CF 0D DCR C ; CARKA, MEZERA 1039 04D0 C2 04A5 JNZ EXPR0 ; DALSI ADRESY 1040 04D3 D0 RNC 1041 ; 1042 04D4 CD 0549 CRLF: CALL TX 1043 04D7 0D 8A DB CR,LF OR 80H 1044 04D9 C9 RET 1045 ; 1046 04DA CD 0549 EX5: CALL TX 1047 04DD 88 DB 88H ; BACK SPACE 1048 04DE C3 04AE JMP EX0 ; ZRUS CHYBU 1049 ; 1050 04E1 0E 01 EXPRM: MVI C,1 1051 04E3 21 0000 LXI H,0 1052 04E6 C3 04B1 JMP EX1 1053 ; 1054 04E9 CD 053A EX4: CALL CINCR ; PRIKAZ 1055 04EC 47 MOV B,A ; ULOZ 1056 04ED CA 04C6 JZ EX3 1057 04F0 65 MOV H,L 1058 04F1 6F MOV L,A 1059 04F2 C3 04E9 JMP EX4 1060 ;************************************** 1061 FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-18 1062 1063 ; INKREMENTUJE "HL" ,KONTROLUJE "HL"=0 NEBO 1064 ; "HL"glt;"DE"...CARRY=1 1065 1066 04F5 23 HILO: INX H 1067 04F6 7C MOV A,H 1068 04F7 B5 ORA L 1069 04F8 37 STC 1070 04F9 C8 RZ ; NAVRAT PO "HL"=0000 1071 04FA 7A COMPR: MOV A,D 1072 04FB BC CMP H 1073 04FC C0 RNZ 1074 04FD 7B MOV A,E 1075 04FE BD CMP L 1076 04FF C9 RET 1077 1078 ; CTI ADRESU 1079 1080 0500 0E 01 RADR: MVI C,1 1081 0502 CD 04A8 CALL EXPR 1082 0505 E1 POP H 1083 0506 7D MOV A,L 1084 0507 C9 RET 1085 1086 ; ZOBRAZ NOVOU ADRESU 1087 1088 0508 CD 04D4 DNADR: CALL CRLF 1089 050B CD 05E3 DADR: CALL DADR0 1090 050E C3 09CC JMP SPACE 1091 ; 1092 ; PREVOD HEXADECIMALNI CIFRY NA ASCII V "C" REG 1093 1094 0511 E6 0F HXANIB: ANI 0FH 1095 ; 1096 0513 C6 90 HXASC: ADI 90H 1097 0515 27 DAA 1098 0516 CE 40 ACI 40H 1099 0518 27 DAA 1100 0519 4F MOV C,A 1101 051A C9 RET 1102 1103 ; ZJISTI KONEC RAM <Aglt;,<Bglt;..HIGH 1104 1105 051B E5 MEMCK: PUSH H 1106 051C 2A 40BF LHLD MEMTOP 1107 051F 7D MOV A,L 1108 0520 44 MOV B,H 1109 0521 E1 POP H 1110 0522 C9 RET 1111 1112 1113 ; PREVOD ZNAKU ASCII NA HEXADEC. 1114 1115 0523 CD 089C ASHEX: CALL BIG ; VELKA PISMENA 1116 0526 D6 30 SUI '0' 1117 0528 D8 RC ; FILTR < (00-2F) 1118 0529 FE 17 CPI 17H ; '0'..'F'..HEX 1119 052B 3F CMC 1120 052C D8 RC ; CY=1..CHYBA FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-19 1121 052D FE 0A CPI 10 1122 052F 3F CMC 1123 0530 D0 RNC ; 0-9 .. KOD 1124 0531 FE 11 CPI 11H 1125 0533 D8 RC ; CHYBA 1126 0534 D6 07 SUI 7 1127 0536 C9 RET ; A-F .. KOD 1128 1129 0537 CD 000B CIMIN: CALL MINUS ; - 1130 ; 1131 053A CD 0562 CINCR: CALL ECHO 1132 053D FE 2C ANAL: CPI ',' 1133 053F C8 ANAL0: RZ 1134 0540 FE 20 CPI ' ' 1135 0542 C8 ANAL2: RZ 1136 0543 FE 0D CPI CR 1137 0545 37 STC 1138 0546 C8 RZ 1139 0547 B7 ORA A 1140 0548 C9 RET ; PO CR CARRY=1 1141 ; 1142 ; TEXT PRIMO ZA VOLANIM 1143 ; 1144 0549 E3 TX: XTHL 1145 054A 7E MOV A,M 1146 054B E6 7F ANI 7FH 1147 054D CD 0568 CALL COA 1148 0550 7E MOV A,M 1149 0551 07 RLC ; PARITA..KONEC 1150 0552 23 INX H ; DALSI ZNAK 1151 0553 D2 054A JNC TX+1 ; ZOBRAZ 1152 0556 E3 XTHL ; OBNOV PC 1153 0557 C9 RET 1154 1155 ; VYPIS TEXTU - HL ADRESA, D DELKA 1156 1157 0558 7E TEXT: MOV A,M 1158 0559 23 INX H 1159 055A CD 0568 CALL COA 1160 055D 15 DCR D 1161 055E C2 0558 JNZ TEXT 1162 0561 C9 RET 1163 ; 1164 ; ECHO 1165 ; 1166 0562 CD 0596 ECHO: CALL CI 1167 0565 CD 089C CALL BIG 1168 0568 C5 COA: PUSH B 1169 0569 4F MOV C,A 1170 056A CD 05F4 CALL CO 1171 056D C1 POP B 1172 056E C9 RET 1173 1174 ; IODEF:... DEFINICE UZIVATELSKYCH I/0 RUTIN 1175 1176 056F 79 IODEF: MOV A,C ; CISLO 1177 0570 FE 15 CPI IONUM 1178 0572 F0 RP 1179 0573 C5 PUSH B FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-20 1180 0574 E5 PUSH H 1181 0575 81 ADD C 1182 0576 81 ADD C 1183 0577 4F MOV C,A 1184 0578 06 00 MVI B,0 ; OFFSET 1185 057A 21 40A6 LXI H,CILOC ; SPOCTI ADR. 1186 057D 09 DAD B 1187 057E 36 C3 MVI M,0C3H ; JMP 1188 0580 23 INX H 1189 0581 4E MOV C,M 1190 0582 73 MOV M,E 1191 0583 23 INX H 1192 0584 46 MOV B,M 1193 0585 72 MOV M,D ; ADR. 1194 0586 50 MOV D,B ; DE..PUVODNI OBSAH 1195 0587 59 MOV E,C 1196 0588 E1 POP H 1197 0589 C1 POP B 1198 058A C9 RET 1199 ; 1200 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1201 ; I/O PERIFERIE 1202 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1203 ; 1204 ; VOLBA PERIFERII PODLE IOBYTE 1205 ; 1206 058B 3A 40E2 CSTS: LDA IOBYT ; USER1, USER2 1207 058E 1F RAR 1208 058F 1F RAR 1209 0590 DA 40BB JC CSLOC ; USER CSTS 1210 0593 C3 40CA JMP CSTS@ ; SYSTEM.CSTS 1211 ; 1212 0596 CD 05A1 CI: CALL DEV 1213 0599 0841 0841 CITB: DW CI@,CI@,RI,CILOC 1214 059D 05AA 40A6 1215 1216 IF HIGH ($-CITB) 1217 .PRINTX "CHYBA V DEFINICI I/O TABULKY" 1218 ERRIO EQU $ 1219 ENDIF 1220 ; 1221 05A1 3A 40E2 DEV: LDA IOBYT 1222 05A4 E6 03 DEV0: ANI 3 1223 05A6 E3 XTHL 1224 05A7 C3 0233 JMP INJMP 1225 ; 1226 05AA 3A 40E2 RI: LDA IOBYT 1227 05AD 0F RRC 1228 05AE 0F RRC 1229 05AF CD 05A4 CALL DEV0 1230 ; 1231 05B2 0841 40D3 RITB: DW CI@,RI@,R1LOC,R2LOC 1232 05B6 40AC 40AF 1233 ; 1234 IF HIGH ($-RITB) 1235 .PRINTX "CHYBA V DEFINICI I/O TABULKY" 1236 ERRIO EQU $ 1237 ENDIF 1238 ; FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-21 1239 05BA 0F HBT: RRC 1240 05BB 0F RRC 1241 05BC 0F RRC 1242 05BD 0F RRC 1243 05BE CD 0511 LBT: CALL HXANIB 1244 ; 1245 05C1 3A 40E2 PO: LDA IOBYT 1246 05C4 0F RRC 1247 05C5 0F RRC 1248 05C6 0F RRC 1249 05C7 0F RRC 1250 05C8 CD 05A4 CALL DEV0 1251 ; 1252 05CB 05F4 40D6 POTB: DW CO,PO@,P1LOC,P2LOC 1253 05CF 40B2 40B5 1254 ; 1255 IF HIGH ($-POTB) 1256 .PRINTX "CHYBA V DEFINICI I/O TABULKY" 1257 ERRIO EQU $ 1258 ENDIF 1259 ; 1260 05D3 3A 40E2 LO: LDA IOBYT 1261 05D6 07 RLC 1262 05D7 07 RLC 1263 05D8 CD 05A4 CALL DEV0 1264 ; 1265 05DB 060A 05F4 LOTB: DW COLO,CO,LO@,LILOC 1266 05DF 40CD 40B8 1267 1268 IF HIGH ($-LOTB) 1269 .PRINTX "CHYBA V DEFINICI I/O TABULKY" 1270 ERRIO EQU $ 1271 ENDIF 1272 ; 1273 ; ZOBRAZ ADRESU Z "HL" 1274 1275 05E3 7C DADR0: MOV A,H 1276 05E4 CD 05E8 CALL DBYT 1277 05E7 7D MOV A,L 1278 1279 ; ZOBRAZ BYTE <Aglt; 1280 1281 05E8 F5 DBYT: PUSH PSW 1282 05E9 0F RRC 1283 05EA 0F RRC 1284 05EB 0F RRC 1285 05EC 0F RRC 1286 05ED CD 05F1 CALL LBYTE 1287 05F0 F1 POP PSW 1288 05F1 DNIBL: 1289 05F1 CD 0511 LBYTE: CALL HXANIB 1290 ; 1291 05F4 CD 05A1 CO: CALL DEV 1292 ; 1293 05F7 060A 060D COTB: DW COLO,COOUT,LO,COLOC 1294 05FB 05D3 40A9 1295 ; 1296 IF HIGH ($-COTB) 1297 .PRINTX "CHYBA V DEFINICI I/O TABULKY" FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-22 1298 ERRIO EQU $ 1299 ENDIF 1300 ;**************************************************** 1301 ; OBSLUHA T.V. A NEBO TERMINALU 1302 ;**************************************************** 1303 ; 1304 ; CONSOLE OUTPUT 1305 ; <Cglt;...ZAPISE NA OBRAZOVKU 1306 ; 1307 ; SM 7202 .. SERIOVY VYSTUP 1308 ; 1309 05FF DB 11 SEROUT: IN USTAT 1310 0601 E6 40 ANI 40H 1311 0603 CA 05FF JZ SEROUT 1312 0606 79 MOV A,C 1313 0607 D3 12 OUT UDATA 1314 0609 C9 RET 1315 ; 1316 ; ZOBRAZ A TISKNI 1317 ; 1318 060A CD 05D3 COLO: CALL LO 1319 ; 1320 ;******************************************** 1321 ; OBSLUHA T.V. A SIMULACE DISPLEJE <Cglt;..ZNAK 1322 ;******************************************** 1323 ; 1324 060D 3A 40E3 COOUT: LDA MODE 1325 0610 0F RRC 1326 0611 DC 40CD CC LO@ ; TISK 1327 0614 C3 40C7 JMP CO@ ; TERMINAL 1328 ; 1329 ;-------------------------------- 1330 ; 1331 0617 79 CO@@: MOV A,C 1332 0618 FE 7F CPI 7FH ; DEL 1333 061A C8 RZ 1334 061B FE 09 CPI HT 1335 061D CA 082F JZ TAB@ 1336 0620 D5 PUSH D 1337 0621 E5 PUSH H 1338 0622 C5 PUSH B 1339 0623 2A 4081 LHLD CADR ; VYMAZ KURSOR 1340 0626 FE 20 CPI ' ' ; PRO ' '...'Z' PIS 1341 0628 DA 065A JC CONTROL ; RIZENI T.V. 1342 ; 1343 ; ZAPIS ZNAKU DO VIDEO RAM 1344 ; 1345 062B 3A 40F9 CO@WR: LDA XFLG ; ADRESACE KURSORU? 1346 062E B7 ORA A 1347 062F C2 06E1 JNZ ADRCUR ; + 1348 IF TV64 1349 MOV M,C 1350 ELSE 1351 0632 79 MOV A,C ; VYTVOR KOD PRO AND-1 1352 0633 CD 089C CALL BIG 1353 0636 E6 3F ANI 3FH 1354 0638 77 MOV M,A ; ZAPIS ZNAK ! 1355 0639 3A 40E3 LDA MODE 1356 063C E6 C0 ANI 0C0H FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-23 1357 063E C4 071B CNZ ATTR 1358 ENDIF 1359 ; 1360 0641 CD 0720 COEXAT: CALL CONXT ; VYPOCTI DALSI ADRESU 1361 ; ZAPIS NOVY KURZOR 1362 0644 C1 COEXX: POP B 1363 0645 7E COEX0: MOV A,M 1364 0646 32 40F8 STA CHAR 1365 0649 22 4081 SHLD CADR 1366 064C 3A 40E3 LDA MODE ; KURSOR (Y/N) 1367 064F E6 20 ANI 20H 1368 0651 C2 0656 JNZ COEX1 1369 0654 36 A0 MVI M,CURSOR 1370 0656 E1 COEX1: POP H 1371 0657 D1 POP D 1372 0658 79 MOV A,C 1373 0659 C9 RET ; KONEC CONSOLE OUTPUT 1374 1375 ;*********************************************** 1376 ; 1377 ; ZPRACOVANI RIDICICH ZNAKU ( SIMULACE SM7202 ) 1378 ; 1379 065A CONTROL: 1380 065A 21 069B LXI H,COEX ; ADRESA NAVRATU 1381 065D E5 PUSH H ; OBNOVENI ZNAKU MISTO 1382 065E CD 06C5 CALL OBNOV ; KURZORU 1383 0661 79 MOV A,C 1384 0662 FE 0D CPI CR 1385 0664 CA 07BC JZ CR@ 1386 0667 FE 0A CPI LF 1387 0669 CA 0730 JZ LF@ 1388 066C FE 1E CPI EOL 1389 066E CA 0793 JZ EOL@ 1390 0671 FE 08 CPI BACK 1391 0673 CA 07A3 JZ BACK@ 1392 0676 FE 18 CPI RIGHT 1393 0678 CA 0720 JZ CONXT 1394 067B FE 1D CPI HOME 1395 067D CA 07B6 JZ HOME@ 1396 0680 FE 1F CPI ERS 1397 0682 CA 075E JZ ERS@ 1398 0685 FE 1A CPI UP 1399 0687 CA 07C3 JZ UP@ 1400 068A FE 0B CPI VT 1401 068C CA 0782 JZ VT@ 1402 068F FE 1C CPI WNDCD 1403 0691 CA 0705 JZ WNDCH 1404 0694 FE 1B CPI ESC 1405 0696 C0 RNZ 1406 0697 32 40F9 ESC@: STA XFLG 1407 069A C9 RET 1408 ; 1409 ; VYPOCTI NOVOU POZICI 1410 ; 1411 069B CD 06CC COEX: CALL COADR 1412 069E C3 0644 JMP COEXX ; ZAPIS KURZOR 1413 ; 1414 ;------------------------------------------------- 1415 ; PODPROGRAMY FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-24 1416 ;-------------------------------------------------- 1417 ; 1418 ; NASTAV MODE A I/O FLAGY 1419 ; 1420 06A1 47 EXFLG: MOV B,A 1421 06A2 0C INR C ; SPEC. FUNKCE 1422 06A3 CA 007E JZ BINAR 1423 06A6 0D DCR C 1424 06A7 79 MOV A,C 1425 06A8 FE 15 CPI EXSER ; PRETECENI? 1426 06AA 78 MOV A,B 1427 06AB D0 RNC 1428 06AC E5 PUSH H ; <Aglt; .. PRIKAZ 1429 ; <Cglt; .. 0-N SLUZBA 1430 06AD 06 00 MVI B,0 ; 0-MODE, 1-@IF1..4-@OF2 1431 06AF 21 40E3 LXI H,MODE ; C=O 1432 06B2 09 DAD B 1433 06B3 46 MOV B,M ; <Bglt;..PUVODNI NASTAVENI 1434 06B4 77 MOV M,A 1435 06B5 E1 POP H 1436 06B6 79 MOV A,C 1437 06B7 FE 05 CPI 5 1438 06B9 D8 RC ; C=5,6 .. OBNOV KORZOR 1439 06BA FE 07 CPI 7 1440 06BC D0 RNC 1441 06BD D5 EXFLG1: PUSH D 1442 06BE E5 PUSH H 1443 06BF CD 06C5 CALL OBNOV 1444 06C2 C3 0645 JMP COEX0 ; OBNOV KURZOR 1445 ; 1446 ; OBNOVA KURSORU 1447 ; 1448 06C5 2A 4081 OBNOV: LHLD CADR 1449 06C8 3A 40F8 LDA CHAR 1450 06CB 77 MOV M,A 1451 ; 1452 ; VYPOCTI NOVOU ADRESU 1453 ; 1454 06CC 2A 40E8 COADR: LHLD LINE ; SPOCTI ADR.<HLglt; 1455 06CF E5 PUSH H 1456 06D0 26 00 MVI H,0 1457 06D2 29 DAD H 1458 06D3 29 DAD H 1459 06D4 29 DAD H 1460 06D5 29 DAD H 1461 06D6 29 DAD H 1462 06D7 29 DAD H ; 64* 1463 06D8 11 3800 LXI D,TVBEG ; TV-RAM 1464 06DB 19 DAD D ; ZACATEK RADKU 1465 06DC D1 POP D ; NSTAV DE 1466 06DD 7D MOV A,L ; D-SLOUPEC 1467 06DE B2 ORA D ; E-RADEK 1468 06DF 6F MOV L,A ; HL...ADR 1469 06E0 C9 RET 1470 ; 1471 ; ADRESACE KURZORU: ESC, Y, X 1472 ; 1473 06E1 3D ADRCUR: DCR A 1474 06E2 79 MOV A,C ; ZNAK FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-25 1475 06E3 CA 06F3 JZ ADRCX ; "X" 1476 06E6 D6 20 SUI ' ' ; "Y" 1477 06E8 FE 18 CPI HEIGHT 1478 06EA D0 RNC 1479 06EB 32 40E8 STA LINE 1480 06EE 3E 01 MVI A,1 1481 06F0 C3 06FC JMP ESC@0 1482 06F3 D6 20 ADRCX: SUI ' ' 1483 06F5 FE 28 CPI WIDTH 1484 06F7 D0 RNC 1485 06F8 32 40E9 STA COLUM 1486 06FB AF XRA A ; ZRUS PRIZNAK 1487 06FC 32 40F9 ESC@0: STA XFLG 1488 06FF CD 06C5 CALL OBNOV 1489 0702 C3 0644 JMP COEXX 1490 ; 1491 ; ZMENA OKNA 1492 ; 1493 0705 21 40F2 WNDCH: LXI H,WNDP ; ADRESA NOVYCH PARAMETRU 1494 0708 11 40E8 WND@: LXI D,LINE ; PUVODNI NASTAVENI 1495 070B 06 06 MVI B,6 ; DELKA 1496 070D 1A WND@0: LDAX D 1497 070E 4E MOV C,M ; ZAMENA 1498 070F 77 MOV M,A 1499 0710 79 MOV A,C 1500 0711 12 STAX D 1501 0712 13 INX D 1502 0713 23 INX H 1503 0714 05 DCR B 1504 0715 C2 070D JNZ WND@0 1505 0718 C3 06BD JMP EXFLG1 ; OBNOV KURZOR 1506 1507 IF NOT TV64 1508 ; 1509 ; ZPRACUJ ATTRIBUT 1510 ; 1511 071B B6 ATTR: ORA M 1512 071C 77 MOV M,A 1513 071D D6 C0 SUI 0C0H 1514 071F D8 RC 1515 ENDIF 1516 ; 1517 ; VYPOCTI DALSI ADRESU 1518 ; 1519 0720 23 CONXT: INX H ; JE TO 1520 0721 CD 081F CALL CMAX ; POSLEDNI ZNAK 1521 0724 47 MOV B,A 1522 0725 7D MOV A,L ; KONEC RADKU ? 1523 0726 E6 3F ANI 3FH 1524 IF TV64 1525 JZ CONX1 1526 ENDIF 1527 0728 32 40E9 STA COLUM 1528 072B B8 CMP B ; KONEC RADKU 1529 072C D8 RC ; NE 1530 072D CD 07BC CONX1: CALL CR@ ; NASTAV SLOUPEC 1531 ; 1532 ; NOVY RADEK 1533 ; FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-26 1534 0730 CD 0782 LF@: CALL VT@ 1535 0733 D0 RNC 1536 ; 1537 ; ROLUJ OBRAZOVKU 1538 ; 1539 0734 2A 40EA ROLL@: LHLD RESL 1540 0737 79 MOV A,C 1541 0738 95 SUB L 1542 0739 3D DCR A 1543 073A 4F MOV C,A ; POCET RADKU 1544 073B CD 081F CALL CMAX 1545 073E 94 SUB H 1546 073F 47 MOV B,A ; POCET ZNAKU 1547 0740 CD 06CF CALL COADR+3 ; PRVNI RADEK 1548 0743 EB ROLL: XCHG 1549 0744 21 0040 LXI H,LINOF ; OFFSET 1550 0747 19 DAD D 1551 0748 C5 PUSH B 1552 0749 E5 PUSH H ; PRO DALSI RADEK 1553 074A 7E ROLL1: MOV A,M 1554 074B 12 STAX D 1555 074C 13 INX D ; + 1556 074D 23 INX H 1557 074E 05 DCR B 1558 074F C2 074A JNZ ROLL1 ; VSECHNY RADKY 1559 0752 E1 POP H 1560 0753 C1 POP B 1561 0754 0D DCR C ; KONEC ? 1562 0755 C2 0743 JNZ ROLL 1563 0758 CD 0793 ROLL2: CALL EOL@ 1564 075B C3 06CC JMP COADR 1565 ; 1566 ; VYMAZ ZBYTEK OBRAZOVKY 1567 ; 1568 075E CD 0793 ERS@: CALL EOL@ 1569 0761 2A 40E8 LHLD LINE 1570 0764 3A 40EB LDA RESC 1571 0767 67 MOV H,A ; 1.ZNAK NA RADKU 1572 0768 CD 0827 CALL LMAX ; POCET RADKU 1573 076B 95 SUB L 1574 076C 3D DCR A 1575 076D 4F MOV C,A ; CITAC 1576 076E CA 06CC JZ COADR ; KONEC 1577 0771 CD 06CF CALL COADR+3 1578 0774 11 0040 ERS@1: LXI D,LINOF 1579 0777 19 DAD D 1580 0778 E5 PUSH H 1581 0779 CD 0793 CALL EOL@ 1582 077C E1 POP H 1583 077D 0D DCR C 1584 077E C2 0774 JNZ ERS@1 1585 0781 C9 RET 1586 ; 1587 ; VERTIKALNI TAB. 1588 ; 1589 0782 CD 0827 VT@: CALL LMAX ; POSLEDNI RADEK ? 1590 0785 4F MOV C,A 1591 0786 3A 40E8 LDA LINE ; CISLO RADKU 1592 0789 3C INR A FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-27 1593 078A B9 CMP C ; KONEC? 1594 078B 3F CMC 1595 078C D8 RC 1596 078D 32 40E8 STA LINE 1597 0790 C3 06CC JMP COADR 1598 1599 IF NOT CPM 1600 1601 ; VYMAZ ZBYTEK RADKU 1602 ; 1603 0793 7D EOL@: MOV A,L 1604 0794 E6 3F ANI 3FH ; CISLO ZNAKU 1605 0796 47 MOV B,A 1606 0797 CD 081F CALL CMAX ; MAX. POCET ZNAKU 1607 079A 90 SUB B ; POCET ZNAKU PRO VYMAZ 1608 079B 36 20 EOL@1: MVI M,' ' ; CISTI 1609 079D 23 INX H 1610 079E 3D DCR A 1611 079F C2 079B JNZ EOL@1 1612 07A2 C9 RET 1613 ; 1614 ; VRAT KURZOR ZPET 1615 ; 1616 07A3 3A 40EB BACK@: LDA RESC ; JE TO 1. ZNAK 1617 07A6 BA CMP D 1618 07A7 7A MOV A,D 1619 07A8 C2 07B2 JNZ BAC@1 1620 07AB CD 07C3 CALL UP@ 1621 07AE D0 RNC ; HORNI OKRAJ 1622 07AF CD 081F CALL CMAX 1623 07B2 3D BAC@1: DCR A 1624 07B3 C3 07BF JMP CR@+3 1625 ; 1626 ; NASTAV ZACATEK OBRAZOVKY 1627 ; 1628 07B6 3A 40EA HOME@: LDA RESL 1629 07B9 32 40E8 STA LINE 1630 ; 1631 ; NOVY RADEK 1632 ; 1633 07BC 3A 40EB CR@: LDA RESC 1634 07BF 32 40E9 STA COLUM 1635 07C2 C9 RET 1636 ; 1637 ; KURZOR NAHORU 1638 ; 1639 07C3 3A 40EA UP@: LDA RESL 1640 07C6 BB CMP E 1641 07C7 C8 RZ ; REZERVA 1642 07C8 7B MOV A,E 1643 07C9 B7 ORA A 1644 07CA C8 RZ ; VRCHOL 1645 07CB 3D DCR A 1646 07CC 32 40E8 STA LINE 1647 07CF 37 STC 1648 07D0 C9 RET 1649 ENDIF 1650 ;**************************************************** 1651 ; PREKODOVANI ZNAKU PRO :CI: FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-28 1652 ;---------------------------- 1653 ; PREVOD PRO 262.3 PL-CS 1654 ; 1655 07D1 D2 80 8D 1D TABZN: DB 0D2H,80H,8DH,1DH ; CS-LOCK, HOME 1656 07D5 82 81 83 81 DB 82H,81H,83H,81H ; CS-COPY 1657 07D9 C1 1A C2 0B DB 0C1H,1AH,0C2H,0BH ; KURZOR 1658 07DD C3 18 C4 08 DB 0C3H,18H,0C4H,08H 1659 07E1 D0 DC D1 E0 DB 0D0H,0DCH,0D1H,0E0H ; '^ 1660 07E5 00 DB 0 ; KONEC 1661 ; 1662 ; TABULKA ZNAKU: 1663 ; 1664 07E6 CSKOD: ; CISLA NA CS-KODY 1665 07E6 D7 2B C5 D3 DB 0D7H,02BH,0C5H,0D3H,0C3H 1666 07EA C3 1667 07EB D2 DA D9 C1 DB 0D2H,0DAH,0D9H,0C1H,0C9H 1668 07EF C9 1669 ; 1670 ; PREVOD WM-KODU A CISEL 1671 ; 1672 07F0 2C 2D 2E TBWM: DB ',-.' ; ,-. 1673 07F3 81 DB 81H ; CS 0 1674 07F4 30 31 32 33 DB '0123456789' 1675 07F8 34 35 36 37 1676 07FC 38 39 1677 07FE RRAM EQU $ 1678 ;***************************************************** 1679 IF RRAM GT 809H 1680 .PRINTX 'SPATNA TABULKA O.S' 1681 QQQQQQ 1682 ENDIF 1683 1684 ORG 809H ; SLUZBY MIKOSU 1685 0809 C3 006A JMP FIND 1686 080C C3 006F JMP OPEN 1687 080F C3 0A66 JMP CLOSE 1688 0812 C3 0074 JMP LOADCD 1689 0815 C3 0079 JMP SAVECD 1690 0818 50 45 52 49 DB 'PERINA ' 1691 081C 4E 41 20 1692 ;**************************************************** 1693 IF CPM 1694 ; 1695 ; VYMAZ ZBYTEK RADKU 1696 ; 1697 EOL@: MOV A,L 1698 ANI 3FH ; CISLO ZNAKU 1699 MOV B,A 1700 CALL CMAX ; MAX. POCET ZNAKU 1701 SUB B ; POCET ZNAKU PRO VYMAZ 1702 EOL@1: MVI M,' ' ; CISTI 1703 INX H 1704 DCR A 1705 JNZ EOL@1 1706 RET 1707 ; 1708 ; VRAT KURZOR ZPET 1709 ; 1710 BACK@: LDA RESC ; JE TO 1. ZNAK FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-29 1711 CMP D 1712 MOV A,D 1713 JNZ BAC@1 1714 CALL UP@ 1715 RNC ; HORNI OKRAJ 1716 CALL CMAX 1717 BAC@1: DCR A 1718 JMP CR@+3 1719 ; 1720 ; NASTAV ZACATEK OBRAZOVKY 1721 ; 1722 HOME@: LDA RESL 1723 STA LINE 1724 ; 1725 ; NOVY RADEK 1726 ; 1727 CR@: LDA RESC 1728 STA COLUM 1729 RET 1730 ; 1731 ; KURZOR NAHORU 1732 ; 1733 UP@: LDA RESL 1734 CMP E 1735 RZ ; REZERVA 1736 MOV A,E 1737 ORA A 1738 RZ ; VRCHOL 1739 DCR A 1740 STA LINE 1741 STC 1742 RET 1743 1744 ENDIF 1745 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1746 ; PRACE S OKNY 1747 ; 1748 081F 3A 40ED CMAX: LDA RESC1 ; MAX POCET ZNAKU 1749 0822 B7 ORA A 1750 0823 C0 RNZ ; JE ZADAN 1751 0824 3E 28 CMAX0: MVI A,WIDTH 1752 0826 C9 RET 1753 ; 1754 0827 3A 40EC LMAX: LDA RESL1 ; MAX POCET RADKU 1755 082A B7 ORA A 1756 082B C0 RNZ 1757 082C 3E 18 LMAX0: MVI A,HEIGHT 1758 082E C9 RET 1759 1760 1761 082F C5 TAB@: PUSH B 1762 0830 CD 09CC CALL SPACE 1763 0833 3A 4081 LDA CADR ; MODULO 8 1764 0836 E6 07 ANI 7 1765 0838 C2 0830 JNZ TAB@+1 1766 083B C1 POP B 1767 083C 79 MOV A,C 1768 083D C9 RET 1769 ; FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-30 1770 ;**************************************************** 1771 ; OBSLUHA KLAVSNICE NEBO TERMINALU <Aglt;..ZNAK 1772 ;**************************************************** 1773 ; 1774 083E CD 01EC CALL INIC-6 ; ^W 1775 0841 3A 40E3 CI@: LDA MODE ; ZAKAZ CURSORU 1776 0844 E6 20 ANI 20H 1777 0846 C2 0860 JNZ CI@CU ; ANO 1778 0849 3A 40F0 LDA KEY ; NASTAV TYP KURZORU 1779 084C B7 ORA A 1780 084D 3E A0 MVI A,CURSOR ; NORMALNI ZNAK 1781 084F CA 085A JZ SETCUR 1782 0852 3E 5E MVI A,5EH ; ' ^ 1783 0854 F2 085A JP SETCUR 1784 0857 3A 40EF LDA CUR@ ; CS-LOCK 1785 085A E5 SETCUR: PUSH H 1786 085B 2A 4081 LHLD CADR 1787 085E 77 MOV M,A ; ZAPIS 1788 085F E1 POP H 1789 0860 CD 40C4 CI@CU: CALL CI@0 ; HANDLER 1790 0863 C5 CI@1: PUSH B 1791 0864 47 MOV B,A 1792 0865 CD 0944 CALL DEKOD ; DEKODUJ KLAVESY 1793 0868 3A 4086 LDA CSKOD@ ; KOD CS 1794 086B 4F MOV C,A 1795 ;NORMALNI MOD NEBO CS 1796 086C 3A 40E3 LDA MODE 1797 086F E6 04 ANI 4 1798 0871 C2 08CA JNZ CICS ; CESKA ABECEDA 1799 ; POCITACOVE ZNAKY ... 1800 0874 78 MOV A,B 1801 0875 C1 POP B 1802 0876 CD 089C CALL BIG 1803 0879 FE 17 CPI PRNT 1804 087B CA 083E JZ CI@-3 ; ^W 1805 087E FE 10 CPI CTRLP 1806 0880 CA 0891 JZ CHANGE ; ^P 1807 0883 FE 11 CPI CTRLQ ; ^Q 1808 0885 C0 RNZ 1809 0886 CD 0841 CALL CI@ 1810 0889 E6 0F ANI 0FH ; MAX 0-15 1811 088B 32 40EA STA RESL 1812 088E C3 0841 JMP CI@ ; NOVY ZNAK 1813 ; 1814 0891 3A 40E3 CHANGE: LDA MODE 1815 0894 EE 01 XRI 1 1816 0896 32 40E3 STA MODE 1817 0899 C3 0841 JMP CI@ 1818 ; PREVOD NA VELKA PISMENA 1819 089C E6 7F BIG: ANI 7FH 1820 089E FE 7B CPI 7BH 1821 08A0 D0 RNC 1822 08A1 FE 61 CPI 61H 1823 08A3 D8 RC 1824 08A4 D6 20 SUI 20H 1825 08A6 C9 RET 1826 ; 1827 ; INICIALIZACE 1828 ; FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-31 1829 08A7 3E 01 CINIT: MVI A,ALLINT ; POVOL A NASTAV RST 0 1830 08A9 32 40EE STA PRER ; NASTAV UROVEN 1831 08AC 21 07D1 LXI H,TABZN ; DEKODOVANI 263 CS-PL 1832 08AF CD 08BD CALL KODASC 1833 08B2 21 07F0 LXI H,TBWM 1834 ; 1835 ; SLUZBA PRO NASTAVENI WM. KODU A CS. KODU 1836 ; 1837 08B5 01 4083 KODWM: LXI B,WMKOD 1838 08B8 1E 0D MVI E,14-1 ; DELKA 1839 08BA C3 08C2 JMP FIL@ 1840 ; 1841 ; SLUZBA PRO NASTAVENI PREVODU ZNAKU 1842 ; 1843 08BD 01 4091 KODASC: LXI B,PREV 1844 08C0 1E 14 MVI E,21-1 1845 ; POMOCNY 1846 08C2 16 00 FIL@: MVI D,0 ; DELKA 1847 08C4 EB XCHG 1848 08C5 19 DAD D ; KONCOVA ADR. 1849 08C6 EB XCHG 1850 08C7 C3 0480 JMP MO1 1851 ; CTENI ZNAKU Z KLAVESNICE S CESKYMI KODY 1852 ;======================================== 1853 08CA 79 CICS: MOV A,C 1854 08CB B8 CMP B ;CS 1855 08CC 3E 81 MVI A,81H ; CS-KOD 1856 08CE CA 0905 JZ ZMECS 1857 08D1 78 MOV A,B 1858 08D2 FE DC CPI 0DCH ; HACEK 1859 08D4 CA 0905 JZ ZMECS 1860 08D7 FE E0 CPI 0E0H ; CARKA 1861 08D9 CA 0905 JZ ZMECS 1862 08DC FE 80 CPI 80H ; CS-LOCK 1863 08DE CA 0900 JZ ZMENA 1864 08E1 3A 40F0 LDA KEY 1865 08E4 B7 ORA A 1866 08E5 FA 092A JM CESKY ; 1 ZNAK CS 1867 08E8 C2 090C JNZ CTICS ; CS LOCK 1868 08EB 78 MOV A,B 1869 08EC C1 POP B 1870 ; 1871 ; VYPOCTI WM-KOD MISTO CISEL 1872 ; 1873 08ED FE AC WMDO: CPI 0ACH ;"," 1874 08EF D8 RC ; NENI CS-KOD 1875 08F0 FE BA CPI 0BAH ; JE glt; '9' OR 80H 1876 08F2 D0 RNC 1877 08F3 E5 PUSH H 1878 08F4 21 0744 LXI H,TBWM - 0ACH 1879 08F7 C5 KODU@: PUSH B 1880 08F8 06 00 MVI B,0 1881 08FA 4F MOV C,A 1882 08FB 09 DAD B 1883 08FC 7E MOV A,M 1884 08FD C1 POP B 1885 08FE E1 POP H 1886 08FF C9 RET 1887 ; FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-32 1888 ; ZMEN KEY TLACITKO SET 1889 0900 3A 40F0 ZMENA: LDA KEY 1890 0903 EE 01 XRI 1 1891 0905 32 40F0 ZMECS: STA KEY 1892 0908 C1 POP B 1893 0909 C3 0841 JMP CI@ 1894 ; CTI CS.KOD 1895 090C CTICS: 1896 090C 78 MOV A,B 1897 090D C1 POP B 1898 090E FE C0 CPI 0C0H ; CS U 1899 0910 D0 RNC 1900 0911 B7 ORA A 1901 0912 F2 0918 JP CTIC1 1902 0915 E6 7F ANI 7FH ; UDELEJ CISLA 1903 0917 C9 RET 1904 0918 CD 0923 CTIC1: CALL CISLO 1905 091B D8 RC ; NENI 1906 091C E5 CTIC2: PUSH H ; MISTO CISLA CS 1907 091D 21 07B6 LXI H,CSKOD-'0' 1908 0920 C3 08F7 JMP KODU@ 1909 ; JE CISLO ? CY=0 ANO 1910 0923 FE 30 CISLO: CPI '0' ; MISTO CISEL CS. KOD 1911 0925 D8 RC 1912 0926 FE 3A CPI '9'+1 1913 0928 3F CMC 1914 0929 C9 RET 1915 ; CESKY - 1 ZNAK 1916 092A CESKY: 1917 092A FE E0 CPI 0E0H 1918 092C CC 0958 CZ ZCARKA 1919 092F FE DC CPI 0DCH 1920 0931 CC 095F CZ ZHACEK 1921 0934 3E 01 MVI A,1 1922 0936 32 40F0 STA KEY ; NASTAV SET NA CS 1923 0939 78 MOV A,B 1924 093A C1 POP B 1925 093B CD 0923 CALL CISLO 1926 093E D2 091C JNC CTIC2 1927 0941 EE A0 XRI 0A0H 1928 0943 C9 RET 1929 ; 1930 ; ZMEN HACEK 1931 0944 E5 DEKOD: PUSH H 1932 0945 21 4090 LXI H,PREV-1 1933 0948 F5 ZHA0: PUSH PSW 1934 0949 23 ZHA1: INX H 1935 094A 7E MOV A,M 1936 094B B7 ORA A 1937 094C CA 0955 JZ ZHA2 ; KONEC 1938 094F 23 INX H 1939 0950 B8 CMP B ; ZNAK 1940 0951 C2 0949 JNZ ZHA1 1941 0954 46 MOV B,M ; ZMENA 1942 0955 F1 ZHA2: POP PSW 1943 0956 E1 POP H 1944 0957 C9 RET 1945 ; ZMEN CARKU 1946 0958 E5 ZCARKA: PUSH H FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-33 1947 0959 21 096A LXI H,TCARKA-1 1948 095C C3 0948 JMP ZHA0 1949 ; ZMEN KODY KLAVES 1950 095F E5 ZHACEK: PUSH H 1951 0960 21 0965 LXI H,THACEK-1 1952 0963 C3 0948 JMP ZHA0 1953 ;----------------------------- 1954 0966 75 6A 55 4A THACEK: DB 'ujUJ',0 ; ZMENY PRO HACEK 1955 096A 00 1956 096B 72 66 52 46 TCARKA: DB 'rfRFewEWlkLK',0 ; CARKU 1957 096F 65 77 45 57 1958 0973 6C 6B 4C 4B 1959 0977 00 1960 ; 1961 ;**************************************************** 1962 ; ZJISTI STATUS ZY=1..NENI ZNAK, #0 JE ZNAK 1963 ;**************************************************** 1964 ; 1965 ; STATUS SM 7202 ZY=1 .. NENI ZNAK 1966 ; 1967 0978 DB 11 SMST: IN USTAT 1968 097A 17 RAL 1969 097B 3E 00 MVI A,0 1970 097D 9F SBB A 1971 097E C9 RET 1972 ; 1973 ; STATUS KLAVESNICE ZY=0 JE ZNAK 1974 ; 1975 097F CSTS@@: IF CPM 1976 IN P0 1977 ELSE 1978 097F 3A 2400 LDA PORTK 1979 ENDIF 1980 0982 0F RRC 1981 0983 3E FF MVI A,-1 1982 0985 CE 00 ACI 0 1983 0987 C9 RET 1984 ; 1985 ;**************************************************** 1986 ; HANDLER PRO KLAVESNICI 1987 ;**************************************************** 1988 ; 1989 ; CTENI ZNAKU ZE SERIOVE LINKY 1990 ; 1991 0988 DB 11 SERIN: IN USTAT 1992 098A 17 RAL 1993 098B D2 0988 JNC SERIN ; SERIOVY VSTUP 1994 098E DB 12 IN UDATA 1995 0990 B7 ORA A 1996 0991 C9 RET 1997 ; 1998 ; VSTUP ZNAKU Z KLAVESNICE 1999 ; 2000 0992 CD 097F CI@@: CALL CSTS@@ 2001 0995 DA 0992 JC CI@@ 2002 0998 E5 PUSH H 2003 IF CPM 2004 IN P1 2005 CMA FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-34 2006 MOV L,A 2007 MVI A,3 2008 OUT P0 2009 CI1: IN P0 2010 RRC 2011 JNC CI1 2012 MVI A,2 2013 OUT P0 2014 ELSE 2015 0999 26 28 MVI H,(HIGH PORTK) + 4 2016 099B 7E MOV A,M 2017 099C 2F CMA 2018 099D 6F MOV L,A ; DATA 2019 099E 25 DCR H 2020 099F 36 03 MVI M,3 2021 09A1 7E CI2: MOV A,M 2022 09A2 0F RRC 2023 09A3 D2 09A1 JNC CI2 2024 09A6 36 02 MVI M,2 2025 ENDIF 2026 09A8 7D MOV A,L 2027 09A9 E1 POP H 2028 09AA C9 RET 2029 ; 2030 ; NASTAV MODE 2031 ; 2032 09AB CD 0500 CHMODE: CALL RADR 2033 09AE 32 40E3 STA MODE 2034 09B1 C9 RET 2035 ; 2036 ; NASTAV UROVEN PRERUSENI 2037 ; 2038 09B2 CD 0500 Y: CALL RADR ; CTI 2039 09B5 32 40EE STA PRER 2040 09B8 C9 RET ; ZAPIS 2041 ; 2042 ; NASTAV CASOVANI MGF 2043 ; 2044 09B9 CD 0500 Z: CALL RADR 2045 09BC 32 40F1 STA CASK 2046 09BF C9 RET 2047 ; 2048 ; VERIFY: KONTOLNI SOUCET 2049 ; 2050 09C0 CD 04A8 VERIFY: CALL EXPR ; OD-DO 2051 09C3 D1 POP D 2052 09C4 E1 POP H 2053 09C5 CD 0A3E CALL VYPSUM 2054 09C8 78 MOV A,B 2055 09C9 CD 05E8 DBYTE: CALL DBYT 2056 09CC 0E 20 SPACE: MVI C,' ' ; DISPLAY MEZERY 2057 09CE C3 05F4 JMP CO 2058 2059 IF CPM 2060 ; 2061 ; KOPIRUJ RI -glt; PO 2062 ; 2063 COPY: CALL RI 2064 JC CRLF FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-35 2065 MOV C,A 2066 CALL LO ; "H" VYBERE PERIF. 2067 JMP COPY 2068 ; 2069 ; READ DALSI BYTE 2070 ; 2071 RBYT0: MVI A,'0' 2072 RBYT: PUSH B 2073 PUSH H 2074 CALL EXPRM 2075 POP D 2076 POP H 2077 MOV M,E 2078 MOV A,B 2079 CPI CR 2080 POP B 2081 RET 2082 2083 ;************************************** 2084 ; OBECNA CAST O.S. 2085 ;************************************** 2086 ; 2087 ; VOLANI O.S Z MONITORU 2088 ; 2089 KOS: MVI C,-1 2090 JMP KOS@ 2091 ; 2092 ;INIT O.S 2093 ; 2094 KOSI: MVI C,0 2095 JMP KOS@ 2096 ; 2097 ; SLUZBY KOMPATIBILNI Z MONITOREM V4.0 2098 ; 2099 FIND: MVI C,1 2100 JMP KOS@ 2101 OPEN: MVI C,2 2102 JMP KOS@ 2103 LOADCD: MVI C,4 2104 JMP KOS@ 2105 SAVECD: MVI C,5 2106 JMP KOS@ 2107 BINAR: MVI C,6 2108 JMP KOS@ 2109 2110 ;**************************************************** 2111 ; 2112 JMENO: DB '"',CR ; PRAZDNE 2113 ; 2114 ; INSTALUJ HANDLER PRO TISKARNU 2115 ; 2116 HNDIN: CALL RADR 2117 ADD A ; *2 2118 CPI HNDMX 2119 RNC ; VETSI... 2120 MVI H,0 2121 MOV L,A 2122 LXI D,TABHND 2123 DAD D ; ADR. ADRESY HNDLR FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-36 2124 MOV A,M 2125 STA LO@ + 1 ; PREPIS 2126 INX H 2127 MOV A,M 2128 STA LO@ + 2 2129 DUMMY: RET 2130 ;------------------------ 2131 ; TABULKA HANDLERU 2132 ; 2133 TABHND: DW DUMMY ; 0.. PRAZDNY HANDLER 2134 DW LO@@ ; 1.. C 211 2135 DW CENTRO ; 2.. CENTRONICS 2136 DW D100S ; 3.. D 100 S 2137 DW D180 ; 4.. D 180 2138 DW PO ; 5.. PUNCH DEVICE 2139 DW CO@ ; 6.. CONSOLE OUTPUT 2140 DW SEROUT ; 7.. SERIOVY VYSTUP 2141 HNDMX EQU $-TABHND 2142 ; 2143 ;**************************************************** 2144 ; LIST OUTPUT <Cglt;... ZNAK 2145 ;**************************************************** 2146 ; 2147 D180: MOV A,C 2148 CMA 2149 MOV C,A 2150 2151 LO@@: CALL LO@3 2152 MOV A,C 2153 OUT P2 2154 LO@1: IN P2 2155 ADD A 2156 JP LO@1 2157 MVI A,3 2158 OUT P1 2159 LO@2: IN P2 2160 ADD A 2161 JM LO@2 2162 LO@3: MVI A,1 2163 OUT P1 2164 MOV A,C 2165 RET 2166 ; 2167 ; SERIOVY INTERFACE PRO :LP: 2168 ; 2169 D100S: MVI A,0EH ; SERIOVE PRIPOJENI D100 2170 OUT MMODE ; PREPOJ 2171 D101: IN USTAT 2172 ADD A 2173 JNZ D101 2174 MOV A,C 2175 OUT UDATA 2176 MVI A,2 2177 OUT UMODE 2178 D102: IN USTAT 2179 ADD A 2180 JZ D102 2181 MOV A,C 2182 RET FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-37 2183 2184 ; 2185 ; INTERFACE CENTRONICS 2186 ; 2187 CENTRO: 2188 MOV A,C 2189 OUT P2 2190 CENTR1: IN P2 2191 ANI 60H 2192 CPI 20H 2193 JNZ CENTR1 ; BUSY ? 2194 XRA A 2195 OUT P1 2196 XTHL 2197 XTHL 2198 MVI A,2 2199 OUT P1 ; PULS 2200 MOV A,C 2201 RET 2202 2203 ENDIF 2204 2205 ;------------------------------------------------ 2206 ; 2207 ; ZAVED 1. PROGRAM NA PASCE 2208 ; 2209 09D1 21 0083 LOADB: LXI H,JMENO 2210 09D4 CD 0074 CALL LOADCD 2211 09D7 2A 40FC LHLD SADR ; 1.ADR 2212 09DA 7E MOV A,M 2213 09DB FE C3 CPI 0C3H ; POVINNY START SYST. PRGM 2214 09DD C2 0A4A JNZ UKAZ ; JENOM UKAZ 2215 09E0 11 4401 LXI D,BASIC+1 2216 09E3 CD 04F5 CALL HILO 2217 09E6 C2 0A26 JNZ JUMP ; START (NENI SYS.) 2218 09E9 13 INX D 2219 09EA 13 INX D 2220 09EB 1A LDAX D ; BASIC/TOOL.. 2221 09EC FE C3 CPI 0C3H 2222 09EE CA 0A1B JZ PCMD ; NENI BASIC 2223 ; 2224 ; SKOK NA SYSTEMOVE PROGRAMY 2225 ; 2226 09F1 06 42 BCMD: MVI B,'B' ; BASIC 2227 09F3 21 4400 LXI H,BASIC 2228 09F6 11 40FA B0: LXI D,@BT 2229 09F9 7E B1: MOV A,M 2230 09FA FE C3 CPI 0C3H ; SKOK 2231 09FC C2 0A38 JNZ ERROR ; NENI EPROM SYSTEM 2232 09FF 1A LDAX D 2233 0A00 B8 CMP B ; TEPLY START ? 2234 0A01 CA 0A0C JZ B2 ; + 2235 0A04 B7 ORA A 2236 0A05 C2 0A38 JNZ ERROR 2237 0A08 78 MOV A,B 2238 0A09 12 STAX D ; NASTAV FLAGY 2239 0A0A 2B DCX H 2240 0A0B 11 DB 11H 2241 ; FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-38 2242 0A0C 23 B2: INX H 2243 0A0D 23 INX H 2244 0A0E 23 INX H 2245 0A0F E5 PUSH H ; TEPLY START 2246 0A10 C3 0348 JMP INTER 2247 ; 2248 0A13 06 54 TCMD: MVI B,'T' 2249 0A15 21 4C00 LXI H,TRACER 2250 0A18 C3 09F6 JMP B0 2251 ; 2252 0A1B 06 50 PCMD: MVI B,'P' ; PEDIT 2253 0A1D 21 4400 LXI H,PEDIT 2254 0A20 11 40FB LXI D,@PED 2255 0A23 C3 09F9 JMP B1 2256 ; 2257 ; SKOK DO UZIVATELSKEHO PROGRAMU 2258 ; 2259 0A26 CD 0A4A JUMP: CALL UKAZ 2260 0A29 EB XCHG 2261 0A2A 7D MOV A,L ; ZADNY PROGRAM 2262 0A2B B4 ORA H 2263 0A2C CA 0A38 JZ ERROR ; PRAZDNY 2264 0A2F E5 PUSH H ; START 2265 0A30 CD 0A3E CALL VYPSUM 2266 0A33 3A 4100 LDA SUM 2267 0A36 B8 CMP B 2268 0A37 C8 RZ 2269 ; 2270 ; OSETRENI CHYBY 2271 ; 2272 0A38 CD 001B ERROR: CALL QUES 2273 0A3B C3 40C1 JMP ERRSW ; PREDEJ RIZENI PO CHYBE 2274 ; 2275 0A3E 06 00 VYPSUM: MVI B,0 ; SUMA 2276 0A40 7E J1: MOV A,M 2277 0A41 80 ADD B 2278 0A42 47 MOV B,A 2279 0A43 CD 04F5 CALL HILO 2280 0A46 D2 0A40 JNC J1 2281 0A49 C9 RET 2282 ; 2283 ; UKAZ ADRESY PROGRAMU OD-DO 2284 ; 2285 0A4A 2A 40FC UKAZ: LHLD SADR 2286 0A4D CD 0508 CALL DNADR 2287 0A50 EB XCHG 2288 0A51 2A 40FE LHLD EADR 2289 0A54 C3 050B JMP DADR 2290 ; 2291 ; "END OF FILE" PRIKAZ 2292 ; 2293 2294 0A57 CD 0500 EOF: CALL RADR ; START.ADR 2295 0A5A 06 01 MVI B,1 ; TYP ZAZNAMU 2296 0A5C AF XRA A ; PARAM. 2297 0A5D 5F MOV E,A ; POCET BYTE 2298 0A5E CD 0B29 CALL PBEG 2299 0A61 AF XRA A 2300 0A62 92 SUB D ; KONTROLNI SOUCET FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-39 2301 0A63 CD 0B46 CALL PBYTE 2302 0A66 0E 03 CLOSE: MVI C,3 ; CLOSE 2303 0A68 C3 40D0 JMP KOS@ 2304 ; 2305 ; CTI HEX INTEL FORMAT 2306 ; 2307 0A6B CD 006A READ@: CALL FIND 2308 0A6E CD 04D4 CALL CRLF 2309 0A71 CD 0500 CALL RADR ; OFFSET 2310 0A74 3E DB 3EH ; MVI A,# 2311 0A75 E1 RED1: POP H 2312 0A76 E5 PUSH H 2313 0A77 CD 0B53 REDC1: CALL MREAD ; CTI BYTE 2314 0A7A D6 3A SUI ':' ; ZACATEK ZAZNAMU ? 2315 0A7C C2 0A77 JNZ REDC1 ; ANO 2316 0A7F 57 REDC2: MOV D,A ; NULOVANI KONTR. SOUCTU 2317 0A80 CD 0B0C CALL RBYTE ; DELKA RADKU 2318 0A83 CA 0AB4 JZ RED3 ; KDYZ 0, KONEC 2319 0A86 5F MOV E,A ; NASTAVENI CITACE 2320 0A87 CD 0B0C CALL RBYTE ; HORNI ADR. 2321 0A8A F5 PUSH PSW 2322 0A8B CD 0B0C CALL RBYTE ; SPODNI ADR. 2323 0A8E C1 POP B 2324 0A8F 4F MOV C,A 2325 0A90 09 DAD B ; OFFSET ADRESY 2326 0A91 CD 0B0C CALL RBYTE ; PRIZNAK 2327 0A94 CD 0B0C RED2: CALL RBYTE ; STROJ. KOD 2328 0A97 77 MOV M,A 2329 0A98 BE CMP M ; TEST PAMETI 2330 0A99 0E 4D MVI C,'M' ; ERROR 'M' 2331 0A9B C2 0AAB JNZ REDER 2332 0A9E 23 INX H 2333 0A9F 1D DCR E ; CITAC BYTE STROJ. KODU 2334 0AA0 C2 0A94 JNZ RED2 2335 0AA3 CD 0B0C CALL RBYTE ; KONTR. SOUCET Z PASKY 2336 0AA6 CA 0A75 JZ RED1 ; OK 2337 0AA9 0E 53 MVI C,'S' ; ERROR 'S' - KONTROLNI SUMA 2338 0AAB CD 05F4 REDER: CALL CO ; TYP CHYBY 2339 0AAE CD 050B CALL DADR 2340 0AB1 C3 0A38 JMP ERROR 2341 0AB4 E5 RED3: PUSH H 2342 0AB5 CD 0B0C CALL RBYTE ; HORNI START.ADR 2343 0AB8 67 MOV H,A 2344 0AB9 CD 0B0C CALL RBYTE ; SPODNI START.ADR 2345 0ABC 6F MOV L,A 2346 0ABD CD 0B0C CALL RBYTE ; KONTROLNI SUMA 2347 0AC0 CD 0B0C CALL RBYTE 2348 0AC3 C2 0AA9 JNZ REDER-2 ; CHYBA 2349 0AC6 D1 POP D 2350 0AC7 7A MOV A,D 2351 0AC8 B3 ORA E ; OFFSET ? 2352 0AC9 D1 POP D ; UPRAVA ZASOBNIKU 2353 0ACA C0 RNZ ; ANO, NE START 2354 0ACB 7C MOV A,H 2355 0ACC B5 ORA L ; START.ADR 2356 0ACD C8 RZ ; NE 2357 0ACE E9 PCHL 2358 ; 2359 ; ZAPIS HEX FORMAT FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-40 2360 2361 0ACF 0E 02 WRITE: MVI C,2 2362 0AD1 CD 04A8 CALL EXPR 2363 0AD4 CD 04D4 CALL CRLF 2364 0AD7 D1 POP D 2365 0AD8 E1 POP H 2366 0AD9 7D WR1: MOV A,L 2367 0ADA C6 10 ADI 10H 2368 0ADC 4F MOV C,A 2369 0ADD 7C MOV A,H 2370 0ADE CE 00 ACI 0 2371 0AE0 47 MOV B,A 2372 0AE1 7B MOV A,E 2373 0AE2 91 SUB C 2374 0AE3 4F MOV C,A 2375 0AE4 7A MOV A,D 2376 0AE5 98 SBB B 2377 0AE6 DA 0AEE JC WR2 2378 0AE9 3E 10 MVI A,10H ; glt;16 2379 0AEB C3 0AF1 JMP WR3 2380 0AEE 79 WR2: MOV A,C ; <16 2381 0AEF C6 11 ADI 11H 2382 0AF1 B7 WR3: ORA A 2383 0AF2 C8 RZ ; DALSI 2384 0AF3 D5 PUSH D ; USCHOVA HORNI ADR. 2385 0AF4 5F MOV E,A ; NASTAVENI CITACE 2386 0AF5 AF XRA A 2387 0AF6 47 MOV B,A ; TYP 2388 0AF7 CD 0B29 CALL PBEG 2389 0AFA 7E WR4: MOV A,M 2390 0AFB 23 INX H 2391 0AFC CD 0B46 CALL PBYTE ; STROJ. KOD 2392 0AFF 1D DCR E 2393 0B00 C2 0AFA JNZ WR4 2394 0B03 AF XRA A 2395 0B04 92 SUB D 2396 0B05 CD 0B46 CALL PBYTE ; KONTR. SOUCET 2397 0B08 D1 POP D 2398 0B09 C3 0AD9 JMP WR1 2399 2400 2401 ; PRECTE 2 ZNAKY, SESTAVI BYTE, TVORI KONTR. SOUCET 2402 2403 0B0C CD 0B53 RBYTE: CALL MREAD ; CTE ZNAK S MASKOU 7F 2404 0B0F CD 0523 CALL ASHEX ; PREVOD ASCII-HEX 2405 0B12 07 RLC 2406 0B13 07 RLC 2407 0B14 07 RLC 2408 0B15 07 RLC 2409 0B16 4F MOV C,A 2410 0B17 CD 0B53 CALL MREAD 2411 0B1A CD 0523 CALL ASHEX 2412 0B1D B1 ORA C ; SESTAVI BYTE 2413 0B1E 4F MOV C,A 2414 0B1F 82 ADD D ; KONTROLNI SOUCET 2415 0B20 57 MOV D,A 2416 0B21 79 MOV A,C 2417 0B22 C9 RET 2418 FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-41 2419 ; KONEC VYRAZU 2420 2421 0B23 FE 09 TERM: CPI HT 2422 0B25 C8 RZ 2423 0B26 C3 053D JMP ANAL 2424 2425 2426 2427 ; PIS ZACATEK ZAZNAMU 2428 2429 0B29 57 PBEG: MOV D,A ; NULUJ KONTROLNI SUMU 2430 0B2A 0E 0D MVI C,CR 2431 0B2C CD 05C1 CALL PO 2432 0B2F 0E 0A MVI C,LF 2433 0B31 CD 05C1 CALL PO 2434 0B34 0E 3A MVI C,':' 2435 0B36 CD 05C1 CALL PO 2436 0B39 7B MOV A,E ; E .. POCET BYTE 2437 0B3A CD 0B46 CALL PBYTE 2438 0B3D 7C MOV A,H ; HL .. ADR 2439 0B3E CD 0B46 CALL PBYTE 2440 0B41 7D MOV A,L 2441 0B42 CD 0B46 CALL PBYTE 2442 0B45 78 MOV A,B ; TYP 2443 0B46 F5 PBYTE: PUSH PSW 2444 0B47 CD 05BA CALL HBT 2445 0B4A F1 POP PSW 2446 0B4B F5 PUSH PSW 2447 0B4C CD 05BE CALL LBT 2448 0B4F F1 POP PSW 2449 0B50 82 ADD D 2450 0B51 57 MOV D,A 2451 0B52 C9 RET 2452 ; 2453 ; CTE ZNAK S MASKOU, PRO CHYBU NASTAVI CARRY 2454 2455 0B53 CD 05AA MREAD: CALL RI 2456 0B56 DA 0A38 JC ERROR 2457 0B59 E6 7F ANI 7FH ; POTLACENI PARITNIHO BITU 2458 0B5B CA 0B53 JZ MREAD 2459 0B5E C9 RET 2460 ; 2461 ; 2462 ; CTI JMENO Z KLAVESNICE NEBO PROGRAMU 2463 ; 2464 0B5F EB RNAME: XCHG 2465 0B60 7E MOV A,M ; HL UKAZUJE NA EXTERNI TEXT 2466 0B61 32 4101 STA EXTEXT ; ".. JE JMENO 2467 0B64 FE 22 CPI '"' 2468 0B66 23 INX H 2469 0B67 06 3E MVI B,62 ; MAX. DELKA 2470 0B69 11 4103 LXI D,NAMBUF 2471 0B6C D5 PUSH D ; ADR PRO ZAPIS 2472 0B6D C2 0BB3 JNZ RNAMC ; CTI Z CI 2473 0B70 3E 20 RNAM1: MVI A,' ' 2474 0B72 12 STAX D 2475 0B73 7E MOV A,M 2476 0B74 CD 089C CALL BIG 2477 0B77 CD 0BAE CALL ANAL1 FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-42 2478 0B7A CA 0B84 JZ RNAM2-1 2479 0B7D 12 STAX D 2480 0B7E 23 INX H 2481 0B7F 13 INX D 2482 0B80 05 DCR B 2483 0B81 C2 0B70 JNZ RNAM1 ; JE JESTE MISTO 2484 0B84 EB XCHG 2485 0B85 23 RNAM2: INX H 2486 0B86 36 20 MVI M,' ' ; KONEC 2487 0B88 3E 44 MVI A,LOW @RAM ; VYCISTI BUFFER 2488 0B8A 23 INX H 2489 0B8B 36 00 MVI M,0 2490 0B8D BD CMP L 2491 0B8E C2 0B8A JNZ $-4 2492 0B91 E1 POP H ; ANALYZA POVELU 2493 0B92 7E MOV A,M 2494 0B93 FE 40 CPI '@' ; APPEND ? 2495 0B95 23 INX H 2496 0B96 CA 0BAA JZ RNAM3 2497 0B99 FE 2E CPI '.' ; REWIND 2498 0B9B CA 0BAA JZ RNAM3 2499 0B9E 7E MOV A,M ; VOLBA IOBYTE 2500 0B9F FE 3A CPI ':' ; DEF. USER 1/2 2501 0BA1 2B DCX H 2502 0BA2 3E 00 MVI A,0 ; NENI 2503 0BA4 C2 0BAA JNZ RNAM3 2504 0BA7 7E MOV A,M ; ZAPIS KOD 2505 0BA8 23 INX H 2506 0BA9 23 INX H 2507 0BAA 32 4102 RNAM3: STA OPT ; <Aglt;.. OPTION 2508 0BAD C9 RET ; <HLglt;.. 1. ADRESA JMENA 2509 ; 2510 ; ANALYZA ODDELOVACE 2511 ; 2512 0BAE FE 22 ANAL1: CPI '"' 2513 0BB0 C3 0542 JMP ANAL2 2514 ;----------------------------------- 2515 0BB3 D5 RNAMC: PUSH D 2516 0BB4 CD 0549 CALL TX 2517 0BB7 0D 0A DB CR,LF 2518 IF TV64 2519 DC ' Nazev:' 2520 ELSE 2521 0BB9 20 4E 41 5A DC ' NAZEV:' 2522 0BBD 45 56 BA 2523 ENDIF 2524 0BC0 E1 POP H 2525 0BC1 5D MOV E,L 2526 0BC2 36 20 RNAM6: MVI M,' ' 2527 0BC4 CD 0596 CALL CI 2528 0BC7 CD 089C CALL BIG 2529 0BCA FE 03 CPI ETX 2530 0BCC CA 0203 JZ NEXT 2531 0BCF FE 0D CPI CR 2532 0BD1 CA 0BF7 JZ RNAM9 2533 0BD4 FE 7F CPI DEL 2534 0BD6 CA 0BDE JZ RNAM7 2535 0BD9 FE 08 CPI 8 2536 0BDB C2 0BEE JNZ RNAM8 FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-43 2537 0BDE 7B RNAM7: MOV A,E 2538 0BDF BD CMP L ; PRVNI 2539 0BE0 CA 0BC2 JZ RNAM6 2540 0BE3 2B DCX H 2541 0BE4 04 INR B 2542 0BE5 CD 0549 CALL TX ; DELETE 2543 0BE8 08 20 88 DB 08,20H,88H 2544 0BEB C3 0BC2 JMP RNAM6 2545 0BEE 77 RNAM8: MOV M,A 2546 0BEF 23 INX H 2547 0BF0 CD 0568 CALL COA 2548 0BF3 05 DCR B 2549 0BF4 C2 0BC2 JNZ RNAM6 2550 0BF7 CD 04D4 RNAM9: CALL CRLF 2551 0BFA C3 0B85 JMP RNAM2 2552 ;********** KONEC MONITORU *************** 2553 0BFD FF DB 255 2554 ; 2555 0BFE @@@MON EQU $ 2556 ; 2557 ;********************************************* 2558 ; ROZDELENI S Y S T E M O V E R A M 2559 ;********************************************* 2560 ; 2561 4000 RST1 EQU @R@ ; RST VEKTORY 2562 ;........glt;glt;glt; 2563 ;...... 2564 ;<<... UZIVATELSKY & MONITOR. ZASOBNIK 2565 ; 2566 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2567 .PHASE @R@+6DH 2568 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2569 ; DATA MONITORU 2570 ; 2571 406D MSTAK: DS 2 ; USCHOVA REGISTRU 2572 406F ACSAV: DS 2 2573 4071 BCSAV: DS 2 2574 4073 DESAV: DS 2 2575 4075 HLSAV: DS 2 2576 4077 PCSAV: DS 2 2577 4079 SPSAV: DS 2 2578 ; 2579 407B BRAD: DS 2 2580 407D INSTR: DS 1 2581 407E BRAD2: DS 2 2582 4080 INST2: DS 1 2583 4081 CADR: DS 2 ; ADRESA KURSORU 2584 ;------------------------- 2585 4083 WMKOD: DS 14 ; KOD PRO KURZORY 2586 4091 PREV: DS 21 ; PREVODNI KODY..0 2587 4086 CSKOD@ EQU WMKOD+3 2588 ;------------------------- 2589 ; USER I/O DEVICE 2590 ; 2591 40A6 CILOC: DS 3 ; 0 2592 40A9 COLOC: DS 3 ; 1 2593 40AC R1LOC: DS 3 ; 2 2594 40AF R2LOC: DS 3 ; 3 2595 40B2 P1LOC: DS 3 ; 4 FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-44 2596 40B5 P2LOC: DS 3 ; 5 2597 40B8 LILOC: DS 3 ; 6 2598 40BB CSLOC: DS 3 ; 7 2599 40BE DS 1 2600 40BF MEMTOP: DS 2 ; 8 2601 40C1 ERRSW: DS 3 ; 9 2602 40C4 CI@0: DS 3 ; 10 2603 40C7 CO@: DS 3 ; 11 2604 40CA CSTS@: DS 3 ; 12 2605 40CD LO@: DS 3 ; 13 2606 40D0 KOS@: DS 3 ; 14 2607 40D3 RI@: DS 3 ; 15 2608 40D6 PO@: DS 3 ; 16 2609 40D9 CCPM: DS 3 ; 17 2610 40DC GRAF: DS 3 ; 18 2611 40DF RESER: DS 3 ; 19 2612 ;-------------------------- 2613 ; 2614 0015 IONUM EQU ($-CILOC)/3+1 2615 ; 2616 40E2 IOBYT: DS 1 ; RIZENI I/O ZARIZENI 2617 ; 2618 ;****************************** 2619 ;<< EXTERNE OVLADANE FLAGY: glt;glt; 2620 ;****************************** 2621 40E3 MODE: DS 1 ; CO-MODE 2622 40E4 @IF1: DS 1 2623 40E5 @IF2: DS 1 2624 40E6 @OF1: DS 1 2625 40E7 @OF2: DS 1 2626 40E8 LINE: DS 1 ; RADEK 2627 40E9 COLUM: DS 1 ; SLOUPEC 2628 40EA RESL: DS 1 ; REZERVACE 2629 40EB RESC: DS 1 ; SLOUPEC 2630 40EC RESL1: DS 1 ; POSLEDNI RADEK 2631 40ED RESC1: DS 1 ; POSLEDNI SLOUPEC 2632 40EE PRER: DS 1 ; UROVEN PRERUSENI 2633 ; 2634 ; PROMENE PRO OPERACNI SYSTEM 2635 ; 2636 40EF CUR@: DS 1 2637 40F0 KEY: DS 1 2638 40F1 CASK: DS 1 2639 40F2 WNDP: DS 6 ; PARAMETRY PRO 2.OKNO 2640 0015 EXSER EQU $-MODE 2641 ; 2642 40F8 CHAR: DS 1 2643 40F9 XFLG: DS 1 2644 ; 2645 ;**************************************************** 2646 ; DATA SPOLECNA PRO MONITOR A O.S. 2647 ;**************************************************** 2648 ; 2649 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2650 40FA @BT: DS 1 2651 40FB @PED: DS 1 2652 40FC SADR: DS 2 ; START.ADR 2653 40FE EADR: DS 2 ; KONC.ADR 2654 4100 SUM: DS 1 FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE 1-45 2655 4101 EXTEXT: DS 1 2656 4102 OPT: DS 1 2657 4103 NAMBUF: DS 65 2658 4144 @RAM EQU $ 2659 ;******************************* 2660 .DEPHASE 2661 ; 2662 END ; [P] FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE S Macros: Symbols: 0BFE @@@MON 40FA @BT 40E4 @IF1 40E5 @IF2 40E6 @OF1 40E7 @OF2 40FB @PED 4000 @R@ 4144 @RAM 406F ACSAV 06E1 ADRCUR 06F3 ADRCX 0001 ALLINT 053D ANAL 053F ANAL0 0BAE ANAL1 0542 ANAL2 0000 ANDZ 0523 ASHEX 027B ASS0 0287 ASS1 0291 ASS2 02A2 ASS3 0270 ASSIGN 071B ATTR 09F6 B0 09F9 B1 0A0C B2 07B2 BAC@1 0008 BACK 07A3 BACK@ 4400 BASIC 09F1 BCMD 4071 BCSAV 018B BEG 0191 BEG0 0055 BEGIO 0007 BELL 089C BIG 007E BINAR 407B BRAD 407E BRAD2 4081 CADR 40F1 CASK 40D9 CCPM 00E6 CENTR1 00E2 CENTRO 092A CESKY 0891 CHANGE 40F8 CHAR 09AB CHMODE 0596 CI 09A1 CI2 0841 CI@ 40C4 CI@0 0863 CI@1 0992 CI@@ 0860 CI@CU 08CA CICS 40A6 CILOC 0537 CIMIN 053A CINCR 08A7 CINIT 0923 CISLO 0599 CITB 0A66 CLOSE 081F CMAX 0824 CMAX0 05F4 CO 40C7 CO@ 0617 CO@@ 062B CO@WR 0568 COA 06CC COADR 069B COEX 0645 COEX0 0656 COEX1 0641 COEXAT 0644 COEXX 018B COLD 060A COLO 40A9 COLOC 40E9 COLUM 04FA COMPR 065A CONTROL 072D CONX1 0720 CONXT 060D COOUT 0044 COPY 05F7 COTB 0000 CPM 000D CR 07BC CR@ 04D4 CRLF 07E6 CSKOD 4086 CSKOD@ 40BB CSLOC 058B CSTS 40CA CSTS@ 097F CSTS@@ 023C CTBL 0918 CTIC1 091C CTIC2 090C CTICS 0010 CTRLP 0011 CTRLQ 40EF CUR@ 0067 CURCH 00A0 CURSOR 001B CWR1 001F CWR2 00C9 D100S 00CD D101 00DA D102 00AD D180 050B DADR 05E3 DADR0 05E8 DBYT 09C9 DBYTE 0944 DEKOD 007F DEL 4073 DESAV 05A1 DEV 05A4 DEV0 0424 DI0 0428 DI1 043C DI2 0463 DI3 044A DI4 044C DI5 0438 DIA 041F DISP 0508 DNADR 05F1 DNIBL 009C DUMMY 40FE EADR 0562 ECHO 0A57 EOF 001E EOL 0793 EOL@ 079B EOL@1 0004 EOT 0C00 EP2 0013 EQUAL 0000 ERAM 0A38 ERROR 40C1 ERRSW 001F ERS 075E ERS@ 0774 ERS@1 001B ESC 0697 ESC@ 06FC ESC@0 0003 ETX 04AE EX0 04B1 EX1 04BA EX2 04C6 EX3 04E9 EX4 04DA EX5 06A1 EXFLG 06BD EXFLG1 04A8 EXPR 04A5 EXPR0 04E1 EXPRM FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE S-1 0015 EXSER 4101 EXTEXT 0471 FI1 08C2 FIL@ 046A FILL 006A FIND 0331 GO@ 0313 GO@BR 02FA GOTO 40DC GRAF 05BA HBT 0018 HEIGHT 04F5 HILO 4075 HLSAV 0085 HNDIN 0010 HNDMX 001D HOME 07B6 HOME@ 0009 HT 0511 HXANIB 0513 HXASC 01F2 INIC 022F INJM@ 0233 INJMP 4080 INST2 407D INSTR 0348 INTER 40E2 IOBYT 0023 IOCHK 056F IODEF 02A7 IONEW 0015 IONUM 002B IOSET 02AE IOTAB 0A40 J1 0083 JMENO 0A26 JUMP 40F0 KEY 08BD KODASC 08F7 KODU@ 08B5 KODWM 0060 KOS 40D0 KOS@ 0065 KOSI 05BE LBT 05F1 LBYTE 001A LCT 000A LF 0730 LF@ 40B8 LILOC 40E8 LINE 0040 LINOF 0827 LMAX 082C LMAX0 05D3 LO 40CD LO@ 00B7 LO@1 00C0 LO@2 00B0 LO@@ 09D1 LOADB 0074 LOADCD 05DB LOTB 0018 LREST 01B6 MEM1 01C3 MEM2 051B MEMCK 40BF MEMTOP 000B MINUS 0011 MMODE 0480 MO1 40E3 MODE 0000 MONIT 0479 MOVE 0B53 MREAD 406D MSTAK 4103 NAMBUF 0203 NEXT 06C5 OBNOV 006F OPEN 4102 OPT 40B2 P1LOC 40B5 P2LOC 0018 PA1 001C PA2 0019 PB1 001D PB2 0B29 PBEG 0B46 PBYTE 001A PC1 001E PC2 0A1B PCMD 4077 PCSAV 4400 PEDIT 05C1 PO 40D6 PO@ 3000 PORTI 2400 PORTK 2B00 PORTLC 2C00 PORTLD 05CB POTB 40EE PRER 4091 PREV 0017 PRNT 02C6 QUERY 001B QUES 40AC R1LOC 40AF R2LOC 0500 RADR 0053 RBYT 0051 RBYT0 0B0C RBYTE 0A6B READ@ 0A75 RED1 0A94 RED2 0AB4 RED3 0A77 REDC1 0A7F REDC2 0AAB REDER 40EB RESC 40ED RESC1 40DF RESER 40EA RESL 40EC RESL1 0353 RESTA 040A RGNAM 05AA RI 40D3 RI@ 0018 RIGHT 05B2 RITB 0B70 RNAM1 0B85 RNAM2 0BAA RNAM3 0BC2 RNAM6 0BDE RNAM7 0BEE RNAM8 0BF7 RNAM9 0BB3 RNAMC 0B5F RNAME 0743 ROLL 074A ROLL1 0758 ROLL2 0734 ROLL@ 07FE RRAM 4000 RST1 036E RST10 038A RST20 00CF RSTN 40FC SADR 0079 SAVECD 0988 SERIN 05FF SEROUT 085A SETCUR 0978 SMST 017B SMTAB 09CC SPACE 0033 SPCL 4079 SPSAV 048D SU1 049C SU2 001A SUB@ 048A SUBS 4100 SUM 018A SYSEND 016C SYSTAB 082F TAB@ 009D TABHND 07D1 TABZN 07F0 TBWM 096B TCARKA 0A13 TCMD 0B23 TERM 0558 TEXT 0966 THACEK 4C00 TRACER 0000 TV64 3800 TVBEG 3DE7 TVEND FIRMWARE SAPI-1 MONITOR V5.0/F MACRO-80 3.44 09-Dec-81 PAGE S-2 1400 TVROM 0549 TX 0012 UDATA 0A4A UKAZ 0010 UMODE 001A UP 07C3 UP@ 0013 URES 0011 USTAT 09C0 VERIFY 000B VT 0782 VT@ 0A3E VYPSUM 0028 WIDTH 08ED WMDO 4083 WMKOD 0708 WND@ 070D WND@0 001C WNDCD 0705 WNDCH 40F2 WNDP 0AD9 WR1 0AEE WR2 0AF1 WR3 0AFA WR4 0ACF WRITE 039B X 03A9 X0 03B1 X1 03B6 X10 03C6 X2 03F1 XDIS1 03E7 XDISP 40F9 XFLG 0222 XY 09B2 Y 09B9 Z 0958 ZCARKA 0948 ZHA0 0949 ZHA1 0955 ZHA2 095F ZHACEK 0905 ZMECS 0900 ZMENA No Fatal error(s) @@@MON 2555# @BT 2228 2650# @IF1 2622# @IF2 2623# @OF1 2624# @OF2 2625# @PED 2254 2651# @R@ 34# 233 237 241 245 252 259 267 521 585 2561 2567 @RAM 2487 2658# ACSAV 769 848 912 913 2572# ADRCUR 1347 1473# ADRCX 1475 1482# ALLINT 153# 1829 ANAL 1034 1132# 2423 ANAL0 1133# ANAL1 2477 2512# ANAL2 1135# 2513 ANDZ 9# 57 ASHEX 445 1024 1115# 2404 2411 ASS0 660# 664 ASS1 661 666# ASS2 671# 680 ASS3 673 681# ASSIGN 456 616 655# ATTR 1357 1511# B0 2228# 2250 B1 2229# 2255 B2 2234 2242# BAC@1 1619 1623# BACK 68# 1390 BACK@ 1391 1616# BASIC 38# 2215 2227 BCMD 617 2226# BCSAV 914 915 2573# BEG 492# 618 BEG0 496# 498 BEGIO 81# 483 BELL 72# BIG 944 1115 1167 1352 1802 1819# 2476 2528 BINAR 322# 1422 BRAD 753 810 2579# BRAD2 762 2581# CADR 268 545 1339 1365 1448 1763 1786 2583# CASK 2045 2638# CCPM 2609# CENTR1 410# 413 CENTRO 350 406# CESKY 1866 1916# CHANGE 1806 1814# CHAR 1364 1449 2642# CHMODE 630 2032# CI 431 1166 1212# 2527 CI2 2021# 2023 CI@ 1213 1213 1231 1775# 1804 1809 1812 1817 1893 CI@0 518 1789 2602# CI@1 1790# CI@@ 471 2000# 2001 CI@CU 1777 1789# CICS 1798 1853# CILOC 1185 1214 2591# 2614 CIMIN 655 869 958 1000 1129# CINCR 451 591 743 846 960 1054 1131# CINIT 542 1829# CISLO 1904 1910# 1925 CITB 1213# 1216 CLOSE 1687 2302# CMAX 1520 1544 1606 1622 1748# CMAX0 1751# CO 433 1170 1252 1265 1291# 2057 2338 CO@ 354 1327 2603# CO@@ 472 1331# CO@WR 1345# COA 236 240 244 715 726 892 950 1147 1159 1168# 2547 COADR 1411 1454# 1547 1564 1576 1577 1597 COEX 1380 1411# COEX0 1363# 1444 COEX1 1368 1370# COEXAT 1360# COEXX 1362# 1412 1489 COLD 160 430 491# COLO 1265 1293 1318# COLOC 1294 2592# COLUM 1485 1527 1634 2627# COMPR 828 1071# CONTROL 1341 1379# CONX1 1530# CONXT 1360 1393 1519# COOUT 1293 1324# COPY 278# 282 629 COTB 1293# 1296 CPM 10# 43 118 165 228 274 504 524 548 582 786 1599 1693 1975 2003 2059 CR 66# 294 327 569 590 750 757 884 1043 1136 1384 2430 2517 2531 CR@ 1385 1530 1624 1633# CRLF 279 442 767 850 1042# 1088 2308 2363 2550 CSKOD 1664# 1907 CSKOD@ 1793 2587# CSLOC 1209 2598# CSTS 436 956 1206# CSTS@ 1210 2604# CSTS@@ 473 1975# 2000 CTBL 597 616# 642 643 CTIC1 1901 1904# CTIC2 1906# 1926 CTICS 1867 1895# CTRLP 111# 1805 CTRLQ 110# 1807 CUR@ 540 1784 2636# CURCH 106# 539 CURSOR 105# 1369 1780 CWR1 136# CWR2 140# D100S 351 389# D101 391# 393 D102 398# 400 D180 352 362# DADR 446 1089# 2289 2339 DADR0 1089 1275# DBYT 447 902 907 999 1276 1281# 2055 DBYTE 935 2055# DEKOD 1792 1931# DEL 79# 2533 DESAV 916 917 2574# DEV 1212 1221# 1291 DEV0 1222# 1229 1250 1263 DI0 932# 957 962 DI1 934# 940 DI2 943# 955 DI3 960# DI4 946 949# DI5 948 950# DIA 937 941# DISP 619 929# DNADR 706 933 1007 1088# 2286 DNIBL 1288# DUMMY 344# 348 474 480 481 EADR 2288 2653# ECHO 667 1020 1131 1166# EOF 620 2294# EOL 109# 1388 EOL@ 1389 1563 1568 1581 1603# EOL@1 1608# 1611 EOT 75# EP2 54# 558 560 EQUAL 239# 666 716 742 893 1018 ERAM 55# ERROR 444 475 600 665 678 861 1017 2231 2236 2263 2272# 2340 2456 ERRSW 547 587 2273 2601# ERS 108# 556 1396 ERS@ 1397 1568# ERS@1 1578# 1584 ESC 71# 1404 ESC@ 1406# ESC@0 1481 1487# ETX 74# 2529 EX0 1020# 1032 1048 EX1 1021# 1052 EX2 1025# EX3 1025 1033# 1056 EX4 1023 1054# 1059 EX5 1035 1046# EXFLG 455 1420# EXFLG1 1441# 1505 EXPR 443 929 968 981 1018# 1081 2050 2362 EXPR0 1017# 1039 EXPRM 289 746 1050# EXSER 1425 2640# EXTEXT 2466 2655# FI1 972# 974 FIL@ 1839 1846# FILL 621 967# FIND 314# 1685 2307 GO@ 744 751 759 767# GO@BR 745 752# GOTO 622 742# GRAF 465 2610# HBT 1239# 2444 HEIGHT 101# 1477 1757 HILO 448 936 951 973 988 1066# 2216 2279 HLSAV 779 797 804 918 919 2575# HNDIN 331# 623 HNDMX 333 356# HOME 112# 556 1394 HOME@ 1395 1628# HT 67# 1334 2421 HXANIB 1094# 1243 1289 HXASC 454 1096# INIC 568# 586 1774 INJM@ 599# INJMP 601# 1224 INST2 764 2582# INSTR 755 2580# INTER 462 588 783# 2246 IOBYT 249 257 686 708 1206 1221 1226 1245 1260 2616# IOCHK 249# 437 IODEF 440 1176# IONEW 686# IONUM 1177 2614# IOSET 256# 438 IOTAB 657 694# 707 J1 2276# 2280 JMENO 327# 2209 JUMP 625 2217 2259# KEY 269 1778 1864 1889 1891 1922 2637# KODASC 464 1832 1843# KODU@ 1879# 1908 KODWM 463 1837# KOS 304# 626 KOS@ 305 310 315 317 319 321 323 460 2303 2606# KOSI 309# 624 LBT 1243# 2447 LBYTE 1286 1289# LCT 598 642# LF 73# 569 590 1043 1386 2432 2517 LF@ 1387 1534# LILOC 1266 2597# LINE 264 1454 1479 1494 1569 1591 1596 1629 1646 2626# LINOF 102# 103 1549 1578 LMAX 1572 1589 1754# LMAX0 1757# LO 281 435 1260# 1293 1318 LO@ 340 343 1265 1326 2605# LO@1 373# 375 LO@2 379# 381 LO@@ 349 367# LOADB 627 2209# LOADCD 318# 1688 2210 LOTB 1265# 1268 LREST 103# MEM1 523# 535 MEM2 528 536# MEMCK 439 1105# MEMTOP 537 705 1106 2600# MINUS 235# 1129 MMODE 149# 390 MO1 519 985# 989 1850 MODE 1324 1355 1366 1431 1775 1796 1814 1816 2033 2621# 2640 MONIT 53# 159 MOVE 628 980# MREAD 2313 2403 2410 2455# 2458 MSTAK 493 563 578 2571# NAMBUF 2470 2657# NEXT 449 578# 579 596 840 2530 OBNOV 1382 1443 1448# 1488 OPEN 316# 1686 OPT 2507 2656# P1LOC 1252 2595# P2LOC 1253 2596# PA1 137# PA2 141# PB1 138# PB2 142# PBEG 2298 2388 2429# PBYTE 2301 2391 2396 2437 2439 2441 2443# PC1 139# PC2 143# PCMD 631 2222 2252# PCSAV 748 777 837 920 2576# PEDIT 40# 2253 PO 353 434 1245# 2431 2433 2435 PO@ 1252 2608# PORTI 125# PORTK 120# 508 1978 2015 PORTLC 122# PORTLD 123# POTB 1252# 1255 PRER 785 1830 2039 2632# PREV 1843 1932 2586# PRNT 78# 1803 QUERY 632 705# QUES 243# 2272 R1LOC 1231 2593# R2LOC 1232 2594# RADR 331 752 761 995 1080# 2032 2038 2044 2294 2309 RBYT 287# 876 1003 RBYT0 286# RBYTE 2317 2320 2322 2326 2327 2335 2342 2344 2346 2347 2403# READ@ 633 2307# RED1 2311# 2336 RED2 2327# 2334 RED3 2318 2341# REDC1 2313# 2315 REDC2 2316# REDER 2331 2338# 2348 RESC 1570 1616 1633 2629# RESC1 1748 2631# RESER 466 2611# RESL 1539 1628 1639 1811 2628# RESL1 1754 2630# RESTA 581 796# RGNAM 847 912# RI 278 432 1213 1226# 2455 RI@ 1231 2607# RIGHT 69# 1392 RITB 1231# 1234 RNAM1 2473# 2483 RNAM2 2478 2485# 2551 RNAM3 2496 2498 2503 2507# RNAM6 2526# 2539 2544 2549 RNAM7 2534 2537# RNAM8 2536 2545# RNAM9 2532 2550# RNAMC 2472 2515# RNAME 461 2464# ROLL 1548# 1562 ROLL1 1553# 1558 ROLL2 1563# ROLL@ 1539# RRAM 1677# 1679 RST1 2561# RST10 812# 834 RST20 821 830 832# RSTN 35# 756 765 SADR 2211 2285 2652# SAVECD 320# 1689 SERIN 477 1991# 1993 SEROUT 355 478 1309# 1311 SETCUR 1781 1783 1785# SMST 479 1967# SMTAB 476# SPACE 450 713 888 942 1090 1762 2056# SPCL 264# 441 SPSAV 564 773 801 921 2577# SU1 996# 1008 SU2 1002 1005# SUB@ 77# SUBS 634 995# SUM 2266 2654# SYSEND 482# 517 SYSTAB 471# 516 TAB@ 1335 1761# 1765 TABHND 337 348# 356 TABZN 1655# 1831 TBWM 1672# 1833 1878 TCARKA 1947 1956# TCMD 635 2248# TERM 2421# TEXT 452 1157# 1161 THACEK 1951 1954# TRACER 39# 2249 TV64 8# 57 85 1348 1507 1524 2518 TVBEG 60# 104 544 1463 TVEND 104# TVROM 56# 553 TX 458 555 568 589 1042 1046 1144# 1151 2516 2542 UDATA 147# 395 1313 1994 UKAZ 636 2214 2259 2285# UMODE 150# 397 502 UP 70# 1398 UP@ 1399 1620 1639# URES 151# 501 USTAT 148# 391 398 514 1309 1967 1991 VERIFY 637 2050# VT 76# 1400 VT@ 1401 1534 1589# VYPSUM 2053 2265 2275# WIDTH 100# 103 1483 1751 WMDO 1873# WMKOD 1837 2585# 2587 WND@ 459 1494# WND@0 1496# 1504 WNDCD 80# 1402 WNDCH 1403 1493# WNDP 1493 2639# WR1 2366# 2398 WR2 2377 2380# WR3 2379 2382# WR4 2389# 2393 WRITE 638 2361# X 639 839 846# X0 851# 854 X1 849 855# X10 858# 863 X2 855 865 867# 873 886 XDIS1 864 893# XDISP 851 867 888# XFLG 1345 1406 1487 2643# XY 453 593# Y 640 2038# Z 641 2044# ZCARKA 1918 1946# ZHA0 1933# 1948 1952 ZHA1 1934# 1940 ZHA2 1937 1942# ZHACEK 1920 1950# ZMECS 1856 1859 1861 1891# ZMENA 1863 1889# 93# WNDP 1493 2639# WR1 2366# 2398 WR2 2377 2380# WR3 2379
Ú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