Ú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
'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1 1 TITLE 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 23 ;X X 24 ;X X 25 ;X PLAN-80A V.3.X 27.09.88 X 26 ;X X 27 ;X OVLADACI PROGRAM MODEMU KAZETOVEHO MAGNETOFONU X 28 ;X X 29 ;X X 30 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-1 57 ;################################################################ 58 ; 59 ; POZOR: U MODEMU MAGNETOPASKOVE MAGNETICKE JEDNOTKY 60 ; BYLO POZADANO O OCHRANU AUTORSKYM ASVEDCENIM. 61 ; PV-7752-85 62 ; TENTO PROGRAM JE FUNKCNI SOUCASTI MODEMU. 63 ; JE ZAKAZANO KOPIRONAT NEBO POZIVAT TOHOTO 64 ; PROGRAMU NEBO JEHO CASTI BEZ SOUHLASU MAJITELE 65 ; PATENTU: LAMORATORNI PRISTROJE 66 ; NA OKRAJI 335 67 ; (C) 1985 PRAHA - PETRINY 68 ; 69 ;################################################################ 70 ; 71 ; PREDPOKLADA SE ZAKLADNI RYCHLOST 2400 BD, PRO KTEROU JSOU 72 ; VYTVARENY MEZERY (0.8S A 0.01S). PRI NIZSICH RYCHLOSTECH 73 ; BUDOU MEZERY PRISLUSNE DELSI. 74 ; 75 ; KODOVANI NUL A JEDNICEK JE NASLEDUJICI: 76 ; 77 ; 0 ... F = 1600 HZ ... T = 62.5 US 78 ; 1 ... F = 3200 HZ ... T = 31.25 US 79 ; 80 ; DOVOLENE KOLISANI FREKVENCE ... +/- 10 % 81 ; 82 ; 83 ; KODEM JE OVLADAN POMOCI OBVODU STIKU mhb 8255 NASLEDOVNE: 84 ; 85 ; PORT PC : VYSTUPNI 86 ; 87 ; PC0 ... VYSTUPNI DATA 88 ; PC1 ... ZABLOKOVANI DEMODULATORU NA HODNOTU 0 89 ; PC2 ... ZABLOKOVANI DEMODULATORU NA HODNOTU 1 90 ; PC3 ... OVLADANI MOTORKU (LED MOTOREK) 91 ; PC4 ... ZABLOKOVANI MODULATORU (UZEMNENI VYSTUPU) 92 ; PC5 ... LED CTENI 93 ; PC6 ... LED CHYBA 94 ; PC7 ... LED ZAPIS 95 ; 96 ; PORT PA: VSTUPNI 97 ; 98 ; PA0 ... VSTUPNI DATA 99 ; PA1 ... SYNCHRONIZACE ZAPISU 100 ; PA2 ... NEPOUZITO 101 ; PA3 ... NEPOUZITO 102 ; PA4 ... NEPOUZITO 103 ; PA5 ... NEPOUZITO 104 ; PA6 ... NEPOUZITO 105 ; PA7 ... SYNCHRONIZACE CTENI 106 ; 107 ; PORT PB: VSTUPNI (NENI POUZIT) 108 ; 109 ; 110 ; PRO ROZBEH MOTORKU SE VYCLENUJE DOBA WAITTR MS. PO KTEROU 111 ; JE MODEM ZABLOKOVANY. 112 ; 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-2 113 ; DOPORUCUJE SE POUZIT PASKY TYPU: 114 ; - ORWO K-60 CHROMDIOXID 115 ; - AUDIOSTAR HS_I60 116 ; 117 ; CINOST PRIKAZU A POPIS MODEMU VIZ: 118 ; "UZIVATELSKY A SERVISNI MANUAL" 119 ; 120 ;################################################################ 121 ; 122 ; OBLAST DEFINIC: 123 ; 124 F000 TAPREC EQU 0F000H 125 ; 126 F800 COLDST EQU 0F800H 127 F803 CI EQU 0F803H 128 F806 RI EQU 0F806H 129 F809 CO EQU 0F809H 130 F80C PO EQU 0F80CH 131 F80F LO EQU 0F80FH 132 F812 CSTS EQU 0F812H 133 F815 IOCHK EQU 0F815H 134 F818 IOSET EQU 0F818H 135 F81B MEMCK EQU 0F81BH 136 F81E IODEF EQU 0F81EH 137 F821 INTER EQU 0F821H 138 F824 CRLF EQU 0F824H 139 F827 EXPR EQU 0F827H 140 F82A ERROR EQU 0F82AH 141 F82D ASHEX EQU 0F82DH 142 F830 DADR EQU 0F830H 143 F833 DBYTE EQU 0F833H 144 F836 HILO EQU 0F836H 145 F839 NEXT EQU 0F839H 146 F83C SPACE EQU 0F83CH 147 F83F CINCR EQU 0F83FH 148 F842 IMTXT EQU 0F842H 149 F845 ADRKUR EQU 0F845H 150 F848 HXASC EQU 0F848H 151 F84B TIMER EQU 0F84BH 152 F84E GETADR EQU 0F84EH 153 F851 STJMB EQU 0F851H 154 F854 ECHO EQU 0F854H 155 F857 BACST EQU 0F857H 156 ; 157 ; DEFINICE ODSTUPU SKRYTYCH PROMENNYCH DO DISRAM 158 ; 159 0031 UREND EQU 31H 160 0035 LINECO EQU 35H 161 0130 NAME1 EQU 130H 162 0170 NAME2 EQU 170H 163 01B0 PNADR EQU 1B0H 164 01B2 PNPOI EQU 1B2H 165 01B3 RDADR EQU 1B3H 166 01B5 RDPOI EQU 1B5H 167 01B6 PBLKC EQU 1B6H 168 01B7 PFILC EQU 1B7H 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-3 169 01B8 RBLKC EQU 1B8H 170 01B9 RFILC EQU 1B9H 171 01BA PNSTS EQU 1BAH 172 01BB RDSTS EQU 1BBH 173 01F0 TMPAR EQU 1F0H 174 ; 175 ; DEFINICE I/O PORTU 176 ; 177 0004 ADRCIN EQU 04H ; DATOVY PORT CI 178 0000 ADRDCT EQU 00H ; STAVOVY PORT CI 179 0008 RDYCIN EQU 08H ; MASKA STAVOVEHO BITU KLAVESNICE (RDY=0) 180 0008 ADRPA EQU 08H ; ADRESA PORTU PA OBVODU 8255 181 0009 ADRPB EQU 09H ; ADRESA PORTU PB OBVODU 8255 182 000A ADRPC EQU 0AH ; ADRESA PORTU PC OBVODU 8255 183 000B ADRCT EQU 0BH ; ADRESA RIDICIHO PORTU OBVODU 8255 184 0092 CTRLWD EQU 92H ; RIDICI SLOVO PA-IN,PB-IN,PC-OUT,M0 185 0010 PASWD EQU 10H ; MASIVACNI SLOVO INTERFACE 186 0000 PC0RES EQU 00H ; NOLOVANI PC0 187 0001 PC0SET EQU 01H ; NASTAVENI PC0 188 0002 PC1RES EQU 02H ; NOLOVANI PC1 189 0003 PC1SET EQU 03H ; NASTAVENI PC1 190 0006 PC3RES EQU 06H ; NOLOVANI PC3 191 0007 PC3SET EQU 07H ; NASTAVENI PC3 192 0008 PC4RES EQU 08H ; NOLOVANI PC4 193 0009 PC4SET EQU 09H ; NASTAVENI PC4 194 000A PC5RES EQU 0AH ; NOLOVANI PC5 195 000B PC5SET EQU 0BH ; NASTAVENI PC5 196 000C PC6RES EQU 0CH ; NOLOVANI PC6 197 000D PC6SET EQU 0DH ; NASTAVENI PC6 198 000E PC7RES EQU 0EH ; NOLOVANI PC7 199 000F PC7SET EQU 0FH ; NASTAVENI PC7 200 0140 GAPBIT EQU 320 ; POCET JEDNICKOVICH BITU PRO 100 MS 201 0B40 G1LEN EQU 2880 ; POCET JEDNICKOVICH BITU PRO 900 MS 202 00A0 G2LEN EQU 160 ; POCET JEDNICKOVICH BITU PRO 50 MS 203 7D00 G3LEN EQU 32000 ; POCET JEDNICKOVICH BITU PRO 10 MS 204 0064 WAITTR EQU 100 ; POCET MS CEKANI NA ROZBEHNUTI MOTORKU 205 ; 206 ; DEFINICE KONSTANT 207 ; 208 0020 SPC EQU 20H 209 00A0 ETX EQU 0A0H 210 0003 EOT EQU 03H 211 000D CR EQU 0DH 212 0008 BS EQU 08H 213 000A LF EQU 0AH 214 007F DEL EQU 7FH 215 0007 BELL EQU 07H 216 0000 BLANK EQU 00H 217 001A SUBS EQU 1AH 218 001B ESC EQU 1BH 219 00EF COMLEN EQU 239 ; DELKA ZOBRAZOVANE POZNAMKY 220 000B NAMLEN EQU 11 ; DELKA NAZVU 221 00FF BUFLEN EQU 255 ; DELKA BUFFERU 222 ; 223 ; 224 ; 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-4 225 ;################################################################ 226 ; 227 ; 228 ; C H Y B O V N I K 229 ; ================= 230 ; 231 ; PRI VYSKYTU KRITICKE CHYBY SE PRERUSI VESKERA PRACE, ZASTAVI 232 ; SE MAGNETOFON, PASIVUJI SE STATUSY A NULUJI CITACE. DALE SE 233 ; SKOCI DO OBSTUHY PRERUSENI TAK, ABI V PC BYLA ADRESA CHYBY, 234 ; KTERA NASTALA. 235 ; 236 F0AA EER1 EQU ERR1 ; CHYBA HANDLERU PO 237 F032 EER2 EQU ERR2 ; POSLEDNE ZAPSANY SOUBOR NEBIL UZAVREN 238 F0EA EER3 EQU ERR3 ; CHYBA V OBSAHU PAMETI PRI READ 239 F0F5 EER4 EQU ERR4 ; CHYBA V KONTROLNIM SOUCTU PRI READ 240 F10A EER5 EQU ERR5 ; CHYBA V KONTROLNIM SOUCTU PRI READ 241 F139 EER6 EQU ERR6 ; CHYBA HANDLERU RI 242 F170 EER7 EQU ERR7 ; MENE NEZ 1 KBYTE UZIV. PAMETI 243 F1D9 EER8 EQU ERR8 ; CTENI NEBINARNIHO SOUBORU PRIKAZEM QUAFF 244 F1DF EER9 EQU ERR9 ; CHYBI LEVA ADR. ZAVORKA PRI CTENI BIN. SOUB. 245 F1EE EER10 EQU ERR10 ; CHYBI PRAVA ADR. ZAVORKA PRI CTENI BIN. SOUB. 246 F1F7 EER11 EQU ERR11 ; CHYBA V KONTR. SOUCTU ADR. CASTI BIN. SOUB. 247 F213 EER12 EQU ERR12 ; CHYBA V KONTR. SOUCTU DAT. CASTI BIN. SOUB. 248 F21B EER13 EQU ERR13 ; CHYBI UKONCOVACI ZNAK SUBS = 1AH U BIN. SOUB. 249 F358 EER14 EQU ERR14 ; UZAVIRANI NEOTEVRENEHO SOUBORU 250 F456 EER15 EQU ERR15 ; CHYBI KONCOVY PARAMBLE PRI RDBUF 251 F45A EER16 EQU ERR16 ; CHYBA V KONTROLNIM SOUCTU PRI RDBUF 252 F466 EER17 EQU ERR17 ; POSLEDNE ZAPSANY SOUBOR NEBYL UZAVREN 253 F4BB EER18 EQU ERR18 ; POSLEDNE CTENY SOUBOR NEBYL UZAVREN 254 F585 EER19 EQU ERR19 ; CHYBA V SOUSLEDNOSTI BLOKU 255 F58D EER20 EQU ERR20 ; CHYBA V SOUSLEDNOSTI SOUBORU 256 F755 EER21 EQU ERR21 ; PRERUSENI FUNKCE KLAVESOU 'ESC' 257 F721 EER22 EQU ERR22 ; CHYBA HANDLERU PO 258 ; 259 ; 260 ; 261 ;################################################################ 262 ; 263 ; OBLAST SPOJOVACICH ADRES 264 ; ************************ 265 ; 266 ; 267 .PHASE TAPREC 268 ; 269 F000 55 DB 055H ; PRIZNAKOVY KOD MAGNETOFONU 270 ; 271 F001 C3 F155 JMP JOIN ; INICIACE A PRIRAZENI ADRES 272 F004 C3 F18C JMP JOIN0 ; PASIVACE STATUSU A PRIRAZENI ADRES 273 F007 C3 F1BE JMP QUAFF ; CTENI BINARNIHO SOUBORU Z KAZETY 274 F00A C3 F221 JMP PUT ; ULOZENI BINARNIHO SOUBORU NA KAZETU 275 F00D C3 F385 JMP APEND ; ULOZENI BIN. SOUBORU BEZPROSTREDNE 276 F010 C3 F25D JMP LOAD ; ZAPNUTI MOTORKU 277 F013 C3 F266 JMP DIR ; DIRECTORY PASKY 278 F016 C3 F29E JMP UNNAM ; POJMENOVANI NOVE PASKY 279 F019 C3 F2DB JMP KI ; VSTUP BYTU Z KAZETY 280 F01C C3 F322 JMP KO ; VYSTUP BYTU NA KAZETU 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-5 281 F01F C3 F02B JMP WRITE ; ZAPIS HEX. SOUBORU 282 F022 C3 F0AB JMP READ ; CTENI HEX. SOUBORU 283 F025 C3 F13C JMP EOF ; UZAVRENI HEX. SOUBORU 284 F028 C3 F350 JMP CLOSE ; UZAVRENI SOUBORU 285 ; 286 ; 287 ; 288 ;################################################################ 289 ; 290 ; OBLAST PRIKAZU 291 ; ************** 292 ; 293 ; 294 ; W R I T E 295 ; ========= 296 ; 297 ; PRIKAZ PRO VYDEROVANI PRES ZARIZENI PO OBLASTI PAMETI O 298 ; ZADAVYCH ADRESACH ZACATKU A KONCE V HEXADECIMALNI FORME 299 ; PODLE NORMY INTEL. ZAPIS JE TVOREN BLOKY PRO DATA, Z NICHZ 300 ; PRVNI AZ PREDPOSLEDNI OBSAHUJE 16 BYTU, POSLEDNI MUZE 301 ; OBSAHOVAT MENE, PODLE VELIKOSTI OBLASTI PAMETI. NA KONCI 302 ; JE UZAVIRACI BLOK OBSAHUJICI STARTOVACI ADRESU. FORMAT 303 ; BLOKU MA TVAR: 304 ; 305 ; CR,LF,':',N,A,T,D,D,D,...,D,C 306 ; 307 ; KDE: CR JE ZNAK 'CR' = 0DH 308 ; LF JE ZNAK 'LF' = 0AH 309 ; ':' JE ZNAK ':' = 3AH 310 ; N JE POCET BYTU DAT, NULOVY INDIKUJE UZAVIRACI BLOK 311 ; A JE ADRESA UMISTENI PRVEHO BYTU DAT 312 ; T JE TYP BLOKU, 0...DATOVY, 1...UZAVIRACI (TEZ 0) 313 ; D JSOU JEDNOTLIVE BYTY DAT HEXADECIMALNE, NAPRED 314 ; HORNI A PAK DOLNI NIBBLE 315 ; C JE KONTROLNI SOUCET Z HODNOT N,A,T,D. SOUCET 316 ; VSECH HODNOT N,A,T,D,C MA DAT NULU! 317 ; 318 ; POSLEDNI, UZAVIRACI BLOK MA TVAR: 319 ; 320 ; CR,LF,':',00,A,T,C 321 ; 322 ; KDE: A JE STARTOVACI ADRESA 323 ; T JE TYP BLOKU (1) 324 ; C JE KONTROLNI SOUCET (DVOJKOVY DOPLNEK) 325 ; 326 ; 327 F02B CD F7D9 WRITE: CALL GETPST ; V <HL> ADRESA STATUSU ZAPISU 328 F02E B7 ORA A ; JE PASIVNI ? 329 F02F C4 F758 CNZ BREA1 ; NE CHYBA 330 F032 36 00 ERR2: MVI M,0 ; PASIVACE STATUSU ZAPISU 331 F034 CD F827 CALL EXPR ; VSTUP DVOU ADRES 332 F037 D1 POP D ; KONCOVA ADRESA 333 F038 E1 POP H ; POCATECNI ADRESA 334 F039 7D WRIT1: MOV A,L 335 F03A C6 10 ADI 10H 336 F03C 4F MOV C,A 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-6 337 F03D 7C MOV A,H 338 F03E CE 00 ACI 0 339 F040 47 MOV B,A ; V <BC> JE <HL> + 16 340 F041 7B MOV A,E 341 F042 91 SUB C 342 F043 4F MOV C,A 343 F044 7A MOV A,D 344 F045 98 SBB B ; ROZDIL OD KONCOVE ADRESY 345 F046 DA F04E JC WRIT2 ; ZBIVA VICE NEZ 16 BYTU ? 346 F049 3E 10 MVI A,10H ; ANO 347 F04B C3 F051 JMP WRIT3 ; DALSI BLOK 348 F04E 79 WRIT2: MOV A,C ; NE 349 F04F C6 11 ADI 11H ; OBNOVENI POCTU V <A> 350 F051 B7 WRIT3: ORA A ; KONEC ? 351 F052 C8 RZ ; ANO --> MONITOR 352 F053 D5 PUSH D 353 F054 5F MOV E,A ; POCET BYTU 354 F055 AF XRA A ; PARAMETR 355 F056 47 MOV B,A ; TYP 0 356 F057 CD F06C CALL PBEG ; UVODNI BLOK 357 F05A 7E WRIT4: MOV A,M ; CTI ZNAK 358 F05B 23 INX H ; CITAC 359 F05C CD F089 CALL PBYTE ; VYSLI ZNAK 360 F05F 1D DCR E ; VSECHNY ZNAKY BLOKU ? 361 F060 C2 F05A JNZ WRIT4 362 F063 AF XRA A 363 F064 92 SUB D ; DVOJKOVY DOPLNEK KONTR. SOUCTU 364 F065 CD F089 CALL PBYTE ; VYSLI KONTROLNI SOUCET 365 F068 D1 POP D ; OBNOVENI KONCOVE ADRESY 366 F069 C3 F039 JMP WRIT1 ;DALSI BLOK 367 ; 368 F06C 57 PBEG: MOV D,A 369 F06D 0E 0D MVI C,CR 370 F06F CD F0A4 CALL POC ; DERUJ CR 371 F072 0E 0A MVI C,LF 372 F074 CD F0A4 CALL POC ; DRERUJ LF 373 F077 0E 3A MVI C,':' 374 F079 CD F0A4 CALL POC ; DERUJ DVOJTECKU 375 F07C 7B MOV A,E 376 F07D CD F089 CALL PBYTE ; DERUJ POCET BYTU BLOKU 377 F080 7C MOV A,H 378 F081 CD F089 CALL PBYTE ; DERUJ HORNI BYTE ADRESY 379 F084 7D MOV A,L 380 F085 CD F089 CALL PBYTE ; DERUJ DOLNI BYTE ADRESY 381 F088 78 MOV A,B 382 F089 F5 PBYTE: PUSH PSW 383 F08A 0F RRC 384 F08B 0F RRC 385 F08C 0F RRC 386 F08D 0F RRC 387 F08E E6 0F ANI 0FH 388 F090 CD F848 CALL HXASC 389 F093 CD F0A4 CALL POC ; DERUJ HORNI NIBBLE HEX. 390 F096 F1 POP PSW 391 F097 F5 PUSH PSW 392 F098 E6 0F ANI 0FH 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-7 393 F09A CD F848 CALL HXASC 394 F09D CD F0A4 CALL POC ; DERUJ DOLNI NIBBLE HEX. 395 F0A0 F1 POP PSW 396 F0A1 82 ADD D 397 F0A2 57 MOV D,A ; KONTROLNI SOUCET 398 F0A3 C9 RET 399 ; 400 F0A4 CD F80C POC: CALL PO ; VYSTUP NA DEROVAC 401 F0A7 DC F758 CC BREA1 ; NASTALA CHYBA ? 402 F0AA C9 ERR1: RET 403 ; 404 ; 405 ; 406 ; READ 407 ; ==== 408 ; 409 ; PRIKAZ READ PROVADI CTENI SOUBORU V INTEL HEX FORME PRES 410 ; PODPROGRAM RI. 411 ; 412 F0AB CD F7BF READ: CALL GETRST ; V <HL> ADRESA STATUSU CTENI 413 F0AE 36 00 MVI M,0 ; PASIVACE STATUSU CTENI 414 F0B0 0D DCR C 415 F0B1 CD F827 CALL EXPR ; VSTUP OFFSETU 416 F0B4 E1 READ1: POP H ; DO <HL> 417 F0B5 E5 PUSH H 418 F0B6 CD F133 READ2: CALL RIC 419 F0B9 FE 0D CPI CR ; JDE O 'CR' ? 420 F0BB C2 F0B6 JNZ READ2 ; NE - CTI ZNOVU 421 F0BE CD F133 CALL RIC 422 F0C1 FE 0A CPI LF ; JDE O 'LF' ? 423 F0C3 C2 F0B6 JNZ READ2 ; NE - CTI ZNOVU 424 F0C6 CD F133 CALL RIC 425 F0C9 DE 3A SBI ':' ; JDE O DVOJTECKU ? 426 F0CB C2 F0B6 JNZ READ2 ; NE CTI ZNOVU 427 F0CE 57 MOV D,A ; VYNULOVANI KONTR. SOUCTU V <D> 428 F0CF CD F11A CALL READ5 ; VSTUP DELKY BLOKU 429 F0D2 CA F0F8 JZ READ3 ; KONEC PRI NULOVE DELCE 430 F0D5 5F MOV E,A ; CITAC BYTU DAT 431 F0D6 CD F11A CALL READ5 ; VYSSI BYTE ADRESY 432 F0D9 47 MOV B,A 433 F0DA CD F11A CALL READ5 ; NIZSI BYTE ADRESY 434 F0DD 4F MOV C,A 435 F0DE 09 DAD B ; SKOTUCNA ADRESA ( S OFFSETEM ) V <HL> 436 F0DF CD F11A CALL READ5 ; PRIZNAK (IMP. 0) 437 F0E2 CD F11A READ4: CALL READ5 ; VLASTNI KOD SOUBORU 438 F0E5 77 MOV M,A ; ULOZENI DO PAMETI 439 F0E6 BE CMP M ; KONTROLA OBSAHU 440 F0E7 C4 F758 CNZ BREA1 ; CHYBA V OBSAHU PAMETI ? 441 F0EA 23 ERR3: INX H ; INKREMENTACE ADRESY PAMETI 442 F0EB 1D DCR E ; DEKREMENTACE CITACE BYTU 443 F0EC C2 F0E2 JNZ READ4 ; VSECHNY BYTY BLOKU PRECTENY ? 444 F0EF CD F11A CALL READ5 ; CTENI KONR. SOUCTU 445 F0F2 C4 F758 CNZ BREA1 ; CHYBA V KONTR. SOUCTU ? 446 F0F5 C3 F0B4 ERR4: JMP READ1 447 F0F8 E5 READ3: PUSH H ; OFFSET 448 F0F9 CD F11A CALL READ5 ; VYSSI BYTE STARTOVACI ADRESY 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-8 449 F0FC 67 MOV H,A 450 F0FD CD F11A CALL READ5 ; NIZSI BYTE STARTOVACI ADRESY 451 F100 6F MOV L,A 452 F101 CD F11A CALL READ5 ; PRIZNAK 453 F104 CD F11A CALL READ5 ; KONTROLNI SOUCET 454 F107 C4 F758 CNZ BREA1 ; CHYBA V KONTROLNIM SOUCTU ? 455 F10A D1 ERR5: POP D ; OFFSET 456 F10B 7A MOV A,D 457 F10C B3 ORA E 458 F10D D1 POP D ; OPRAVA UKAZETELE ZASOBNIKU 459 F10E C0 RNZ ; NENULOVY OFFSET -> MONITOR 460 F10F 7C MOV A,H 461 F110 B5 ORA L 462 F111 F5 PUSH PSW 463 F112 E5 PUSH H 464 F113 CD F18C CALL JOIN0 ; PASIVACE PRIZNAKU 465 F116 E1 POP H 466 F117 F1 POP PSW 467 F118 C8 RZ ; NULOVA STARTOVACI ADRESA -> MONITOR 468 F119 E9 PCHL ; SKOK DO PROGRAMU 469 ; 470 F11A C5 READ5: PUSH B 471 F11B CD F133 CALL RIC 472 F11E CD F82D CALL ASHEX ; VYSSI NIBBLE 473 F121 07 RLC 474 F122 07 RLC 475 F123 07 RLC 476 F124 07 RLC 477 F125 4F MOV C,A 478 F126 CD F133 CALL RIC ; NIZSI NIBBLE 479 F129 CD F82D CALL ASHEX 480 F12C B1 ORA C 481 F12D 4F MOV C,A 482 F12E 82 ADD D ; KONTROLNI SOUCET 483 F12F 57 MOV D,A 484 F130 79 MOV A,C ; PRECTENY BYTE V <A> 485 F131 C1 POP B 486 F132 C9 RET 487 ; 488 F133 CD F806 RIC: CALL RI ; CTI BYTE ZE SNIMACE 489 F136 DC F758 CC BREA1 ; CHYBA NEBO PORUCHA ? 490 F139 E6 7F ERR6: ANI 7FH 491 F13B C9 RET 492 ; 493 ; 494 ; E O F 495 ; ===== 496 ; 497 ; PRIKAZ EOF PROVEDE ZAKONCENI PRAVE VYSLANEHO SOUBORU 498 ; PRIKAZEM W. 499 ; 500 F13C 0D EOF: DCR C 501 F13D CD F827 CALL EXPR ; STARTONACI ADRESA 502 F140 E1 POP H 503 F141 06 01 MVI B,1 ; TYP 1 504 F143 AF XRA A 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-9 505 F144 5F MOV E,A ; NULOVY POCET BYTU 506 F145 CD F06C CALL PBEG ; PRIZNAK 507 F148 AF XRA A 508 F149 92 SUB D ; DVOJKOVY DOPLNEK KONTR. SOUCTU 509 F14A CD F089 CALL PBYTE 510 F14D CD F7D9 CALL GETPST ; OBSAH STATUSU ZAPISU DO <A> 511 F150 B7 ORA A 512 F151 C2 F350 JNZ CLOSE ; POKUD BYL AKTIVOVAN ZAPIS - UZAVRI BLOK 513 F154 C9 RET 514 ; 515 ; 516 ; 517 ; J O I N 518 ; ======= 519 ; 520 ; PRIKAZ PRO ZAKLADNI INICIALIZACI PROGRAMONEHO VYBAVENI 521 ; MAGNETOFONU. VYSILA RIDICI SLOVO DO OBVODU 8255. NASTAVUJE 522 ; POCATECNI HODNOTU PORTU PC. NASTAVI ADRESU BUFFERU DEROVACE 523 ; PNADR, ADRESU BUFFERU SNIMACE RDADR, OBSAH UKAZATELE BUFFERU 524 ; DERONACE PNPOI A OBSAH UKAZATELE BUFFERU SNIMACE RDPOI. BUFFER 525 ; DEREVACE UMISTI DO 256 BUNEK POD ZASOBNIK, BUFFER SNIMACE 526 ; UMISTI POD BUFFER DEROVACE TEZ DO 256 BUNEK. UPRAVI OBSAH 527 ; BUNKY PRO KONEC UZIVATELSKE PAMETI UREND NA [UREND] - 512. 528 ; PRITOM KONTROLUJE, ZDA JE PRITOMNEHO NEJMENE 1 KILO UZIVATELSKE 529 ; PAMETI RAM (BEZ NEJ NELZE MAGNETOFON PROVOZOVAT). DALE NASTAVI 530 ; CITAC BLOKU DEROVACE PBLKC, CITAC SOUBORU DEROVAVACE PFILC, CITAC 531 ; BLOKU SNIMACE PRLKC A CITAC SOUBORU SNIMACE RFILC NA NULU. 532 ; NAVIC PASIVUJE BUNKY STATUSU CTENI RDSTS I ZAPISU PNSTS, KTERE 533 ; MAJI NULOVY PASIVNI OBSAH, NENULOVY (0FFH) AKTIVNI OBSAH. 534 ; NAKONEC SE PROVEDE PRIRAZENI SPOJOVACICH ADRES PO NA KO A 535 ; PI NA KI (VYSTUP A VSTUP JEDNOHO BYTU Z/NA KAZETU) A CELKOVA 536 ; PASIVACE A INICIACE MODEMU. 537 ; 538 ; POSKOZENE REGISTRY: A,F,B,C,D,E,H,L 539 ; 540 F155 CD F842 JOIN: CALL IMTXT 541 F158 20 54 50 52 DB ' TPR V3','X' OR 80H ; OHLASENI 542 F15C 20 56 33 D8 543 F160 3E 92 MVI A,CTRLWD ; RIDICI SLOVO PRO '55 544 F162 D3 0B OUT ADRCT ; PA-IN,PB-IN,PC-OUT,M0 545 F164 CD F81B CALL MEMCK ; ZJISTENI KONCE USRAM 546 F167 60 MOV H,B 547 F168 6F MOV L,A ; KONEC UZIVATELSKE PAMETI V <HL> 548 F169 7C MOV A,H 549 F16A EB XCHG 550 F16B FE 03 CPI 3 ; MENE NEZ 1 KBYTE USRAM ? 551 F16D DC F758 CC BREA1 ; OHLASENI CHYBY 552 F170 CD F1B6 ERR7: CALL INI2 ; <DE>-255 -> <DE> 553 F173 21 01B0 LXI H,PNADR 554 F176 CD F1B0 CALL INI0 ; <DE> -> PNADR 555 F179 36 00 MVI M,0 ; 0 -> PNPOI 556 F17B 23 INX H 557 F17C CD F1B6 CALL INI2 ; <DE>-255 -> <DE> 558 F17F 1B DCX D ; ZVYSENI DELKY BUFFERU NA 256 559 F180 CD F1B3 CALL INI1 ; <DE> -> RDADR 560 F183 36 00 MVI M,0 ; 0 -> RDPOI 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-10 561 F185 21 0031 LXI H,UREND 562 F188 1B DCX D 563 F189 CD F1B0 CALL INI0 ; <DE> -> UREND 564 F18C 21 01B6 JOIN0: LXI H,PBLKC 565 F18F 11 0000 LXI D,0 566 F192 CD F1B0 CALL INI0 ; 0 -> PBLKC, PFILC 567 F195 CD F1B3 CALL INI1 ; 0 -> RBLKC, RFILC 568 F198 CD F1B3 CALL INI1 ; 0 -> PNSTS, RDSTS 569 F19B 11 F2DB LXI D,KI 570 F19E 0E 02 MVI C,2 571 F1A0 CD F81E CALL IODEF ; NASTAVENI SPOJOVACI ADRESY RI NA KI 572 F1A3 11 F322 LXI D,KO 573 F1A6 0E 04 MVI C,4 574 F1A8 CD F81E CALL IODEF ; NASTAVENI SPOJOVACI ADRESY PO NA KO 575 F1AB 3E 10 MVI A,PASWD 576 F1AD D3 0A OUT ADRPC ; PASIVACE INTERFACE MAGNETOFONU 577 F1AF C9 RET 578 ; 579 F1B0 CD F84E INI0: CALL GETADR ; VYPOCETI ADRESU SKRYTE PROMENNE 580 F1B3 C3 F851 INI1: JMP STJMB ; <E> -> [<HL>]; <D> -> [<HL>+1]; <HL>+2 -> <HL> 581 ; 582 F1B6 E5 INI2: PUSH H 583 F1B7 21 FF01 LXI H,-255 584 F1BA 19 DAD D 585 F1BB EB XCHG ; <DE> - 255 -> <DE> 586 F1BC E1 POP H 587 F1BD C9 RET 588 ; 589 ; 590 ; 591 ; Q U A F F 592 ; ========= 593 ; 594 ; PRIKAZ QUAFF SPOUZI KE CTENI BINARNIHO SOUBORU A JEHO ULOZENI 595 ; DO PAMETI SE ZADANYM OFFSETEM. 596 ; 597 F1BE 0D QUAFF: DCR C 598 F1BF CD F827 CALL EXPR ; VSTUP OFFSETU 599 F1C2 CD F4B4 CALL FIND ; OTEVRENI SOUBORU PRO CTENI 600 F1C5 06 00 MVI B,0 ; NULOVANI BUNKY KONTROLNIHO SOUCTU 601 F1C7 CD F72A CALL RINCH ; NACTI PRVNI DATOVY BLOK 602 F1CA F5 PUSH PSW 603 F1CB CD F7B3 CALL GETRDB ; V <HL> ADRESA BUFFERU 604 F1CE 7E MOV A,M ; PRIZNAK BLOKU V <A> 605 F1CF FE 42 CPI 'B' ; BINARNI SOUBOR ? 606 F1D1 CA F1D9 JZ QUA1 ; ANO - POKRACUJ VE CTENI 607 F1D4 FE 04 CPI 04H ; POSLEDNI BLOK ? 608 F1D6 C4 F758 CNZ BREA1 ; NE - CHYBA 609 F1D9 ERR8: 610 F1D9 F1 QUA1: POP PSW 611 F1DA FE 3C CPI '<' ; LEVA ADRESOVA ZAVORKA ? 612 F1DC C4 F758 CNZ BREA1 ; NE - CHYBA 613 F1DF CD F735 ERR9: CALL DRINCH ; KONCOVA ADRESA 614 F1E2 EB XCHG 615 F1E3 CD F735 CALL DRINCH ; POCATECNI ADRESA 616 F1E6 CD F72A CALL RINCH 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-11 617 F1E9 FE 3E CPI '>' ; PRAVA ADRESOVA ZAVORKA ? 618 F1EB C4 F758 CNZ BREA1 ; NE - CHYBA 619 F1EE C5 ERR10: PUSH B 620 F1EF CD F72A CALL RINCH ; KONTROLNI SOUCET ADRESOVE CASTI 621 F1F2 C1 POP B 622 F1F3 B8 CMP B ; KONTROLNI SOUCET SOUHLASI ? 623 F1F4 C2 F758 JNZ BREA1 ; NE - CHYBA 624 F1F7 06 00 ERR11: MVI B,0 ; NULOVANI BUNKY KONTROLNIHO SOUCTU 625 F1F9 E3 XTHL ; OFFSET V <HL> 626 F1FA E5 PUSH H 627 F1FB 19 DAD D ; KONCOVA ADRESA + OFFSET V <HL> 628 F1FC D1 POP D ; OFFSET V <DE> 629 F1FD E3 XTHL ; POCATECNI ADRESA V <HL> 630 F1FE 19 DAD D ; POCATECNI ADRESA + OFFSET V <HL> 631 F1FF D1 POP D ; KONCOVA ADRESA + OFFSET V <DE> 632 F200 CD F72A QUA0: CALL RINCH 633 F203 77 MOV M,A ; ULOZENI BYTU DAT DO PAMETI 634 F204 CD F836 CALL HILO ; <HL>+1 -> <HL>; <HL>=<DE> ? 635 F207 D2 F200 JNC QUA0 ; VSECHNY BYTY PRECTENY ? 636 F20A C5 PUSH B 637 F20B CD F72A CALL RINCH ; KONTROLNI SOUCET DATOVE CASTI 638 F20E C1 POP B 639 F20F B8 CMP B ; KONTROLNI SOUCET SOUHLASI ? 640 F210 C4 F758 CNZ BREA1 ; NE - CHYBA 641 F213 CD F72A ERR12: CALL RINCH 642 F216 FE 1A CPI SUBS ; UKONCOVACI ZNAK ? 643 F218 C4 F758 CNZ BREA1 ; NE - CHYBA 644 F21B CD F7BF ERR13: CALL GETRST ; V <HL> ADRESA STATUSU CTENI 645 F21E 36 00 MVI M,0 ; PASINACE STATUSU CTENI 646 F220 C9 RET 647 ; 648 ; 649 ; 650 ; P U T 651 ; ===== 652 ; 653 ; PRIKAZ PRO VYPIS OBLASTI PAMETI O ZADANYCH ADRESACH V BINARNI 654 ; FORME NA KAZETU. SOUBOR NA KAZETE SE ZAPISUJE V BLOCICH. UVODNI 655 ; BLOK OBSAHUJE JMENO SOUBORU A POZNAMKU. NASLEDUJI DATOVE BLOKY, 656 ; Z NICHZ PRVNI OBSAHUJE POCATECNI A KONCOVOU ADRESU. BLOKY MAJI 657 ; KONSTANTNI DELKU A JSOU ODDELENY MAZERAMI DELKY 0.8 S. 658 ; 659 F221 CD F827 PUT: CALL EXPR ; VSTUP DVOU ADRES 660 F224 CD F45E CALL OPEN ; OTEVRENI SOUBORU PRO ZAPIS 661 F227 CD F7B9 PUT1: CALL GETPNB ; V <HL> ADRESA BUFFERU 662 F22A 36 42 MVI M,'B' ; PRIZNAK BINARNIHO SOUBORU 663 F22C 06 00 MVI B,0 ; NULOVANI KONTROLNIHO SOUCTU 664 F22E 0E 3C MVI C,'<' ; LEVA ADRESOVA ZAVORKA 665 F230 CD F715 CALL PUNCH 666 F233 E1 POP H ; KONCOVA ADRESA V <HL> 667 F234 CD F722 CALL DPUNCH ; WYDEROVANI KONCOVE ADRESY 668 F237 E3 XTHL ; POCATECNI ADRESA V <HL> 669 F238 CD F722 CALL DPUNCH ; VYDEROVANI POCATECNI ADRESY 670 F23B 0E 3E MVI C,'>' ; PRAVA ADRESOVA ZAVORKA 671 F23D CD F715 CALL PUNCH 672 F240 48 MOV C,B ; KONTROLNI SOUCET ADRESOVE CASTI 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-12 673 F241 CD F715 CALL PUNCH 674 F244 06 00 MVI B,0 ; NULOVANI BUNKY KONTROLNIHO SOUCTU 675 F246 D1 POP D ; KONCOVA ADRESA V <DE> 676 F247 4E PUT0: MOV C,M ; DATA Z PAMETI 677 F248 CD F715 CALL PUNCH 678 F24B CD F836 CALL HILO ; <HL>+1 -> <HL>; <HL>=<DE> ? 679 F24E D2 F247 JNC PUT0 ; VSECHNY BYTY ? 680 F251 48 MOV C,B ; KONTROLNI SOUCET 681 F252 CD F715 CALL PUNCH 682 F255 0E 1A MVI C,SUBS ; KONCOVY ZNAK 683 F257 CD F715 CALL PUNCH 684 F25A C3 F350 JMP CLOSE ; AZAVRENI SOUBORU 685 ; 686 ; 687 ; 688 ; L O A D 689 ; ======= 690 ; 691 ; PRIKAZ LOAD PROVEDE ZAPNUTI MOTORKU MAGNETOFONU (PO KTREM 692 ; SE CEKA 0.3 S NA ROZBEHNUTI), VYPSANI 'REWIND DONE ?' NACEZ 693 ; SE CEKA NA STISKNUTI LIB. KLAVESY. V TETO DOBE LZE PROVADET 694 ; PREVIJENI A POD. PO STISKNUTI KLASVESY SE MOTOREK OPET ZASTAVI. 695 ; 696 ; POSKOZENE REGISTRY: A,F,C 697 ; 698 F25D CD F770 LOAD: CALL SETTR ; SPOSTENI MOTORKU A CEKANI 0.1 S 699 F260 CD F79E CALL DONETX ; ZOBRAZI ' DONE ?' A CEKANI NA KLAVESU 700 F263 C3 F765 JMP RESTR ; ZASTAVENI MOTORKU 701 ; 702 ; 703 ; 704 ; D I R E C T O R Y 705 ; ================= 706 ; 707 ; PRIKAZ PROVEDE VYPIS NAZVU A POZNAMEK VSECH SOUBORU 708 ; Z KAZETY NA OBRAZOVKU. 709 ; 710 F266 CD F7BF DIR: CALL GETRST ; V <HL> ADRESA STATUSU CTENI 711 F269 35 DCR M ; AKTIVACE PRIZNAKU CTENI 712 F26A CD F787 CALL PLAYTX ; VYPIS 'PLAY DONE ?' A CEKANI NA KLAVESU 713 F26D CD F824 CALL CRLF 714 F270 21 01B3 DIR0: LXI H,RDADR ; V <HL> ODSTUP BUFFERU 715 F273 37 STC ; PRIZNAK CTENI 716 F274 CD F3FF CALL RDBUF ; CTI BLOK DO BUFFERU 717 F277 CD F7B3 CALL GETRDB ; V <HL> ADRESA BUFFERU 718 F27A 7E MOV A,M 719 F27B FE 3A CPI ':' ; JDE O NAZEV KAZETY ? 720 F27D CA F285 JZ DIR2 ; ANO - VYPIS 721 F280 FE 01 CPI 01H ; JDE O NAZEV SOUBORU ? 722 F282 C2 F270 JNZ DIR0 ; NE - CTI DALSI BLOK 723 F285 E5 DIR2: PUSH H 724 F286 CD F5DD CALL MAMTX ; ZOBRAZ NAZEV 725 F289 E1 POP H 726 F28A 11 000C LXI D,12 ; VYNECH PRIZNAK A NAZEV BLOKU 727 F28D 19 DAD D 728 F28E 7E DIR1: MOV A,M 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-13 729 F28F B7 ORA A 730 F290 CC F824 CZ CRLF 731 F293 CA F270 JZ DIR0 ; NENI POZNAMKA - DALSI SOUBOR 732 F296 4E MOV C,M 733 F297 F4 F809 CP CO ; ZOBRAZENI POZNAMKY 734 F29A 23 INX H 735 F29B C3 F28E JMP DIR1 736 ; 737 ; 738 ; 739 ; U N N A M E D 740 ; ============= 741 ; 742 ; PRIKAZ SLOUZI PRO VYTVORENI UVODNIHO BLOKU NA KAZETE, KTERY 743 ; OBSAHUJE JEJI JMENO A POZNAMKU. TENTO BLOK JE SPECIFICKY 744 ; A VYSKYTUJE SE NA KAZETE JEDENKRAT A Z KAZDE STRANY. 745 ; 746 F29E CD F7D9 UNNAM: CALL GETPST ; V <HL> ADRESA STATUSU ZAPISU 747 F2A1 35 DCR M ; AKTIVACE STATUSU ZAPISU 748 F2A2 CD F842 CALL IMTXT 749 F2A5 0D 0A 43 41 DB CR,LF,'CASSETTE',0A0H ; TISK TEXTY 750 F2A9 53 53 45 54 751 F2AD 54 45 A0 752 F2B0 AF XRA A ; NULOVANO FF-C 753 F2B1 CD F4E7 CALL NAMIN ; VSTUP NAZVU A POZNAMKY 754 F2B4 CD F793 CALL RECTX ; VYPIS 'RECORD DONE ?' A CEKANI NA KLAVESU 755 F2B7 21 01B6 LXI H,PBLKC 756 F2BA 11 0000 LXI D,0 757 F2BD CD F1B0 CALL INI0 ; NULOVANI CITACE BLOKU A SOUBORU DEROVACE 758 F2C0 CD F7B9 CALL GETPNB ; V <HL> ADRESA BUFFERU PRO ZAPIS 759 F2C3 36 3A MVI M,':' ; PRIZNAK NAZVU KAZETY 760 F2C5 CD F770 CALL SETTR ; SPUSTENI MAGNETOFONU 761 F2C8 3E 02 MVI A,PC1RES 762 F2CA D3 0B OUT ADRCT ; ODBLOKOVANI CITACU MODEMU 763 F2CC 01 7D00 LXI B,G3LEN 764 F2CF CD F5BA CALL WRGAP ; ZAPIS UVODNI MEZERY 10 S 765 F2D2 CD F398 CALL WRBUF ; ZAPIS BUFFERU NA KAZETU 766 F2D5 CD F7D9 CALL GETPST ; V <HL> ADRESA STATUSU ZAPISU 767 F2D8 36 00 MVI M,0 ; PASIVACE STATUSU ZAPISU 768 F2DA C9 RET 769 ; 770 ; 771 ; 772 ; K I 773 ; === 774 ; 775 ; PODPROGRAM UMOZNUJICI CTENI JEDNOHO BUTU Z KAZETY PRES 776 ; VYROVNAVACI BUFFER. PRECTENY BYTE JE V <A>. PRIZNAK CHYBY 777 ; FF-C JE NULOVAN, PRI ZNAKU 'SUBS' A PRI ASCII SOUBORU JE 778 ; NASTAVEN DO JEDNICKY (PRIZNAK VYBEHNUTI PASKY ZE SNIMACE). 779 ; 780 ; POSKOZENE REGISTRY: A,F 781 ; 782 F2DB C5 KI: PUSH B 783 F2DC D5 PUSH D 784 F2DD E5 PUSH H 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-14 785 F2DE CD F7BF CALL GETRST ; V <HL> ADRESA STATUSU CTENI, V <A> JEHO HODNOTA 786 F2E1 B7 ORA A ; BYL STATUS CTENI PASIVNI ? 787 F2E2 CC F4B4 CZ FIND ; ANO - OTEVRI SOUBOR PRO CTENI 788 F2E5 21 01B5 LXI H,RDPOI 789 F2E8 CD F7C2 CALL GETC0 790 F2EB E5 PUSH H ; ADRESA POINTRU SNIMACE 791 F2EC FE FF CPI 0FFH ; JE BUFFER PRAZDNY? 792 F2EE C2 F306 JNZ KI0 ; NE - ULOZ BYTE 793 F2F1 CD F7B3 CALL GETRDB ; V <HL> ADRESA BUFFERU SNIMACE 794 F2F4 7E MOV A,M 795 F2F5 FE 04 CPI 04H ; JDE O PRIZNAK KONCOVEHO BLOKU ? 796 F2F7 CA F316 JZ KI2 ; ANO - VYSLI PRIZNAK KONCE SOUBORU 797 F2FA 21 01B3 LXI H,RDADR ; ADRESA BUFFERU PRO CTENI 798 F2FD 37 STC ; PRIZNAK CTENI 799 F2FE CD F3FF CALL RDBUF ; ANO - CTI DALSI BLOK 800 F301 37 STC ; PRIZNAK CTENI 801 F302 CD F568 CALL CMPBUF ; ZOBRAZ NAZEV, KONTROLUJ CISLA BLOKU A SOUBORU 802 F305 AF XRA A ; POINTR NA NULU 803 F306 E1 KI0: POP H 804 F307 3C INR A ; INKREMENTUJ POINTR (NULTY ZNAK = PRIZNAK) 805 F308 77 MOV M,A ; NOVA HODNOTA POINTRU 806 F309 16 00 MVI D,0 807 F30B 5F MOV E,A ; V <DE> POINTR 808 F30C CD F7B3 CALL GETRDB ; V <HL> ADRESA BUFFERU 809 F30F 19 DAD D ; ADRESA NASLEDUJICIHO ZNAKU V BUFFERU 810 F310 7E MOV A,M 811 F311 B7 ORA A ; NULOVANI FF-C 812 F312 E1 KI1: POP H 813 F313 D1 POP D 814 F314 C1 POP B 815 F315 C9 RET 816 F316 E1 KI2: POP H 817 F317 CD F7BF CALL GETRST ; V <HL> ADRESA STATUSU SNIMACE 818 F31A 36 00 MVI M,0 ; PASINACE STATUSU SNIMACE 819 F31C 3E 1A MVI A,SUBS ; ZNAK "KONCE PASKY" 820 F31E 37 STC 821 F31F C3 F312 JMP KI1 822 ; 823 ; 824 ; 825 ; K O 826 ; === 827 ; 828 ; PODPROGRAM UMOZNUJICI VYSTUP JEDNOHO BYTU MA KAZETU PRES 829 ; VYROVNAVACI BUFFER. VYSTUPNI BYT JE V <C>. PRIZNAK CHYBY 830 ; (FF-C) JE NULOVAN. 831 ; 832 ; POSKOZENE REGISTRY: FF'S 833 ; 834 F322 F5 KO: PUSH PSW 835 F323 D5 PUSH D 836 F324 E5 PUSH H 837 F325 C5 PUSH B 838 F326 CD F7D9 CALL GETPST ; V <A> STATUS ZAPISU 839 F329 B7 ORA A ; JE STATUS ZAPISU PASIVNI ? (FF-C = 0) 840 F32A CC F45E CZ OPEN ; ANO - OTEVRI SOUBOR PRO ZAPIS 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-15 841 F32D CC F5A2 CZ NULBUF ; NULOVANI OBSAHU BUFFERU PRO ZAPIS 842 F330 CD F7D3 CALL GETPPO ; V <HL> ADRESA, V <A> OBSAH UKAZATELE DEROVACE 843 F333 E5 PUSH H 844 F334 FE FF CPI 0FFH ; JE BUFFER PLNY ? 845 F336 C2 F33D JNZ KO0 ; NE - ZAPIS BYTE 846 F339 CD F398 CALL WRBUF ; ZAPIS BUFFERU 847 F33C AF XRA A ; NULOVANI POINTRU 848 F33D E1 KO0: POP H 849 F33E 3C INR A ; INKREMENTACE POINTRU (NULOVY BYTE - PRIZNAK) 850 F33F 77 MOV M,A ; NOVA HODNOTA POINTRU 851 F340 16 00 MVI D,0 852 F342 5F MOV E,A ; V <DE> OBSAH POINTRU 853 F343 CD F7B9 CALL GETPNB ; V <HL> ADRESA BUFFERU 854 F346 19 DAD D ; ADRESA DALSIHO VOLNEHO BYTU 855 F347 C1 POP B 856 F348 C5 PUSH B 857 F349 71 MOV M,C ; ULOZENI DALSIHO BYTU DO BUFFERU 858 F34A C1 POP B 859 F34B E1 POP H 860 F34C D1 POP D 861 F34D F1 POP PSW 862 F34E B7 ORA A ; NULOVANI PRIZNAKU CHYBY 863 F34F C9 RET 864 ; 865 ; 866 ; 867 ; C L O S E 868 ; ========= 869 ; 870 ; PODPROGRAM SLOUZI K UZAVRENI ZAPSANEHO SOUBORU. 871 ; 872 F350 E5 CLOSE: PUSH H 873 F351 CD F7D9 CALL GETPST ; V <A> OBSAH V<HL> ADRESA STATUSU ZAPISU 874 F354 B7 ORA A ; JE ZAPISOVY STATUS AKTIVNI ? 875 F355 CC F758 CZ BREA1 ; NENI - CHYBA 876 F358 36 00 ERR14: MVI M,0 ; PASIVACE STATUSU ZAPISU 877 F35A CD F842 CALL IMTXT 878 F35D 0D 0A 43 4C DB CR,LF,'CLOSE','D' OR 80H ; TISK TEXTU 'CLOSED' 879 F361 4F 53 45 C4 880 F365 CD F7B9 CALL GETPNB ; V <DE> ADRESA BUFFERU 881 F368 E5 PUSH H 882 F369 EB XCHG 883 F36A CD F7D3 CALL GETPPO ; V <A> OBSAH UKAZATELE DEROVACE 884 F36D 6F MOV L,A 885 F36E 26 00 MVI H,0 ; V <HL> UKAZATEL 886 F370 EB XCHG 887 F371 19 DAD D ; V <HL> ADRESA POSLEDNIHO ULOZENEHO BYTU 888 F372 1C INR E 889 F373 CA F37D JZ CLOS1 ; SKOK PRI PLNEM BUFFERU 890 F376 23 CLOS0: INX H 891 F377 36 00 MVI M,BLANK ; NULOVANI ZBITKU BUFFERU 892 F379 1C INR E 893 F37A C2 F376 JNZ CLOS0 ; CELY BUFFER ZAPLNEN ? 894 F37D E1 CLOS1: POP H 895 F37E 36 04 MVI M,04H ; PRIZNAK KONCOVEHO BLOKU 896 F380 CD F398 CALL WRBUF ; ZAPIS BUFFERU 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-16 897 F383 E1 POP H 898 F384 C9 RET 899 ; 900 ; 901 ; 902 ; A P P E N D 903 ; =========== 904 ; 905 ; PODPROGRAM PRO ZAPIS BINARNIHO SOUBORU. MA STEJNE CHOVANI JAKO 906 ; PUT S TIM, ZE ZAPISUJE BEZPROSTREDNE BEZ VYHLEDAVANI. 907 ; 908 F385 CD F827 APEND: CALL EXPR ; VSTUP DVOU ADRES 909 F388 21 F227 LXI H,PUT1 910 F38B E5 PUSH H ; NAVRATOVA ADRESA SIMULOVANEHO CALL 911 F38C F5 PUSH PSW 912 F38D CD F7D9 CALL GETPST ; V <HL> ADRESA STATUSU ZAPISU 913 F390 E5 PUSH H 914 F391 CD F7E5 CALL GETPBC ; V <HL> ADRESA CITACE SOUBORU DEROVACE 915 F394 34 INR M ; INKREMENTACE CITACE SOUBORU 916 F395 C3 F487 JMP OPAPP ; SKOK DO OPEN ZA VYHLEDAVANI 917 ; 918 ; 919 ; 920 ;################################################################ 921 ; 922 ; OBLAST PODPROGRAMU BLOKOVE UROVNE 923 ; ********************************* 924 ; 925 ; 926 ; 927 ; W R B U F 928 ; ========= 929 ; 930 ; PODPROGRAM SLOUZI K ZAPISU OBSAHU BUFFERU PRO ZAPIS PNBUF 931 ; NA KAZETU. 932 ; 933 ; POSKOZENE REGISTRY: A,F,B,C,D,E,H,L 934 ; 935 F398 21 01B6 WRBUF: LXI H,PBLKC 936 F39B 3E 0F MVI A,PC7SET 937 F39D D3 0B OUT ADRCT ; ZAPNUTI LED ZAPISU 938 F39F CD F7C2 CALL GETC0 939 F3A2 34 INR M ; INKREMENTACE CITACE BLOKU 940 F3A3 5E MOV E,M ; CITAC BLOKU V <E> 941 F3A4 23 INX H ; V <HL> ADRESA CITACE SOUBORU 942 F3A5 56 MOV D,M ; CITAC SOUBORU V <D> 943 F3A6 CD F7CD CALL GETNM2 ; V <HL> ADRESA OBLASTI NAME2 944 F3A9 E5 PUSH H ; ADRESA OBLASTI S NAZVEM SOUBORU 945 F3AA CD F7B9 CALL GETPNB ; V <HL> JE ADESA BUFFERU 946 F3AD E5 PUSH H 947 F3AE CD F7BF CALL GETRST ; V <HL> ADRESA V <A> OBSAH STATUSU CTENI 948 F3B1 B7 ORA A ; JE AKTIVOVAN STATUS CTENI ? 949 F3B2 C4 F793 CNZ RECTX ; ANO - VYPIS 'RECORD DONE ?' A CEKEJ NA KLAVESU 950 F3B5 E1 POP H ; V <HL> ADRESA BUFFERU 951 F3B6 CD F741 CALL BREAK ; PRERUSIT ? 952 F3B9 CD F770 CALL SETTR ; SPUSTENI MOTORKU 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-17 953 F3BC 3E 02 MVI A,PC1RES 954 F3BE D3 0B OUT ADRCT ; ODBLOKOVANI CITACU MODEMU 955 F3C0 01 0B40 LXI B,G1LEN 956 F3C3 CD F5BA CALL WRGAP ; ZAPIS MEZERI (G1LEN) BITU '1' [73/65] 957 F3C6 3E 10 MVI A,10H ; PREAMBLE [7] 958 F3C8 CD F693 CALL BYTOUT ; [103/50] 959 F3CB 3E 10 MVI A,10H ; DRUHY PREAMBLE [7] 960 F3CD CD F693 CALL BYTOUT ; [103/50] 961 F3D0 3E 10 MVI A,10H ; TRETI PREAMBLE [7] 962 F3D2 CD F693 CALL BYTOUT ; [103/50] 963 F3D5 01 0000 LXI B, (BUFLEN+1) AND 0FFH ; 0 -> <B>; DELKA -> <C> [10] 964 F3D8 CD F6FF CALL WRMEM ; ZAPIS Z PAMETI [125/66] 965 F3DB E1 POP H ; ADRESA NAZVU [10] 966 F3DC 0E 0B MVI C,NAMLEN ; DELKA JMENA [7] 967 F3DE CD F6FF CALL WRMEM ; ZAPIS JMENA [125/66] 968 F3E1 7B MOV A,E ; [5] 969 F3E2 CD F693 CALL BYTOUT ; CISLO BLOKU [103/50] 970 F3E5 7A MOV A,D ; [5] 971 F3E6 CD F693 CALL BYTOUT ; CISLO SOUBORU [103/50] 972 F3E9 78 MOV A,B ; [5] 973 F3EA CD F693 CALL BYTOUT ; KONTROLNI SOUCET [103/50] 974 F3ED 3E 10 MVI A,10H ; [7] 975 F3EF CD F693 CALL BYTOUT ; PREAMBLE [103/50] 976 F3F2 AF XRA A ; [4] 977 F3F3 CD F693 CALL BYTOUT ; ZAPIS 00H [103/50] 978 F3F6 01 00A0 LXI B,G2LEN ; [7] 979 F3F9 CD F5BA CALL WRGAP ; ZAPIS MEZERY (G2LEN) BITU '1' [73/65] 980 F3FC C3 F765 JMP RESTR ; ZASTAV MAGNETOFON 981 ; 982 ; 983 ; 984 ; R D B U F 985 ; ========= 986 ; 987 ; PODPROGRAM PRO CTENI Z PASKY BLOKU A ULOZENI HO DO BUFFERU 988 ; DANEHO ODSTUPEM V <HL>. FF-C UDAVA, ZDA JDE O CTENI (FF-C = 1) 989 ; NEBO O ZAPIS (FF-C = 0). BLOK MA PEVNOU STRUKTURU: 990 ; 991 ; M,P,P,P,X,D,J,B,S,K,P,M,... 992 ; 993 ; KDE M JE MEZERA DELKY 0,8 S 994 ; P JE PREAMBLE HODNOTY 10H 995 ; X JE PRIZNAK BLOKU S VYZNAMEM: 996 ; 3AH ... NAZEV KAZETY 997 ; 41H ... ASCII BLOK 998 ; 42H ... BINARNI BLOK 999 ; 01H ... NAZEV SOUBORU A POZNAMKA 1000 ; 04H ... POSLEDNI BLOK SOUBORU 1001 ; D JE 255 BYTU DAT 1002 ; J JE NAZEV DELKY (NAMLEN) ZNAKU ASCII 1003 ; B JE CISLO BLOKU (1-255) 1004 ; S JE CISLO SOUBORU (1-255) 1005 ; K JE KONTROLNI SOUCET (OD X PO B) 1006 ; 1007 ; 1008 ; POSKOZENE REGISTRY: A,F,B,C,H,L 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-18 1009 ; 1010 F3FF D5 RDBUF: PUSH D 1011 F400 E5 PUSH H 1012 F401 3E 0B MVI A,PC5SET 1013 F403 D3 0B OUT ADRCT 1014 F405 21 01B8 LXI H,RBLKC 1015 F408 DA F40E JC RDBU3 ; SKOK PRO CTENI 1016 F40B 21 01B6 LXI H,PBLKC 1017 F40E CD F7C2 RDBU3: CALL GETC0 1018 F411 34 INR M ; INKREMENTACE CITACE BLOKU (PRVNI BLOK ... 1) 1019 F412 5E MOV E,M ; V <E> CITAC BLOKU 1020 F413 23 INX H ; V <HL> ADRESA CITACE SOUBORU (PRVNI SOUBOR ... 0) 1021 F414 56 MOV D,M ; V <D> CITAC SOUBORU 1022 F415 CD F7DF CALL GETTMP ; ADRESA POMOCNE OBLASTI 1023 F418 E3 XTHL ; V <HL> ODSTUP ADRESY BLOKU 1024 F419 CD F526 CALL NAMIA ; V <HL> ADRESA BLOKU 1025 F41C E5 PUSH H 1026 F41D CD F7D9 CALL GETPST ; V <A> STATUS ZAPISU 1027 F420 B7 ORA A ; JE ZAPISOVY STATUS AKTIVNI ? 1028 F421 C4 F787 CNZ PLAYTX ; ANO - VYPIS 'PLAY DONE ?' A CEKEJ NA KLAVESU 1029 F424 E1 POP H ; V <HL> ADRESA BUFFERU 1030 F425 CD F741 CALL BREAK ; PRERUSIT ? 1031 F428 CD F770 CALL SETTR ; SPUSTENI MOTORKU MAGNETOFONU 1032 F42B CD F5C8 RDBU0: CALL SRGAP ; NAJDI MEZERU [79/114] 1033 F42E 0E 03 MVI C,3 ; POCET PREAMBLU [7] 1034 F430 CD F6CA RDBU1: CALL BYTIN ; CTI BYTE [69/89] 1035 F433 FE 10 CPI 10H ; JDE O PREAMBLE ? [7] 1036 F435 C2 F42B JNZ RDBU0 ; NE - HLEDEJ ZNOVU MEZERU [10] 1037 F438 0D DCR C ; VSECHNY BYTY PREAMBLU ? [5] 1038 F439 C2 F430 JNZ RDBU1 ; NE - CTI DALSI BYTE [10] 1039 F43C 01 0000 LXI B,(BUFLEN+1) AND 0FFH ; NULUJ <B>, DELKA DO <C> [10] 1040 F43F CD F709 CALL RDMEM ; CTI DATA DO BUFFERU [86/122] 1041 F442 E1 POP H ; V <HL> ADRESA POMOCNE OBLASTI [10] 1042 F443 0E 0D MVI C,NAMLEN+2 ; DELKA NAZVU + CITACU [7] 1043 F445 CD F709 CALL RDMEM ; CTI JMENO A CITACE DO POM. OBLASTI [86/122] 1044 F448 48 MOV C,B ; KONTROLNI SOUCET DO <C> [5] 1045 F449 CD F6CA CALL BYTIN ; [69/89] 1046 F44C 91 SUB C ; KONTROLNI SOUCET SHODY ? [4] 1047 F44D F5 PUSH PSW ; SCHOVEJ PRIZNAK [11] 1048 F44E CD F6CA CALL BYTIN ; [69/89] 1049 F451 FE 10 CPI 10H ; PREAMBLE ? 1050 F453 C4 F758 CNZ BREA1 ; NE - CHYBA 1051 F456 F1 ERR15: POP PSW ; KONTROLNI SOUCTY SHODNE ? 1052 F457 C4 F758 CNZ BREA1 ; NE - CHYBA 1053 F45A D1 ERR16: POP D 1054 F45B C3 F765 JMP RESTR ; ZASTAV MOTOREK MAGNETOFONU 1055 ; 1056 ; 1057 ; 1058 ; O P E N 1059 ; ======= 1060 ; 1061 ; PODPROGRAM SLOUZI K OTEVIRANI SOUBORU PRO ZAPIS. PRO VYHLE- 1062 ; DAVANI SOUBORU SE POUZIVA BUFFER PRO ZAPIS, TAKZE BUFFER PRO 1063 ; CTENI NENI POSKAZEN. UMOZNUJE TO SIMULTANNI NEZAVISLY ZAPIS 1064 ; PRI JIZ PROBIHAJICIM CTENI. 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-19 1065 ; 1066 ; POSKOZENE REGISTRY: H,L 1067 ; 1068 F45E F5 OPEN: PUSH PSW 1069 F45F CD F7D9 CALL GETPST ; V <HL> ADRESA, V <A> OBSAH STATUSU ZAPISU 1070 F462 B7 ORA A ; JE STATUS ZAPISU PASIVNI ? 1071 F463 C4 F758 CNZ BREA1 ; NE - CHYBA 1072 F466 E5 ERR17: PUSH H 1073 F467 CD F842 CALL IMTXT 1074 F46A 0D 0A 4C 41 DB CR,LF,'LAST',0A0H 1075 F46E 53 54 A0 1076 F471 AF XRA A 1077 F472 CD F4E7 CALL NAMIN ; VSTUP JMENA POSLEDNIHO SOUBORU 1078 F475 CD F787 CALL PLAYTX ; ZOBRAZ 'PLAY DONE ?' A CEKEJ NA KLAVESU 1079 F478 21 01B0 LXI H,PNADR 1080 F47B AF XRA A ; NULOVANI FF-C (ZAPIS) 1081 F47C CD F60B CALL SEARCH ; VYHLEDEJ KONEC POSL. SOUBORU 1082 F47F CD F7E5 CALL GETPBC ; NULOVANI CITACE BLOKU, V <HL> ADR. CIT. SOUB. 1083 F482 CD F7EF CALL GETCTN ; OBSAH CITACE SOUBORU DO <A> 1084 F485 77 MOV M,A 1085 F486 34 INR M ; INKREMENTACE CITACE SOUBORU 1086 F487 CD F842 OPAPP: CALL IMTXT 1087 F48A 0D 0A 4E 45 DB CR,LF,'NEW',0A0H 1088 F48E 57 A0 1089 F490 AF XRA A 1090 F491 CD F4E7 CALL NAMIN ; VSTUP JMENA NOVEHO SOUBORU 1091 F494 E1 POP H 1092 F495 35 DCR M ; AKTIVACE PRIZNAKU ZAPISU 1093 F496 CD F7B9 CALL GETPNB ; V <HL> ADRESA BUFFERU 1094 F499 E5 PUSH H 1095 F49A 36 01 MVI M,01H ; PRIZNAK NAZNU SOUBORU 1096 F49C CD F7BF CALL GETRST 1097 F49F B7 ORA A ; JE STATUS ZAPISU PASIVNI ? 1098 F4A0 CC F793 CZ RECTX ; ANO - VYPIS 'RECORD DONE ?' A CEKEJ NA KLAVESU 1099 F4A3 CD F398 CALL WRBUF ; ZAPIS BLOKU SE JMENEM SOUBORU 1100 F4A6 AF XRA A ; NULOVANI FF-C 1101 F4A7 CD F5A2 CALL NULBUF ; VYNULUJ ZAPISOVY BUFFER 1102 F4AA E1 POP H 1103 F4AB 36 41 MVI M,'A' ; PRIZNAK ASCII BLOKU 1104 F4AD CD F7D3 CALL GETPPO ; V <HL> ADRESA UKAZATELE 1105 F4B0 36 00 MVI M,0 ; VYNULOVANI UKAZATELE DEROVACE 1106 F4B2 F1 POP PSW 1107 F4B3 C9 RET 1108 ; 1109 ; 1110 ; 1111 ; F I N D 1112 ; ======= 1113 ; 1114 ; PODPROGRAM SLOZI PRI VYHLADANI SOUBORU PRI CTENI. 1115 ; 1116 ; POSKOZENE REGISTRY: A,F,B,C,D,E,H,L,SP 1117 ; 1118 F4B4 CD F7BF FIND: CALL GETRST ; V <HL> ADRESA, V <A> OBSAH STATUSU CTENI 1119 F4B7 B7 ORA A ; JE PRIZNAK CTENI PASIVNI ? 1120 F4B8 C4 F758 CNZ BREA1 ; NE - CHYBA 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-20 1121 F4BB 35 ERR18: DCR M ; AKTIVACE PRIZNAKU CTENI 1122 F4BC CD F824 CALL CRLF 1123 F4BF 37 STC 1124 F4C0 CD F4E7 CALL NAMIN ; VSTUP JMENA SOUBORU 1125 F4C3 CD F7D9 CALL GETPST 1126 F4C6 B7 ORA A ; JE AKTIVNI PRIZNAK ZAPISU ? 1127 F4C7 CC F787 CZ PLAYTX ; NE - VYPIS 'PLAY DONE ?' A CEKEJ NA KLAVESU 1128 F4CA 21 01B5 LXI H,RDPOI 1129 F4CD CD F84E CALL GETADR 1130 F4D0 36 FF MVI M,0FFH ; POC. HODNOTA UKAZATELE BUFFERU SNIMACE 1131 F4D2 21 01B3 LXI H,RDADR 1132 F4D5 37 STC ; NASTAVENI FF-C (CTENI) 1133 F4D6 CD F60B CALL SEARCH ; HLEDEJ SOUBOR 1134 F4D9 21 01B8 LXI H,RBLKC 1135 F4DC CD F84E CALL GETADR ; V <HL> ADRESA CITACE BLOKU 1136 F4DF 36 01 MVI M,1 ; ULOZENI POC. HODNOTY 1137 F4E1 23 INX H ; V <HL> ADRESA CITACE SOUBORU 1138 F4E2 CD F7EF CALL GETCTN ; V <A> CISLO NALEZENEHO SOUBORU 1139 F4E5 77 MOV M,A ; NASTAVENI CITACE SOUBORU 1140 F4E6 C9 RET 1141 ; 1142 ; 1143 ; 1144 ; N A M I N 1145 ; ========= 1146 ; 1147 ; PODPROGRAM PRO VSTUP NAZVU SOUBORU A POZNAMKY. VSTUPNIM 1148 ; PARAMETREM JE FF-C. POKUT JE NULOVY, JEDNA SE O ZAPIS 1149 ; A DO ZAPISOVEHO BUFFERU SE UKLADA JMENO A POZNAMKA V 1150 ; CELKOVE DELCE (COMLEN). SOUCASNE PVNICH (NAMLEN) ZNAKU SE 1151 ; POVAZUJE ZA JMENO A UKLADA SE DO OBLASTI NAME2. JE-LI 1152 ; FF-C JEDNICKOVY, JEDNA SE O CTENI A UKLADA SE POUZE 1153 ; (NAMLEN) ZNAKU DO OBLASTI NAME1. 1154 ; 1155 ; POSKOZENE REGISTRY: - - - 1156 ; 1157 F4E7 C5 NAMIN: PUSH B 1158 F4E8 D5 PUSH D 1159 F4E9 E5 PUSH H 1160 F4EA F5 PUSH PSW 1161 F4EB CD F592 CALL NULNAM ; VYNULUJ OBLAST NAME1/NAME2 1162 F4EE CD F842 CALL IMTXT 1163 F4F1 4E 41 4D 45 DB 'NAME',CR,LF,':' OR 80H 1164 F4F5 0D 0A BA 1165 F4F8 06 0B MVI B,NAMLEN ; PAAMETRY PRO CTENI 1166 F4FA CD F7C7 CALL GETNM1 ; V <HL> ADRESA OBLASTI NAME1 1167 F4FD F1 POP PSW 1168 F4FE F5 PUSH PSW 1169 F4FF DA F50B JC NAMI3 ; POKUT CTENI - SKOC 1170 F502 CD F5A2 CALL NULBUF ; VYNULOVANI BUFFERU PRO ZAPIS 1171 F505 06 EF MVI B,COMLEN ; PARAMETRY PRO ZAPIS 1172 F507 CD F7B9 CALL GETPNB ; V <HL> ADRESA ZAPIS. BUFFERU 1173 F50A 23 INX H ; PRI ZAPISE VYNECH MISTO NA PRIZNAK 1174 F50B CD F65A NAMI3: CALL ASCIN ; NACTI NAZEV/POZNAMKU 1175 F50E F1 POP PSW 1176 F50F F5 PUSH PSW 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-21 1177 F510 DA F521 JC NAMI1 ; PRI CTENI - NAVRAT 1178 F513 EB XCHG ; V <DE> ADRESA ULOZENI NAZVU 1179 F514 CD F7CD CALL GETNM2 ; V <HL> ADRESA OBLASTI NAME2 1180 F517 06 0B MVI B,NAMLEN ; CITAC ZNAKU 1181 F519 1A NAMI2: LDAX D ; CTI PISMENO NAZVU 1182 F51A 77 MOV M,A ; ULOZ JE DO OBLASTI NAME2 1183 F51B 13 INX D 1184 F51C 23 INX H 1185 F51D 05 DCR B ; VSECHNY ZNAKY ULOZENY ? 1186 F51E C2 F519 JNZ NAMI2 ; NE - ULOZ DALSI ZNAK 1187 F521 F1 NAMI1: POP PSW 1188 F522 E1 POP H 1189 F523 D1 POP D 1190 F524 C1 POP B 1191 F525 C9 RET 1192 ; 1193 F526 CD F84E NAMIA: CALL GETADR 1194 F529 7E MOV A,M ; [/<HL>/] -> <HL> 1195 F52A 23 INX H 1196 F52B 66 MOV H,M 1197 F52C 6F MOV L,A 1198 F52D C9 RET 1199 ; 1200 ; 1201 ; 1202 ; C M P N A M 1203 ; =========== 1204 ; 1205 ; PODPROGRAM SLOUZI KE SROVNANI DVOU JMEN PRI VYHLEDAVANI. 1206 ; HLAVNIM PRIZNAKEM RIDICIM CINNOST JE FF-C. JE-LI NULOVY, 1207 ; JDE O SROVNANI PRO ZAPIS, JE-LI JEDNICKOVY, JDE O SROVNANI 1208 ; PRO CTENI. PRI SROVNANI PRO ZAPIS SE SROVNAVAJI JMENA 1209 ; UMISTENA V POLI NAME2 (VZOR) A BUFFERU PNADR (OD 2 BYTU). 1210 ; PRI SROVNAVANI PRO CTENI SE SROVNAVAJI JMENA UMISTENA V 1211 ; POLI NAME1 (VZOR) A V BUFFERU RDADR (OD 2 BYTU). CELKEM 1212 ; SE SROVNAVA MAX. NAMLEN PISMEN. POKUT SE VE VZORU VYSKYTNE 1213 ; HVEZDICKA (*), PAK JSOU ZBIVAJICI PISMENA VE JMENECH PROGRAMU 1214 ; NEVYZNAMNA A STACI POUZE SCHODA PRDCHAZEJICICH. HVEZDICKA 1215 ; MUZE BYT I NA PRVEM MISTE. PRI JEJIM VYSKYTU A SPLNENI 1216 ; CASTECNE SHODY SE VYPISE NALEZENE JMENO A DOTAZ (?), VYZA- 1217 ; DUJICI POTVRZENI PISMENEM 'Y' NEBO ZAMITNUTI LIBOVOLNOU 1218 ; JINOU KLAVESOU. VYSLEDEK SROVNANI JE V <FF-Z>. 1219 ; 1220 ; POSKOZENE REGISTRY: A,F 1221 ; 1222 F52E C5 CMPNAM: PUSH B 1223 F52F E5 PUSH H 1224 F530 D5 PUSH D 1225 F531 06 0B MVI B,NAMLEN ; POCET PISMEN JMENA 1226 F533 CD F7C7 CALL GETNM1 1227 F536 11 01B3 LXI D,RDADR 1228 F539 DA F542 JC CMPN0 1229 F53C CD F7CD CALL GETNM2 1230 F53F 11 01B0 LXI D,PNADR 1231 F542 EB CMPN0: XCHG 1232 F543 CD F526 CALL NAMIA ; V <HL> ADRESA BUFFERU, V <DE> ADRESA VZORU 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-22 1233 F546 23 CMPN1: INX H ; UKAZATEL NAZVU 1234 F547 1A LDAX D ; CTI PISMENO ZE VZORU 1235 F548 FE 2A CPI '*' ; JE VA VZORU '*' ? 1236 F54A CA F55E JZ CMPN2 ; ANO - UKONCI SROVNAVANI - DOTAZ NA POTVRZENI 1237 F54D FE A0 CPI ETX 1238 F54F CA F564 JZ CMPN3 ; JE NAZEV KRATSI NEZ NAMLEN ? 1239 F552 BE CMP M ; SROVNANI DALSIHO PISMENA 1240 F553 C2 F564 JNZ CMPN3 ; NESHODA - UKONCI SROVNANI 1241 F556 13 INX D ; UKAZATEL VZORU 1242 F557 05 DCR B ; CITAC PISMEN 1243 F558 C2 F546 JNZ CMPN1 ; DALSI PISMENO 1244 F55B C3 F564 JMP CMPN3 1245 F55E CD F5DD CMPN2: CALL MAMTX ; ZOBRAZ NAZEV 1246 F561 CD F7A6 CALL REQTX ; DOTAZ Y/COKOLI 1247 F564 D1 CMPN3: POP D 1248 F565 E1 POP H 1249 F566 C1 POP B 1250 F567 C9 RET 1251 ; 1252 ; 1253 ; 1254 ; C M P B U F 1255 ; =========== 1256 ; 1257 ; PODPROGRAM PRO ZOBRAZENI NAZVU PRECTENEHO BLOKU PODPROGRAMEM 1258 ; RDBUF DO POMOCNE OBLASTI TMPAR, PRO KONTROLU SOUHLASU CISLA 1259 ; BLOKU A SOUBORU PRECTENICH A OBSAZENYCH V INTERNICH CITACICH. 1260 ; 1261 ; POSKOZENE REGISTRY: - - - 1262 ; 1263 F568 E5 CMPBUF: PUSH H 1264 F569 D5 PUSH D 1265 F56A C5 PUSH B 1266 F56B F5 PUSH PSW 1267 F56C CD F5F2 CALL NAMNUM ; ZOBRAZ NAZEV, CISLO BLOKU A SOUBORU 1268 F56F 2B DCX H ; V <HL> ADRESA CISLA BLOKU 1269 F570 EB XCHG 1270 F571 F1 POP PSW 1271 F572 F5 PUSH PSW 1272 F573 21 01B8 LXI H,RBLKC ; CITAC BLOKU PRI CTENI 1273 F576 DA F57C JC CMPBU0 ; PRI CTENI SKOC 1274 F579 21 01B6 LXI H,PBLKC ; CITAC BLOKU PRI ZAPISU 1275 F57C CD F84E CMPBU0: CALL GETADR ; V <HL> ADRESA CITACE BLOKU 1276 F57F 46 MOV B,M 1277 F580 1A LDAX D 1278 F581 B8 CMP B ; JE PRECTENO CISLO BLOKU SHODNE S OBSAHEM CITACE ? 1279 F582 C4 F758 CNZ BREA1 ; NE - CHYBA 1280 F585 23 ERR19: INX H ; V <HL> ADRESA CISLA SOUBORU 1281 F586 13 INX D ; V <DE> ADRESA CITACE SOUBORU 1282 F587 46 MOV B,M 1283 F588 1A LDAX D 1284 F589 B8 CMP B ; JE PRECTENE CISLO SOUBORU SHODNE S OBSAHEM CT. ? 1285 F58A C4 F758 CNZ BREA1 ; NE - CHYBA 1286 F58D F1 ERR20: POP PSW 1287 F58E C1 POP B 1288 F58F D1 POP D 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-23 1289 F590 E1 POP H 1290 F591 C9 RET 1291 ; 1292 ; 1293 ; 1294 ; N U L N A M 1295 ; =========== 1296 ; PODPROGRAM SPOUZI PRO VUPLNENI OBLASTI NAME1 (FF-C...1) 1297 ; NEBO NAME2 (FF-C...0) MEZERAMI. 1298 ; 1299 ; POSKOZENE REGISTRY: - - - 1300 ; 1301 F592 C5 NULNAM: PUSH B 1302 F593 E5 PUSH H 1303 F594 F5 PUSH PSW 1304 F595 06 0B MVI B,NAMLEN ; DELKA NAZVU 1305 F597 DC F7C7 CC GETNM1 1306 F59A D4 F7CD CNC GETNM2 ; V <HL> ADRESA OBLASTI S JMENEM 1307 F59D 3E 20 MVI A,' ' ; ZAPIS MEZERU 1308 F59F C3 F5B0 JMP NULB1 1309 ; 1310 ; 1311 ; 1312 ; N U L B U F 1313 ; =========== 1314 ; 1315 ; PODPROGRAM PRO VYPLNENI BUFFERU URCENEM <FF-C> BLANKY. 1316 ; 1317 F5A2 C5 NULBUF: PUSH B 1318 F5A3 E5 PUSH H 1319 F5A4 F5 PUSH PSW 1320 F5A5 06 FE MVI B,BUFLEN-1 ; DELKA BUFFERU - 1 1321 F5A7 DC F7B3 CC GETRDB 1322 F5AA D4 F7B9 CNC GETPNB ; V <HL> ADRESA BUFFERU 1323 F5AD 23 INX H ; NEMAZ PRIZNAK BLOKU 1324 F5AE 3E 00 MVI A,BLANK ; ZAPIS 00H 1325 F5B0 77 NULB1: MOV M,A 1326 F5B1 23 INX H 1327 F5B2 05 DCR B ; CELY BUFFER ZAOLNEN ? 1328 F5B3 C2 F5B0 JNZ NULB1 ; NE - DALSI BYTE 1329 F5B6 F1 POP PSW 1330 F5B7 E1 POP H 1331 F5B8 C1 POP B 1332 F5B9 C9 RET 1333 ; 1334 ; 1335 ; 1336 ; W R G A P [73/65] 1337 ; ========= 1338 ; 1339 ; PODPROGRAM SLOUZI K ZAPISU MEZERY V DELCE <BC> BITU 01. 1340 ; 1341 ; POSKOZENE REGISTRY: A,F,B,C 1342 ; 1343 F5BA C5 WRGAP: PUSH B ; [11] 1344 F5BB 0E FF MVI C,0FFH ; [7] 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-24 1345 F5BD CD F6B4 CALL BITOUT ; ZAPIS JEDNICKY [38/30] 1346 F5C0 C1 POP B ; [10] 1347 F5C1 0B DCX B ; VSECHNY BYTY ZAPSANY ? [5] 1348 F5C2 78 MOV A,B ; [5] 1349 F5C3 B1 ORA C ; [4] 1350 F5C4 C8 RZ ; [5/11] 1351 F5C5 C3 F5BA JMP WRGAP ; NE - ZAPIS DALSI BIT [10] 1352 ; 1353 ; 1354 ; 1355 ; S R G A P [79/114] 1356 ; ========= 1357 ; 1358 ; PODPROGRAM SLOUZI K VYHLEDAVANI MEZERY TAK, ZE CEKA 1359 ; NA SOUVISLOU POSLOUPNOST JEDNICEK V DELCE GAPBIT. 1360 ; NAJDE-LI NULU, HLEDA ZNOVU OD ZACATKU. 1361 ; 1362 ; POSKOZENE REGISTRY: A,F 1363 ; 1364 F5C8 C5 SRGAP: PUSH B ; [11] 1365 F5C9 01 0140 SRGA0: LXI B,GAPBIT ; POCET JEDNICKOVYCH BITU PRO 200 MS [10] 1366 F5CC CD F6F0 SRGA1: CALL BITIN ; [41/95] 1367 F5CF CC F741 CZ BREAK ; PRERUSIT ? [5/11] 1368 F5D2 CA F5C9 JZ SRGA0 ; NENI - HLEDEJ ZNOVU [10] 1369 F5D5 0B DCX B ; NALAZEN POZADOVANY POCET BITU ? [5] 1370 F5D6 78 MOV A,B ; [5] 1371 F5D7 B1 ORA C ; [4] 1372 F5D8 C2 F5CC JNZ SRGA1 ; NE - HLEDEJ ZNOVU [10] 1373 F5DB C1 POP B ; [10] 1374 F5DC C9 RET ; [10] 1375 ; 1376 ; 1377 ; 1378 ; N A M T X 1379 ; ========= 1380 ; 1381 ; PODPROGRAM SLOUZI K ZOBRAZENI NAZVU Z POMOCNE OBLASTI 1382 ; TMPAR V DELCE (NAMLEN) ZNAKU. 1383 ; 1384 ; POSKOZENE REGISTRY: A,F,B,C,H,L 1385 ; 1386 F5DD 06 0B MAMTX: MVI B,NAMLEN ; DELKA JMEN 1387 F5DF CD F7DF CALL GETTMP ; V <HL> ADRESA OBLASTI TMPAR 1388 F5E2 CD F824 CALL CRLF 1389 F5E5 4E NAMT0: MOV C,M 1390 F5E6 7E MOV A,M 1391 F5E7 FE 20 CPI 20H 1392 F5E9 D4 F809 CNC CO ; ZOBRAZ ZNAK, IGNORUJ RIDICI ZNAKY 1393 F5EC 23 INX H 1394 F5ED 05 DCR B ; ZOBRAZENY VECHNY ZNAKY ? 1395 F5EE C2 F5E5 JNZ NAMT0 ; NE - ZOBRAZ DALSI 1396 F5F1 C9 RET 1397 ; 1398 ; 1399 ; 1400 ; N A M N U M 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-25 1401 ; =========== 1402 ; 1403 ; PODPROGRAM SLOUZI K ZABRAZENI JMENA SOUBORU Z POMOCNE OBLASTI 1404 ; PAMETI (TMPAR), CISLA BLOKU A CISLA SOUBORU. ZOBRAZUJE NA PRED- 1405 ; CHOZI RADEK. 1406 ; 1407 ; POSKOZENE REGISTRY: A,F,B,C,H,L 1408 ; 1409 F5F2 21 0035 NAMNUM: LXI H,LINECO 1410 F5F5 CD F84E CALL GETADR ; V <HL> ADRESA CITACE RADKU 1411 F5F8 35 DCR M ; SKOK NA PREDCHOZI RADEK 1412 F5F9 CD F5DD CALL MAMTX ; ZOBRAZENI NAZVU, NASTAVENI ADRESY DO <HL> 1413 F5FC CD F83C CALL SPACE 1414 F5FF 7E MOV A,M 1415 F600 CD F833 CALL DBYTE ; ZOBRAZ CISLO BLOKU 1416 F603 CD F83C CALL SPACE 1417 F606 23 INX H 1418 F607 7E MOV A,M 1419 F608 C3 F833 JMP DBYTE ; ZOBRAZ CISLO SOUBORU 1420 ; 1421 ; 1422 ; 1423 ; S E A R C H 1424 ; =========== 1425 ; 1426 ; PODPROGRAM SLOUZI K VYHLEDAVANI SOUBORU URCENEHO NAZVU. 1427 ; VSTUPNI PARAMETR JE FF-C, URCUJICI ZDA JDE O ZAPIS (PAK 1428 ; SE HLEDA KONEC UDANEHO SOUBORU) NEBO CTENI (PAK SE HLEDA 1429 ; PRVNI DATOVY BLOK SOUBORU). V <HL> JE ODSTUP ADRESY BUFFERU, 1430 ; DO KTEREHO SE NACITA PRI HLEDANI. HLEDANI SE DA PRERUSIT ESC. 1431 ; PRI HLEDANI SE ZOBRAZUJI U DATOVYCH BLOKU NAZEV A CISLO. 1432 ; 1433 ; POSKOZENE REGISTRY: A,F,H,L 1434 ; 1435 F60B F5 SEARCH: PUSH PSW 1436 F60C E5 PUSH H 1437 F60D D1 POP D ; V <DE> ODSTUP 1438 F60E D5 SEAR1: PUSH D 1439 F60F E1 POP H ; V <HL> ODSTUP 1440 F610 F1 POP PSW 1441 F611 F5 PUSH PSW 1442 F612 CD F3FF CALL RDBUF ; CTI BLOK DO BUFFERU 1443 F615 D5 PUSH D 1444 F616 E1 POP H ; V <HL> ODSTUP 1445 F617 CD F526 CALL NAMIA ; V <HL> ADRESA BUFFERU 1446 F61A 7E MOV A,M 1447 F61B FE 01 CPI 01H ; PRIZNAK NAZVU SOUBORU ? 1448 F61D CA F637 JZ SEAR2 1449 F620 FE 3A CPI ':' ; PRIZNAK NAZNU KAZETY ? 1450 F622 F5 PUSH PSW 1451 F623 C5 PUSH B 1452 F624 C4 F5F2 CNZ NAMNUM ; ZOBRAZ NAZEV SOUBORU, CISLO BLOKU A SOUBORU 1453 F627 C1 POP B 1454 F628 F1 POP PSW 1455 F629 C2 F60E JNZ SEAR1 ; NE - CTI DALSI BLOK 1456 F62C F1 POP PSW 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-26 1457 F62D F5 PUSH PSW 1458 F62E CD F52E CALL CMPNAM ; SROVNANI NAZVU PRO BLOK ':' 1459 F631 CA F658 JZ SEAR3 ; ZASTAVIT HNED ZA ? 1460 F634 C3 F60E JMP SEAR1 ; NE - CTI DALSI BLOKY 1461 F637 F1 SEAR2: POP PSW 1462 F638 F5 PUSH PSW 1463 F639 CD F52E CALL CMPNAM ; NAZVY JSOU ROVNY ? 1464 F63C C2 F60E JNZ SEAR1 ; NE - CTI DALSI NAZEV 1465 F63F F1 POP PSW 1466 F640 D8 RC ; PRI CTENI NAVRAT 1467 F641 D5 SEAR0: PUSH D 1468 F642 E1 POP H ; V <HL> ODSTUP 1469 F643 B7 ORA A ; PRIZNAK ZAPISU (FF-C=0) 1470 F644 CD F3FF CALL RDBUF ; CTI BLOK 1471 F647 C5 PUSH B 1472 F648 CD F5F2 CALL NAMNUM ; ZOBRAZ JMENO A CISLO 1473 F64B C1 POP B 1474 F64C D5 PUSH D 1475 F64D E1 POP H ; V <HL> ODSTUP 1476 F64E CD F526 CALL NAMIA ; V <HL> ADRESA BUFFERU 1477 F651 3E 04 MVI A,04H ; PRIZNAK KONCOVEHO BLOKU 1478 F653 BE CMP M ; JDE O KONCOVY BLOK ? 1479 F654 C2 F641 JNZ SEAR0 ; NE - CTI DALSI BLOK 1480 F657 C9 RET 1481 ; 1482 F658 F1 SEAR3: POP PSW 1483 F659 C9 RET ; NAVRAT PRO BLOK S NAZVEM KAZETY 1484 ; 1485 ; 1486 ; 1487 ;################################################################ 1488 ; 1489 ; OBLAST PODPROGRAMU BYTOVE A BITOVE UROVNE 1490 ; ***************************************** 1491 ; 1492 ; 1493 ; A S C I N 1494 ; ========= 1495 ; 1496 ; PODPROGRAM PRO VSTUP ASCII ZNAKU V POCTU <B> A JEJICH 1497 ; ULOZENI POCINAJE ADRESOU <HL>. UKLADANI LZE PREDCASNE 1498 ; UKONCIT ZNAKEM CR, DO MONITORU LZE SKOCIT PO STISKNUTI 1499 ; ZNAKU ESC (CTRL [), CHYBNE ZNAKY LZE VYMAZAT ZNAKEM 1500 ; BS (08H). JAKO POSLEDNI ZNAK SE VKLADA ZNAK ETX. 1501 ; 1502 ; POSKOZENE REGISTRY: A,F 1503 ; 1504 F65A C5 ASCIN: PUSH B 1505 F65B E5 PUSH H 1506 F65C 48 MOV C,B ; POCET ZNAKU 1507 F65D CD F803 ASCI0: CALL CI ; VSTUP ZNAKU 1508 F660 FE 0D CPI CR ; JDE O 'CR' ? 1509 F662 CA F68E JZ ASCI3 ; ANO - PREDCASNE UKONCI VKLADANI 1510 F665 FE 1B CPI ESC ; JDE O 'ESC' ? 1511 F667 CC F752 CZ BREA2 ; ANO - SKOC DO MONITORU 1512 F66A FE 08 CPI BS ; JDE O 'BS' 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-27 1513 F66C C2 F682 JNZ ASCI2 ; ANO=VYMAZ, NE=ULOZ ZNAK 1514 F66F 79 ASCI1: MOV A,C 1515 F670 B8 CMP B ; VSECHNY ZNAKY VYMAZANY ? 1516 F671 CA F65D JZ ASCI0 ; ANO - VSTUP DALSIHO ZNAKU 1517 F674 2B DCX H ; UKAZATEL NA STARY ZNAK 1518 F675 04 INR B ; OPRAVA CITACE ZNAKU 1519 F676 CD F857 CALL BACST 1520 F679 CD F83C CALL SPACE 1521 F67C CD F857 CALL BACST ; VYMAZ ZNAKU I NA OBRAZOVCE 1522 F67F C3 F65D JMP ASCI0 ; VSTUP DALSIHO ZNAKU 1523 F682 77 ASCI2: MOV M,A ; ULOZ NOVY ZNAK DO PAMETI 1524 F683 23 INX H ; UKAZATEL 1525 F684 C5 PUSH B 1526 F685 4F MOV C,A 1527 F686 CD F809 CALL CO ; ZOBRAZENI ZNAKU 1528 F689 C1 POP B 1529 F68A 05 DCR B ; CITAC 1530 F68B C2 F65D JNZ ASCI0 ; VSECHNY ZNAKY ULOZENY ? 1531 F68E 36 A0 ASCI3: MVI M,ETX ; PRIZNAK KONCE 1532 F690 E1 POP H 1533 F691 C1 POP B 1534 F692 C9 RET 1535 ; 1536 ; 1537 ; 1538 ; B Y T O U T [103/50] 1539 ; =========== 1540 ; 1541 ; PODPROGRAM PRO ZAPIS BYTU <A> NA KAZETU. BYTE MA TVAR: 1542 ; 0,D7,D6,D5,D4,D3,D2,D1,D0,1,1 1543 ; V <B> SE VYTVARI KONTROLNI SOUCET. 1544 ; 1545 ; POSKOZENE REGISTRY: B,A,F 1546 ; 1547 F693 F5 BYTOUT: PUSH PSW ; [11] 1548 F694 80 ADD B ; [4] 1549 F695 47 MOV B,A ; KONTROLNI SOUCET [5] 1550 F696 F1 POP PSW ; [10] 1551 F697 C5 PUSH B ; [11] 1552 F698 0E 00 MVI C,0 ; [7] 1553 F69A CD F6B4 CALL BITOUT ; START BIT [38/30] 1554 F69D 4F MOV C,A ; [5] 1555 F69E 06 08 MVI B,8 ; CITAC BITU [7] 1556 F6A0 CD F6B4 BYTO0: CALL BITOUT ; [38/30] 1557 F6A3 79 MOV A,C ; [5] 1558 F6A4 0F RRC ; [4] 1559 F6A5 4F MOV C,A ; [5] 1560 F6A6 05 DCR B ; VSECHNY BITY ? [5] 1561 F6A7 C2 F6A0 JNZ BYTO0 ; NE - DALSI BIT [10] 1562 F6AA 0E FF MVI C,0FFH ; [7] 1563 F6AC CD F6B4 CALL BITOUT ; [38/30] 1564 F6AF CD F6B4 CALL BITOUT ; DVA STOP BITY [38/30] 1565 F6B2 C1 POP B ; [10] 1566 F6B3 C9 RET ; [10] 1567 ; 1568 ; 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-28 1569 ; 1570 ; B I T O U T [38/30] 1571 ; =========== 1572 ; 1573 ; PODROGRA PRO ZAPIS BITU <C0> NA KAZETU. BIT SE ZAPISUJE 1574 ; INVERZNE (VYSSI FREKVENCE ODPOVIDA PC0=1). 1575 ; 1576 ; POSKOZENE REGISTRY: - - - 1577 ; 1578 F6B4 F5 BITOUT: PUSH PSW ; [11] 1579 F6B5 DB 08 BITO0: IN ADRPA ; [10] 1580 F6B7 E6 02 ANI 2 ; JE PA1 JEDNICKOVY ? [7] 1581 F6B9 CA F6B5 JZ BITO0 ; NE - CEKEJ NA VZESTUPNOU HRANU [10] 1582 F6BC DB 08 BITO1: IN ADRPA ; [10] 1583 F6BE E6 02 ANI 2 ; JE PA1 NULOVY ? [7] 1584 F6C0 C2 F6BC JNZ BITO1 ; NE - CEKEJ NA SESTUPNOU HRANU [10] 1585 F6C3 79 MOV A,C ; [5] 1586 F6C4 E6 01 ANI 1 ; VYBER <C0> [7] 1587 F6C6 D3 0B OUT ADRCT ; INSTRUKCE NASTAVENI/NULOVANI PC0 [10] 1588 F6C8 F1 POP PSW ; [10] (NYNI INTERFACE ZAPISUJE AUT. DRUHY KMYT) 1589 F6C9 C9 RET ; [10] 1590 ; 1591 ; 1592 ; 1593 ; B Y T I N [69/94] 1594 ; ========= 1595 ; 1596 ; PODPROGRAM PRO VSTUP JEDNOHO BYTU Z KAZETY. BYTE MA TVAR: 1597 ; 1598 ; 0 , 1/0 , 1/0 , 1/0 , 1/0 , 1/0 , 1/0 , 1/0 , 1/0 , 1 , 1 1599 ; D7 D6 D5 D4 D3 D2 D1 D0 1600 ; START BIT 2 X STOP BIT 1601 ; 1602 ; POSKOZENE REGISTRY: A,F 1603 ; 1604 F6CA C5 BYTIN: PUSH B ; [11] 1605 F6CB CD F6F0 BYTI2: CALL BITIN ; CTI BIT [41/59] 1606 F6CE C2 F6CB JNZ BYTI2 ; CEKEJ NA NULOVY START BIT [10] 1607 F6D1 01 0800 LXI B,0800H ; CITAC BITU V <B>, POM. BUNKA V <C> [10] 1608 F6D4 CD F6F0 BYTI0: CALL BITIN ; CTI BIT [41/59] 1609 F6D7 B1 ORA C ; SKLADEJ BYTE [4] 1610 F6D8 0F RRC ; [4] 1611 F6D9 4F MOV C,A ; [5] 1612 F6DA 05 DCR B ; VSECH 8 BITU DAT PRECTENO ? [5] 1613 F6DB C2 F6D4 JNZ BYTI0 ; NE - CTI DALSI BIT [10] 1614 F6DE CD F6F0 CALL BITIN ; CTI BIT [41/59] 1615 F6E1 CC F741 CZ BREAK ; NEJDE O JEDNICKOVY STOP BIT - PRERUSIT ? [5/11] 1616 F6E4 CA F6CB JZ BYTI2 ; NULOVY STOP BIT - SPLACHNI BYTE [10] 1617 F6E7 CD F6F0 CALL BITIN ; CTI BIT [41/59] 1618 F6EA CA F6CB JZ BYTI2 ; NEJDE O JEDNICKOVY STOP BIT - SPLACHNI BYTE [10] 1619 F6ED 79 MOV A,C ; V <A> DATA [5] 1620 F6EE C1 POP B ; [10] 1621 F6EF C9 RET ; SPRAVNY NAVRAT - FF-C = 0 [10] 1622 ; 1623 ; 1624 ; 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-29 1625 ; B I T I N [41/60] 1626 ; ========= 1627 ; 1628 ; PODPROGRAM PRO CTENI BITU Z KAZETY. BIT SE CTE INVERZNE, TZN. 1629 ; VYSSI KMITOCET MA BIT 0. 1630 ; 1631 ; POSKOZENE REGISTRY: A,F 1632 ; 1633 F6F0 DB 08 BITIN: IN ADRPA ; [10] 1634 F6F2 B7 ORA A ; JE PA7 JEDNICKOVY ? [4] 1635 F6F3 F2 F6F0 JP BITIN ; NE - CEKEJ NA VZESTUPNOU HRANU [10] 1636 F6F6 DB 08 BITI0: IN ADRPA ; [10] 1637 F6F8 B7 ORA A ; JE PA7 NULOVY ? [4] 1638 F6F9 FA F6F6 JM BITI0 ; NE - CEKEJ NA SESTUPNOU HRANU [10] 1639 F6FC E6 01 ANI 01H ; VYBER DATOVY PA0 [7] 1640 F6FE C9 RET ; [10] 1641 ; 1642 ; 1643 ; 1644 ; W R M E M [125/66] 1645 ; ========= 1646 ; 1647 ; PODPROGRAM PRO ZAPIS OBLASTI PAMETI, ZACINAJICI ADRESOU 1648 ; V <HL> A DELKY <C> BYTU. 1649 ; 1650 ; POSKOZENE REGISTRY: A,F,B,C,H,L 1651 ; 1652 F6FF 7E WRMEM: MOV A,M ; CTI BYTE Z PAMETI [5] 1653 F700 CD F693 CALL BYTOUT ; ZAPIS NA KAZETU [103/50] 1654 F703 0D DCR C ; VSECHNY BYTY ZAPSANY ? [5] 1655 F704 C8 RZ ; ANO - NAVRAT [5/11] 1656 F705 23 INX H ; [5] 1657 F706 C3 F6FF JMP WRMEM ; NE - ZAPIS DALSI BYTE [10] 1658 ; 1659 ; 1660 ; 1661 ; R D M E N [86/122] 1662 ; ========= 1663 ; 1664 ; PODPROGRAM KE CTENI DAT V POCTU <C> BUTU A JEJICH ULOZENI 1665 ; DO PAMETI POCINAJE ADRESOU <HL>. KONTROLNI SOUCET VYTVARI V <B>. 1666 ; 1667 ; POSKOZENE REGISTRY: A,F,B,C,H,L 1668 ; 1669 F709 CD F6CA RDMEM: CALL BYTIN ; CTI BYTE Z KAZETY [69/89] 1670 F70C 77 MOV M,A ; ULOZ DO PAMETI [7] 1671 F70D 80 ADD B ; [5] 1672 F70E 47 MOV B,A ; KONTR. SOUCET DO <B> [5] 1673 F70F 0D DCR C ; VSECHNY RYTY PRECTENY ? [5] 1674 F710 C8 RZ ; ANO - NAVRAT [5/11] 1675 F711 23 INX H ; [5] 1676 F712 C3 F709 JMP RDMEM ; NE - CTI DALSI BYTE [10] 1677 ; 1678 ; 1679 ; 1680 ; P U N C H 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-30 1681 ; ========= 1682 ; 1683 ; PODPROGRAM VYDEROVANI BYTU DAT A VYTVORENI KONTROLNIHO SOUCTU. 1684 ; 1685 ; POSKOZENE REGISTRY: A,B,F 1686 F715 CD F741 PUNCH: CALL BREAK ; PRERUSIT ? 1687 F718 79 MOV A,C 1688 F719 80 ADD B 1689 F71A 47 MOV B,A ; VYTVORENI KONTROLNIHO SOUCTU 1690 F71B CD F80C CALL PO 1691 F71E DC F758 CC BREA1 ; CHYBA ? 1692 F721 C9 ERR22: RET 1693 ; 1694 ; 1695 ; 1696 ; D P U N C H 1697 ; =========== 1698 ; 1699 ; PODPROGRAM VYDEROVANI DVOU BYTE DAT Z <HL>. 1700 ; 1701 ; POSKOZENE REGISTRY: A,B,F 1702 ; 1703 F722 4D DPUNCH: MOV C,L 1704 F723 CD F715 CALL PUNCH 1705 F726 4C MOV C,H 1706 F727 C3 F715 JMP PUNCH 1707 ; 1708 ; 1709 ; 1710 ; R I N C H 1711 ; ========= 1712 ; 1713 ; PODPROGRAM PRECTENI BYTU DAT A VYTVORENI KONTROLNIHO SOUCTU. 1714 ; 1715 F72A CD F741 RINCH: CALL BREAK ; PRERUSIT ? 1716 F72D CD F806 CALL RI 1717 F730 F5 PUSH PSW 1718 F731 80 ADD B 1719 F732 47 MOV B,A ; VYTVORENI KONTROLNI SOUCET 1720 F733 F1 POP PSW 1721 F734 C9 RET 1722 ; 1723 ; 1724 ; 1725 ; D R I N C H 1726 ; =========== 1727 ; 1728 ; PODPROGRAM PRO PRECTENI DVOU BYTU A ULOZENI DO <HL>. 1729 ; 1730 ; POSKOZENE REGISTRY: A,H,L 1731 ; 1732 F735 CD F72A DRINCH: CALL RINCH 1733 F738 6F MOV L,A 1734 F739 CD F72A CALL RINCH 1735 F73C 67 MOV H,A 1736 F73D C9 RET 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-31 1737 F73E FE 41 CPI 'A' ; JDE A ASCII BLOK ? 1738 F740 C9 RET 1739 ; 1740 ; 1741 ; 1742 ;################################################################ 1743 ; 1744 ; OBLAST POMOCNYCH PODPROGRAMU 1745 ; **************************** 1746 ; 1747 ; 1748 ; 1749 ; B R E A K 1750 ; ========= 1751 ; 1752 ; PODPROGRAM BREAK SLEDUJE, ZDA BYLA STISKNUTA KLAVESA CTRL [ 1753 ; TJ. ESC. POKUT NE, PROVEDE NAVRAT BEZ POSKOZENI REGISTRU. 1754 ; POKUT ANO, PROVEDE INICIACI MAGNETOFONU, VYPISE '#', SKOCI 1755 ; DO OBSLUHY PRUSENI (VYPISE OBSAH REGISTRU) A SKOCI DO 1756 ; MONITORU. NAVIC SE PRI CHYBE ROZNE PRISLUSNA LED. 1757 ; 1758 ; POSKOZENE REGISTRY: - - - 1759 ; 1760 F741 F5 BREAK: PUSH PSW 1761 F742 CD F812 CALL CSTS 1762 F745 C4 F74A CNZ BREA0 1763 F748 F1 POP PSW 1764 F749 C9 RET 1765 ; 1766 F74A CD F803 BREA0: CALL CI 1767 F74D FE 1B CPI ESC ; JDE O 'ESC' = CTRL [ 1768 F74F C0 RNZ ; NE - NAVRAT 1769 F750 F1 POP PSW 1770 F751 F1 POP PSW ; NA VRCHOL ZASOBNIKU PUVODNI NANR. ADRESA 1771 F752 CD F758 BREA2: CALL BREA1 ; ZOBRAZ KOD CHYBY 1772 F755 C3 F839 ERR21: JMP NEXT ; SKOK DO MONITORU 1773 ; 1774 F758 F5 BREA1: PUSH PSW 1775 F759 CD F82A CALL ERROR ; ZOBRAZ "#" 1776 F75C CD F824 CALL CRLF 1777 F75F 3E 0D MVI A,PC6SET 1778 F761 D3 0B OUT ADRCT ; ROZNUTI LED CHYBA 1779 F763 F1 POP PSW 1780 F764 C9 RET 1781 ; 1782 ; 1783 ; 1784 ; R E S T R 1785 ; ========= 1786 ; 1787 ; PODPROGRAM PRO VYPNUTI MOTORKU MAGNETOFONU A ZABLOKOVANI 1788 ; MODEMU. NEOVLIVNI STAV LED CHYBA. 1789 ; 1790 ; POSKOZENE REGISTRY: - - - 1791 ; 1792 F765 F5 RESTR: PUSH PSW 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-32 1793 F766 DB 0A IN ADRPC 1794 F768 E6 40 ANI 01000000B ; VYBER PRIZNAK CHYBY 1795 F76A F6 10 ORI 00010000B ; PASIVACE INTRFACE MAGNETOFONU 1796 F76C D3 0A OUT ADRPC 1797 F76E F1 POP PSW 1798 F76F C9 RET 1799 ; 1800 ; 1801 ; 1802 ; S E T T R 1803 ; ========= 1804 ; 1805 ; PODPROGRAM PRO SPOSTENI MOTORKU MAGNETOFONU, PO SPOSTENI 1806 ; CEKA WAITTR MS NA ROZBEHNUTI. 1807 ; 1808 ; POSKOZENE REGISTRY: - - - 1809 ; 1810 F770 F5 SETTR: PUSH PSW 1811 F771 C5 PUSH B 1812 F772 3E 07 MVI A,PC3SET 1813 F774 D3 0B OUT ADRCT ; SPOSTENI MOTORKU 1814 F776 01 0064 LXI B,WAITTR 1815 F779 CD F84B CALL TIMER ; CEKEJ 1816 F77C DB 0A IN ADRPC 1817 F77E E6 E0 ANI 11100000B ; VYBER PRIZNAK CHYBY, CTENI A ZAPISU 1818 F780 F6 0F ORI 00001111B ; NASTAV GENERACI JEDNICKY 1819 F782 D3 0A OUT ADRPC ; GENERACE '1' 1820 F784 C1 POP B 1821 F785 F1 POP PSW 1822 F786 C9 RET 1823 ; 1824 ; 1825 ; 1826 ; P L A Y T X 1827 ; =========== 1828 ; 1829 ; PODPROGRAM SLOUZI K VYPSANI TEXTU 'PLAY ' 1830 ; 1831 ; POSKOZENE REGISTRY: A,F,C,H,L 1832 ; 1833 F787 CD F842 PLAYTX: CALL IMTXT 1834 F78A 0D 0A 50 4C DB CR,LF,'PLA','Y' OR 80H ; ZOBRAZ TEXT 1835 F78E 41 D9 1836 F790 C3 F79E JMP DONETX ; ZOBRAZ 'DONE' 1837 ; 1838 ; 1839 ; 1840 ; R E C T X 1841 ; ========= 1842 ; 1843 ; PODPROGRAM SLOUZI K ZOBRAZENI TEXTU 'RECORD '. 1844 ; 1845 ; POSKOZENE REGISTRY: A,F,C,H,L 1846 ; 1847 F793 CD F842 RECTX: CALL IMTXT 1848 F796 0D 0A 52 45 DB CR,LF,'RECOR','D' OR 80H ; ZOBRAZ TEXT 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-33 1849 F79A 43 4F 52 C4 1850 ; 1851 ; 1852 ; 1853 ; D O N E T X 1854 ; =========== 1855 ; 1856 ; PODPROGRAM SLOUZI K ZOBRAZENI TEXTU 'DONE '. 1857 ; 1858 ; POSKOZENE REGISTRY: A,F,C,H,L 1859 ; 1860 F79E CD F842 DONETX: CALL IMTXT 1861 F7A1 20 44 4F 4E DB ' DON','E' OR 80H ; ZOBRAZ TEXT 1862 F7A5 C5 1863 ; 1864 ; 1865 ; 1866 ; R E Q T X 1867 ; ========= 1868 ; 1869 ; PODPROGRAM K ZOBRAZENI '?' A CEKANI NA KLAVESU. ZNAK SROVNA 1870 ; S 'Y' A NASTAVY <FF-Z>. 1871 ; 1872 ; POSKOZENE REGISTRY: A,F,C,H,L 1873 ; 1874 F7A6 CD F842 REQTX: CALL IMTXT 1875 F7A9 20 3F 3A 87 DB ' ?:',BELL OR 80H ; ZOBRAZ '?:' 1876 F7AD CD F854 CALL ECHO ; VSTUP A ZOBRAZENI ZNAKU 1877 F7B0 FE 59 CPI 'Y' ; JDE O 'Y' 1878 F7B2 C9 RET 1879 ; 1880 ; 1881 ; 1882 ; G E T R D B 1883 ; =========== 1884 ; 1885 ; PODPROGRAM ULOZI DO <HL> ADRESU BUFFERU SNIMACE. 1886 ; 1887 ; POSKOZENE REGISTRY: H,L 1888 ; 1889 F7B3 21 01B3 GETRDB: LXI H,RDADR 1890 F7B6 C3 F526 JMP NAMIA 1891 ; 1892 ; 1893 ; 1894 ; G E T P N B 1895 ; =========== 1896 ; 1897 ; PODPROGRAM ULOZI DO <HL> ADRESU BUFFERU DEROVACE. 1898 ; 1899 ; POSKOZENE REGISTRY: H,L 1900 ; 1901 F7B9 21 01B0 GETPNB: LXI H,PNADR 1902 F7BC C3 F526 JMP NAMIA 1903 ; 1904 ; 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-34 1905 ; 1906 ; G E T R S T 1907 ; =========== 1908 ; 1909 ; PODPROGRAM ULOZI ADRESU STATUSU CTENI DO <HL> A JEHO HODNOTU 1910 ; DO <A>. 1911 ; 1912 ; POSKOZENE REGISTRY: H,L,A,F 1913 ; 1914 F7BF 21 01BB GETRST: LXI H,RDSTS 1915 F7C2 CD F84E GETC0: CALL GETADR 1916 F7C5 7E MOV A,M 1917 F7C6 C9 RET 1918 ; 1919 ; 1920 ; 1921 ; G E T N M 1 1922 ; =========== 1923 ; 1924 ; PODPROGRAM ULOZI ADRESU OBLASTI NAME1 DO <HL>. 1925 ; 1926 ; POSKOZENE REGISTRY: H,L 1927 ; 1928 F7C7 21 0130 GETNM1: LXI H,NAME1 1929 F7CA C3 F84E JMP GETADR 1930 ; 1931 ; 1932 ; 1933 ; G E T N M 2 1934 ; =========== 1935 ; 1936 ; PODPROGRAM ULOZI ADRESU OBLASTI NAME2 DO <HL> 1937 ; 1938 ; POSKOZENE REGISTRY: H,L 1939 ; 1940 F7CD 21 0170 GETNM2: LXI H,NAME2 1941 F7D0 C3 F84E JMP GETADR 1942 ; 1943 ; 1944 ; 1945 ; G E T P P O 1946 ; =========== 1947 ; 1948 ; PODPROGRAM ULOZI ADRESU UKAZATELE DEROVACE DO <HL>, JEHO 1949 ; OBSAH DO <A>. 1950 ; 1951 ; POSKOZENE REGISTRY: A,F,H,L 1952 ; 1953 F7D3 21 01B2 GETPPO: LXI H,PNPOI 1954 F7D6 C3 F7C2 JMP GETC0 1955 ; 1956 ; 1957 ; 1958 ; G E T P S T 1959 ; =========== 1960 ; 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-35 1961 ; PODPROGRAM ULOZI ADRESU STATUSU ZAPISU DO <HL> A JEHO 1962 ; HODNOTU DO <A>. 1963 ; 1964 ; POSKOZENE REGISTRY: A,F,H,L 1965 F7D9 21 01BA GETPST: LXI H,PNSTS 1966 F7DC C3 F7C2 JMP GETC0 1967 ; 1968 ; 1969 ; 1970 ; G E T T M P 1971 ; =========== 1972 ; 1973 ; PODPROGRAM UMISTI DO <HL> ADRESU POMOCNE OBLASTI TMPAR 1974 ; 1975 ; POSKOZENE REGISTRY: H,L 1976 ; 1977 F7DF 21 01F0 GETTMP: LXI H,TMPAR 1978 F7E2 C3 F84E JMP GETADR 1979 ; 1980 ; 1981 ; 1982 ; G E T P B C 1983 ; =========== 1984 ; 1985 ; PODPROGRAM VYNULUJE CITACE BLOKU A DO <HL> ULOZI ADRESU CITACE 1986 ; SOUBORU. 1987 ; 1988 ; POSKOZENE REGISTRY: A,F,H,L 1989 ; 1990 F7E5 21 01B6 GETPBC: LXI H,PBLKC 1991 F7E8 CD F84E CALL GETADR 1992 F7EB 36 00 MVI M,0 1993 F7ED 23 INX H 1994 F7EE C9 RET 1995 ; 1996 ; 1997 ; 1998 ; G E T C T N 1999 ; =========== 2000 ; 2001 ; PODPROGRAM ULOZI CISLO SOUBORU NAPOSLED PRECTENEHO BLOKU 2002 ; POPROGRAMEM RDBUF DO <A>. 2003 ; 2004 ; POSKOZENE REGISTRY: A,F 2005 ; 2006 F7EF E5 GETCTN: PUSH H 2007 F7F0 D5 PUSH D 2008 F7F1 CD F7DF CALL GETTMP ; ADRESA POMOCNE OBLASTI 2009 F7F4 11 000C LXI D,12 ; ODSTUP CISLA SOUBORU 2010 F7F7 19 DAD D 2011 F7F8 7E MOV A,M 2012 F7F9 D1 POP D 2013 F7FA E1 POP H 2014 F7FB C9 RET 2015 ; 2016 ; 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE 1-36 2017 ; 2018 ;################################################################ 2019 ; 2020 ; 2021 ; 2022 F7FC FF FF FF FF DB 0FFH,0FFH,0FFH,0FFH 2023 .DEPHASE 2024 END 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE S Macros: Symbols: 0004 ADRCIN 000B ADRCT 0000 ADRDCT F845 ADRKUR 0008 ADRPA 0009 ADRPB 000A ADRPC F385 APEND F65D ASCI0 F66F ASCI1 F682 ASCI2 F68E ASCI3 F65A ASCIN F82D ASHEX F857 BACST 0007 BELL F6F6 BITI0 F6F0 BITIN F6B5 BITO0 F6BC BITO1 F6B4 BITOUT 0000 BLANK F74A BREA0 F758 BREA1 F752 BREA2 F741 BREAK 0008 BS 00FF BUFLEN F6D4 BYTI0 F6CB BYTI2 F6CA BYTIN F6A0 BYTO0 F693 BYTOUT F803 CI F83F CINCR F376 CLOS0 F37D CLOS1 F350 CLOSE F57C CMPBU0 F568 CMPBUF F542 CMPN0 F546 CMPN1 F55E CMPN2 F564 CMPN3 F52E CMPNAM F809 CO F800 COLDST 00EF COMLEN 000D CR F824 CRLF F812 CSTS 0092 CTRLWD F830 DADR F833 DBYTE 007F DEL F266 DIR F270 DIR0 F28E DIR1 F285 DIR2 F79E DONETX F722 DPUNCH F735 DRINCH F854 ECHO F0AA EER1 F1EE EER10 F1F7 EER11 F213 EER12 F21B EER13 F358 EER14 F456 EER15 F45A EER16 F466 EER17 F4BB EER18 F585 EER19 F032 EER2 F58D EER20 F755 EER21 F721 EER22 F0EA EER3 F0F5 EER4 F10A EER5 F139 EER6 F170 EER7 F1D9 EER8 F1DF EER9 F13C EOF 0003 EOT F0AA ERR1 F1EE ERR10 F1F7 ERR11 F213 ERR12 F21B ERR13 F358 ERR14 F456 ERR15 F45A ERR16 F466 ERR17 F4BB ERR18 F585 ERR19 F032 ERR2 F58D ERR20 F755 ERR21 F721 ERR22 F0EA ERR3 F0F5 ERR4 F10A ERR5 F139 ERR6 F170 ERR7 F1D9 ERR8 F1DF ERR9 F82A ERROR 001B ESC 00A0 ETX F827 EXPR F4B4 FIND 0B40 G1LEN 00A0 G2LEN 7D00 G3LEN 0140 GAPBIT F84E GETADR F7C2 GETC0 F7EF GETCTN F7C7 GETNM1 F7CD GETNM2 F7E5 GETPBC F7B9 GETPNB F7D3 GETPPO F7D9 GETPST F7B3 GETRDB F7BF GETRST F7DF GETTMP F836 HILO F848 HXASC F842 IMTXT F1B0 INI0 F1B3 INI1 F1B6 INI2 F821 INTER F815 IOCHK F81E IODEF F818 IOSET F155 JOIN F18C JOIN0 F2DB KI F306 KI0 F312 KI1 F316 KI2 F322 KO F33D KO0 000A LF 0035 LINECO F80F LO F25D LOAD F5DD MAMTX F81B MEMCK 0130 NAME1 0170 NAME2 'OVLADACI PROGRAM MODEMU MAGNETOFONU V.3.X' MACRO-80 3.44 09-Dec-81 PAGE S-1 F521 NAMI1 F519 NAMI2 F50B NAMI3 F526 NAMIA F4E7 NAMIN 000B NAMLEN F5F2 NAMNUM F5E5 NAMT0 F839 NEXT F5B0 NULB1 F5A2 NULBUF F592 NULNAM F487 OPAPP F45E OPEN 0010 PASWD F06C PBEG 01B6 PBLKC F089 PBYTE 0000 PC0RES 0001 PC0SET 0002 PC1RES 0003 PC1SET 0006 PC3RES 0007 PC3SET 0008 PC4RES 0009 PC4SET 000A PC5RES 000B PC5SET 000C PC6RES 000D PC6SET 000E PC7RES 000F PC7SET 01B7 PFILC F787 PLAYTX 01B0 PNADR 01B2 PNPOI 01BA PNSTS F80C PO F0A4 POC F715 PUNCH F221 PUT F247 PUT0 F227 PUT1 F200 QUA0 F1D9 QUA1 F1BE QUAFF 01B8 RBLKC 01B3 RDADR F42B RDBU0 F430 RDBU1 F40E RDBU3 F3FF RDBUF F709 RDMEM 01B5 RDPOI 01BB RDSTS 0008 RDYCIN F0AB READ F0B4 READ1 F0B6 READ2 F0F8 READ3 F0E2 READ4 F11A READ5 F793 RECTX F7A6 REQTX F765 RESTR 01B9 RFILC F806 RI F133 RIC F72A RINCH F641 SEAR0 F60E SEAR1 F637 SEAR2 F658 SEAR3 F60B SEARCH F770 SETTR F83C SPACE 0020 SPC F5C9 SRGA0 F5CC SRGA1 F5C8 SRGAP F851 STJMB 001A SUBS F000 TAPREC F84B TIMER 01F0 TMPAR F29E UNNAM 0031 UREND 0064 WAITTR F398 WRBUF F5BA WRGAP F039 WRIT1 F04E WRIT2 F051 WRIT3 F05A WRIT4 F02B WRITE F6FF WRMEM No Fatal error(s) ADRCIN 177# ADRCT 183# 544 762 937 954 1013 1587 1778 1813 ADRDCT 178# ADRKUR 149# ADRPA 180# 1579 1582 1633 1636 ADRPB 181# ADRPC 182# 576 1793 1796 1816 1819 APEND 275 908# ASCI0 1507# 1516 1522 1530 ASCI1 1514# ASCI2 1513 1523# ASCI3 1509 1531# ASCIN 1174 1504# ASHEX 141# 472 479 BACST 155# 1519 1521 BELL 215# 1875 BITI0 1636# 1638 BITIN 1366 1605 1608 1614 1617 1633# 1635 BITO0 1579# 1581 BITO1 1582# 1584 BITOUT 1345 1553 1556 1563 1564 1578# BLANK 216# 891 1324 BREA0 1762 1766# BREA1 329 401 440 445 454 489 551 608 612 618 623 640 643 875 1050 1052 1071 1120 1279 1285 1691 1771 1774# BREA2 1511 1771# BREAK 951 1030 1367 1615 1686 1715 1760# BS 212# 1512 BUFLEN 221# 963 1039 1320 BYTI0 1608# 1613 BYTI2 1605# 1606 1616 1618 BYTIN 1034 1045 1048 1604# 1669 BYTO0 1556# 1561 BYTOUT 958 960 962 969 971 973 975 977 1547# 1653 CI 127# 1507 1766 CINCR 147# CLOS0 890# 893 CLOS1 889 894# CLOSE 284 512 684 872# CMPBU0 1273 1275# CMPBUF 801 1263# CMPN0 1228 1231# CMPN1 1233# 1243 CMPN2 1236 1245# CMPN3 1238 1240 1244 1247# CMPNAM 1222# 1458 1463 CO 129# 733 1392 1527 COLDST 126# COMLEN 219# 1171 CR 211# 369 419 749 878 1074 1087 1163 1508 1834 1848 CRLF 138# 713 730 1122 1388 1776 CSTS 132# 1761 CTRLWD 184# 543 DADR 142# DBYTE 143# 1415 1419 DEL 214# DIR 277 710# DIR0 714# 722 731 DIR1 728# 735 DIR2 720 723# DONETX 699 1836 1860# DPUNCH 667 669 1703# DRINCH 613 615 1732# ECHO 154# 1876 EER1 236# EER10 245# EER11 246# EER12 247# EER13 248# EER14 249# EER15 250# EER16 251# EER17 252# EER18 253# EER19 254# EER2 237# EER20 255# EER21 256# EER22 257# EER3 238# EER4 239# EER5 240# EER6 241# EER7 242# EER8 243# EER9 244# EOF 283 500# EOT 210# ERR1 236 402# ERR10 245 619# ERR11 246 624# ERR12 247 641# ERR13 248 644# ERR14 249 876# ERR15 250 1051# ERR16 251 1053# ERR17 252 1072# ERR18 253 1121# ERR19 254 1280# ERR2 237 330# ERR20 255 1286# ERR21 256 1772# ERR22 257 1692# ERR3 238 441# ERR4 239 446# ERR5 240 455# ERR6 241 490# ERR7 242 552# ERR8 243 609# ERR9 244 613# ERROR 140# 1775 ESC 218# 1510 1767 ETX 209# 1237 1531 EXPR 139# 331 415 501 598 659 908 FIND 599 787 1118# G1LEN 201# 955 G2LEN 202# 978 G3LEN 203# 763 GAPBIT 200# 1365 GETADR 152# 579 1129 1135 1193 1275 1410 1915 1929 1941 1978 1991 GETC0 789 938 1017 1915# 1954 1966 GETCTN 1083 1138 2006# GETNM1 1166 1226 1305 1928# GETNM2 943 1179 1229 1306 1940# GETPBC 914 1082 1990# GETPNB 661 758 853 880 945 1093 1172 1322 1901# GETPPO 842 883 1104 1953# GETPST 327 510 746 766 838 873 912 1026 1069 1125 1965# GETRDB 603 717 793 808 1321 1889# GETRST 412 644 710 785 817 947 1096 1118 1914# GETTMP 1022 1387 1977# 2008 HILO 144# 634 678 HXASC 150# 388 393 IMTXT 148# 540 748 877 1073 1086 1162 1833 1847 1860 1874 INI0 554 563 566 579# 757 INI1 559 567 568 580# INI2 552 557 582# INTER 137# IOCHK 133# IODEF 136# 571 574 IOSET 134# JOIN 271 540# JOIN0 272 464 564# KI 279 569 782# KI0 792 803# KI1 812# 821 KI2 796 816# KO 280 572 834# KO0 845 848# LF 213# 371 422 749 878 1074 1087 1164 1834 1848 LINECO 160# 1409 LO 131# LOAD 276 698# MAMTX 724 1245 1386# 1412 MEMCK 135# 545 NAME1 161# 1928 NAME2 162# 1940 NAMI1 1177 1187# NAMI2 1181# 1186 NAMI3 1169 1174# NAMIA 1024 1193# 1232 1445 1476 1890 1902 NAMIN 753 1077 1090 1124 1157# NAMLEN 220# 966 1042 1165 1180 1225 1304 1386 NAMNUM 1267 1409# 1452 1472 NAMT0 1389# 1395 NEXT 145# 1772 NULB1 1308 1325# 1328 NULBUF 841 1101 1170 1317# NULNAM 1161 1301# OPAPP 916 1086# OPEN 660 840 1068# PASWD 185# 575 PBEG 356 368# 506 PBLKC 167# 564 755 935 1016 1274 1990 PBYTE 359 364 376 378 380 382# 509 PC0RES 186# PC0SET 187# PC1RES 188# 761 953 PC1SET 189# PC3RES 190# PC3SET 191# 1812 PC4RES 192# PC4SET 193# PC5RES 194# PC5SET 195# 1012 PC6RES 196# PC6SET 197# 1777 PC7RES 198# PC7SET 199# 936 PFILC 168# PLAYTX 712 1028 1078 1127 1833# PNADR 163# 553 1079 1230 1901 PNPOI 164# 1953 PNSTS 171# 1965 PO 130# 400 1690 POC 370 372 374 389 394 400# PUNCH 665 671 673 677 681 683 1686# 1704 1706 PUT 274 659# PUT0 676# 679 PUT1 661# 909 QUA0 632# 635 QUA1 606 610# QUAFF 273 597# RBLKC 169# 1014 1134 1272 RDADR 165# 714 797 1131 1227 1889 RDBU0 1032# 1036 RDBU1 1034# 1038 RDBU3 1015 1017# RDBUF 716 799 1010# 1442 1470 RDMEM 1040 1043 1669# 1676 RDPOI 166# 788 1128 RDSTS 172# 1914 RDYCIN 179# READ 282 412# READ1 416# 446 READ2 418# 420 423 426 READ3 429 447# READ4 437# 443 READ5 428 431 433 436 437 444 448 450 452 453 470# RECTX 754 949 1098 1847# REQTX 1246 1874# RESTR 700 980 1054 1792# RFILC 170# RI 128# 488 1716 RIC 418 421 424 471 478 488# RINCH 601 616 620 632 637 641 1715# 1732 1734 SEAR0 1467# 1479 SEAR1 1438# 1455 1460 1464 SEAR2 1448 1461# SEAR3 1459 1482# SEARCH 1081 1133 1435# SETTR 698 760 952 1031 1810# SPACE 146# 1413 1416 1520 SPC 208# SRGA0 1365# 1368 SRGA1 1366# 1372 SRGAP 1032 1364# STJMB 153# 580 SUBS 217# 642 682 819 TAPREC 124# 267 TIMER 151# 1815 TMPAR 173# 1977 UNNAM 278 746# UREND 159# 561 WAITTR 204# 1814 WRBUF 765 846 896 935# 1099 WRGAP 764 956 979 1343# 1351 WRIT1 334# 366 WRIT2 345 348# WRIT3 347 350# WRIT4 357# 361 WRITE 281 327# WRMEM 964 967 1652# 1657
Ú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