Ú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