Ú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