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