Ú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.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1 1 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 TITLE 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' 3 ; 30.7.1985 (P+S) 4 ; V4.0H ZPETNE UPRAVENA NA V4.0D 5 ; 4.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.0D - 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 0AF5 JMP FIND 95 080C C3 0A95 JMP OPEN 96 080F C3 0B0E JMP CLOSE 97 0812 C3 0D9D JMP LOAD 98 0815 C3 0E06 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 0C3F CALL TXIMM ;OHLASENI 108 0824 4D 49 4B 4F DB 'MIKOS-1 V4.0D ' 109 0828 53 2D 31 20 110 082C 56 34 2E 30 111 0830 44 20 112 0832 AB DB '+' OR 80H 'MONITOR PLUS, MIKOS V4.0D - 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 0D3E 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 0D6F 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.0D - 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.0D - 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.0D - 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 012A JMP ERROR 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.0D - 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.0D - 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 0F29 MICOS: CALL STOP 420 0A17 0E 5F MVI C,'_' 421 0A19 CD 0109 CALL CO 422 0A1C CD 0CA4 CALL ECHOCR 423 0A1F FE 42 CPI 'B' 424 0A21 CA 0F9F 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 0B95 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 0B0E JZ CLOSE ;CLOSE OUTPUT 435 0A3D FE 46 CPI 'F' 436 0A3F CA 0AF5 JZ FIND ;FIND INPUT 437 0A42 FE 53 CPI 'S' 438 0A44 CA 0E06 JZ SAVE ;SAVE 439 0A47 FE 4C CPI 'L' 440 0A49 CA 0D9D 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 0C9B CALL DONE 447 0A55 C3 0F29 JMP STOP 448 ; 'MONITOR PLUS, MIKOS V4.0D - 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 FF MVI A,0FFH 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 0C81 CALL PLAY 471 0A77 CD 0CAD DIR0: CALL SEARCH ; HEADER 472 0A7A CC 0C21 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 0C2A OPEN: CALL PTP? 487 0A98 3A 40E6 LDA @OF1 ;DOUBLE ? 488 0A9B B7 ORA A 489 0A9C C2 012A JNZ ERROR 490 0A9F CD 0C3F 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 0B2F CALL FINO 496 0AAE C2 0AC5 JNZ OPE1 497 0AB1 CD 0CAD 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 0B83 OPE30: CALL OK? 502 0ABF CA 0AD8 JZ OPE50 ;OPEN NOW 503 0AC2 CD 0B49 OPE20: CALL CMPNM + 3 ; OK ? 504 0AC5 C4 0B46 OPE1: CNZ CMPNM 'MONITOR PLUS, MIKOS V4.0D - 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 0CAD 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 27 DAA 514 0ADB 67 MOV H,A 515 0ADC 2E 00 MVI L,0 516 0ADE 22 40C0 SHLD BNO ;FILE&BLOCK NUMBER 517 0AE1 CD 0C8F CALL RECOR 518 0AE4 CD 0C3F CALL TXIMM 519 0AE7 0D 0A DB CR,LF 520 0AE9 4E 45 57 A0 DB 'NEW',' ' OR 80H 521 0AED 3E 01 MVI A,SOH 522 0AEF 32 40E6 STA @OF1 523 0AF2 C3 0BB8 JMP WRNAM 524 ; 525 526 ;---------------------------------------- 527 ; FIND INPUT FILE AND OPEN FOR READ 528 0AF5 CD 0C31 FIND: CALL PTR? 529 0AF8 AF XRA A ; FIND ONPUT FILE 530 0AF9 CD 0B2F CALL FINO 531 0AFC CD 0B46 CALL CMPNM 532 0AFF 1E 01 MVI E,1 533 0B01 EB XCHG 534 0B02 22 40C2 SHLD BNI ;NUMBER FILE 535 0B05 EB XCHG 536 0B06 3E 01 MVI A,SOH 537 0B08 32 40E4 STA @IF1 538 0B0B C3 0CCA JMP RIB 539 ;--------------------------- 540 ;CLOSE OUTPUT FILE 541 0B0E CD 0C2A CLOSE: CALL PTP? 542 0B11 3A 40E6 LDA @OF1 ;NO OPEN 543 0B14 B7 ORA A 544 0B15 CA 012A JZ ERROR 545 0B18 3E 04 MVI A,EOT@ ;CLOSE BLOK 546 0B1A 32 40F0 STA BOUT-1 547 0B1D CD 0D23 CALL WOB 548 0B20 AF XRA A 549 0B21 32 40E6 STA @OF1 ;CLOSE 550 0B24 CD 0A61 CALL STARW ;GAP 2* 551 0B27 3E 50 MVI A,80 ; BOOMS 552 0B29 CD 0F8F CALL TIME 553 0B2C C3 0F29 JMP STOP 554 ;--------------------- 555 0B2F 32 40B4 FINO: STA JOIN ;I/O FLAG 556 0B32 CD 0C4F CALL TXNAM 557 0B35 21 40B5 LXI H,FNAME 558 0B38 E5 PUSH H 559 0B39 06 0B MVI B,NAMLE 560 0B3B CD 0BE8 CALL RNAME ;READ 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-10 561 0B3E CD 0C81 CALL PLAY 562 0B41 E1 POP H 563 0B42 7E MOV A,M 564 0B43 FE 2A CPI '*' ;WILDCARDS ? 565 0B45 C9 RET 566 567 0B46 CD 0CAD CMPNM: CALL SEARCH ;COMPARE NAME 568 0B49 C2 0B46 JNZ CMPNM ;NO HDR 569 0B4C 01 40B5 LXI B,FNAME 570 0B4F 1E 0B MVI E,NAMLE 571 0B51 23 INX H ;NAME 572 0B52 0A CMPN0: LDAX B 573 0B53 FE 2A CPI '*' 574 0B55 CA 0B66 JZ CMPN1 575 0B58 CD 09C9 CALL TERM ;END OF NAME 576 0B5B C8 RZ 577 0B5C BE CMP M 578 0B5D C2 0B46 JNZ CMPNM 579 0B60 03 INX B 580 0B61 1D DCR E 581 0B62 C2 0B51 JNZ CMPN0 - 1 582 0B65 C9 RET ;O.K 583 ; 584 0B66 D5 CMPN1: PUSH D 585 0B67 CD 0CBE CALL BUADR 586 0B6A E5 PUSH H 587 0B6B CD 0C21 CALL PHDR 588 0B6E E1 POP H 589 0B6F D1 POP D 590 0B70 7C MOV A,H ; CTENI NEBO ZAPIS 591 0B71 FE 41 CPI (BIN-1) SHR 8 592 0B73 C2 0B7C JNZ CMPN2 593 0B76 7E MOV A,M 594 0B77 FE 3A CPI CAN ; ':'... VOLUME BLOK 595 0B79 CA 0B46 JZ CMPNM 596 0B7C CD 0B83 CMPN2: CALL OK? 597 0B7F C2 0B46 JNZ CMPNM 598 0B82 C9 RET 599 ; 600 0B83 CD 0C3F OK?: CALL TXIMM 601 0B86 07 DB 7 602 0B87 2D 2D 28 59 DB '--(Y/N)','?' OR 80H 603 0B8B 2F 4E 29 BF 604 0B8F CD 0C74 CALL ECHO 605 0B92 FE 59 CPI 'Y' 606 0B94 C9 RET 607 ;-------------------- 608 ;INIT NEW CASSETTE 609 0B95 CD 0A58 INIT: CALL START 610 0B98 CD 0C3F CALL TXIMM 611 0B9B 42 4F 54 DB 'BOT' 612 0B9E A0 DB ' ' OR 80H 613 0B9F CD 0C8F CALL RECOR 614 0BA2 CD 0F29 CALL STOP 615 0BA5 CD 0C3F CALL TXIMM 616 0BA8 20 56 4F 4C DB ' VOLUME' 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-11 617 0BAC 55 4D 45 618 0BAF A0 DB ' ' OR 80H 619 0BB0 21 0000 LXI H,0 ;0..FILE NUMBER 620 0BB3 22 40C0 SHLD BNO 621 0BB6 3E 3A MVI A,CAN 622 623 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 624 ; FILE NAME LEVEL 625 0BB8 F5 WRNAM: PUSH PSW ;HDR-LABEL 626 0BB9 CD 0C4F CALL TXNAM 627 0BBC CD 0C5B CALL NULBF 628 0BBF CD 0F29 CALL STOP 629 0BC2 F1 POP PSW 630 0BC3 77 MOV M,A 631 0BC4 23 INX H 632 0BC5 06 40 MVI B,COMLE ;NAME+COMMENT 633 0BC7 E5 PUSH H 634 0BC8 CD 0BE8 CALL RNAME 635 0BCB E1 POP H 636 0BCC 06 0B MVI B,NAMLE 637 0BCE 11 42F0 LXI D,WRNM ;OUTPUT AREA 638 0BD1 7E WRN1: MOV A,M 639 0BD2 E6 3F ANI 3FH 640 0BD4 C2 0BD9 JNZ $+5 641 0BD7 3E 20 MVI A,' ' ;BLANK 642 0BD9 12 STAX D 643 0BDA 23 INX H 644 0BDB 13 INX D 645 0BDC 05 DCR B 646 0BDD C2 0BD1 JNZ WRN1 647 0BE0 CD 0D23 CALL WOB 648 0BE3 36 41 MVI M,'A' ;DATA TYP 649 0BE5 C3 0124 JMP CRLF 650 ; READ NAME <HL>..ADR,<B>..DELKA 651 ;----------------------------------- 652 0BE8 5D RNAME: MOV E,L ;LOW-FIRST ADR 653 0BE9 36 20 RNAM1: MVI M,' ' 654 0BEB CD 0103 CALL CI 655 0BEE E6 7F ANI 7FH 656 0BF0 FE 03 CPI ETX 657 0BF2 CA 0A14 JZ MICOS 658 0BF5 FE 0D CPI CR 659 0BF7 CA 0124 JZ CRLF 660 0BFA FE 7F CPI DEL 661 0BFC CA 0C04 JZ RNAM10 662 0BFF BE CMP M ; ???? CPI 08H ;BS ???? 663 0C00 08 DB 08H 664 0C01 C2 0C14 JNZ RNAM2 665 0C04 7B RNAM10: MOV A,E 666 0C05 BD CMP L ;FIRST 667 0C06 CA 0BE9 JZ RNAM1 668 0C09 2B DCX H 669 0C0A 04 INR B 670 0C0B CD 0C3F CALL TXIMM ;DELETE 671 0C0E 08 20 88 DB 08,20H,88H 672 0C11 C3 0BE9 JMP RNAM1 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-12 673 0C14 77 RNAM2: MOV M,A 674 0C15 23 INX H 675 0C16 4F MOV C,A 676 0C17 CD 0109 CALL CO 677 0C1A 05 DCR B 678 0C1B C2 0BE9 JNZ RNAM1 679 0C1E C3 0124 JMP CRLF 680 ; 681 ;PRINT HEADER OF FILE 682 ;-------------------- 683 0C21 CD 0124 PHDR: CALL CRLF 684 0C24 23 INX H 685 0C25 16 40 MVI D,COMLE 686 0C27 C3 0142 JMP TEXT 687 688 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 689 ; POMOCNE PROGRAMY 690 ; 691 ; CT OR PUNCHER ? 692 0C2A E5 PTP?: PUSH H 693 0C2B 21 3020 LXI H,3020H 694 0C2E C3 0C35 JMP $+7 695 ; 696 ; CT OR READER ? 697 0C31 E5 PTR?: PUSH H 698 0C32 21 0C08 LXI H,0C08H 699 0C35 CD 0115 CALL IOCHK 700 0C38 A4 ANA H 701 0C39 BD CMP L 702 0C3A E1 POP H 703 0C3B C8 RZ ; YES .. CT 704 0C3C 33 INX SP 705 0C3D 33 INX SP ; NESTING 706 0C3E C9 RET ; NO FINO 707 ;TEXTY PRO OBSLUHU 708 ;----------------- 709 0C3F E3 TXIMM: XTHL 710 0C40 7E MOV A,M 711 0C41 E6 7F ANI 7FH 712 0C43 4F MOV C,A 713 0C44 CD 0109 CALL CO 714 0C47 7E MOV A,M 715 0C48 07 RLC 716 0C49 23 INX H 717 0C4A D2 0C40 JNC TXIMM+1 718 0C4D E3 XTHL 719 0C4E C9 RET 720 ; 721 0C4F CD 0C3F TXNAM: CALL TXIMM 722 0C52 20 4E 41 4D DB ' NAME' 723 0C56 45 724 0C57 0D 0A DB CR,LF 725 0C59 BA DB ':' OR 80H 726 0C5A C9 RET 727 728 ; 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-13 729 ;NULL OUTPUT BUFFER 730 ;------------------ 731 0C5B 21 40F0 NULBF: LXI H,BOUT-1 732 0C5E E5 PUSH H 733 0C5F 3E FF MVI A,LENGHT 734 0C61 23 INX H 735 0C62 36 00 MVI M,0 736 0C64 3D DCR A 737 0C65 C2 0C61 JNZ $-4 738 0C68 E1 POP H ;(BLOCK TYP) ADRM 739 0C69 C9 RET 740 741 0C6A CD 0112 BREAK: CALL CSTS 742 0C6D C8 RZ 743 0C6E CD 0103 CALL CI 744 0C71 C3 0C78 JMP ETX? 745 746 ;CTI A VYPIS ZNAK 747 0C74 CD 013F ECHO: CALL CINCR 748 0C77 C8 RZ 749 0C78 FE 03 ETX?: CPI ETX 750 0C7A C0 RNZ 751 0C7B CD 0F29 CALL STOP 752 0C7E C3 0139 JMP NEXT ;BREAK=>C 753 754 ;DISPLAY "PLAY" 755 0C81 CD 0C3F PLAY: CALL TXIMM 756 0C84 50 4C 41 59 DB 'PLAY' 757 0C88 A0 DB ' ' OR 80H 758 0C89 CD 0C9B RECO: CALL DONE 759 0C8C C3 0A58 JMP START 760 761 ;DISPLAY "RECORD" 762 0C8F CD 0C3F RECOR: CALL TXIMM 763 0C92 0D 0A DB CR,LF 764 0C94 52 45 43 4F DB 'RECORD' 765 0C98 52 44 766 0C9A A0 DB ' ' OR 80H 767 ; 768 0C9B CD 0C3F DONE: CALL TXIMM 769 0C9E 20 44 4F 4E DB ' DONE','?' OR 80H 770 0CA2 45 BF 771 0CA4 CD 0C74 ECHOCR: CALL ECHO 772 0CA7 F5 PUSH PSW 773 0CA8 CD 0124 CALL CRLF 774 0CAB F1 POP PSW 775 0CAC C9 RET 776 777 778 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 779 ; FILE OPERATIONS LEVEL 780 ; 781 ;SERACH BLOCK IN TAPE 782 ;-------------------- 783 0CAD CD 0CBE SEARCH: CALL BUADR 784 0CB0 0E 23 SEAR1: MVI C,'#' ;ERROR 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-14 785 0CB2 DC 0109 CC CO 786 0CB5 CD 0E70 CALL READF 787 0CB8 DA 0CB0 JC SEAR1 ; SERACH ERROR 788 0CBB C3 0CE4 JMP RIB2 789 ; 790 ; BUFFER ADR 791 0CBE 3A 40B4 BUADR: LDA JOIN ;INPUT OR OUTPUT ? 792 0CC1 B7 ORA A 793 0CC2 21 40F0 LXI H,BOUT-1 794 0CC5 C0 RNZ ;OUTPUT 795 0CC6 21 41F0 LXI H,BIN-1 796 0CC9 C9 RET 797 ; 798 799 ; READ INPUT BUFFER 800 ;-------------------- 801 0CCA D5 RIB: PUSH D 802 0CCB C5 PUSH B 803 0CCC 2A 40C2 LHLD BNI 804 0CCF 23 INX H 805 0CD0 22 40C2 SHLD BNI 806 0CD3 21 41F0 LXI H,BIN-1 807 0CD6 CD 0E74 CALL READ 808 0CD9 DA 0CEB JC ERRD ;ERROR 809 0CDC CD 0D34 CALL NUFIL ; NUMBER O.K. ? 810 0CDF C2 0CEB JNZ ERRD ; BLOCK ERROR 811 0CE2 C1 RIB1: POP B 812 0CE3 D1 POP D 813 0CE4 7E RIB2: MOV A,M ;BLOCK TYP 814 0CE5 FE 3A CPI CAN ;VOLUME NAME 815 0CE7 C8 RZ 816 0CE8 FE 01 CPI SOH ;FILE NAME 817 0CEA C9 RET ;(HL)..BLOCK TYP 818 ;ERROR READ 819 0CEB CD 0C3F ERRD: CALL TXIMM 820 0CEE 20 45 52 52 DB ' ERROR/N' 821 0CF2 4F 52 2F 4E 822 0CF6 BF DB '?' OR 80H 823 0CF7 CD 0C74 CALL ECHO ;CONTINUE 824 0CFA FE 4E CPI 'N' 825 0CFC CA 0D1A JZ ERRD1 826 0CFF CD 0C3F CALL TXIMM 827 0D02 20 42 41 43 DB ' BACK' 828 0D06 4B 829 0D07 A0 DB ' ' OR 80H 830 0D08 CD 0C81 CALL PLAY 831 0D0B 21 41F0 ERRD0: LXI H,BIN-1 ;INPUT BUFFER 832 0D0E CD 0E70 CALL READF 833 0D11 DA 0CEB JC ERRD ;NEXT ERROR 834 0D14 CD 0D34 CALL NUFIL 835 0D17 C2 0D0B JNZ ERRD0 ;NEXT BLOCK 836 0D1A CD 0124 ERRD1: CALL CRLF 837 0D1D 21 41F0 LXI H,BIN-1 838 0D20 C3 0CE2 JMP RIB1 839 840 ;WRITE OUTPUT BUFFER 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-15 841 0D23 D5 WOB: PUSH D 842 0D24 2A 40C0 LHLD BNO 843 0D27 23 INX H 844 0D28 22 40C0 SHLD BNO 845 0D2B EB XCHG 846 0D2C 21 40F0 LXI H,BOUT-1 847 0D2F CD 0EE3 CALL WRBLO 848 0D32 D1 POP D 849 0D33 C9 RET 850 ; 851 ; NUMBER FILE O.K. ? 852 ; 853 0D34 3A 40C2 NUFIL: LDA BNI 854 0D37 BB CMP E 855 0D38 C0 RNZ ;NO 856 0D39 3A 40C3 LDA BNI+1 857 0D3C BA CMP D 858 0D3D C9 RET 859 ; 860 ;GET BYTE FROM CASSETTE 861 ;---------------------- 862 0D3E C5 GET@: PUSH B 863 0D3F D5 PUSH D 864 0D40 E5 PUSH H 865 0D41 3A 40E4 LDA @IF1 ;WAS OPEN ? 866 0D44 B7 ORA A 867 0D45 CC 0AF5 CZ FIND ;NO THEN FIND 868 0D48 2A 40C6 LHLD ADRI 869 0D4B 23 GET0: INX H 870 0D4C 7D MOV A,L ;WAS EMPTY 871 0D4D FE F0 CPI BIEND AND 0FFH 872 0D4F 7E MOV A,M 873 0D50 22 40C6 SHLD ADRI 874 0D53 CA 0D5A JZ GET1 ;<A>..BYTE 875 0D56 B7 ORA A ;NCY 876 0D57 C3 0D6B JMP GETEX 877 0D5A 3A 41F0 GET1: LDA BIN-1 878 0D5D FE 04 CPI EOT@ ; "CLOSE" BLOK? 879 0D5F CA 0D68 JZ GET2 880 0D62 CD 0CCA CALL RIB 881 0D65 C2 0D4B JNZ GET0 ;END OF FILE 882 0D68 3E 1A GET2: MVI A,SUBS 883 0D6A 37 STC 884 0D6B E1 GETEX: POP H 885 0D6C D1 POP D 886 0D6D C1 POP B 887 0D6E C9 RET 888 ; 889 ;PUT BYTE TO CASSETTE 890 0D6F C5 PUT@: PUSH B 891 0D70 D5 PUSH D 892 0D71 E5 PUSH H 893 0D72 3A 40E6 LDA @OF1 ; WAS OPEN 894 0D75 B7 ORA A 895 0D76 C5 PUSH B 896 0D77 CC 0A95 CZ OPEN ;IF NO THEN DO 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-16 897 0D7A C1 POP B 898 0D7B 2A 40C4 LHLD ADRO 899 0D7E 23 INX H 900 0D7F 71 MOV M,C ;SAVE 901 0D80 22 40C4 SHLD ADRO 902 0D83 7D MOV A,L 903 0D84 FE EF CPI (BOEND AND 0FFH) - 1 904 0D86 CC 0D23 CZ WOB ;NEXT 905 0D89 3A 40F0 LDA BOUT-1 906 0D8C FE 42 CPI 'B' ;BINAR DUMP? 907 0D8E CA 0D97 JZ PUTEX 908 0D91 79 MOV A,C ;CLOSE CHAR.? 909 0D92 FE 1A CPI SUBS 910 0D94 CC 0B0E CZ CLOSE 911 0D97 E1 PUTEX: POP H 912 0D98 D1 POP D 913 0D99 C1 POP B 914 0D9A 79 MOV A,C 915 0D9B B7 ORA A ;NCY 916 0D9C C9 RET 917 918 ; 919 ; 920 ; LOAD BINARY DATA FROM TAPE TO MEMORY 921 ; 922 0D9D CD 0AF5 LOAD: CALL FIND ;OPEN FILE 923 0DA0 3E 42 MVI A,'B' ;BINAR 924 0DA2 32 41F0 STA BIN-1 925 0DA5 CD 0A58 CALL START 926 0DA8 CD 0DFB LO1: CALL RICH 927 0DAB B7 ORA A ; BLANK? 928 0DAC CA 0DA8 JZ LO1 929 0DAF D6 3C SUI '<' 930 0DB1 C2 012A JNZ ERROR 931 0DB4 47 MOV B,A ;SUM 932 0DB5 CD 0DF2 CALL RADR@ 933 0DB8 22 40B1 SHLD EADR ;LAST 934 0DBB EB XCHG 935 0DBC CD 0DF2 CALL RADR@ ;LAST 936 0DBF 22 40AF SHLD SADR ; START ADR 937 0DC2 CD 0DFB CALL RICH 938 0DC5 FE 3E CPI '>' 939 0DC7 C2 012A JNZ ERROR 940 0DCA CD 0DE9 CALL CHECK 941 0DCD 06 00 MVI B,0 ;CLEAR 942 0DCF CD 0DFB LO2: CALL RICH 943 0DD2 77 MOV M,A 944 0DD3 CD 0136 CALL HILO 945 0DD6 D2 0DCF JNC LO2 946 0DD9 CD 0DE9 CALL CHECK 947 0DDC 32 40B3 STA SUM 948 0DDF AF CLSTP: XRA A 949 0DE0 32 40E4 STA @IF1 ;SLOSE 950 0DE3 CD 0F29 CALL STOP 951 0DE6 C3 0124 JMP CRLF ;OK 952 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-17 953 ; CHECK SUM ? 954 0DE9 48 CHECK: MOV C,B 955 0DEA CD 0DFB CALL RICH 956 0DED B9 CMP C 957 0DEE C2 012A JNZ ERROR 958 0DF1 C9 RET 959 ; 960 0DF2 CD 0DFB RADR@: CALL RICH 961 0DF5 6F MOV L,A 962 0DF6 CD 0DFB CALL RICH ;HL 963 0DF9 67 MOV H,A 964 0DFA C9 RET 965 ; 966 0DFB CD 0106 RICH: CALL RI ;READ & SUM 967 0DFE DA 012A JC ERROR 968 0E01 F5 PUSH PSW 969 0E02 80 ADD B 970 0E03 47 MOV B,A 971 0E04 F1 POP PSW 972 0E05 C9 RET 973 ; 974 ; SAVE BINARY DATA TO TAPE 975 ; 976 0E06 0E 02 SAVE: MVI C,2 977 0E08 CD 0127 CALL EXPR ;FROM TO 978 0E0B 3A 40E6 LDA @OF1 979 0E0E B7 ORA A 980 0E0F CC 0A95 CZ OPEN 981 0E12 3E 42 MVI A,'B' ;BINAR 982 0E14 32 40F0 STA BOUT-1 983 0E17 CD 0A61 CALL STARW 984 0E1A 3E 50 MVI A,80 ; 800MS 985 0E1C CD 0F8F CALL TIME 986 0E1F 0E 3C MVI C,'<' ;START BYTE 987 0E21 CD 0E55 CALL POCH 988 0E24 06 00 MVI B,0 ;ADR-SUM 989 0E26 E1 POP H ;START 990 0E27 D1 POP D ;LAST 991 0E28 CD 0E50 CALL PADR@ 992 0E2B EB XCHG 993 0E2C CD 0E50 CALL PADR@ 994 0E2F 0E 3E MVI C,'>' 995 0E31 CD 0E55 CALL POCH 996 0E34 48 MOV C,B ;SUM OF ADR. 997 0E35 CD 0E55 CALL POCH 998 ; 999 0E38 06 00 MVI B,0 ;DATA-SUM 1000 0E3A 4E SAV1: MOV C,M 1001 0E3B CD 0E55 CALL POCH 1002 0E3E CD 0136 CALL HILO 1003 0E41 D2 0E3A JNC SAV1 1004 0E44 48 MOV C,B ;SUM 1005 0E45 CD 0E55 CALL POCH 1006 0E48 0E 1A MVI C,SUBS 1007 0E4A CD 0E55 CALL POCH ;END MARK 1008 0E4D C3 0B0E JMP CLOSE 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-18 1009 ; 1010 0E50 4D PADR@: MOV C,L 1011 0E51 CD 0E55 CALL POCH 1012 0E54 4C MOV C,H 1013 ; 1014 0E55 79 POCH: MOV A,C ;PUNCHER AND SUM 1015 0E56 80 ADD B 1016 0E57 47 MOV B,A 1017 0E58 C3 010C JMP PO 1018 1019 ; 1020 1021 0E5B DB 12 SINC: IN UDATA 1022 0E5D 3E 01 SINC1: MVI A,1 ; 10 MS 1023 0E5F CD 0F8F CALL TIME 1024 0E62 CD 0C6A CALL BREAK 1025 0E65 DB 11 IN USTAT 1026 0E67 07 RLC 1027 0E68 DA 0E5B JC SINC ;WAIT IF READY 1028 0E6B 0D DCR C 1029 0E6C C2 0E5D JNZ SINC1 1030 0E6F C9 RET 1031 ; 1032 ; READ BLOCK (HL-BUF.ADR) 1033 ; OUT (DE-BLOCK &FILE COUNTER; CY=1 ERROR) 1034 ; 1035 0E70 AF READF: XRA A ;FIND MODE SET 1036 0E71 32 40CA STA FND 1037 0E74 READ: 1038 0E74 C5 RBLOK: PUSH B 1039 0E75 E5 PUSH H 1040 0E76 CD 0A58 CALL START ;MOTION 1041 0E79 0E 01 RBLG: MVI C,1 ; WAIT 10MS NOT READY 1042 0E7B CD 0E5B CALL SINC ; START BLOCK 1043 0E7E 0E 03 RBL2: MVI C,3 ; 3*PREAMBLE 1044 0E80 CD 0F74 RBL3: CALL SERIN 1045 0E83 FE 10 CPI PREAM 1046 0E85 C2 0E79 JNZ RBLG ; GAP 1047 0E88 0D DCR C 1048 0E89 C2 0E80 JNZ RBL3 1049 0E8C 3E 3A MVI A,':' 1050 0E8E 32 3800 STA TVBEG 1051 0E91 01 0000 LXI B,(LENGHT+1) AND 0FFH ;B=0,C=LENGHT 1052 0E94 CD 0F6A CALL SERIM ;READ DATA 1053 0E97 0E 2A MVI C,'*' 1054 0E99 3A 40CA LDA FND ;FIND MODE? 1055 0E9C B7 ORA A 1056 0E9D C2 0EA2 JNZ RBL20 ;NO-READ 1057 0EA0 0E 20 MVI C,' ' 1058 0EA2 21 3800 RBL20: LXI H,TVBEG 1059 0EA5 71 MOV M,C 1060 0EA6 23 INX H 1061 0EA7 36 22 MVI M,'"' 1062 0EA9 23 INX H 1063 0EAA 0E 0B MVI C,NAMLE 1064 0EAC CD 0F6A RBL33: CALL SERIM 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-19 1065 0EAF 36 22 MVI M,'"' 1066 0EB1 23 INX H 1067 0EB2 36 20 MVI M,20H 1068 0EB4 23 INX H 1069 0EB5 CD 0F74 CALL SERIN 1070 0EB8 5F MOV E,A 1071 0EB9 CD 0F2E CALL HEXMEM ; REG 'E' -> MEM HEX 1072 0EBC CD 0F74 CALL SERIN 1073 0EBF 57 MOV D,A 1074 0EC0 3E 20 MVI A,' ' 1075 0EC2 32 40CA STA FND 1076 0EC5 77 MOV M,A 1077 0EC6 48 MOV C,B ;CHECK SUM 1078 0EC7 CD 0F74 CALL SERIN 1079 0ECA 91 SUB C 1080 0ECB E1 POP H 1081 0ECC C1 POP B 1082 0ECD 22 40C6 SHLD ADRI ;BEG. ADR 1083 0ED0 F5 PUSH PSW ;SAVE ZERO FLG 1084 0ED1 CD 0F74 CALL SERIN 1085 0ED4 FE 10 CPI 10H 1086 0ED6 CA 0EDC JZ RBLX1 1087 0ED9 33 INX SP 1088 0EDA 33 INX SP 1089 0EDB F5 PUSH PSW 1090 0EDC CD 0F29 RBLX1: CALL 0F29H 1091 0EDF F1 RBL5: POP PSW ;IF ZERO ..O.K 1092 0EE0 C8 RZ 1093 0EE1 37 STC 1094 0EE2 C9 RET ;ELSE ...ERROR 1095 ; 1096 ;WRITE BLOCK (HL-ADR,DE-BLOCK &FILE NUMBER) 1097 ; 1098 0EE3 C5 WRBLO: PUSH B 1099 0EE4 E5 PUSH H 1100 0EE5 D5 PUSH D 1101 0EE6 CD 0A61 CALL STARW ;START WRITE 1102 0EE9 3E 50 MVI A,80 ; 800/100 MS 1103 0EEB CD 0F84 CALL BTIME 1104 0EEE CD 0F58 CALL SEROP 1105 0EF1 CD 0F58 CALL SEROP 1106 0EF4 CD 0F58 CALL SEROP ;PREAMBLE 1107 0EF7 01 0000 LXI B,(LENGHT+1) AND 0FFH 1108 0EFA CD 0F4E CALL SEROM ;DATA 1109 0EFD 21 42F0 LXI H,WRNM 1110 0F00 0E 0B MVI C,NAMLE 1111 0F02 CD 0F4E CALL SEROM ;NAME 1112 0F05 D1 POP D 1113 0F06 7B MOV A,E 1114 0F07 CD 0F5A CALL SEROUT ;BLOCK-NUMBER 1115 0F0A 7A MOV A,D 1116 0F0B CD 0F5A CALL SEROUT ;FILE-NUMBER 1117 0F0E 78 MOV A,B 1118 0F0F CD 0F5A CALL SEROUT ;CHECK SUM 1119 0F12 CD 0F58 CALL SEROP 1120 0F15 AF XRA A 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-20 1121 0F16 CD 0F5A CALL SEROUT ;SENTINEL 1122 0F19 21 3800 LXI H,TVBEG 1123 0F1C CD 0F2E CALL HEXMEM 1124 0F1F E1 POP H 1125 0F20 C1 POP B 1126 0F21 22 40C4 SHLD ADRO ;SET ADR 1127 0F24 3E 01 MVI A,1 ; 10 MS 1128 0F26 CD 0F8F CALL TIME 1129 0F29 3E 10 STOP: MVI A,10H 1130 0F2B D3 10 OUT UMODE 1131 0F2D C9 RET 1132 ; 1133 ; ROUTINES 1134 ; 1135 ; 'E' REG HEX TO MEMORY, CLEAR TO END LINE 1136 0F2E 7B HEXMEM: MOV A,E 1137 0F2F 0F RRC 1138 0F30 0F RRC 1139 0F31 0F RRC 1140 0F32 0F RRC 1141 0F33 CD 0F44 CALL HEXC 1142 0F36 7B MOV A,E 1143 0F37 CD 0F44 CALL HEXC 1144 0F3A 3E 27 MVI A,39 ; LINE LENGTH-1 1145 0F3C 36 20 HEXM1: MVI M,' ' 1146 0F3E 23 INX H 1147 0F3F BD CMP L ; END LINE ? 1148 0F40 D2 0F3C JNC HEXM1 1149 0F43 C9 RET 1150 1151 ; DISPLAY HEX CIFF. 1152 0F44 E6 0F HEXC: ANI 0FH 1153 0F46 CD 0148 CALL HXASC 1154 0F49 E6 3F ANI 3FH 1155 0F4B 77 MOV M,A 1156 0F4C 23 INX H 1157 0F4D C9 RET 1158 ; 1159 0F4E 7E SEROM: MOV A,M ;FROM MEMORY 1160 0F4F 23 INX H 1161 0F50 CD 0F5A CALL SEROUT ;TO:CT: 1162 0F53 0D DCR C 1163 0F54 C2 0F4E JNZ SEROM 1164 0F57 C9 RET ;ALL 1165 1166 0F58 3E 10 SEROP: MVI A,PREAM ;BLOCK-MARK 1167 1168 0F5A F5 SEROUT: PUSH PSW 1169 0F5B 80 ADD B 1170 0F5C 47 MOV B,A ;CHECK SUM 1171 0F5D CD 0C6A CALL BREAK 1172 0F60 DB 11 SERO: IN USTAT 1173 0F62 87 ADD A 1174 0F63 F2 0F60 JP SERO 1175 0F66 F1 POP PSW 1176 0F67 D3 12 OUT UDATA 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-21 1177 0F69 C9 RET 1178 ; 1179 0F6A CD 0F74 SERIM: CALL SERIN ;READ TO MEMORY 1180 0F6D 77 MOV M,A 1181 0F6E 23 INX H 1182 0F6F 0D DCR C 1183 0F70 C2 0F6A JNZ SERIM 1184 0F73 C9 RET 1185 1186 0F74 CD 0C6A SERIN: CALL BREAK 1187 0F77 DB 11 IN USTAT 1188 0F79 07 RLC 1189 0F7A D2 0F74 JNC SERIN 1190 0F7D DB 12 IN UDATA 1191 0F7F F5 PUSH PSW 1192 0F80 80 ADD B 1193 0F81 47 MOV B,A 1194 0F82 F1 POP PSW 1195 0F83 C9 RET 1196 ; 1197 ; TIME ROUTINES 1198 ; 1199 0F84 47 BTIME: MOV B,A ; * 10 MS 1200 0F85 7E MOV A,M ; 'B' ? 1201 0F86 FE 42 CPI 'B' 1202 0F88 78 MOV A,B 1203 0F89 C2 0F8F JNZ TIME 1204 0F8C 0F RRC 1205 0F8D 0F RRC 1206 0F8E 0F RRC ; /8 1207 1208 0F8F C5 TIME: PUSH B ; ACC*10MS (TCY=500NS) 1209 0F90 01 041F TIME1: LXI B,800+255 1210 0F93 0B TIME2: DCX B ;( 5) 1211 0F94 04 INR B ;( 5) 1212 0F95 05 DCR B ;( 5) 1213 0F96 C2 0F93 JNZ TIME2 ;(10) 10MS LOOP @ 12.5US 1214 0F99 3D DCR A 1215 0F9A C2 0F90 JNZ TIME1 1216 0F9D C1 POP B 1217 0F9E C9 RET 1218 ; 1219 ; MICRO-BASIC FORMAT 1220 ; 1221 0F9F 0E 01 BB: MVI C,1 ;1. ADR 1222 0FA1 CD 0127 CALL EXPR 1223 0FA4 CD 0C81 CALL PLAY 1224 0FA7 0E 32 MVI C,50 ; 500MS GAP 1225 0FA9 CD 0E5B BB1: CALL SINC 1226 0FAC 0E 2A MVI C,'*' 1227 0FAE CD 0109 CALL CO 1228 0FB1 CD 0F74 CALL SERIN 1229 0FB4 FE 42 CPI 'B' ; BASIC RECORD? 1230 0FB6 01 000A LXI B,10 ; 100MS & CLEAR SUM 1231 0FB9 C2 0FA9 JNZ BB1 1232 0FBC CD 0F74 CALL SERIN ;NAME 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE 1-22 1233 0FBF 4F BB2: MOV C,A 1234 0FC0 CD 0109 CALL CO 1235 0FC3 CD 0F74 CALL SERIN 1236 0FC6 FE 0D CPI CR 1237 0FC8 C2 0FBF JNZ BB2 1238 0FCB CD 0F74 CALL SERIN 1239 0FCE 5F MOV E,A 1240 0FCF CD 0F74 CALL SERIN 1241 0FD2 57 MOV D,A 1242 0FD3 21 BF10 LXI H,-40F0H ;OFFSET 1243 0FD6 19 DAD D 1244 0FD7 D1 POP D 1245 0FD8 19 DAD D 1246 0FD9 EB XCHG ;DE-LAST ADR 1247 0FDA CD 0F74 BB3: CALL SERIN 1248 0FDD 77 MOV M,A 1249 0FDE CD 0136 CALL HILO 1250 0FE1 D2 0FDA JNC BB3 1251 0FE4 48 MOV C,B 1252 0FE5 CD 0F74 CALL SERIN 1253 0FE8 B9 CMP C 1254 0FE9 C2 012A JNZ ERROR 1255 0FEC C3 0F29 ERSTP: JMP STOP 1256 0FEF @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.0D - 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.0D - 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.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE S Macros: Symbols: 40AB @BT 0FEF @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 0F9F BB 0FA9 BB1 0FBF BB2 0FDA BB3 0896 BCMD 4094 BCSAV 42F0 BIEND 41F1 BIN 40C2 BNI 40C0 BNO 41F0 BOEND 40F1 BOUT 409E BRAD 40A1 BRAD2 0C6A BREAK 40C3 BTI 0F84 BTIME 40C1 BTO 0CBE BUADR 40A5 CADR 003A CAN 40A7 CHAR 0DE9 CHECK 0103 CI 40CB CILOC 013F CINCR 0B0E CLOSE 0DDF CLSTP 0B52 CMPN0 0B66 CMPN1 0B7C CMPN2 0B46 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 0C9B DONE 40B1 EADR 0C74 ECHO 0CA4 ECHOCR 08E7 EOF 0004 EOT@ 0800 EPROM 0CEB ERRD 0D0B ERRD0 0D1A ERRD1 012A ERROR 0FEC ERSTP 0003 ETX 0C78 ETX? 085B EXMON 0127 EXPR 000A EXSER 0AF5 FIND 0B2F FINO 40A8 FLAG 40B5 FNAME 40CA FND 0A5A GAPO 0D4B GET0 0D5A GET1 0D68 GET2 0D3E GET@ 0D6B GETEX 09FF HBYTE 0F44 HEXC 0F3C HEXM1 0F2E HEXMEM 0136 HILO 4098 HLSAV 0009 HT 0148 HXASC 0839 ICMD 083E ICMD1 0B95 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 0DA8 LO1 0DCF LO2 0D9D LOAD 0400 LSYSR 40EE MEMTOP 0A14 MICOS 40E3 MODE 0100 MONIT 0A4F MOTA 0A0B MREAD 4090 MSTAK 000B NAMLE 0139 NEXT 0D34 NUFIL 0C5B NULBF 08FE NULL 084A OCMD 084F OCMD1 0B83 OK? 0AB1 OPE01 0AC5 OPE1 0AC2 OPE20 0ABC OPE30 0AD8 OPE50 0A95 OPEN 40D7 P1LOC 40DA P2LOC 0E50 PADR@ 09D5 PBEG 40C8 PBITM 09F2 PBYTE 08BC PCMD 409A PCSAV 'MONITOR PLUS, MIKOS V4.0D - SAPI 1' MACRO-80 3.44 09-Dec-81 PAGE S-1 4400 PEDIT 0C21 PHDR 0C81 PLAY 010C PO 0E55 POCH 0010 PREAM 0C2A PTP? 0C31 PTR? 0D6F PUT@ 0D97 PUTEX 40D1 R1LOC 40D4 R2LOC 0DF2 RADR@ 0E7E RBL2 0EA2 RBL20 0E80 RBL3 0EAC RBL33 0EDF RBL5 0E79 RBLG 0E74 RBLOK 0EDC RBLX1 09B2 RBYTE 0E74 READ 0909 READ@ 0E70 READF 0C89 RECO 0C8F RECOR 090D RED1 093C RED2 095C RED3 090F REDC0 0911 REDC1 0927 REDC2 0953 REDER 40EA RESL 0106 RI 0CCA RIB 0CE2 RIB1 0CE4 RIB2 0DFB RICH 0BE9 RNAM1 0C04 RNAM10 0C14 RNAM2 0BE8 RNAME 4000 RST1 40AF SADR 0E3A SAV1 0E06 SAVE 0CB0 SEAR1 0CAD SEARCH 0F6A SERIM 0F74 SERIN 0F60 SERO 0F4E SEROM 0F58 SEROP 0F5A SEROUT 0E5B SINC 0E5D SINC1 0001 SOH 013C SPACE 409C SPSAV 0A58 START 0A61 STARW 0F29 STOP 001A SUBS 40B3 SUM 08B4 TCMD 09C9 TERM 0142 TEXT 0F8F TIME 0F90 TIME1 0F93 TIME2 4C00 TRACER 3800 TVBEG 0C3F TXIMM 0C4F TXNAM 40AD UADR 40EB UBYTE 0012 UDATA 0010 UMODE 0013 USER 0011 USTAT 0D23 WOB 097F WR1 0994 WR2 0997 WR3 09A0 WR4 0EE3 WRBLO 0977 WRITE 0BD1 WRN1 0BB8 WRNAM 42F0 WRNM No Fatal error(s) @BT 168 1290# @ENDPR 1256# @IF1 122 537 865 949 1325# @IF2 1326# @OF1 132 487 522 542 549 893 978 1327# @OF2 1328# @PED 192 1291# @R@ 13# 1259 1269 1350 1355 @SFLG 1333# ACSAV 1274# ADRI 868 873 1082 1306# ADRO 898 901 1126 1305# 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 1275# BIEND 871 1346# BIN 591 795 806 831 837 877 924 1345# BNI 534 803 805 853 856 1303# BNO 462 516 620 842 844 1301# BOEND 903 1342# BOUT 505 546 731 793 846 905 982 1341# BRAD 1281# BRAD2 1283# BREAK 741# 1024 1171 1186 BTI 1304# BTIME 1103 1199# BTO 1302# BUADR 585 783 791# CADR 1286# CAN 81# 506 594 621 814 CHAR 1287# CHECK 940 946 954# CI 38# 654 743 CILOC 1313# CINCR 42# 747 CLOSE 96 434 541# 910 1008 CLSTP 948# CMPN0 572# 581 CMPN1 574 584# CMPN2 592 596# CMPNM 503 504 531 567# 568 578 595 597 CO 40# 281 421 479 676 713 785 1227 1234 COLOC 1314# COLUM 1330# COMLE 62# 632 685 CPM 8# 12 CR 64# 369 377 491 519 658 724 763 1236 CRLF 47# 305 475 649 659 679 683 773 836 951 CSLOC 1320# CSTS 37# 741 DADR 46# 282 DBYT 45# 477 481 DEL 66# 660 DESAV 1276# DIR 428 468# DIR0 471# 474 482 DONE 446 758 768# EADR 198 933 1294# ECHO 604 747# 771 823 ECHOCR 422 771# EOF 149 220# EOT@ 80# 473 499 509 545 878 EPROM 15# 88 ERRD 808 810 819# 833 ERRD0 831# 835 ERRD1 825 836# ERROR 54# 162 171 176 203 213 283 412 489 544 930 939 957 967 1254 ERSTP 1255# ETX 67# 656 749 ETX? 744 749# EXMON 93 139# EXPR 44# 221 246 304 977 1222 EXSER 1334# FIND 94 436 528# 867 922 FINO 495 530 555# FLAG 1288# FNAME 557 569 1300# FND 105 1036 1054 1075 1308# GAPO 450# 457 GET0 869# 881 GET1 874 877# GET2 879 882# GET@ 124 862# GETEX 876 884# HBYTE 391 400# HEXC 1141 1143 1152# HEXM1 1145# 1148 HEXMEM 1071 1123 1136# HILO 48# 209 944 1002 1249 HLSAV 1277# HT 68# 365 HXASC 56# 405 1153 ICMD 119# 151 ICMD1 113 121# INIT 430 609# INITS 92 103# INST2 1284# INSTR 1282# IOBYT 1335# IOCHK 51# 699 IODEF 43# 125 135 IOSET 53# 106 J1 206# 210 JOIN 461 469 555 791 1299# JUMP 145 198# LASTC 1285# LBYTE 394 404# LEAD 236# 239 LENGHT 60# 733 1051 1107 LF 65# 379 491 519 724 763 LILOC 1319# LIMIT 1289# LINE 1329# LO1 926# 928 LO2 942# 945 LOAD 97 440 922# LSYSR 16# MEMTOP 1336# MICOS 91 161 419# 657 MODE 1324# 1334 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 1273# NAMLE 61# 559 570 636 1063 1110 NEXT 49# 752 NUFIL 809 834 853# NULBF 627 731# NULL 147 235# OCMD 129# 153 OCMD1 114 131# OK? 501 596 600# OPE01 497# 500 OPE1 496 504# OPE20 498 503# OPE30 501# OPE50 464 502 507 511# OPEN 95 432 486# 896 980 P1LOC 1317# P2LOC 1318# PADR@ 991 993 1010# PBEG 226 330 376# PBITM 1307# PBYTE 229 333 338 384 386 388 390# PCMD 155 190# PCSAV 1278# PEDIT 18# 191 PHDR 472 587 683# PLAY 470 561 755# 830 1223 PO 41# 231 237 378 380 382 406 1017 POCH 987 995 997 1001 1005 1007 1011 1014# PREAM 69# 1045 1166 PTP? 486 541 692# PTR? 528 697# PUT@ 134 890# PUTEX 907 911# R1LOC 1315# R2LOC 1316# RADR@ 932 935 960# RBL2 1043# RBL20 1056 1058# RBL3 1044# 1048 RBL33 1064# RBL5 1091# RBLG 1041# 1046 RBLOK 1038# RBLX1 1086 1090# RBYTE 260 263 265 269 270 278 285 287 289 290 345# READ 807 1037# READ@ 143 245# READF 786 832 1035# RECO 758# RECOR 517 613 762# RED1 247# 279 RED2 270# 277 RED3 261 284# REDC0 249# 252 REDC1 250# 257 REDC2 255 259# REDER 258 274 281# 291 RESL 1331# RI 39# 411 966 RIB 538 801# 880 RIB1 811# 838 RIB2 788 813# RICH 926 937 942 955 960 962 966# RNAM1 653# 667 672 678 RNAM10 661 665# RNAM2 664 673# RNAME 560 634 652# RST1 1263# SADR 200 936 1293# SAV1 1000# 1003 SAVE 98 438 976# SEAR1 784# 787 SEARCH 471 497 508 567 783# SERIM 1052 1064 1179# 1183 SERIN 1044 1069 1072 1078 1084 1179 1186# 1189 1228 1232 1235 1238 1240 1247 1252 SERO 1172# 1174 SEROM 1108 1111 1159# 1163 SEROP 1104 1105 1106 1119 1166# SEROUT 1114 1116 1118 1121 1161 1168# SINC 1021# 1027 1042 1225 SINC1 1022# 1029 SOH 79# 521 536 816 SPACE 52# SPSAV 1279# START 445 449# 609 759 925 1040 STARW 456# 550 983 1101 STOP 419 447 553 614 628 751 950 1129# 1255 SUBS 70# 230 882 909 1006 SUM 211 947 1295# TCMD 159 186# TERM 251 363# 575 TEXT 50# 686 TIME 552 985 1023 1128 1203 1208# TIME1 1209# 1215 TIME2 1210# 1213 TRACER 20# 187 TVBEG 17# 1050 1058 1122 TXIMM 107 490 518 600 610 615 670 709# 717 721 755 762 768 819 826 TXNAM 556 626 721# UADR 1292# UBYTE 1332# UDATA 74# 1021 1176 1190 UMODE 76# 450 1130 USER 73# USTAT 75# 452 1025 1172 1187 WOB 547 647 841# 904 WR1 308# 340 WR2 319 322# WR3 321 324# WR4 331# 335 WRBLO 847 1098# WRITE 141 304# WRN1 638# 646 WRNAM 523 625# WRNM 637 1109 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