Ú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
'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1 1 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 TITLE 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' 3 ; 30.7.1985 (P+S) 4 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 ; 6 0000 CPM EQU 0 ;EPROM VERSION 7 ; 8 ; * ROZDELENI PAMETI * 9 ; 10 IF NOT CPM 11 4000 @R@ EQU 4000H 12 0100 MONIT EQU 100H 13 0800 EPROM EQU 800H 14 0400 LSYSR EQU 400H 15 3800 TVBEG EQU 3800H 16 4400 PEDIT EQU 4400H 17 4400 BASIC EQU 4400H 18 4C00 TRACER EQU 4C00H 19 ELSE 20 ; 21 @R@ EQU 4000H ;SYS RAM 22 MONIT EQU 200H ;MONITOR 23 EPROM EQU 800H+200H ; CPM 24 LSYSR EQU 400H ;SYS.RAM 25 TVBEG EQU 0E800H 26 PEDIT EQU 1200H ;START 27 BASIC EQU 4400H 28 TRACER EQU 2000H 29 ENDIF 30 ; 31 ; 32 ; 33 ; * MONITOR ENTRY * 34 ; 35 0112 CSTS EQU MONIT + 12H 36 0103 CI EQU MONIT + 3 37 0106 RI EQU MONIT + 6 38 0109 CO EQU MONIT + 09H 39 010C PO EQU MONIT + 0CH 40 013F CINCR EQU MONIT + 3FH 41 011E IODEF EQU MONIT + 1EH 42 0127 EXPR EQU MONIT + 27H 43 0133 DBYT EQU MONIT + 33H 44 0130 DADR EQU MONIT + 30H 45 0124 CRLF EQU MONIT + 24H 46 0136 HILO EQU MONIT + 36H 47 0139 NEXT EQU MONIT + 39H 48 0142 TEXT EQU MONIT + 42H 49 0115 IOCHK EQU MONIT + 15H 50 013C SPACE EQU MONIT + 3CH 51 0118 IOSET EQU MONIT + 18H 52 012A ERROR EQU MONIT + 2AH 53 012D ASHEX EQU MONIT + 2DH 54 0148 HXASC EQU MONIT + 48H 55 0151 ASSEX EQU MONIT + 51H 56 ; 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-1 57 ; 58 00FF LENGHT EQU 255 ; BLOCK LENGHT 59 000B NAMLE EQU 11 ; NAME LENGHT 60 0040 COMLE EQU 64 ; COMNENT LENGTH 61 ;------------------------------------------ 62 000D CR EQU 0DH ;KONSTANTY 63 000A LF EQU 0AH 64 007F DEL EQU 7FH ; DELETE 65 0003 ETX EQU 03H 66 0009 HT EQU 9 ;TAB 67 0010 PREAM EQU 10H ; PREAMBLE/POSTAMBLE 68 001A SUBS EQU 1AH ; END FLAG 69 ; 70 ; SER. I/O 71 0013 USER EQU 13H 72 0012 UDATA EQU 12H 73 0011 USTAT EQU 11H 74 0010 UMODE EQU 10H 75 76 ; BLOCK LABELS 77 0001 SOH EQU 01H ; START OF HEADER 78 0004 EOT@ EQU 04H ; END OF TAPE 79 003A CAN EQU ':' ; VOLUME NAME 80 ; 'A' ; DATA BLOCK 81 ; 'B' ; BINARY BLOCK 82 ; 83 84 ;===================================== 85 0000' ASEG 86 ORG EPROM ;START 87 ;===================================== 88 89 0800 C3 0A17 JMP MICOS ;BRANCH TABLE 90 0803 C3 0818 JMP INITS ;INIT SYSTEM 91 0806 C3 085B JMP EXMON ;EXPAND 92 0809 C3 0AF7 JMP FIND 93 080C C3 0A98 JMP OPEN 94 080F C3 0B10 JMP CLOSE 95 0812 C3 0DAA JMP LOAD 96 0815 C3 0E13 JMP SAVE 97 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 98 ; 99 ; INIT SYSTEM AND I/O 100 ; 101 0818 0E A9 INITS: MVI C,0A9H ;LO=L,RI-1,PO-1 102 081A 79 MOV A,C 103 081B 32 40CA STA FND ;NO FIND MODE 104 081E CD 0118 CALL IOSET ; SET P=R=1 105 0821 CD 0C41 CALL TXIMM ;OHLASENI 106 0824 4D 49 4B 4F DB 'MIKOS-1 V4.0H ' 107 0828 53 2D 31 20 108 082C 56 34 2E 30 109 0830 48 20 110 0832 AB DB '+' OR 80H 111 0833 CD 083E CALL ICMD1 112 0836 C3 084F JMP OCMD1 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-2 113 ; 114 ; 115 ; INPUT SET 116 ; 117 0839 3E 52 ICMD: MVI A,'R' 118 083B CD 0151 CALL ASSEX 119 083E AF ICMD1: XRA A 120 083F 32 40E4 STA @IF1 ;FIND FLAG 121 0842 0E 02 MVI C,2 122 0844 11 0D43 LXI D,GET@ 123 0847 C3 011E JMP IODEF 124 ; 125 ; OUTPUT SET 126 ; 127 084A 3E 50 OCMD: MVI A,'P' 128 084C CD 0151 CALL ASSEX 129 084F AF OCMD1: XRA A 130 0850 32 40E6 STA @OF1 ;OPEN FLAG 131 0853 0E 04 MVI C,4 132 0855 11 0D74 LXI D,PUT@ 133 0858 C3 011E JMP IODEF 134 ; 135 ; MONITOR EXTENSION 136 ; 137 085B 7D EXMON: MOV A,L ;COMMAND 138 085C FE 57 CPI 'W' 139 085E CA 0977 JZ WRITE 140 0861 FE 52 CPI 'R' 141 0863 CA 0909 JZ READ@ 142 0866 FE 4A CPI 'J' 143 0868 CA 08C7 JZ JUMP 144 086B FE 4E CPI 'N' 145 086D CA 08FE JZ NULL 146 0870 FE 45 CPI 'E' 147 0872 CA 08E7 JZ EOF 148 0875 FE 49 CPI 'I' 149 0877 CA 0839 JZ ICMD 150 087A FE 4F CPI 'O' 151 087C CA 084A JZ OCMD 152 087F FE 50 CPI 'P' 153 0881 CA 08BC JZ PCMD 154 0884 FE 42 CPI 'B' 155 0886 CA 0896 JZ BCMD 156 0889 FE 54 CPI 'T' 157 088B CA 08B4 JZ TCMD 158 088E FE 4B CPI 'K' 159 0890 CA 0A17 JZ MICOS 160 0893 C3 012A JMP ERROR ;MONITOR 161 ; 162 ; JUMP TO SYSTEM PROGRAMS 163 ; 164 0896 06 42 BCMD: MVI B,'B' ;BASIC 165 0898 21 4400 LXI H,BASIC 166 089B 11 40AB B0: LXI D,@BT ; REENTRY FLAG 167 089E 7E B1: MOV A,M 168 089F FE C3 CPI 0C3H ;JUMP 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-3 169 08A1 C2 012A JNZ ERROR ;NO EPROM IN SYSTEM 170 08A4 1A LDAX D 171 08A5 B8 CMP B ;WARM START ? 172 08A6 CA 08B0 JZ B2 ;+2 173 08A9 B7 ORA A 174 08AA C2 012A JNZ ERROR 175 08AD 78 MOV A,B 176 08AE 12 STAX D ;SET FLAG 177 08AF E9 PCHL ;COLD START 178 ; 179 08B0 23 B2: INX H 180 08B1 23 INX H 181 08B2 23 INX H 182 08B3 E9 PCHL ;WARM START 183 ; 184 08B4 06 54 TCMD: MVI B,'T' 185 08B6 21 4C00 LXI H,TRACER 186 08B9 C3 089B JMP B0 187 ; 188 08BC 06 50 PCMD: MVI B,'P' ;PEDIT 189 08BE 21 4400 LXI H,PEDIT 190 08C1 11 40AC LXI D,@PED 191 08C4 C3 089E JMP B1 192 ; 193 ; 194 ; JUMP TO USER PROGRAM 195 ; 196 08C7 2A 40B1 JUMP: LHLD EADR 197 08CA EB XCHG 198 08CB 2A 40AF LHLD SADR 199 08CE 7D MOV A,L ;NO PRGM 200 08CF B4 ORA H 201 08D0 CA 012A JZ ERROR ;EMPTY FILE 202 08D3 E5 PUSH H ;START 203 08D4 06 00 MVI B,0 ; SUM 204 08D6 7E J1: MOV A,M 205 08D7 80 ADD B 206 08D8 47 MOV B,A 207 08D9 CD 0136 CALL HILO 208 08DC D2 08D6 JNC J1 209 08DF 3A 40B3 LDA SUM 210 08E2 B8 CMP B 211 08E3 C2 012A JNZ ERROR 212 08E6 C9 RET ; GOTO 213 ; 214 ; 215 ; END OF FILE COMMAND 216 ; 217 218 08E7 0E 01 EOF: MVI C,1 219 08E9 CD 0127 CALL EXPR 220 08EC E1 POP H ; START ADR 221 08ED 06 01 MVI B,1 ; TYP RECORDU 222 08EF AF XRA A ; PARAM. 223 08F0 5F MOV E,A ; POCET BYTE 224 08F1 CD 09D5 CALL PBEG 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-4 225 08F4 AF XRA A 226 08F5 92 SUB D ; MONTROLNI COUCET 227 08F6 CD 09F2 CALL PBYTE 228 08F9 0E 1A MVI C,SUBS ; CLOSE 229 08FB C3 010C JMP PO 230 ; 231 ; 120*BLANK 232 233 08FE NULL: 234 08FE 01 7800 LEAD: LXI B,7800H 235 0901 CD 010C CALL PO 236 0904 05 DCR B 237 0905 C2 0901 JNZ LEAD+3 238 0908 C9 RET 239 240 ; 241 ; READ HEX INTEL FORMAT 242 ; 243 0909 0D READ@: DCR C 244 090A CD 0127 CALL EXPR ;OFFSET 245 090D E1 RED1: POP H 246 090E E5 PUSH H 247 090F 16 09 REDC0: MVI D,9 ; MAX POCET ZNAKU BEZ ODDELELNI 248 0911 CD 0A0B REDC1: CALL MREAD ; CTI BYTE 249 0914 CD 09C9 CALL TERM ; ODDELOVAC ? 250 0917 CA 090F JZ REDC0 ; ANO, NASTAV CITAC 251 091A 0E 3A MVI C,':' ; ZACATEK RECORDU ? 252 091C 91 SUB C 253 091D CA 0927 JZ REDC2 ; ANO, CTI HEX DATA 254 0920 15 DCR D ; DALSI ZNAK ? 255 0921 C2 0911 JNZ REDC1 ; ANO 256 0924 C3 0953 JMP REDER ; ERROR ':' .. CHYBI ':' NA PASCE 257 0927 57 REDC2: MOV D,A ; NULOVANI KONTR. SOUCTU 258 0928 CD 09B2 CALL RBYTE ; DELKA RADKU 259 092B CA 095C JZ RED3 ; KDYZ 0, KONEC 260 092E 5F MOV E,A ; NASTAVENI CITACE 261 092F CD 09B2 CALL RBYTE ; HIGH ADR 262 0932 F5 PUSH PSW 263 0933 CD 09B2 CALL RBYTE ; LOW ADR 264 0936 C1 POP B 265 0937 4F MOV C,A 266 0938 09 DAD B ; OFFSET ADRESY 267 0939 CD 09B2 CALL RBYTE ; PRIZNAK 268 093C CD 09B2 RED2: CALL RBYTE ; STROJ. KOD 269 093F 77 MOV M,A 270 0940 BE CMP M ; TEST PAMETI 271 0941 0E 4D MVI C,'M' ; ERROR 'M' .. MEMORY 272 0943 C2 0953 JNZ REDER 273 0946 23 INX H 274 0947 1D DCR E ; CITAC BYTE STROJ. KODU 275 0948 C2 093C JNZ RED2 276 094B CD 09B2 CALL RBYTE ; KONTR. SOUCET Z PASKY 277 094E CA 090D JZ RED1 ; OK 278 0951 0E 53 MVI C,'S' ; ERROR 'S' .. CHECK SUM 279 0953 CD 0109 REDER: CALL CO ; TYP CHYBY 280 0956 CD 0130 CALL DADR 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-5 281 0959 C3 0FF8 JMP ERSTP 282 095C E5 RED3: PUSH H 283 095D CD 09B2 CALL RBYTE ; HYGH START ADR 284 0960 67 MOV H,A 285 0961 CD 09B2 CALL RBYTE ; LOW START ADR 286 0964 6F MOV L,A 287 0965 CD 09B2 CALL RBYTE ; CHECK SUN 288 0968 CD 09B2 CALL RBYTE 289 096B C2 0951 JNZ REDER-2 ; ERROR 290 096E D1 POP D 291 096F 7A MOV A,D 292 0970 B3 ORA E ; OFFSET ? 293 0971 D1 POP D ; STACK CORECTION 294 0972 C0 RNZ ; YES, NO START 295 0973 7C MOV A,H 296 0974 B5 ORA L ; START ADR 297 0975 C8 RZ ; NO 298 0976 E9 PCHL ; GOTO 299 ; 300 ; WRITE CONTENTS RAM TO TAPE HEX 301 302 0977 CD 0127 WRITE: CALL EXPR 303 097A CD 0124 CALL CRLF 304 097D D1 POP D 305 097E E1 POP H 306 097F 7D WR1: MOV A,L 307 0980 C6 10 ADI 10H 308 0982 4F MOV C,A 309 0983 7C MOV A,H 310 0984 CE 00 ACI 0 311 0986 47 MOV B,A 312 0987 7B MOV A,E 313 0988 91 SUB C 314 0989 4F MOV C,A 315 098A 7A MOV A,D 316 098B 98 SBB B 317 098C DA 0994 JC WR2 318 098F 3E 10 MVI A,10H ; >16 319 0991 C3 0997 JMP WR3 320 0994 79 WR2: MOV A,C ; <16 321 0995 C6 11 ADI 11H 322 0997 B7 WR3: ORA A 323 0998 C8 RZ ; NEXT 324 0999 D5 PUSH D ; USCHOVA HIGH ADR 325 099A 5F MOV E,A ; NASTAVENI CITACE 326 099B AF XRA A ; SET PARAM. 327 099C 47 MOV B,A ; TYP 328 099D CD 09D5 CALL PBEG 329 09A0 7E WR4: MOV A,M 330 09A1 23 INX H 331 09A2 CD 09F2 CALL PBYTE ; STROJ. KOD 332 09A5 1D DCR E 333 09A6 C2 09A0 JNZ WR4 334 09A9 AF XRA A 335 09AA 92 SUB D 336 09AB CD 09F2 CALL PBYTE ; KONTR. SOUCET 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-6 337 09AE D1 POP D 338 09AF C3 097F JMP WR1 339 340 341 ; PRECTE 2 ZNAKY, SESTAVI BYTE, TVORI KONTR. SOUCET 342 343 09B2 CD 0A0B RBYTE: CALL MREAD ; CTE ZNAK S MASKOU 7F 344 09B5 CD 012D CALL ASHEX ; PREVOD ASCII-HEX 345 09B8 07 RLC 346 09B9 07 RLC 347 09BA 07 RLC 348 09BB 07 RLC 349 09BC 4F MOV C,A 350 09BD CD 0A0B CALL MREAD 351 09C0 CD 012D CALL ASHEX 352 09C3 B1 ORA C ; SESTAVI BYTE 353 09C4 4F MOV C,A 354 09C5 82 ADD D ; KONTROLNI SOUCET 355 09C6 57 MOV D,A 356 09C7 79 MOV A,C 357 09C8 C9 RET 358 359 ; END OF EXPRESSION 360 361 09C9 FE 2C TERM: CPI ',' 362 09CB C8 RZ 363 09CC FE 09 CPI HT 364 09CE C8 RZ 365 09CF FE 20 CPI ' ' 366 09D1 C8 RZ 367 09D2 FE 0D CPI CR 368 09D4 C9 RET 369 370 371 372 ; PUNCH BEGIN OF RECORT 373 374 09D5 57 PBEG: MOV D,A ; NULL CHECK SUM 375 09D6 0E 0D MVI C,CR 376 09D8 CD 010C CALL PO 377 09DB 0E 0A MVI C,LF 378 09DD CD 010C CALL PO 379 09E0 0E 3A MVI C,':' 380 09E2 CD 010C CALL PO 381 09E5 7B MOV A,E ; E .. POCET BYTE 382 09E6 CD 09F2 CALL PBYTE 383 09E9 7C MOV A,H ; HL .. ADR 384 09EA CD 09F2 CALL PBYTE 385 09ED 7D MOV A,L 386 09EE CD 09F2 CALL PBYTE 387 09F1 78 MOV A,B ; TYP 388 09F2 F5 PBYTE: PUSH PSW 389 09F3 CD 09FF CALL HBYTE 390 09F6 F1 POP PSW 391 09F7 F5 PUSH PSW 392 09F8 CD 0A03 CALL LBYTE 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-7 393 09FB F1 POP PSW 394 09FC 82 ADD D 395 09FD 57 MOV D,A 396 09FE C9 RET 397 ; 398 09FF 0F HBYTE: RRC 399 0A00 0F RRC 400 0A01 0F RRC 401 0A02 0F RRC 402 0A03 E6 0F LBYTE: ANI 0FH 403 0A05 CD 0148 CALL HXASC 404 0A08 C3 010C JMP PO 405 ; 406 407 ; READ CHARACTER AND MASK, ERROR IF CARRY 408 409 0A0B CD 0106 MREAD: CALL RI 410 0A0E DA 0FF8 JC ERSTP ; #VERS."G"# 411 0A11 E6 7F ANI 7FH ; POTLACENI PARITNIHO BITU 412 0A13 CA 0A0B JZ MREAD ; #VERS."H"# BLANK? 413 0A16 C9 RET 414 ; 415 ; 416 ; USER COMMAND LEVEL 417 ; 418 0A17 CD 0F35 MICOS: CALL STOP 419 0A1A 0E 5F MVI C,'_' 420 0A1C CD 0109 CALL CO 421 0A1F CD 0CA6 CALL ECHOCR 422 0A22 FE 42 CPI 'B' 423 0A24 CA 0FAB JZ BB ;MICRO-BASIC CODE 424 0A27 FE 41 CPI 'A' 425 0A29 CA 0A69 JZ APPEND 426 0A2C FE 44 CPI 'D' 427 0A2E CA 0A73 JZ DIR ;DIRECTORY 428 0A31 FE 49 CPI 'I' 429 0A33 CA 0B97 JZ INIT ; INIT NEW TAPE 430 0A36 FE 4F CPI 'O' 431 0A38 CA 0A98 JZ OPEN ;OPEN OUTPUT 432 0A3B FE 43 CPI 'C' 433 0A3D CA 0B10 JZ CLOSE ;CLOSE OUTPUT 434 0A40 FE 46 CPI 'F' 435 0A42 CA 0AF7 JZ FIND ;FIND INPUT 436 0A45 FE 53 CPI 'S' 437 0A47 CA 0E13 JZ SAVE ;SAVE 438 0A4A FE 4C CPI 'L' 439 0A4C CA 0DAA JZ LOAD ;LOAD 440 0A4F FE 4D CPI 'M' ;MONITOR 441 0A51 C0 RNZ ; NO FIND 442 ;------------------------------- 443 ; MOTION 444 0A52 CD 0A5B MOTA: CALL START ;MOTA PASKY 445 0A55 CD 0C9D CALL DONE 446 0A58 C3 0F35 JMP STOP 447 ; 448 0A5B 3E 38 START: MVI A,38H 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-8 449 0A5D D3 10 GAPO: OUT UMODE 450 0A5F 3E 1F MVI A,1FH 451 0A61 D3 11 OUT USTAT ; CLEAR 452 0A63 C9 RET 453 ; 454 ; 455 0A64 3E 30 STARW: MVI A,30H 456 0A66 C3 0A5D JMP GAPO ; START WRITE 457 ; 458 ; APPEND NEW FILE ON TAPE 459 ; 460 0A69 32 40B4 APPEND: STA JOIN ; NO INPUT 461 0A6C 2A 40C0 LHLD BNO ; SET FILE NUMBER 462 0A6F EB XCHG 463 0A70 C3 0ADB JMP OPE50 464 465 ;--------------------------------- 466 ;DIRECTORY CASSETE 467 0A73 AF DIR: XRA A ; INPUT BUFFER 468 0A74 32 40B4 STA JOIN 469 0A77 CD 0C83 CALL PLAY 470 0A7A CD 0CAF DIR0: CALL SEARCH ; HEADER 471 0A7D CC 0C23 CZ PHDR ; PRINT NAME 472 0A80 FE 04 CPI EOT@ 473 0A82 C2 0A7A JNZ DIR0 474 0A85 CD 0124 CALL CRLF ; PRINT: 475 0A88 7A MOV A,D 476 0A89 CD 0133 CALL DBYT ; FILE NUMBER 477 0A8C 0E 2D MVI C,'-' 478 0A8E CD 0109 CALL CO 479 0A91 7B MOV A,E 480 0A92 CD 0133 CALL DBYT ; BLOCK NUMBER 481 0A95 C3 0A7A JMP DIR0 482 483 ;---------------------------------- 484 ;OPEN OUTPUT FILE 485 0A98 CD 0C2C OPEN: CALL PTP? 486 0A9B 3A 40E6 LDA @OF1 ;DOUBLE ? 487 0A9E B7 ORA A 488 0A9F C2 012A JNZ ERROR 489 0AA2 CD 0C41 CALL TXIMM 490 0AA5 0D 0A DB CR,LF 491 0AA7 4C 41 53 54 DB 'LAST' 492 0AAB A0 DB ' ' OR 80H 493 0AAC 3E FF MVI A,-1 ;FLAG 494 0AAE CD 0B31 CALL FINO 495 0AB1 C2 0AC8 JNZ OPE1 496 0AB4 CD 0CAF OPE01: CALL SEARCH ;EOT ? 497 0AB7 CA 0AC5 JZ OPE20 ;SOH 498 0ABA FE 04 CPI EOT@ 499 0ABC C2 0AB4 JNZ OPE01 ;NEXT BLOCK 500 0ABF CD 0B85 OPE30: CALL OK? 501 0AC2 CA 0ADB JZ OPE50 ;OPEN NOW 502 0AC5 CD 0B4B OPE20: CALL CMPNM + 3 ; OK ? 503 0AC8 C4 0B48 OPE1: CNZ CMPNM 504 0ACB 3A 40F0 LDA BOUT-1 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-9 505 0ACE FE 3A CPI CAN ;VOLUME 506 0AD0 CA 0ADB JZ OPE50 ;IMMED. OPEN 507 0AD3 CD 0CAF CALL SEARCH 508 0AD6 FE 04 CPI EOT@ 509 0AD8 C2 0AD3 JNZ $ - 5 510 0ADB 7A OPE50: MOV A,D 511 0ADC 3C INR A ;INCREM.FILE NUMBER 512 0ADD 67 MOV H,A 513 0ADE 2E 00 MVI L,0 514 0AE0 22 40C0 SHLD BNO ;FILE&BLOCK NUMBER 515 0AE3 CD 0C91 CALL RECOR 516 0AE6 CD 0C41 CALL TXIMM 517 0AE9 0D 0A DB CR,LF 518 0AEB 4E 45 57 A0 DB 'NEW',' ' OR 80H 519 0AEF 3E 01 MVI A,SOH 520 0AF1 32 40E6 STA @OF1 521 0AF4 C3 0BBA JMP WRNAM 522 ; 523 524 ;---------------------------------------- 525 ; FIND INPUT FILE AND OPEN FOR READ 526 0AF7 CD 0C33 FIND: CALL PTR? 527 0AFA AF XRA A ; FIND ONPUT FILE 528 0AFB CD 0B31 CALL FINO 529 0AFE CD 0B48 CALL CMPNM 530 0B01 1E 01 MVI E,1 531 0B03 EB XCHG 532 0B04 22 40C2 SHLD BNI ;NUMBER FILE 533 0B07 EB XCHG 534 0B08 3E 01 MVI A,SOH 535 0B0A 32 40E4 STA @IF1 536 0B0D C3 0CCC JMP RIB 537 ;--------------------------- 538 ;CLOSE OUTPUT FILE 539 0B10 CD 0C2C CLOSE: CALL PTP? 540 0B13 3A 40E6 LDA @OF1 ;NO OPEN 541 0B16 B7 ORA A 542 0B17 CA 012A JZ ERROR 543 0B1A 3E 04 MVI A,EOT@ ;CLOSE BLOK 544 0B1C 32 40F0 STA BOUT-1 545 0B1F CD 0D28 CALL WOB 546 0B22 AF XRA A 547 0B23 32 40E6 STA @OF1 ;CLOSE 548 0B26 CD 0A64 CALL STARW ;GAP 2* 549 0B29 3E 50 MVI A,80 ; BOOMS 550 0B2B CD 0F9B CALL TIME 551 0B2E C3 0F35 JMP STOP 552 ;--------------------- 553 0B31 32 40B4 FINO: STA JOIN ;I/O FLAG 554 0B34 CD 0C51 CALL TXNAM 555 0B37 21 40B5 LXI H,FNAME 556 0B3A E5 PUSH H 557 0B3B 06 0B MVI B,NAMLE 558 0B3D CD 0BEA CALL RNAME ;READ 559 0B40 CD 0C83 CALL PLAY 560 0B43 E1 POP H 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-10 561 0B44 7E MOV A,M 562 0B45 FE 2A CPI '*' ;WILDCARDS ? 563 0B47 C9 RET 564 565 0B48 CD 0CAF CMPNM: CALL SEARCH ;COMPARE NAME 566 0B4B C2 0B48 JNZ CMPNM ;NO HDR 567 0B4E 01 40B5 LXI B,FNAME 568 0B51 1E 0B MVI E,NAMLE 569 0B53 23 INX H ;NAME 570 0B54 0A CMPN0: LDAX B 571 0B55 FE 2A CPI '*' 572 0B57 CA 0B68 JZ CMPN1 573 0B5A CD 09C9 CALL TERM ;END OF NAME 574 0B5D C8 RZ 575 0B5E BE CMP M 576 0B5F C2 0B48 JNZ CMPNM 577 0B62 03 INX B 578 0B63 1D DCR E 579 0B64 C2 0B53 JNZ CMPN0 - 1 580 0B67 C9 RET ;O.K 581 ; 582 0B68 D5 CMPN1: PUSH D 583 0B69 CD 0CC0 CALL BUADR 584 0B6C E5 PUSH H 585 0B6D CD 0C23 CALL PHDR 586 0B70 E1 POP H 587 0B71 D1 POP D 588 0B72 7C MOV A,H ; CTENI NEBO ZAPIS 589 0B73 FE 41 CPI (BIN-1) SHR 8 590 0B75 C2 0B7E JNZ CMPN2 591 0B78 7E MOV A,M 592 0B79 FE 3A CPI CAN ; ':'... VOLUME BLOK 593 0B7B CA 0B48 JZ CMPNM 594 0B7E CD 0B85 CMPN2: CALL OK? 595 0B81 C2 0B48 JNZ CMPNM 596 0B84 C9 RET 597 ; 598 0B85 CD 0C41 OK?: CALL TXIMM 599 0B88 07 DB 7 600 0B89 2D 2D 28 59 DB '--(Y/N)','?' OR 80H 601 0B8D 2F 4E 29 BF 602 0B91 CD 0C76 CALL ECHO 603 0B94 FE 59 CPI 'Y' 604 0B96 C9 RET 605 ;-------------------- 606 ;INIT NEW CASSETTE 607 0B97 CD 0A5B INIT: CALL START 608 0B9A CD 0C41 CALL TXIMM 609 0B9D 42 4F 54 DB 'BOT' 610 0BA0 A0 DB ' ' OR 80H 611 0BA1 CD 0C91 CALL RECOR 612 0BA4 CD 0F35 CALL STOP 613 0BA7 CD 0C41 CALL TXIMM 614 0BAA 20 56 4F 4C DB ' VOLUME' 615 0BAE 55 4D 45 616 0BB1 A0 DB ' ' OR 80H 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-11 617 0BB2 21 0000 LXI H,0 ;0..FILE NUMBER 618 0BB5 22 40C0 SHLD BNO 619 0BB8 3E 3A MVI A,CAN 620 621 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 622 ; FILE NAME LEVEL 623 0BBA F5 WRNAM: PUSH PSW ;HDR-LABEL 624 0BBB CD 0C51 CALL TXNAM 625 0BBE CD 0C5D CALL NULBF 626 0BC1 CD 0F35 CALL STOP 627 0BC4 F1 POP PSW 628 0BC5 77 MOV M,A 629 0BC6 23 INX H 630 0BC7 06 40 MVI B,COMLE ;NAME+COMMENT 631 0BC9 E5 PUSH H 632 0BCA CD 0BEA CALL RNAME 633 0BCD E1 POP H 634 0BCE 06 0B MVI B,NAMLE 635 0BD0 11 42F0 LXI D,WRNM ;OUTPUT AREA 636 0BD3 7E WRN1: MOV A,M 637 0BD4 E6 3F ANI 3FH 638 0BD6 C2 0BDB JNZ $+5 639 0BD9 3E 20 MVI A,' ' ;BLANK 640 0BDB 12 STAX D 641 0BDC 23 INX H 642 0BDD 13 INX D 643 0BDE 05 DCR B 644 0BDF C2 0BD3 JNZ WRN1 645 0BE2 CD 0D28 CALL WOB 646 0BE5 36 41 MVI M,'A' ;DATA TYP 647 0BE7 C3 0124 JMP CRLF 648 ; READ NAME <HL>..ADR,<B>..DELKA 649 ;----------------------------------- 650 0BEA 5D RNAME: MOV E,L ;LOW-FIRST ADR 651 0BEB 36 20 RNAM1: MVI M,' ' 652 0BED CD 0103 CALL CI 653 0BF0 E6 7F ANI 7FH 654 0BF2 FE 03 CPI ETX 655 0BF4 CA 0A17 JZ MICOS 656 0BF7 FE 0D CPI CR 657 0BF9 CA 0124 JZ CRLF 658 0BFC FE 7F CPI DEL 659 0BFE CA 0C06 JZ RNAM10 660 0C01 FE 08 CPI 08H ;BS 661 0C03 C2 0C16 JNZ RNAM2 662 0C06 7B RNAM10: MOV A,E 663 0C07 BD CMP L ;FIRST 664 0C08 CA 0BEB JZ RNAM1 665 0C0B 2B DCX H 666 0C0C 04 INR B 667 0C0D CD 0C41 CALL TXIMM ;DELETE 668 0C10 08 20 88 DB 08,20H,88H 669 0C13 C3 0BEB JMP RNAM1 670 0C16 77 RNAM2: MOV M,A 671 0C17 23 INX H 672 0C18 4F MOV C,A 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-12 673 0C19 CD 0109 CALL CO 674 0C1C 05 DCR B 675 0C1D C2 0BEB JNZ RNAM1 676 0C20 C3 0124 JMP CRLF 677 ; 678 ;PRINT HEADER OF FILE 679 ;-------------------- 680 0C23 CD 0124 PHDR: CALL CRLF 681 0C26 23 INX H 682 0C27 16 40 MVI D,COMLE 683 0C29 C3 0142 JMP TEXT 684 685 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 686 ; POMOCNE PROGRAMY 687 ; 688 ; CT OR PUNCHER ? 689 0C2C E5 PTP?: PUSH H 690 0C2D 21 3020 LXI H,3020H 691 0C30 C3 0C37 JMP $+7 692 ; 693 ; CT OR READER ? 694 0C33 E5 PTR?: PUSH H 695 0C34 21 0C08 LXI H,0C08H 696 0C37 CD 0115 CALL IOCHK 697 0C3A A4 ANA H 698 0C3B BD CMP L 699 0C3C E1 POP H 700 0C3D C8 RZ ; YES .. CT 701 0C3E 33 INX SP 702 0C3F 33 INX SP ; NESTING 703 0C40 C9 RET ; NO FINO 704 ;TEXTY PRO OBSLUHU 705 ;----------------- 706 0C41 E3 TXIMM: XTHL 707 0C42 7E MOV A,M 708 0C43 E6 7F ANI 7FH 709 0C45 4F MOV C,A 710 0C46 CD 0109 CALL CO 711 0C49 7E MOV A,M 712 0C4A 07 RLC 713 0C4B 23 INX H 714 0C4C D2 0C42 JNC TXIMM+1 715 0C4F E3 XTHL 716 0C50 C9 RET 717 ; 718 0C51 CD 0C41 TXNAM: CALL TXIMM 719 0C54 20 4E 41 4D DB ' NAME' 720 0C58 45 721 0C59 0D 0A DB CR,LF 722 0C5B BA DB ':' OR 80H 723 0C5C C9 RET 724 725 ; 726 ;NULL OUTPUT BUFFER 727 ;------------------ 728 0C5D 21 40F0 NULBF: LXI H,BOUT-1 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-13 729 0C60 E5 PUSH H 730 0C61 3E FF MVI A,LENGHT 731 0C63 23 INX H 732 0C64 36 00 MVI M,0 733 0C66 3D DCR A 734 0C67 C2 0C63 JNZ $-4 735 0C6A E1 POP H ;(BLOCK TYP) ADRM 736 0C6B C9 RET 737 738 0C6C CD 0112 BREAK: CALL CSTS 739 0C6F C8 RZ 740 0C70 CD 0103 CALL CI 741 0C73 C3 0C7A JMP ETX? 742 743 ;CTI A VYPIS ZNAK 744 0C76 CD 013F ECHO: CALL CINCR 745 0C79 C8 RZ 746 0C7A FE 03 ETX?: CPI ETX 747 0C7C C0 RNZ 748 0C7D CD 0DEC CALL CLSTP ;CLOSE & STOP 749 0C80 C3 0139 JMP NEXT ;BREAK=>C 750 751 ;DISPLAY "PLAY" 752 0C83 CD 0C41 PLAY: CALL TXIMM 753 0C86 50 4C 41 59 DB 'PLAY' 754 0C8A A0 DB ' ' OR 80H 755 0C8B CD 0C9D RECO: CALL DONE 756 0C8E C3 0A5B JMP START 757 758 ;DISPLAY "RECORD" 759 0C91 CD 0C41 RECOR: CALL TXIMM 760 0C94 0D 0A DB CR,LF 761 0C96 52 45 43 4F DB 'RECORD' 762 0C9A 52 44 763 0C9C A0 DB ' ' OR 80H 764 ; 765 0C9D CD 0C41 DONE: CALL TXIMM 766 0CA0 20 44 4F 4E DB ' DONE','?' OR 80H 767 0CA4 45 BF 768 0CA6 CD 0C76 ECHOCR: CALL ECHO 769 0CA9 F5 PUSH PSW 770 0CAA CD 0124 CALL CRLF 771 0CAD F1 POP PSW 772 0CAE C9 RET 773 774 775 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 776 ; FILE OPERATIONS LEVEL 777 ; 778 ;SERACH BLOCK IN TAPE 779 ;-------------------- 780 0CAF CD 0CC0 SEARCH: CALL BUADR 781 0CB2 0E 23 SEAR1: MVI C,'#' ;ERROR 782 0CB4 DC 0109 CC CO 783 0CB7 CD 0E7D CALL READF 784 0CBA DA 0CB2 JC SEAR1 ; SERACH ERROR 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-14 785 0CBD C3 0CE6 JMP RIB2 786 ; 787 ; BUFFER ADR 788 0CC0 3A 40B4 BUADR: LDA JOIN ;INPUT OR OUTPUT ? 789 0CC3 B7 ORA A 790 0CC4 21 40F0 LXI H,BOUT-1 791 0CC7 C0 RNZ ;OUTPUT 792 0CC8 21 41F0 LXI H,BIN-1 793 0CCB C9 RET 794 ; 795 796 ; READ INPUT BUFFER 797 ;-------------------- 798 0CCC D5 RIB: PUSH D 799 0CCD C5 PUSH B 800 0CCE 2A 40C2 LHLD BNI 801 0CD1 23 INX H 802 0CD2 22 40C2 SHLD BNI 803 0CD5 21 41F0 LXI H,BIN-1 804 0CD8 CD 0E81 CALL READ 805 0CDB DA 0CED JC ERRD ;ERROR 806 0CDE CD 0D39 CALL NUFIL ; NUMBER O.K. ? 807 0CE1 C2 0CED JNZ ERRD ; BLOCK ERROR 808 0CE4 C1 RIB1: POP B 809 0CE5 D1 POP D 810 0CE6 7E RIB2: MOV A,M ;BLOCK TYP 811 0CE7 FE 3A CPI CAN ;VOLUME NAME 812 0CE9 C8 RZ 813 0CEA FE 01 CPI SOH ;FILE NAME 814 0CEC C9 RET ;(HL)..BLOCK TYP 815 ;ERROR READ 816 0CED CD 0F35 ERRD: CALL STOP ;# VERS."E"# 817 0CF0 CD 0C41 CALL TXIMM 818 0CF3 20 45 52 52 DB ' ERROR/N' 819 0CF7 4F 52 2F 4E 820 0CFB BF DB '?' OR 80H 821 0CFC CD 0C76 CALL ECHO ;CONTINUE 822 0CFF FE 4E CPI 'N' 823 0D01 CA 0D1F JZ ERRD1 824 0D04 CD 0C41 CALL TXIMM 825 0D07 20 42 41 43 DB ' BACK' 826 0D0B 4B 827 0D0C A0 DB ' ' OR 80H 828 0D0D CD 0C83 CALL PLAY 829 0D10 21 41F0 ERRD0: LXI H,BIN-1 ;INPUT BUFFER 830 0D13 CD 0E7D CALL READF 831 0D16 DA 0CED JC ERRD ;NEXT ERROR 832 0D19 CD 0D39 CALL NUFIL 833 0D1C C2 0D10 JNZ ERRD0 ;NEXT BLOCK 834 0D1F CD 0124 ERRD1: CALL CRLF 835 0D22 21 41F0 LXI H,BIN-1 836 0D25 C3 0CE4 JMP RIB1 837 838 ;WRITE OUTPUT BUFFER 839 0D28 D5 WOB: PUSH D 840 0D29 2A 40C0 LHLD BNO 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-15 841 0D2C 23 INX H 842 0D2D 22 40C0 SHLD BNO 843 0D30 EB XCHG 844 0D31 21 40F0 LXI H,BOUT-1 845 0D34 CD 0EE9 CALL WRBLO 846 0D37 D1 POP D 847 0D38 C9 RET 848 ; 849 ; NUMBER FILE O.K. ? 850 ; 851 0D39 3A 40C2 NUFIL: LDA BNI 852 0D3C BB CMP E 853 0D3D C0 RNZ ;NO 854 0D3E 3A 40C3 LDA BNI+1 855 0D41 BA CMP D 856 0D42 C9 RET 857 ; 858 ;GET BYTE FROM CASSETTE 859 ;---------------------- 860 0D43 C5 GET@: PUSH B 861 0D44 D5 PUSH D 862 0D45 E5 PUSH H 863 0D46 3A 40E4 LDA @IF1 ;WAS OPEN ? 864 0D49 B7 ORA A 865 0D4A CC 0AF7 CZ FIND ;NO THEN FIND 866 0D4D 2A 40C6 LHLD ADRI 867 0D50 23 GET0: INX H 868 0D51 7D MOV A,L ;WAS EMPTY 869 0D52 FE F0 CPI BIEND AND 0FFH 870 0D54 7E MOV A,M 871 0D55 22 40C6 SHLD ADRI 872 0D58 CA 0D5F JZ GET1 ;<A>..BYTE 873 0D5B B7 ORA A ;NCY 874 0D5C C3 0D70 JMP GETEX 875 0D5F 3A 41F0 GET1: LDA BIN-1 876 0D62 FE 04 CPI EOT@ ; "CLOSE" BLOK? 877 0D64 CA 0D6D JZ GET2 878 0D67 CD 0CCC CALL RIB 879 0D6A C2 0D50 JNZ GET0 ;END OF FILE 880 0D6D 3E 1A GET2: MVI A,SUBS 881 0D6F 37 STC 882 0D70 E1 GETEX: POP H 883 0D71 D1 POP D 884 0D72 C1 POP B 885 0D73 C9 RET 886 ; 887 ;PUT BYTE TO CASSETTE 888 0D74 C5 PUT@: PUSH B 889 0D75 D5 PUSH D 890 0D76 E5 PUSH H 891 0D77 3A 40E6 LDA @OF1 ; WAS OPEN 892 0D7A B7 ORA A 893 0D7B C5 PUSH B 894 0D7C CC 0A98 CZ OPEN ;IF NO THEN DO 895 0D7F C1 POP B 896 0D80 2A 40C4 LHLD ADRO 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-16 897 0D83 23 INX H 898 0D84 71 MOV M,C ;SAVE 899 0D85 22 40C4 SHLD ADRO 900 0D88 7D MOV A,L 901 0D89 FE EF CPI (BOEND AND 0FFH) - 1 902 0D8B CC 0D28 CZ WOB ;NEXT 903 0D8E 3A 40F0 LDA BOUT-1 904 0D91 FE 42 CPI 'B' ;BINAR DUMP? 905 0D93 CA 0DA4 JZ PUTEX 906 0D96 3A 40E3 LDA MODE 907 0D99 E6 02 ANI 2 ;BIN.FILE? 908 0D9B C2 0DA4 JNZ PUTEX 909 0D9E 79 MOV A,C ;CLOSE CHAR.? 910 0D9F FE 1A CPI SUBS 911 0DA1 CC 0B10 CZ CLOSE 912 0DA4 E1 PUTEX: POP H 913 0DA5 D1 POP D 914 0DA6 C1 POP B 915 0DA7 79 MOV A,C 916 0DA8 B7 ORA A ;NCY 917 0DA9 C9 RET 918 919 ; 920 ; 921 ; LOAD BINARY DATA FROM TAPE TO MEMORY 922 ; 923 0DAA CD 0AF7 LOAD: CALL FIND ;OPEN FILE 924 0DAD 3E 42 MVI A,'B' ;BINAR 925 0DAF 32 41F0 STA BIN-1 926 0DB2 CD 0A5B CALL START 927 0DB5 CD 0E08 LO1: CALL RICH 928 0DB8 B7 ORA A ; BLANK? 929 0DB9 CA 0DB5 JZ LO1 930 0DBC D6 3C SUI '<' 931 0DBE C2 0FF8 JNZ ERSTP ;#NOT BINARY FORMAT 932 0DC1 47 MOV B,A ;SUM 933 0DC2 CD 0DFF CALL RADR@ 934 0DC5 22 40B1 SHLD EADR ;LAST 935 0DC8 EB XCHG 936 0DC9 CD 0DFF CALL RADR@ ;LAST 937 0DCC 22 40AF SHLD SADR ; START ADR 938 0DCF CD 0E08 CALL RICH 939 0DD2 FE 3E CPI '>' 940 0DD4 C2 0FF8 JNZ ERSTP ;#NOT BINARY 941 0DD7 CD 0DF6 CALL CHECK 942 0DDA 06 00 MVI B,0 ;CLEAR 943 0DDC CD 0E08 LO2: CALL RICH 944 0DDF 77 MOV M,A 945 0DE0 CD 0136 CALL HILO 946 0DE3 D2 0DDC JNC LO2 947 0DE6 CD 0DF6 CALL CHECK 948 0DE9 32 40B3 STA SUM 949 0DEC AF CLSTP: XRA A 950 0DED 32 40E4 STA @IF1 ;SLOSE 951 0DF0 CD 0F35 CALL STOP 952 0DF3 C3 0124 JMP CRLF ;OK 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-17 953 954 ; CHECK SUM ? 955 0DF6 48 CHECK: MOV C,B 956 0DF7 CD 0E08 CALL RICH 957 0DFA B9 CMP C 958 0DFB C2 0FF8 JNZ ERSTP 959 0DFE C9 RET 960 ; 961 0DFF CD 0E08 RADR@: CALL RICH 962 0E02 6F MOV L,A 963 0E03 CD 0E08 CALL RICH ;HL 964 0E06 67 MOV H,A 965 0E07 C9 RET 966 ; 967 0E08 CD 0106 RICH: CALL RI ;READ & SUM 968 0E0B DA 0FF8 JC ERSTP 969 0E0E F5 PUSH PSW 970 0E0F 80 ADD B 971 0E10 47 MOV B,A 972 0E11 F1 POP PSW 973 0E12 C9 RET 974 ; 975 ; SAVE BINARY DATA TO TAPE 976 ; 977 0E13 0E 02 SAVE: MVI C,2 978 0E15 CD 0127 CALL EXPR ;FROM TO 979 0E18 3A 40E6 LDA @OF1 980 0E1B B7 ORA A 981 0E1C CC 0A98 CZ OPEN 982 0E1F 3E 42 MVI A,'B' ;BINAR 983 0E21 32 40F0 STA BOUT-1 984 0E24 CD 0A64 CALL STARW 985 0E27 3E 50 MVI A,80 ; 800MS 986 0E29 CD 0F9B CALL TIME 987 0E2C 0E 3C MVI C,'<' ;START BYTE 988 0E2E CD 0E62 CALL POCH 989 0E31 06 00 MVI B,0 ;ADR-SUM 990 0E33 E1 POP H ;START 991 0E34 D1 POP D ;LAST 992 0E35 CD 0E5D CALL PADR@ 993 0E38 EB XCHG 994 0E39 CD 0E5D CALL PADR@ 995 0E3C 0E 3E MVI C,'>' 996 0E3E CD 0E62 CALL POCH 997 0E41 48 MOV C,B ;SUM OF ADR. 998 0E42 CD 0E62 CALL POCH 999 ; 1000 0E45 06 00 MVI B,0 ;DATA-SUM 1001 0E47 4E SAV1: MOV C,M 1002 0E48 CD 0E62 CALL POCH 1003 0E4B CD 0136 CALL HILO 1004 0E4E D2 0E47 JNC SAV1 1005 0E51 48 MOV C,B ;SUM 1006 0E52 CD 0E62 CALL POCH 1007 0E55 0E 1A MVI C,SUBS 1008 0E57 CD 0E62 CALL POCH ;END MARK 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-18 1009 0E5A C3 0B10 JMP CLOSE 1010 ; 1011 0E5D 4D PADR@: MOV C,L 1012 0E5E CD 0E62 CALL POCH 1013 0E61 4C MOV C,H 1014 ; 1015 0E62 79 POCH: MOV A,C ;PUNCHER AND SUM 1016 0E63 80 ADD B 1017 0E64 47 MOV B,A 1018 0E65 C3 010C JMP PO 1019 1020 ; 1021 1022 0E68 DB 12 SINC: IN UDATA 1023 0E6A 3E 01 SINC1: MVI A,1 ; 10 MS 1024 0E6C CD 0F9B CALL TIME 1025 0E6F CD 0C6C CALL BREAK 1026 0E72 DB 11 IN USTAT 1027 0E74 07 RLC 1028 0E75 DA 0E68 JC SINC ;WAIT IF READY 1029 0E78 0D DCR C 1030 0E79 C2 0E6A JNZ SINC1 1031 0E7C C9 RET 1032 ; 1033 ; READ BLOCK (HL-BUF.ADR) 1034 ; OUT (DE-BLOCK &FILE COUNTER; CY=1 ERROR) 1035 ; 1036 0E7D AF READF: XRA A ;FIND MODE SET 1037 0E7E 32 40CA STA FND 1038 0E81 READ: 1039 0E81 C5 RBLOK: PUSH B 1040 0E82 E5 PUSH H 1041 0E83 CD 0A5B CALL START ;MOTION 1042 0E86 0E 01 RBLG: MVI C,1 ; WAIT 10MS NOT READY 1043 0E88 CD 0E68 CALL SINC ; START BLOCK 1044 0E8B 0E 03 RBL2: MVI C,3 ; 3*PREAMBLE 1045 0E8D CD 0F80 RBL3: CALL SERIN 1046 0E90 FE 10 CPI PREAM 1047 0E92 C2 0E86 JNZ RBLG ; GAP 1048 0E95 0D DCR C 1049 0E96 C2 0E8D JNZ RBL3 1050 0E99 3E 3A MVI A,':' 1051 0E9B 32 3800 STA TVBEG 1052 0E9E 01 0000 LXI B,(LENGHT+1) AND 0FFH ;B=0,C=LENGHT 1053 0EA1 CD 0F76 CALL SERIM ;READ DATA 1054 0EA4 0E 2A MVI C,'*' 1055 0EA6 3A 40CA LDA FND ;FIND MODE? 1056 0EA9 B7 ORA A 1057 0EAA C2 0EAF JNZ RBL20 ;NO-READ 1058 0EAD 0E 20 MVI C,' ' 1059 0EAF 21 3800 RBL20: LXI H,TVBEG 1060 0EB2 71 MOV M,C 1061 0EB3 23 INX H 1062 0EB4 36 22 MVI M,'"' 1063 0EB6 23 INX H 1064 0EB7 0E 0B MVI C,NAMLE 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-19 1065 0EB9 CD 0F76 RBL33: CALL SERIM 1066 0EBC 36 22 MVI M,'"' 1067 0EBE 23 INX H 1068 0EBF 36 20 MVI M,20H 1069 0EC1 23 INX H 1070 0EC2 CD 0F80 CALL SERIN 1071 0EC5 5F MOV E,A 1072 0EC6 CD 0F3A CALL HEXMEM ; REG 'E' -> MEM HEX 1073 0EC9 CD 0F80 CALL SERIN 1074 0ECC 57 MOV D,A 1075 0ECD 3E 20 MVI A,' ' 1076 0ECF 32 40CA STA FND 1077 0ED2 48 MOV C,B ;CHECK SUM 1078 0ED3 CD 0F80 CALL SERIN 1079 0ED6 91 SUB C 1080 0ED7 E1 POP H 1081 0ED8 C1 POP B 1082 0ED9 22 40C6 SHLD ADRI ;BEG. ADR 1083 0EDC F5 PUSH PSW ;SAVE ZERO FLG 1084 0EDD 3A 41F0 LDA BIN-1 ;#VERS "E"# 1085 0EE0 FE 42 CPI 'B' ;# 1086 0EE2 C4 0F35 CNZ STOP ;# 1087 0EE5 F1 RBL5: POP PSW ;IF ZERO ..O.K 1088 0EE6 C8 RZ 1089 0EE7 37 STC 1090 0EE8 C9 RET ;ELSE ...ERROR 1091 ; 1092 ;WRITE BLOCK (HL-ADR,DE-BLOCK &FILE NUMBER) 1093 ; 1094 0EE9 C5 WRBLO: PUSH B 1095 0EEA E5 PUSH H 1096 0EEB D5 PUSH D 1097 0EEC CD 0A64 CALL STARW ;START WRITE 1098 0EEF 3E 50 MVI A,80 ; 800/100 MS 1099 0EF1 CD 0F90 CALL BTIME 1100 0EF4 CD 0F64 CALL SEROP 1101 0EF7 CD 0F64 CALL SEROP 1102 0EFA CD 0F64 CALL SEROP ;PREAMBLE 1103 0EFD 01 0000 LXI B,(LENGHT+1) AND 0FFH 1104 0F00 CD 0F5A CALL SEROM ;DATA 1105 0F03 21 42F0 LXI H,WRNM 1106 0F06 0E 0B MVI C,NAMLE 1107 0F08 CD 0F5A CALL SEROM ;NAME 1108 0F0B D1 POP D 1109 0F0C 7B MOV A,E 1110 0F0D CD 0F66 CALL SEROUT ;BLOCK-NUMBER 1111 0F10 7A MOV A,D 1112 0F11 CD 0F66 CALL SEROUT ;FILE-NUMBER 1113 0F14 78 MOV A,B 1114 0F15 CD 0F66 CALL SEROUT ;CHECK SUM 1115 0F18 CD 0F64 CALL SEROP 1116 0F1B AF XRA A 1117 0F1C CD 0F66 CALL SEROUT ;SENTINEL 1118 0F1F 21 3800 LXI H,TVBEG 1119 0F22 CD 0F3A CALL HEXMEM 1120 0F25 E1 POP H 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-20 1121 0F26 C1 POP B 1122 0F27 22 40C4 SHLD ADRO ;SET ADR 1123 0F2A 3E 01 MVI A,1 ; 10 MS 1124 0F2C CD 0F9B CALL TIME 1125 0F2F 3A 40F0 LDA BOUT-1 ;#VERS "E"# 1126 0F32 FE 42 CPI 'B' ;# 1127 0F34 C8 RZ ;# 1128 0F35 3E 10 STOP: MVI A,10H 1129 0F37 D3 10 OUT UMODE 1130 0F39 C9 RET 1131 ; 1132 ; ROUTINES 1133 ; 1134 ; 'E' REG HEX TO MEMORY, CLEAR TO END LINE 1135 0F3A 7B HEXMEM: MOV A,E 1136 0F3B 0F RRC 1137 0F3C 0F RRC 1138 0F3D 0F RRC 1139 0F3E 0F RRC 1140 0F3F CD 0F50 CALL HEXC 1141 0F42 7B MOV A,E 1142 0F43 CD 0F50 CALL HEXC 1143 0F46 3E 27 MVI A,39 ; LINE LENGTH-1 1144 0F48 36 20 HEXM1: MVI M,' ' 1145 0F4A 23 INX H 1146 0F4B BD CMP L ; END LINE ? 1147 0F4C D2 0F48 JNC HEXM1 1148 0F4F C9 RET 1149 1150 ; DISPLAY HEX CIFF. 1151 0F50 E6 0F HEXC: ANI 0FH 1152 0F52 CD 0148 CALL HXASC 1153 0F55 E6 3F ANI 3FH 1154 0F57 77 MOV M,A 1155 0F58 23 INX H 1156 0F59 C9 RET 1157 ; 1158 0F5A 7E SEROM: MOV A,M ;FROM MEMORY 1159 0F5B 23 INX H 1160 0F5C CD 0F66 CALL SEROUT ;TO:CT: 1161 0F5F 0D DCR C 1162 0F60 C2 0F5A JNZ SEROM 1163 0F63 C9 RET ;ALL 1164 1165 0F64 3E 10 SEROP: MVI A,PREAM ;BLOCK-MARK 1166 1167 0F66 F5 SEROUT: PUSH PSW 1168 0F67 80 ADD B 1169 0F68 47 MOV B,A ;CHECK SUM 1170 0F69 CD 0C6C CALL BREAK 1171 0F6C DB 11 SERO: IN USTAT 1172 0F6E 87 ADD A 1173 0F6F F2 0F6C JP SERO 1174 0F72 F1 POP PSW 1175 0F73 D3 12 OUT UDATA 1176 0F75 C9 RET 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-21 1177 ; 1178 0F76 CD 0F80 SERIM: CALL SERIN ;READ TO MEMORY 1179 0F79 77 MOV M,A 1180 0F7A 23 INX H 1181 0F7B 0D DCR C 1182 0F7C C2 0F76 JNZ SERIM 1183 0F7F C9 RET 1184 1185 0F80 CD 0C6C SERIN: CALL BREAK 1186 0F83 DB 11 IN USTAT 1187 0F85 07 RLC 1188 0F86 D2 0F80 JNC SERIN 1189 0F89 DB 12 IN UDATA 1190 0F8B F5 PUSH PSW 1191 0F8C 80 ADD B 1192 0F8D 47 MOV B,A 1193 0F8E F1 POP PSW 1194 0F8F C9 RET 1195 ; 1196 ; TIME ROUTINES 1197 ; 1198 0F90 47 BTIME: MOV B,A ; * 10 MS 1199 0F91 7E MOV A,M ; 'B' ? 1200 0F92 FE 42 CPI 'B' 1201 0F94 78 MOV A,B 1202 0F95 C2 0F9B JNZ TIME 1203 0F98 0F RRC 1204 0F99 0F RRC 1205 0F9A 0F RRC ; /8 1206 1207 0F9B C5 TIME: PUSH B ; ACC*10MS (TCY=500NS) 1208 0F9C 01 041F TIME1: LXI B,800+255 1209 0F9F 0B TIME2: DCX B ;( 5) 1210 0FA0 04 INR B ;( 5) 1211 0FA1 05 DCR B ;( 5) 1212 0FA2 C2 0F9F JNZ TIME2 ;(10) 10MS LOOP @ 12.5US 1213 0FA5 3D DCR A 1214 0FA6 C2 0F9C JNZ TIME1 1215 0FA9 C1 POP B 1216 0FAA C9 RET 1217 ; 1218 ; MICRO-BASIC FORMAT 1219 ; 1220 0FAB 0E 01 BB: MVI C,1 ;1. ADR 1221 0FAD CD 0127 CALL EXPR 1222 0FB0 CD 0C83 CALL PLAY 1223 0FB3 0E 32 MVI C,50 ; 500MS GAP 1224 0FB5 CD 0E68 BB1: CALL SINC 1225 0FB8 0E 2A MVI C,'*' 1226 0FBA CD 0109 CALL CO 1227 0FBD CD 0F80 CALL SERIN 1228 0FC0 FE 42 CPI 'B' ; BASIC RECORD? 1229 0FC2 01 000A LXI B,10 ; 100MS & CLEAR SUM 1230 0FC5 C2 0FB5 JNZ BB1 1231 0FC8 CD 0F80 CALL SERIN ;NAME 1232 0FCB 4F BB2: MOV C,A 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-22 1233 0FCC CD 0109 CALL CO 1234 0FCF CD 0F80 CALL SERIN 1235 0FD2 FE 0D CPI CR 1236 0FD4 C2 0FCB JNZ BB2 1237 0FD7 CD 0F80 CALL SERIN 1238 0FDA 5F MOV E,A 1239 0FDB CD 0F80 CALL SERIN 1240 0FDE 57 MOV D,A 1241 0FDF 21 BF10 LXI H,-40F0H ;OFFSET 1242 0FE2 19 DAD D 1243 0FE3 D1 POP D 1244 0FE4 19 DAD D 1245 0FE5 EB XCHG ;DE-LAST ADR 1246 0FE6 CD 0F80 BB3: CALL SERIN 1247 0FE9 77 MOV M,A 1248 0FEA CD 0136 CALL HILO 1249 0FED D2 0FE6 JNC BB3 1250 0FF0 48 MOV C,B 1251 0FF1 CD 0F80 CALL SERIN 1252 0FF4 B9 CMP C 1253 0FF5 CA 0F35 JZ STOP ;#VERS."E"# 1254 0FF8 CD 0DEC ERSTP: CALL CLSTP ;# 1255 0FFB C3 012A JMP ERROR ;# 1256 0FFE @ENDPR EQU $ 1257 ; 1258 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1259 ORG @R@ 1260 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1261 ; SYSTEM RAM SAPI-1 M4 1262 ; 1263 4000 RST1: DS 21 ;RESTART VECTOR 1264 ;<<... USER & MONITOR STACK 1265 ; 1266 ; 1267 ; 1268 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1269 ORG @R@+090H 1270 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1271 ; MONITOR DATA 1272 ; 1273 4090 MSTAK: DS 2 ; SAVE REGISTERS 1274 4092 ACSAV: DS 2 1275 4094 BCSAV: DS 2 1276 4096 DESAV: DS 2 1277 4098 HLSAV: DS 2 1278 409A PCSAV: DS 2 1279 409C SPSAV: DS 2 1280 ; 1281 409E BRAD: DS 2 1282 40A0 INSTR: DS 1 1283 40A1 BRAD2: DS 2 1284 40A3 INST2: DS 1 1285 40A4 LASTC: DS 1 ;LAST CODE "REPEAT" 1286 40A5 CADR: DS 2 ; CURSOR ADR 1287 40A7 CHAR: DS 1 ; CODE 1288 40A8 FLAG: DS 1 ; FLAG MEMBR 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-23 1289 40A9 LIMIT: DS 2 ; TIME LIMIT FOR AUTO REPEAT 1290 40AB @BT: DS 1 1291 40AC @PED: DS 1 1292 40AD UADR: DS 2 ;USER ADR 1293 40AF SADR: DS 2 ; START ADR 1294 40B1 EADR: DS 2 ; END ADR 1295 40B3 SUM: DS 1 1296 1297 ;******************************* 1298 ;MONITOR PLUS DATA 1299 40B4 JOIN: DS 1 1300 40B5 FNAME: DS 11 1301 40C0 BNO: DS 1 ;BLOCK NUMSER,FILE NUMBER 1302 40C1 BTO: DS 1 1303 40C2 BNI: DS 1 ; --- " --- 1304 40C3 BTI: DS 1 1305 40C4 ADRO: DS 2 1306 40C6 ADRI: DS 2 1307 40C8 PBITM: DS 2 1308 40CA FND: DS 1 ; FIND FLAG 1309 1310 ;------------------------- 1311 ; USER I/O DEVICE 1312 ; 1313 40CB CILOC: DS 3 1314 40CE COLOC: DS 3 1315 40D1 R1LOC: DS 3 1316 40D4 R2LOC: DS 3 1317 40D7 P1LOC: DS 3 1318 40DA P2LOC: DS 3 1319 40DD LILOC: DS 3 1320 40E0 CSLOC: DS 3 1321 ;****************************** 1322 ;<< EXTERNE OVLADANE FLAGY: >> 1323 ;****************************** 1324 40E3 MODE: DS 1 ;CO-MODE 1325 40E4 @IF1: DS 1 1326 40E5 @IF2: DS 1 1327 40E6 @OF1: DS 1 1328 40E7 @OF2: DS 1 1329 40E8 LINE: DS 1 ;LINE 1330 40E9 COLUM: DS 1 ;COLUMN 1331 40EA RESL: DS 1 ;RESERVE 1332 40EB UBYTE: DS 1 ;USER BYTE (REALTIME..) 1333 40EC @SFLG: DS 1 ;#0..NO STOP 1334 000A EXSER EQU $-MODE ;EXTERNAL SERVICE 1335 40ED IOBYT: DS 1 ;I/O CONTROL 1336 40EE MEMTOP: DS 2 ;MEMTOP "RAM" 1337 1338 ;------------------------- 1339 ; I/O BUFFERS 1340 40F0 DS 1 ; BLOCK LABEL 1341 40F1 BOUT: DS 255 ;BLOCK LENGHT 1342 41F0 BOEND EQU $ 1343 ; 1344 41F0 DS 1 ; BLOCK LABELS 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-24 1345 41F1 BIN: DS 255 ;BLOCK LENGHT 1346 42F0 BIEND EQU $ 1347 ; 1348 42F0 WRNM: DS 11 1349 ;============================= 1350 ORG @R@ + 300H 1351 ;============================= 1352 ; "MAT" ARRAY 1353 4300 DS 0FFH 1354 ;============================= 1355 ORG @R@ + 400H 1356 ;============================= 1357 ; SYSTEM OR USER PROGRAMS 1358 ;---->>>>>>>>>>> 1359 ; 1360 ; 1361 ; 1362 END ;[P] 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE S Macros: Symbols: 40AB @BT 0FFE @ENDPR 40E4 @IF1 40E5 @IF2 40E6 @OF1 40E7 @OF2 40AC @PED 4000 @R@ 40EC @SFLG 4092 ACSAV 40C6 ADRI 40C4 ADRO 0A69 APPEND 012D ASHEX 0151 ASSEX 089B B0 089E B1 08B0 B2 4400 BASIC 0FAB BB 0FB5 BB1 0FCB BB2 0FE6 BB3 0896 BCMD 4094 BCSAV 42F0 BIEND 41F1 BIN 40C2 BNI 40C0 BNO 41F0 BOEND 40F1 BOUT 409E BRAD 40A1 BRAD2 0C6C BREAK 40C3 BTI 0F90 BTIME 40C1 BTO 0CC0 BUADR 40A5 CADR 003A CAN 40A7 CHAR 0DF6 CHECK 0103 CI 40CB CILOC 013F CINCR 0B10 CLOSE 0DEC CLSTP 0B54 CMPN0 0B68 CMPN1 0B7E CMPN2 0B48 CMPNM 0109 CO 40CE COLOC 40E9 COLUM 0040 COMLE 0000 CPM 000D CR 0124 CRLF 40E0 CSLOC 0112 CSTS 0130 DADR 0133 DBYT 007F DEL 4096 DESAV 0A73 DIR 0A7A DIR0 0C9D DONE 40B1 EADR 0C76 ECHO 0CA6 ECHOCR 08E7 EOF 0004 EOT@ 0800 EPROM 0CED ERRD 0D10 ERRD0 0D1F ERRD1 012A ERROR 0FF8 ERSTP 0003 ETX 0C7A ETX? 085B EXMON 0127 EXPR 000A EXSER 0AF7 FIND 0B31 FINO 40A8 FLAG 40B5 FNAME 40CA FND 0A5D GAPO 0D50 GET0 0D5F GET1 0D6D GET2 0D43 GET@ 0D70 GETEX 09FF HBYTE 0F50 HEXC 0F48 HEXM1 0F3A HEXMEM 0136 HILO 4098 HLSAV 0009 HT 0148 HXASC 0839 ICMD 083E ICMD1 0B97 INIT 0818 INITS 40A3 INST2 40A0 INSTR 40ED IOBYT 0115 IOCHK 011E IODEF 0118 IOSET 08D6 J1 40B4 JOIN 08C7 JUMP 40A4 LASTC 0A03 LBYTE 08FE LEAD 00FF LENGHT 000A LF 40DD LILOC 40A9 LIMIT 40E8 LINE 0DB5 LO1 0DDC LO2 0DAA LOAD 0400 LSYSR 40EE MEMTOP 0A17 MICOS 40E3 MODE 0100 MONIT 0A52 MOTA 0A0B MREAD 4090 MSTAK 000B NAMLE 0139 NEXT 0D39 NUFIL 0C5D NULBF 08FE NULL 084A OCMD 084F OCMD1 0B85 OK? 0AB4 OPE01 0AC8 OPE1 0AC5 OPE20 0ABF OPE30 0ADB OPE50 0A98 OPEN 40D7 P1LOC 40DA P2LOC 0E5D PADR@ 09D5 PBEG 40C8 PBITM 09F2 PBYTE 08BC PCMD 409A PCSAV 'MONITOR PLUS, MIKOS V4.0H - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE S-1 4400 PEDIT 0C23 PHDR 0C83 PLAY 010C PO 0E62 POCH 0010 PREAM 0C2C PTP? 0C33 PTR? 0D74 PUT@ 0DA4 PUTEX 40D1 R1LOC 40D4 R2LOC 0DFF RADR@ 0E8B RBL2 0EAF RBL20 0E8D RBL3 0EB9 RBL33 0EE5 RBL5 0E86 RBLG 0E81 RBLOK 09B2 RBYTE 0E81 READ 0909 READ@ 0E7D READF 0C8B RECO 0C91 RECOR 090D RED1 093C RED2 095C RED3 090F REDC0 0911 REDC1 0927 REDC2 0953 REDER 40EA RESL 0106 RI 0CCC RIB 0CE4 RIB1 0CE6 RIB2 0E08 RICH 0BEB RNAM1 0C06 RNAM10 0C16 RNAM2 0BEA RNAME 4000 RST1 40AF SADR 0E47 SAV1 0E13 SAVE 0CB2 SEAR1 0CAF SEARCH 0F76 SERIM 0F80 SERIN 0F6C SERO 0F5A SEROM 0F64 SEROP 0F66 SEROUT 0E68 SINC 0E6A SINC1 0001 SOH 013C SPACE 409C SPSAV 0A5B START 0A64 STARW 0F35 STOP 001A SUBS 40B3 SUM 08B4 TCMD 09C9 TERM 0142 TEXT 0F9B TIME 0F9C TIME1 0F9F TIME2 4C00 TRACER 3800 TVBEG 0C41 TXIMM 0C51 TXNAM 40AD UADR 40EB UBYTE 0012 UDATA 0010 UMODE 0013 USER 0011 USTAT 0D28 WOB 097F WR1 0994 WR2 0997 WR3 09A0 WR4 0EE9 WRBLO 0977 WRITE 0BD3 WRN1 0BBA WRNAM 42F0 WRNM No Fatal error(s) @BT 166 1290# @ENDPR 1256# @IF1 120 535 863 950 1325# @IF2 1326# @OF1 130 486 520 540 547 891 979 1327# @OF2 1328# @PED 190 1291# @R@ 11# 1259 1269 1350 1355 @SFLG 1333# ACSAV 1274# ADRI 866 871 1082 1306# ADRO 896 899 1122 1305# APPEND 425 460# ASHEX 53# 344 351 ASSEX 55# 118 128 B0 166# 186 B1 167# 191 B2 172 179# BASIC 17# 165 BB 423 1220# BB1 1224# 1230 BB2 1232# 1236 BB3 1246# 1249 BCMD 155 164# BCSAV 1275# BIEND 869 1346# BIN 589 792 803 829 835 875 925 1084 1345# BNI 532 800 802 851 854 1303# BNO 461 514 618 840 842 1301# BOEND 901 1342# BOUT 504 544 728 790 844 903 983 1125 1341# BRAD 1281# BRAD2 1283# BREAK 738# 1025 1170 1185 BTI 1304# BTIME 1099 1198# BTO 1302# BUADR 583 780 788# CADR 1286# CAN 79# 505 592 619 811 CHAR 1287# CHECK 941 947 955# CI 36# 652 740 CILOC 1313# CINCR 40# 744 CLOSE 94 433 539# 911 1009 CLSTP 748 949# 1254 CMPN0 570# 579 CMPN1 572 582# CMPN2 590 594# CMPNM 502 503 529 565# 566 576 593 595 CO 38# 279 420 478 673 710 782 1226 1233 COLOC 1314# COLUM 1330# COMLE 60# 630 682 CPM 6# 10 CR 62# 367 375 490 517 656 721 760 1235 CRLF 45# 303 474 647 657 676 680 770 834 952 CSLOC 1320# CSTS 35# 738 DADR 44# 280 DBYT 43# 476 480 DEL 64# 658 DESAV 1276# DIR 427 467# DIR0 470# 473 481 DONE 445 755 765# EADR 196 934 1294# ECHO 602 744# 768 821 ECHOCR 421 768# EOF 147 218# EOT@ 78# 472 498 508 543 876 EPROM 13# 86 ERRD 805 807 816# 831 ERRD0 829# 833 ERRD1 823 834# ERROR 52# 160 169 174 201 211 488 542 1255 ERSTP 281 410 931 940 958 968 1254# ETX 65# 654 746 ETX? 741 746# EXMON 91 137# EXPR 42# 219 244 302 978 1221 EXSER 1334# FIND 92 435 526# 865 923 FINO 494 528 553# FLAG 1288# FNAME 555 567 1300# FND 103 1037 1055 1076 1308# GAPO 449# 456 GET0 867# 879 GET1 872 875# GET2 877 880# GET@ 122 860# GETEX 874 882# HBYTE 389 398# HEXC 1140 1142 1151# HEXM1 1144# 1147 HEXMEM 1072 1119 1135# HILO 46# 207 945 1003 1248 HLSAV 1277# HT 66# 363 HXASC 54# 403 1152 ICMD 117# 149 ICMD1 111 119# INIT 429 607# INITS 90 101# INST2 1284# INSTR 1282# IOBYT 1335# IOCHK 49# 696 IODEF 41# 123 133 IOSET 51# 104 J1 204# 208 JOIN 460 468 553 788 1299# JUMP 143 196# LASTC 1285# LBYTE 392 402# LEAD 234# 237 LENGHT 58# 730 1052 1103 LF 63# 377 490 517 721 760 LILOC 1319# LIMIT 1289# LINE 1329# LO1 927# 929 LO2 943# 946 LOAD 95 439 923# LSYSR 14# MEMTOP 1336# MICOS 89 159 418# 655 MODE 906 1324# 1334 MONIT 12# 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 MOTA 444# MREAD 248 343 350 409# 412 MSTAK 1273# NAMLE 59# 557 568 634 1064 1106 NEXT 47# 749 NUFIL 806 832 851# NULBF 625 728# NULL 145 233# OCMD 127# 151 OCMD1 112 129# OK? 500 594 598# OPE01 496# 499 OPE1 495 503# OPE20 497 502# OPE30 500# OPE50 463 501 506 510# OPEN 93 431 485# 894 981 P1LOC 1317# P2LOC 1318# PADR@ 992 994 1011# PBEG 224 328 374# PBITM 1307# PBYTE 227 331 336 382 384 386 388# PCMD 153 188# PCSAV 1278# PEDIT 16# 189 PHDR 471 585 680# PLAY 469 559 752# 828 1222 PO 39# 229 235 376 378 380 404 1018 POCH 988 996 998 1002 1006 1008 1012 1015# PREAM 67# 1046 1165 PTP? 485 539 689# PTR? 526 694# PUT@ 132 888# PUTEX 905 908 912# R1LOC 1315# R2LOC 1316# RADR@ 933 936 961# RBL2 1044# RBL20 1057 1059# RBL3 1045# 1049 RBL33 1065# RBL5 1087# RBLG 1042# 1047 RBLOK 1039# RBYTE 258 261 263 267 268 276 283 285 287 288 343# READ 804 1038# READ@ 141 243# READF 783 830 1036# RECO 755# RECOR 515 611 759# RED1 245# 277 RED2 268# 275 RED3 259 282# REDC0 247# 250 REDC1 248# 255 REDC2 253 257# REDER 256 272 279# 289 RESL 1331# RI 37# 409 967 RIB 536 798# 878 RIB1 808# 836 RIB2 785 810# RICH 927 938 943 956 961 963 967# RNAM1 651# 664 669 675 RNAM10 659 662# RNAM2 661 670# RNAME 558 632 650# RST1 1263# SADR 198 937 1293# SAV1 1001# 1004 SAVE 96 437 977# SEAR1 781# 784 SEARCH 470 496 507 565 780# SERIM 1053 1065 1178# 1182 SERIN 1045 1070 1073 1078 1178 1185# 1188 1227 1231 1234 1237 1239 1246 1251 SERO 1171# 1173 SEROM 1104 1107 1158# 1162 SEROP 1100 1101 1102 1115 1165# SEROUT 1110 1112 1114 1117 1160 1167# SINC 1022# 1028 1043 1224 SINC1 1023# 1030 SOH 77# 519 534 813 SPACE 50# SPSAV 1279# START 444 448# 607 756 926 1041 STARW 455# 548 984 1097 STOP 418 446 551 612 626 816 951 1086 1128# 1253 SUBS 68# 228 880 910 1007 SUM 209 948 1295# TCMD 157 184# TERM 249 361# 573 TEXT 48# 683 TIME 550 986 1024 1124 1202 1207# TIME1 1208# 1214 TIME2 1209# 1212 TRACER 18# 185 TVBEG 15# 1051 1059 1118 TXIMM 105 489 516 598 608 613 667 706# 714 718 752 759 765 817 824 TXNAM 554 624 718# UADR 1292# UBYTE 1332# UDATA 72# 1022 1175 1189 UMODE 74# 449 1129 USER 71# USTAT 73# 451 1026 1171 1186 WOB 545 645 839# 902 WR1 306# 338 WR2 317 320# WR3 319 322# WR4 329# 333 WRBLO 845 1094# WRITE 139 302# WRN1 636# 644 WRNAM 521 623# WRNM 635 1105 1348#
Ú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