Ú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
1 PAGE 66 MACRO-80 3.44 09-Dec-81 PAGE 1 2 3 ;******************************************************* 4 ;* * 5 ;* B D O S p r o Z P S 2 * 6 ;* * 7 ;******************************************************* 8 ; 9 ; modify Jiri Hlavac 10 ; 22.3.1988 11 ; 12 ;************************************************************* 13 .z80 14 15 16 0DF9 longBD EQU $next - bdosb ;delka BDOSu (max 0E00H) 17 ;******************************************************* 18 19 40E2 iobyte EQU 40E2H ;adresa IOBYTU v MONITORU ZPS2 20 4280 dmaad EQU 4280H ;implicitni buffer 21 4300 ramb EQU 4300H ;zacatek pouzitelne RAM 22 4400 TPA EQU 4400H ;zacatek uzivatelske oblasti 23 24 0E00 bdosl EQU 0E00H ;delka BDOS 25 F000 bdosb EQU 0F000H ;baze BDOS 26 FE00 biosb EQU bdosb + bdosl ;baze BIOS 27 28 F006 bdos EQU bdosb + 6 ;vstupni bod BDOS 29 FE00 bios EQU biosb ;vstupni bod BIOS 30 FE03 reboot EQU bios+3 ;adresa restartu 31 ;******************************************************* 32 33 .PHASE bdosb 34 35 F000 5A 50 53 2D SSEQ: DEFB 'ZPS-2 ' ; SYNCHRO SEKVENCE 36 F004 32 20 37 F006 C3 F011 JP BD100 ; VSTUPNI BOD B D O S 38 39 ; TABULKA ADRES PROCEDUR ZPRACOVANI CHYBOVYCH STAVU 40 41 F009 F099 BDSJPA: DEFW BADSEC ; BAD SECTOR 42 F00B F0A5 SLEJPA: DEFW SELERR ; ERROR SELECT 43 F00D F0AB ROEJPA: DEFW ROERR ; READ ONLY ERROR 44 F00F F0B1 FROJPA: DEFW FROERR ; FILE READ ONLY ERROR 45 ; 46 ; 47 ; 48 F011 EB BD100: EX DE,HL ; ADRESA FCB DO [HL] 49 F012 22 F34E LD (FCBSAV),HL ; USCHOVA ADRESY FCB 50 F015 EB EX DE,HL ; 51 F016 7B LD A,E ; USCHOVA REG.[E] 52 F017 32 FDDE LD (ESAV),A ; 53 F01A 21 0000 LD HL,0 ; NULA DO [HL] 54 F01D 22 F350 LD (RETPRM),HL ; NULOVANI NAVRATOVEHO PAR. 55 F020 39 ADD HL,SP ; [SP] DO [HL] 56 F021 22 F34A LD (SPSAV),HL ; USCHOVA UZIV. ZASOBNIKU 57 F024 31 F34A LD SP,BDSP ; NASTAVENI [SP] PRO BDOS 58 F027 AF XOR A ; NULA DO [A] 59 F028 32 FDE8 LD (UNITNO),A ; NULOVANI # DISK. JEDNOTKY 60 F02B 32 FDE6 LD (DSKFLG),A ; NILOVANI DISK FLAG 61 F02E 21 FD7C LD HL,RTBDOS ; PRIPRAVA NAVRATOVE ADRESY 62 F031 E5 PUSH HL ; Z BDOS DO [SP] MACRO-80 3.44 09-Dec-81 PAGE 1-1 63 F032 79 LD A,C ; CISLO SLUZBY DO [A] 64 F033 FE 29 CP 41 ; TEST CISLA SLUZBY < 40 65 F035 D0 RET NC ; NAVRAT PRI NEPLATNEH # SLUZBY 66 F036 4B LD C,E ; PRESUN [E] DO [C] 67 F037 21 F047 LD HL,CHDJPT ; VST.BOD TAB.ADRES SLUZEB BDOS 68 F03A 5F LD E,A ; # SLUZBY DO [E] 69 F03B 16 00 LD D,0 ; NULA DO [D] 70 F03D 19 ADD HL,DE ; VYPOCET ADRESY PROCEDURY 71 F03E 19 ADD HL,DE ; SLUZBY BDOS 72 F03F 5E LD E,(HL) ; A JEJI PRESUN DO [DE] 73 F040 23 INC HL 74 F041 56 LD D,(HL) ; 75 F042 2A F34E LD HL,(FCBSAV) ; INICIALIZACE FCB ADR 76 F045 EB EX DE,HL ; 77 F046 E9 JP (HL) ; SKOK DO PROCEDURY SLUZBY 78 ; 79 ; 80 ; PRI SKOKU DO PROCEDURY SLUZBY BDOS JSOU PAMET A REGIST- 81 ; RY NASTAVENY TAKTO: 82 ; 83 ; REG [C] OBSAHUJE [E] PRED VOLANIM BDOS 84 ; [DE] OBSAHUJE [DE] PRED VOLANIM BDOS 85 ; 86 ; PAMET ESAV OBSAHUJE USCHOVANY [E] 87 ; FCBSAV OBSAHUJE USCHOVANY [DE] 88 ; SPSAV OBSAHUJE USCHOVANY UZIVATELSKY [SP] 89 ; 90 ; STACK ADRESA NAVRATOVE PROCEDURY Z BDOS 91 ; 92 ; 93 ; 94 ; TABULKA ADRES SLUZEB BDOS 95 ; 96 ; 97 F047 FE03 CHDJPT: DEFW BIOS+03H ; CMD 00- RESET SYSTEMU (BOOT) 98 F049 F2C8 DEFW CONINP ; CMD 01- VSTUP ZNAKU Z KONZOLY 99 F04B F190 DEFW CONOUT ; CMD 02- VYST.ZNAKU NA KONZOLU 100 F04D F2CE DEFW RDINP ; CMD 03- VST.ZNAKU ZE SNIMACE 101 F04F FE12 DEFW BIOS+12H ; CMD 04- VYST.ZNAKU NA DEROVAC 102 F051 FE0F DEFW BIOS+0FH ; CMD 05- VYST.ZNAKU NA TISKARN 103 F053 F2D4 DEFW DCONIO ; CMD 06- PRIHY I/O NA KONZOLU 104 F055 F2E6 DEFW GETIOB ; CMD 07- DEJ I/O BYTE 105 F057 F2EC DEFW SETIOB ; CMD 08- NASTAV I/O BYTE 106 F059 F2F1 DEFW PRTSTG ; CMD 09- VYPIS ASCII RETEZEC 107 F05B F1E1 DEFW RDCONB ; CMD 10- CTI RETEZEC Z KONZOLY 108 F05D F2F7 DEFW GCOSTS ; CMD 11- DEJ STATUS KONZOLY 109 F05F FC83 DEFW RETVER ; CMD 12- DEJ CISLO VERZE OS 110 F061 FC88 DEFW RESDSY ; CMD 13- RESET DISK. SYSTEHU 111 F063 FC4A DEFW SELDSK ; CMD 14- VYBER DISK 112 F065 FCA1 DEFW OPFIL ; CMD 15- OTEVRI SOUBOR 113 F067 FCAA DEFW CLFIL ; CMD 16- ZAVRI SOUBOR 114 F069 FCB0 DEFW SFFRST ; CMD 17- HLEDEJ PRVNI VYSKYT 115 ; V ADRESARI 116 F06B FCCD DEFW SFNEXT ; CMD 18- HLEDEJ DALSI VYSKYT 117 ; V ADRESARI 118 F06D FCDC DEFW DELFIL ; CMD 19- ZRUS SOUBOR 119 F06F FCE5 DEFW RDSEQ ; CMD 20- SEKVENCNI CTENI 120 F071 FCEB DEFW WRTSEQ ; CMD 21- SEKVENCNI ZAPIS 121 F073 FCF1 DEFW MAKFIL ; CMD 22- ZALOZ SOUBOR 122 F075 FCFA DEFW RENFIL ; CMD 23- PREJHENUJ SOUBOR 123 F077 FD03 DEFW RETLOG ; CMD 24- VRAT VEKTOR AKTIVNICH 124 ; DISKU MACRO-80 3.44 09-Dec-81 PAGE 1-2 125 F079 FD09 DEFW RETCDK ; CMD 25- VRAT # VYBRANEHO DISKU 126 F07B FD0F DEFW SETDMA ; CMD 26- NASTAV DMA ADREQU 127 F07D FD19 DEFW GETALC ; CMD 27- DEJ ADR.ALOKACN.VEKT, 128 F07F F52D DEFW WRTPRT ; CMD 28- OZNAC DISK JAKO R/O 129 F081 FD1F DEFW GETROV ; CMD 29- DEJ ADRESU R/O VEKTORU 130 F083 FD25 DEFW SETFAT ; CMD 30- NASTAV ATRIB. SOUBORU 131 F085 FD2E DEFW GETDPA ; CMD 31- DEJ ADR.PARAM. DISKU 132 F087 FD35 DEFW SGUCD ; CMD 32- DEJ/ZMEN # UZIVATELE 133 F089 FD49 DEFW RDRND ; CMD 33- PRIME CTENI ZE SOUBORU 134 F08B FD4F DEFW WRTRND ; CMD 34- PRIMY ZAPIS DO SOUBORU 135 F08D FD55 DEFW CFSIZE ; CMD 35- VYPOC. DELKU SOUBORU 136 F08F FD16 DEFW SRNDRC ; CMD 36- NASTAV CISLO ZAZNAMU 137 ; PRO PRIMY ZAPIS 138 F091 FD5B DEFW RESDSK ; CMD 37- RESET DISK. JEDNOTKY 139 F093 F2FD DEFW RETRET ; CMD 38- NEIMPLEMENTOVANO 140 F095 F2FD DEFW RETRET ; CMD 39- NEIMPLEMENTOVANO 141 F097 FDA3 DEFW WRRDZF ; CMD 48- POPIS ALOKACNI BLOK 142 ; NULANI A ULOZ ZAZNAM 143 ; 144 ; 145 ; CHYBOVE PROCEDURY BDOS 146 ; 147 F099 21 F0CA BADSEC: LD HL,BDSMSG ; ADRESA HLASENI DO [HL] 148 F09C CD F0E5 CALL BDOSER ; VYPIS HLASENI 149 F09F FE 03 CP 03H ; TEST ZADANI CTRL-C 150 F0A1 CA FE03 JP Z,REBOOT ; CTRL-C ZADANO => REBOOT 151 F0A4 C9 RET ; JINAK RETURN 152 ; 153 F0A5 21 F0D5 SELERR: LD HL,SELMSG ; ADRESA CHYB. HLASENI DO [HL] 154 F0A8 C3 F0B4 JP COHEER ; VYPIS HLASENI + REBOOT 155 ; 156 F0AB 21 F0E1 ROERR: LD HL,ROMSG ; ADRESA CHYB, HLASENI DO [HL] 157 F0AE C3 F0B4 JP COHEER ; VYPIS HLASENI + REBOOT 158 ; 159 F0B1 21 F0DC FROERR: LD HL,FILMSG ; ADRESA CHYB. HLASENI DO [HL] 160 F0B4 CD F0E5 COHEER: CALL BDOSER ; VYPIS HLASENI 161 F0B7 C3 FE03 JP REBOOT ; A REBOOT 162 ; 163 F0BA 42 44 4F 53 BDEMSG: DEFB 'BDOS ERR ON ' 164 F0BE 20 45 52 52 165 F0C2 20 4F 4E 20 166 F0C6 20 3A 20 24 BDEUNI: DEFB ' : $' 167 F0CA 42 41 44 20 BDSMSG: DEFB 'BAD SECTOR$' 168 F0CE 53 45 43 54 169 F0D2 4F 52 24 170 F0D5 53 45 4C 45 SELMSG: DEFB 'SELECT$' 171 F0D9 43 54 24 172 F0DC 46 49 4C 45 FILMSG: DEFB 'FILE ' 173 F0E0 20 174 F0E1 52 2F 4F 24 ROMSG: DEFB 'R/O$' 175 ; 176 ; 177 ; PROCEDURA VYPISU CHYBOVYCH HLASENI BDOS 178 ; 179 F0E5 E5 BDOSER: PUSH HL ; USCHOVA ADRESY HLASENI 180 F0E6 CD F1C9 CALL CRLF ; VYPIS CR + LF 181 F0E9 3A F34D LD A,(DSKNO) ; CISLO DISKU DO [A] 182 F0EC C6 41 ADD A,41H ; JEHO UPRAVA NA ASCII 183 F0EE 32 F0C6 LD (BDEUNI),A ; A PRESUN DO TEXTU HLASENI 184 F0F1 01 F0BA LD BC,BDEMSG ; INICIALIZACE ADRES A VYPIS 185 F0F4 CD F1D3 CALL TYPSTG ; HLASENI 186 F0F7 C1 POP BC ; MACRO-80 3.44 09-Dec-81 PAGE 1-3 187 F0F8 CD F1D3 CALL TYPSTG ; 188 ; CEKANI NA VSTUP ZNAKU 189 ; 190 ; 191 ; CTENI ZNAKU Z KONZOLY 192 ; 193 F0FB 21 F307 COIN: LD HL,INBYT ; ADRECA VCTUPNIHO BYTE DO [HL] 194 F0FE 7E LD A,(HL) ; VST. BYTE (ZNAK) DO [A] 195 F0FF 36 00 LD (HL),0 ; NULOVANI VST. BYTE 196 F101 B7 OR A ; TEST VST. BYTE 197 F102 C0 RET NZ ; RET KDYZ VST.BYTE JIZ BYL 198 ; NAPLNEN 199 F103 C3 FE09 JP BIOS+09H ; JINAK CTENI ZNAKU + RETURN 200 ; 201 ; 202 ; PROCEDURA VSTUPU ZNAKU Z KONZOLY 203 ; 204 F106 CD F0FB CORD: CALL COIN ; CTENI ZNAKU Z KONZOLY 205 F109 CD F114 CALL TSTCTL ; TEST MOZNOSTI ZOBRAZENI 206 F10C D8 RET C ; KDYZ NELZE ZOBRAZIT 207 F10D F5 PUSH AF ; USCHOVA ZNAKU DO ZACOBNIKU 208 F10E 4F LD C,A ; A DO [C] 209 F10F CD F190 CALL CONOUT ; ZOBRAZENI (ECHO) ZNAKU 210 F112 F1 POP AF ; PRIPRAVA ZNAKU DO [A] 211 F113 C9 RET 212 ; 213 ; 214 ; TEST MOZNOCTI ZOBRAZENI ZNAKU 215 ; 216 F114 FE 0D TSTCTL: CP 0DH ; TEST NA CR 217 F116 C8 RET Z ; RETURN KDYZ CR 218 F117 FE 0A CP 0AH ; TEST NA LF 219 F119 C8 RET Z ; RETURN KDYZ LF 220 F11A FE 09 CP 09H ; TEST NA TAB 221 F11C C8 RET Z ; RETURN KDYZ TAB 222 F11D FE 08 CP 08H ; TEST NA BACKCPACE 223 F11F C8 RET Z ; RETURN KDYZ BACKCPACE 224 F120 FE 20 CP ' ' ; TEST NA MEZERU (20H) 225 F122 C9 RET ; RETURN 226 ; 227 ; 228 ; TEST VSTUPU - OBSLUHA CTRL-S (STOP) A CTRL-C 229 ; 230 F123 3A F307 TSTINP: LD A,(INBYT) ; VSTUPNI BYTE DO [A] 231 F126 B7 OR A ; JEHO TEST 232 F127 C2 F145 JP NZ,TCP130 ; CKOK KDYZ JIZ BYL NAPLNEN 233 ; 234 F12A CD FE06 CALL BIOS+06H ; TEST STATUSU CONSOLY 235 F12D E6 01 AND 01H ; 236 F12F C8 RET Z ; RET KDYZ JE ZNAK V BUFFERU 237 F130 CD FE09 CALL BIOS+09H ; CTENI VST. BYTU (ZNAKU) 238 F133 FE 13 CP 13H ; JE TO CTRL-S (STOP)? 239 F135 C2 F142 JP NZ,TCP120 ; CKOK KDYZ NE 240 F138 CD FE09 CALL BIOS+09H ; CEKANI NA VSTUP DALSIHO ZNAKU 241 F13B FE 03 CP 03H ; JE TO CTRL-C (REBOOT) 242 F13D CA FE03 JP Z,REBOOT ; REBOOT KDYZ ANO 243 F140 AF XOR A ; NULOVANI [A] 244 F141 C9 RET 245 ; 246 F142 32 F307 TCP120: LD (INBYT),A ; ULOZENI VST. BYTE 247 F145 3E 01 TCP130: LD A,01 ; INDIKACE DO [A] 248 F147 C9 RET MACRO-80 3.44 09-Dec-81 PAGE 1-4 249 ; 250 ; 251 ; OBSLUHA NEGRAFICKEHO VYSTUPNIHO BYTE (ZNAK S CTRL) 252 ; 253 F148 79 CTLBYT: LD A,C ; BYTE DO [A] 254 F149 CD F114 CALL TSTCTL ; TEST NA PLATNY CTRL ZNAK 255 ; NEBO HEZERU 256 F14C D2 F190 JP NC,CONOUT ; VYSTUP BYTU + RETURN 257 F14F F5 PUSH AF ; USCHOVA BYTU 258 F150 0E 5E LD C,'^' ; '^' K INDIKACI CTRL BYTU 259 F152 CD F159 CALL COOUT ; TISK '^' 260 F155 F1 POP AF ; OBNOVA BYTU 261 F156 F6 40 OR 40H ; NASTAV 6 BIT ZNAKU(JE ASCII) 262 F158 4F LD C,A ; A JEHO PRESUN DO [C] 263 ; 264 ; 265 ; PROCEDURA VYSTUPU ZNAKU NA KONZOLU 266 ; 267 F159 3A F303 COOUT: LD A,(BSFLAG) ; BACKSPACE FLAG DO [A] 268 F15C B7 OR A ; JEHO TEST 269 F15D C2 F173 JP NZ,COO110 ; SKOK KDYZ JE BACKSPACE FLAG 270 ; NASTAVENY 271 F160 C5 PUSH BC ; USCHOVA [BC] 272 F161 CD F123 CALL TSTINP ; TEST VSTUPU (CTRL-S) 273 F164 C1 POP BC ; INICIALIZACE [BC] 274 F165 C5 PUSH BC ; USCHOVA [BC] 275 F166 CD FE0C CALL BIOS+0CH ; VYPIS NA CONSOLU 276 F169 C1 POP BC ; INICIALIZACE [BC] 277 F16A C5 PUSH BC ; USCHOVA [BC] 278 F16B 3A F306 LD A,(CTLPF) ; CTRL-P FLAG DO [A] 279 F16E B7 OR A ; TEST CTRL-P FLAG 280 F16F C4 FE0F CALL NZ,BIOS+0FH ; KDYZ JE NASTAVENY => TISK 281 F172 C1 POP BC ; INICIALIZACE [BC] 282 ; 283 F173 79 COO110: LD A,C ; VYSTUPNI BYTE DO [A] 284 F174 21 F305 LD HL,CHRPOS ; ADRESA POZICE VYST. ZNAKU 285 F177 FE 7F CP 7FH ; JE TO RUBOUT / DELETE ? 286 F179 C8 RET Z ; RET KDYZ RUBOUT/DELETE 287 F17A 34 INC (HL) ; INIC. POZICE VYST. ZNAKU 288 F17B FE 20 CP 20H ; TEST HODNOTY ZNAKU (ASCII) 289 F17D D0 RET NC ; RET KDYZ NEBYL S CTRL 290 F17E 35 DEC (HL) ; RESET POZICE VYST. ZNAKU 291 F17F 7E LD A,(HL) ; POZICE ZNAKU DO [A] 292 F180 B7 OR A ; JEHO TEST NA NULU 293 F181 C8 RET Z ; RET KDYZ JE ROVEN NULE 294 F182 79 LD A,C ; VYSTUPNI ZNAK DO [A] 295 F183 FE 08 CP 08H ; JE TO BACKSPACE 296 F185 C2 F18A JP NZ,COO120 ; SKOK KDYZ NE 297 F188 35 DEC (HL) ; ANO,UPRAV POZICI VYST.ZNAKU 298 F189 C9 RET ; RETURN 299 F18A FE 0A COO120: CP 0AH ; JE TO LINE FEED ? 300 F18C C0 RET NZ ; RET KDYZ NE 301 F18D 36 00 LD (HL),0 ; NULOVANI POZICE VYST.ZNAKU 302 F18F C9 RET ; RETURN 303 ; 304 ; 305 ; VYSTUP ZNAKU NA KONZOLU CMD 02 306 ; ======================= 307 ; 308 F190 79 CONOUT: LD A,C ; VYST.ZNAK DO [A] 309 F191 FE 09 CP 09H ; JE TO TAB ? 310 F193 C2 F159 JP NZ,COOUT ; SKOK KDYZ NENI TAB MACRO-80 3.44 09-Dec-81 PAGE 1-5 311 F196 0E 20 CO10: LD C, ' ' ; MEZERA DO [C] 312 F198 CD F159 CALL COOUT ; VYPIS MEZERY 313 F19B 3A F305 LD A,(CHRPOS) ; POZICE VYST.ZNAKU DO [A] 314 F19E E6 07 AND 07H ; TEST NA TAB STOP 315 F1A0 C2 F196 JP NZ,CO10 ; OPAKOVANI PO TAB STOP 316 F1A3 C9 RET ; RETURN 317 ; 318 ; 319 ; VYMAZ ZNAKU Z OBRAZOVKY 320 ; 321 F1A4 CD F1AC BACKSP: CALL BCKSP ; NAVRAT KURZORU O JEDNU POZ. 322 F1A7 0E 20 LD C, ' ' ; MEZERA DO [C] 323 F1A9 CD FE0C CALL BIOS+0CH ; VYSTUP NA CONSOLU 324 F1AC 0E 08 BCKSP: LD C,08H ; BACKSPACE DO [C] 325 F1AE C3 FE0C JP BIOS+0CH ; VYSTUP NA CONSOLU + RETURN 326 ; 327 ; 328 ; ZRUSENI VSTUPNIHO RADKU - OSETRENI CTRL-U 329 ; 330 F1B1 3E 23 CTLU: LD A,'#' ; PRIPRAVA ZNAKU '#' 331 F1B3 CD F159 CALL COOUT ; JEHO VYPIS 332 F1B6 CD F1C9 CALL CRLF ; A CR + LF 333 F1B9 3A F305 CTLU20: LD A,(CHRPOS) ; POZICE VYST. ZNAKU DO [A] 334 F1BC 21 F304 LD HL,ICPOS ; ADRESA POZICE VST.ZNAKU 335 F1BF BE CP (HL) ; POROVNANI OBOU 336 F1C0 D0 RET NC ; RET PRI JEJICH ROVNOSTI 337 F1C1 0E 20 LD C, ' ' ; MEZERA DO [C] 338 F1C3 CD F159 CALL COOUT ; JEJI VYPIS 339 F1C6 C3 F1B9 JP CTLU20 ; OPAKOVANI 340 ; 341 ; 342 ; PROCEDURA VYPISU CR + LF 343 ; 344 F1C9 0E 0D CRLF: LD C,0DH ; PRIPRAVA CR 345 F1CB CD F159 CALL COOUT ; VYPIS CR 346 F1CE 0E 0A LD C,0AH ; PRIPRAVA LF 347 F1D0 C3 F159 JP COOUT ; VYPIS LF + RETURN 348 ; 349 ; 350 ; PROCEDURA VYPISU ASCII RETEZCE 351 ; 352 F1D3 0A TYPSTG: LD A,(BC) ; PRIPRAVA VYST. BYTU 353 F1D4 FE 24 CP '$' ; JE TO TERMINATOR ? 354 F1D6 C8 RET Z ; RET KDYZ ANO 355 F1D7 03 INC BC ; UPRAVA UKAZATELE 356 F1D8 C5 PUSH BC ; USCHOVA UKAZATELE 357 F1D9 4F LD C,A ; VYSTUPNI BYTE DO [C] 358 F1DA CD F190 CALL CONOUT ; JEHO VYPIS 359 F1DD C1 POP BC ; INICIALIZACE UKAZATELE 360 F1DE C3 F1D3 JP TYPSTG ; OPAKOVANI 361 ; 362 ; 363 ; CTI RETEZEC ZNAKU Z KONZOLY CMD 10 364 ; =========================== 365 ; 366 F1E1 3A F305 RDCONB: LD A,(CHRPOS) ; INICIALIZACE HODNOTY POZICE 367 F1E4 32 F304 LD (ICPOS),A ; VSTUPNIHO ZNAKU 368 ; 369 F1E7 2A F34E LD HL,(FCBSAV) ; ADRESA VST. BUFFERU DO [HL] 370 F1EA 4E LD C,(HL) ; DELKA BUFFERU DO [C] 371 F1EB 23 INC HL ; ADR. ULOZENI SKUTECNEHO POCTU 372 F1EC E5 PUSH HL ; JEJI USCHOVA DO ZASOBNIKU MACRO-80 3.44 09-Dec-81 PAGE 1-6 373 F1ED 06 00 LD B,0 ; NULOVANI POCITADLA VST.BYTU 374 ; 375 F1EF C5 RCB110: PUSH BC ; USCHOVA [BC] 376 F1F0 E5 PUSH HL ; USCHOVA ADR. VSTUP. BUFFERU 377 ; 378 F1F1 CD F0FB RCB120: CALL COIN ; CTI VSTUPNI BYTE Z KONZOLY 379 F1F4 E6 7F AND 7FH ; NULUJ 7 BIT 380 F1F6 E1 POP HL ; OBNOVA ADR. VSTUP. 381 F1F7 C1 POP BC ; BUFFERU OBNOVA [BC] 382 F1F8 FE 0D CP 0DH ; TEST VSTUPU NA CR 383 F1FA CA F2C1 JP Z,RCB350 ; SKOK KDYZ JE VSTUP CR 384 F1FD FE 0F CP 0FH ; TEST VSTUPU NA LF 385 F1FF CA F2C1 JP Z,RCB350 ; SKOK KDYZ JE VSTUP LF 386 F202 FE 08 CP 08H ; TEST VSTUPU NA BACKSPACE 387 F204 C2 F216 JP NZ,RCB130 ; SKOK KDYZ VSTUP NENI BACKPACE 388 ; 389 F207 78 LD A,B ; POCET VST. BYTU DO [A] 390 F208 B7 OR A ; TEST NA NULU 391 F209 CA F1EF JP Z,RCB110 ; KDYZ NULA - CTI DALSI 392 F20C 05 DEC B ; UPRAVA POCTU VST.BYTU 393 F20D 3A F305 LD A,(CHRPOS) ; POZICE VYST. ZNAKU DO [A] 394 F210 32 F303 LD (BSFLAG),A ; ULOZENI NA BACKSPACE FLAG 395 F213 C3 F270 JP RCB240 396 ; 397 ; 398 F216 FE 7F RCB130: CP 7FH ; TEST VSTUPU NA RUBOUT/DELETE 399 F218 C2 F226 JP NZ,RCB150 ; SKOK KDYZ NENI RUBOUT/DELETE 400 F21B 78 LD A,B ; POCET VST.BYTU DO [A] 401 F21C B7 OR A ; JEHO TEST NA NULU 402 F21D CA F1EF JP Z,RCB110 ; CTI DALSI 403 F220 7E LD A,(HL) ; POSLEDNI VSTUP. BYTE DO [A] 404 F221 05 DEC B ; UPRAVA POCTU VST. BYTU 405 F222 2B DEC HL ; UPRAVA ADRESY VST.BUFFERU 406 F223 C3 F2A9 JP RCB320 ; SKOK NA "ECHO" VST. BYTU 407 ; 408 ; 409 F226 FE 05 RCB150: CP 05H ; TEST VSTUPU NA CTRL-E 410 ; (END-OF-LINE) 411 F228 C2 F237 JP NZ,RCB170 ; SKOK KDYZ NEBYLO CTRL-E 412 F22B C5 PUSH BC ; USCHOVA [BC] 413 F22C E5 PUSH HL ; USCHOVA ADR. VST. BUFFERU 414 F22D CD F1C9 CALL CRLF ; VYPIS CR + LF 415 F230 AF XOR A 416 F231 32 F304 LD (ICPOS),A ; NULOVANI POZICE VST. ZNAKU 417 F234 C3 F1F1 JP RCB120 ; SKOK NA DALSI CTENI 418 ; 419 ; 420 F237 FE 10 RCB170: CP 10H ; TEST VSTUPU NA CTRL-P 421 ; (TOGGLE PRINT) 422 F239 C2 F248 JP NZ,RCB190 ; SKOK KDYZ NOT CTRL-P 423 F23C E5 PUSH HL ; USCHOVA ADRESY VST.BUFFERU 424 F23D 21 F306 LD HL,CTLPF ; ADRESA CTRL-P FLAG DO [HL] 425 F240 3E 01 LD A,1 ; INICIALIZACE CTRL-P FLAGU 426 F242 96 SUB (HL) 427 F243 77 LD (HL),A 428 F244 E1 POP HL ; OBNOVENI ADR. VST. BUFFERU 429 F245 C3 F1EF JP RCB110 ; SKOK NA DALSI CTENI 430 ; 431 ; 432 F248 FE 18 RCB190: CP 18H ; TEST NA VSTUP CTRL-X 433 ; (WIPE-OUT LINE) 434 F24A C2 F25F JP NZ,RCB210 ; NENI TO CTRL-X MACRO-80 3.44 09-Dec-81 PAGE 1-7 435 F24D E1 POP HL ; RESET ADRESY ZASOBNIKU 436 F24E 3A F304 RCB200: LD A,(ICPOS) ; POZICE VST. ZNAKU DO [A] 437 F251 21 F305 LD HL,CHRPOS ; ADRESA POZICE VYST. ZNAKU 438 F254 BE CP (HL) ; JEJICH POROVNANI 439 F255 D2 F1E1 JP NC,RDCONB ; RESTART KDYZ SE ROVNAJI 440 F258 35 DEC (HL) ; DEC POZICE VYST. ZNAKU 441 F259 CD F1A4 CALL BACKSP ; VYMAZ POSLEDNIHO ZNAKU 442 F25C C3 F24E JP RCB200 ; OPAKOVANI 443 ; 444 ; 445 F25F FE 15 RCB210: CP 15H ; TEST NA CTRL-U (#,CR,LF,...) 446 F261 C2 F26B JP NZ,RCB230 ; NENI TO CTRL-U 447 F264 CD F1B1 CALL CTLU ; OSETRENI CTRL-U 448 F267 E1 POP HL ; RESET ADRESY ZASOBNIKU 449 F268 C3 F1E1 JP RDCONB ; SKOK NA RESTART 450 ; 451 ; 452 F26B FE 12 RCB230: CP 12H ; TEST NA VSTUP CTRL-R 453 ; (#,CR,LF,...,INPUT) 454 F26D C2 F2A6 JP NZ,RCB310 ; NENI TO CTRL-R 455 F270 C5 RCB240: PUSH BC ; USCHOVA [BC] 456 F271 CD F1B1 CALL CTLU ; OSETRENI CTRL-U 457 F274 C1 POP BC ; INICIALIZACE [BC] 458 F275 E1 POP HL ; INICIALIZACE [HL] 459 ; (LINE POINTER) 460 F276 E5 PUSH HL ; JEHO USCHOVA 461 F277 C5 PUSH BC ; USCHOVA [BC] 462 F278 78 RCB250: LD A,B ; POCET VST.BYTU DO [A] 463 F279 B7 OR A ; JEHO TEST NA NULU 464 F27A CA F28A JP Z,RCB270 ; SKOK KDYZ VSECHNY VSTUPY 465 ; MELY "ECHO" 466 F27D 23 INC HL ; UPRAVA ADR.VST. BUFFERU 467 F27E 4E LD C,(HL) ; VST. BYTE DO [C] 468 F27F 05 DEC B ; DEC POCTU VST. BYTU 469 F280 C5 PUSH BC ; USCHOVA POCTU VST. BYTU 470 F281 E5 PUSH HL ; USCHOVA ADR. VST. BYTU 471 F282 CD F148 CALL CTLBYT ; TEST NA CTRL-BYTE A VYSTUP 472 F285 E1 POP HL ; INICIALIZACE ADR. VST. BYTU 473 F286 C1 POP BC ; INICIALIZACE POCTU VST. BYTU 474 F287 C3 F278 JP RCB250 ; OPAKOVANI 475 ; 476 F28A E5 RCB270: PUSH HL ; USCHOVA ADR. VST. BUFFERU 477 F28B 3A F303 LD A,(BSFLAG) ; BACKSPACE FLAG DO [A] 478 F28E B7 OR A ; JEHO TEST 479 F28F CA F1F1 JP Z,RCB120 ; KDYZ NENI NAST.-DALSI CTENI 480 F292 21 F305 LD HL,CHRPOS ; ADR. POZICE VYST. ZNAKU 481 F295 96 SUB (HL) ; SUBTRACT S BACKSPACE FLAG 482 F296 32 F303 LD (BSFLAG),A ; USCHOVA BACKSPACE FLAG 483 F299 CD F1A4 RCB290: CALL BACKSP ; VYMAZ POSLEDNIHO BYTE 484 F29C 21 F303 LD HL,BSFLAG ; ADRESA BACKSPACE FLAG DO [HL] 485 F29F 35 DEC (HL) ; DEC BACKSPACE FLAG 486 F2A0 C2 F299 JP NZ,RCB290 ; OPAKOVANI KDYZ .NE. NULE 487 F2A3 C3 F1F1 JP RCB120 ; DALSI CTENI 488 ; 489 ; 490 F2A6 23 RCB310: INC HL ; UPRAVA ADRESY VST. BUFFERU 491 F2A7 77 LD (HL),A ; ULOZENI VST. BYTU DO BUFFERU 492 F2A8 04 INC B ; INC POCTU VST. BYTU 493 F2A9 C5 RCB320: PUSH BC ; USCHOVA POCTU VST. BYTU 494 F2AA E5 PUSH HL ; USCHOVA ADR. VST. BUFFERU 495 F2AB 4F LD C,A ; VST. BYTE DO [C] 496 F2AC CD F148 CALL CTLBYT ; JEHO TEST NA CTRL-BYTE A MACRO-80 3.44 09-Dec-81 PAGE 1-8 497 ; A VYSTUP 498 F2AF E1 POP HL ; INIC. ADR. VST. BUFFERU 499 F2B0 C1 POP BC ; INIC. POCTU ZNAKU 500 F2B1 7E LD A,(HL) ; VST. BYTE DO [A] 501 F2B2 FE 03 CP 03H ; TEST NA CTRL-C (REBOOT) 502 F2B4 78 LD A,B ; POCET VST.BYTU DO [A] 503 F2B5 C2 F2BD JP NZ,RCB330 ; NENI TO CTRL-C 504 F2B8 FE 01 CP 01H ; JE TO PRVNI VST.BYTE 505 F2BA CA FE03 JP Z,REBOOT ; KDYZ ANO => REBOOT 506 F2BD B9 RCB330: CP C ; JE VST. BUFFER PLNY ? 507 F2BE DA F1EF JP C,RCB110 ; NE - DALSI CTENI 508 ; 509 F2C1 E1 RCB350: POP HL ; OBNOVA ADR. POCTU VST.ZNAKU 510 F2C2 70 LD (HL),B ; ULOZENI POCTU VST. ZNAKU 511 F2C3 0E 0D LD C,0DH ; CR DO [C] 512 F2C5 C3 F159 JP COOUT ; VYPIS CR + RETURN 513 ; 514 ; 515 ; VSTUP ZNAKU Z KONZOLY CMD 01 516 ; ===================== 517 ; 518 F2C8 CD F106 CONINP: CALL CORD ; ROCEDURA CTENI Z KONZOLY 519 F2CB C3 F2FA JP SVSING ; NAVRAT S NASTAVENIM 520 ; NAVRATOVEHO PARAMETRU 521 ; 522 ; 523 ; VSTUP ZNAKU ZE SNIMACE CMD 03 524 ; ====================== 525 ; 526 F2CE CD FE15 RDINP: CALL BIOS+15H ; NACTENI ZNAKU ZE SNIMACE 527 F2D1 C3 F2FA JP SVSING ; NAVRAT S NASTAVENIM NAVRATO- 528 ; VEHO PARAMETRU 529 ; 530 ; 531 ; PRIMY I/O NA KONZOLU CMD 06 532 ; ==================== 533 ; 534 F2D4 79 DCONIO: LD A,C ; PRESUN [E](PRI CALL 5) DO [A] 535 F2D5 3C INC A ; JEHO TEST NA 0FFH = VSTUP 536 F2D6 C2 FE0C JP NZ,BIOS+0CH ; VYPIS NA KONZOLU + RETURN 537 ; 538 F2D9 CD FE06 DCIO10: CALL BIOS+06H ; STATUS KONZOLY 539 F2DC B7 OR A ; TEST STATUSU 540 F2DD CA FD99 JP Z,RSTSP ; NAVRAT KDYZ STATUS = 0 541 F2E0 CD FE09 CALL BIOS+09H ; CTENI VST. BYTU Z KONZOLY 542 F2E3 C3 F2FA JP SVSING ; NAVRAT S NASTAVENIM 543 ; NAVRATOVEHO PARAMETERU 544 ; 545 ; 546 ; DEJ HODNOTU I/O BYTU CMD 07 547 ; ==================== 548 ; 549 F2E6 3A 40E2 GETIOB: LD A,(IOBYTE) ; I/O byte MONITORU do [A] 550 F2E9 C3 F2FA JP SVSING ; INICIALIZACE NAVRATOVEHO 551 ; PARAMETRU + NAVRAT 552 ; 553 ; 554 ; NASTAV I/O BYTE CMD 08 555 ; =============== 556 ; 557 F2EC 21 40E2 SETIOB: LD HL,iobyte 558 F2EF 71 LD (HL),C ; ulozeni I/O bytu MONITORU MACRO-80 3.44 09-Dec-81 PAGE 1-9 559 F2F0 C9 RET ; RETURN NA RETURN 560 ; 561 ; 562 ; VYPIS ASCII RETEZCE CMD 09 563 ; =================== 564 ; 565 F2F1 EB PRTSTG: EX DE,HL ; ADR. ULOZENI TEXTU DO [HL] 566 F2F2 4D LD C,L ; A DO [BC] 567 F2F3 44 LD B,H 568 F2F4 C3 F1D3 JP TYPSTG ; SKOK NA VYPIS RETEZCE 569 ; 570 ; 571 ; DEJ STATUS KONZOLY CMD 11 572 ; ================== 573 ; 574 F2F7 CD F123 GCOSTS: CALL TSTINP ; TEST VSTUPU 575 ; 576 ; 577 ; ULOZENI NAVRATOVEHO PARAMETRU PRED NAVRATEM 578 ; 579 F2FA 32 F350 SVSING: LD (RETPRM),A ; PRESUN NAVRATOVEHO PARAMETRU 580 F2FD C9 RETRET: RET ; RETURN NA RETURN 581 ; 582 ; 583 F2FE 3E 01 SREPRM: LD A,1 ; NASTAVENI NAVR.PARAM.NA 1 584 F300 C3 F2FA JP SVSING ; SKOK NA ULOZENI NAVR.PARAM. 585 ; 586 ; 587 ; 588 ; POLE PRACOVNICH PROMENNYCH 589 ; ========================== 590 ; 591 F303 00 BSFLAG: DEFB 0 ; BACKSPACE FLAG 592 F304 00 ICPOS: DEFB 0 ; POZICE VSTUPUJICICH ZNAKU 593 F305 00 CHRPOS: DEFB 0 ; POZICE VYSTUPUJICICH ZNAKU 594 F306 00 CTLPF: DEFB 0 ; CTRL-P FLAS 595 F307 00 INBYT: DEFB 0 ; BUFFER VSTUPUJICIHO BYTU 596 F308 DEFS 42H ; ZASOBNIK BDOS 597 F34A BDSP EQU $ ; VRCHOL ZASOBNIKU 598 F34A 0000 SPSAV: DEFW 0 ; ULOZENI UZIV. [SP] 599 F34C 00 USRNO: DEFB 0 ; CISLO UZIVATELE 600 F34D 00 DSKNO: DEFB 0 ; CISLO DISKU 601 F34E 0000 FCBSAV: DEFW 0 ; ULOZENI ADRESY FCB 602 F350 0000 RETPRM: DEFW 0 ; ULOZENI NAVR. PARAMETRU 603 ; 604 ; 605 ; 606 ; PROCEDURA SKOKU PODLE [HL] 607 ; 608 F352 21 F00B VJUMP: LD HL,SLEJPA ; ADRESA ULOZENI ADRESY 609 ; SKOKU DO [HL] 610 F355 5E VJUMP1: LD E,(HL) ; PRESUN ADRESY SKOKU DO [DE] 611 F356 23 INC HL 612 F357 56 LD D,(HL) 613 F358 EB EX DE,HL ; JEJI PRESUN DO [HL] 614 F359 E9 JP (HL) ; A SKOK 615 ; 616 ; 617 ; VYBER DISKU A VYHLEDANI PARAMETRU DISKU 618 ; 619 F35A 3A F34D SD110: LD A,(DSKNO) ; CISLO DISKU DO [A] 620 F35D 4F LD C,A ; A DO [C] MACRO-80 3.44 09-Dec-81 PAGE 1-10 621 F35E CD FE1B CALL BIOS+1BH ; VYBER DISKU - [HL] 622 ; OBSAHUJE PO NAVRATU 623 ; ADRESU DISKOVYCH PA- 624 ; RAMETRU 625 F361 7C LD A,H 626 F362 B5 OR L ; TEST [HL] NA NULU => CHYBA 627 F363 C8 RET Z ; RETURN PRI CHYBE 628 F364 5E LD E,(HL) ; ADRESA PREKLADOVE TABULKY 629 F365 23 INC HL ; DO [DE] 630 F366 56 LD D,(HL) 631 F367 23 INC HL ; ADRESA PRACOVNI OBLASTI 1 632 F368 22 FDBB LD (DPSC1),HL ; JEJI ULOZENI 633 F36B 23 INC HL 634 F36C 23 INC HL ; ADRESA PRACOVNI OBLASTI 2 635 F36D 22 FDBD LD (DPSC2),HL ; JEJI ULOZENI 636 F370 23 INC HL 637 F371 23 INC HL ; ADRESA PRACOVNI OBLASTI 3 638 F372 22 FDBF LD (DPSC3),HL ; JEJI ULOZENI 639 F375 23 INC HL 640 F376 23 INC HL ; 641 F377 EB EX DE,HL ; ADRESA ADRESY BUFFERU 642 ; ADRESARE DO [DE]- 643 ; (DIRBUF-VIZ BIOS) 644 F378 22 FDD8 LD (STRNP),HL ; ULOZENI ADR. PREKLADOVE TAB 645 F37B 21 FDC1 LD HL,DIRBUP ; PRESUN CASTI PARAMETRU DISKU 646 F37E 0E 08 LD C,8 ; 647 F380 CD F5F3 CALL MOVE ; 648 ; 649 F383 2A FDC3 LD HL,(DPBP) ; PRESUN DRUHE CASTI PARAMETRU 650 F386 EB EX DE,HL ; DISKU 651 F387 21 FDC9 LD HL,CUDPB ; 652 F38A 0E 0F LD C,15 ; 653 F38C CD F5F3 CALL MOVE ; 654 ; 655 F38F 2A FDCE LD HL,(CUDSM) ; VELIKOST DISKU (V BLOCICH) 656 F392 7C LD A,H ; HORNI BYTE DO [A] 657 F393 21 FDE5 LD HL,DSKSFL ; ADR. DISK-SIZE-FLAGU DO [HL] 658 F396 36 FF LD (HL),0FFH ; A JEJI INICIALIZACE 659 F398 B7 OR A ; TEST DISK-SIZE .GT.256 BLOKU 660 F399 CA F39E JP Z,SD150 ; SKOK DISK-SIZE .LE.256 661 F39C 36 00 LD (HL),0 ; NULOVANI DISK-SIZE FLAGU 662 F39E 3E FF SD150: LD A,0FFH ; NASTAVENI NZ-FLAGU PRED RET 663 F3A0 B7 OR A ; 664 F3A1 C9 RET 665 ; 666 ; 667 ; 'HOME' A NULOVANI POCITADLA (#) STOP A MAX. POCTU 668 ; SEKTORU NA STOPE 669 ; 670 ; 671 F3A2 CD FE18 HOMCLR: CALL BIOS+18H ; 'HOME'-JEN PRO FLOPPY 672 F3A5 AF XOR A ; NULA DO [A] 673 F3A6 2A FDBD LD HL,(TRACK) ; ADR. # STOP DO [HL] 674 F3A9 77 LD (HL),A ; NULOVANI # STOP 675 F3AA 23 INC HL ; 676 F3AB 77 LD (HL),A ; 677 ; 678 F3AC 2A FDBF LD HL,(MAXSOT) ; ADR. MAX. # SEKTORU NA STOPE 679 F3AF 77 LD (HL),A ; JEHO NULOVANI 680 F3B0 23 INC HL ; 681 F3B1 77 LD (HL),A 682 F3B2 C9 RET MACRO-80 3.44 09-Dec-81 PAGE 1-11 683 ; 684 ; 685 ; PROCEDURA CTENI A ZAPISU NA DISK 686 ; 687 F3B3 CD FE27 READ: CALL BIOS+27H ; CTI VYBRANY SEKTOR 688 F3B6 C3 F3BC JP WRITE1 689 ; 690 F3B9 CD FE2A WRITE: CALL BIOS+2AH ; ZAPIS VYBRANY SEKTOR 691 F3BC B7 WRITE1: OR A ; TEST [A] NA CHYBU 692 F3BD C8 RET Z ; RET KDYZ DISK I/O OK 693 ; 694 F3BE 21 F009 LD HL,BDSJPA ; ADR. NAVRATU S CHYBOU 695 F3C1 C3 F355 JP VJUMP1 ; SKOK NA NAVRAT 696 ; 697 ; 698 ; 699 ; VYPOCET SEKTORU A STOPY A NASTAVENI SEKTORU A STOPY 700 ; 701 F3C4 2A FDF2 DSKCAL: LD HL,(DETYNO) ; # AKT.VST.ADRESARE DO [HL] 702 F3C7 0E 02 LD C,2 ; CITAC POSUNU = 2 703 F3C9 CD F4EB CALL RSHHL ; # AKT. VSTUPU/4 704 F3CC 22 FDED LD (BLOCK),HL ; ULOZENI CISLA SECTOR 705 F3CF 22 FDF4 LD (DETYSC),HL ; V NEMZ JE AKT. FCB ULOZENE 706 F3D2 21 FDED DSKCA1: LD HL,BLOCK ; ADR. ULOZENI # SEKTORU 707 F3D5 4E LD C,(HL) ; PRESUN # SEKTORU DO [BC] 708 F3D6 23 INC HL ; 709 F3D7 46 LD B,(HL) ; 710 F3D8 2A FDBF LD HL,(MAXSOT) ; HAX. # SEKTORU NA STOPE 711 F3DB 5E LD E,(HL) ; DO [DE] 712 F3DC 23 INC HL ; 713 F3DD 56 LD D,(HL) ; 714 ; 715 F3DE 2A FDBD LD HL,(TRACK) ; AKT. # STOPY DO [HL] 716 F3E1 7E LD A,(HL) ; 717 F3E2 23 INC HL ; 718 F3E3 66 LD H,(HL) ; 719 F3E4 6F LD L,A ; 720 ; 721 F3E5 79 DC120: LD A,C ; POROVNANI HAX. A AKT. 722 F3E6 93 SUB E ; CISLA SEKTORU 723 F3E7 78 LD A,B ; [BC] - [DE] 724 F3E8 9A SBC A,D ; 725 F3E9 D2 F3FB JP NC,DC140 ; AKT.# SEKTORU .GE. HAX.# SEK 726 ; 727 F3EC E5 PUSH HL ; UCHOVANI CISLA STOPY 728 F3ED 2A FDC9 LD HL,(CUSPT) ; AKT. # STOPY DO [HL] 729 F3F0 7B LD A,E ; [DE] - [HL] = [DE] 730 F3F1 95 SUB L ; MAX. # SEKT. NA STOPE - 731 F3F2 5F LD E,A ; AKT. # SEKTORU 732 F3F3 7A LD A,D 733 F3F4 9C SBC A,H 734 F3F5 57 LD D,A 735 F3F6 E1 POP HL ; OBNOVA # STOPY 736 F3F7 2B DEC HL ; ; DEC CISLA STOPY 737 F3F8 C3 F3E5 JP DC120 ; OPAKOVANI 738 ; 739 F3FB E5 DC140: PUSH HL ; USCHOVA # STOPY 740 F3FC 2A FDC9 LD HL,(CUSPT) ; AKT. CISLO SEKTORU DO [HL] 741 F3FF 19 ADD HL, DE ; AKT. # SEKTORU + MAX. A SEK. 742 F400 DA F410 JP C,DC160 ; SKOK PRI OVERFLOW (65536) 743 F403 79 LD A,C ; [BC] - [HL] 744 F404 95 SUB L ; MACRO-80 3.44 09-Dec-81 PAGE 1-12 745 F405 78 LD A,B 746 F406 9C SBC A,H 747 F407 DA F410 JP C,DC160 ; SKOK KDYZ SEKTOR JE NA 748 ; .AKT. STOPE 749 F40A EB EX DE,HL ; MAX # SEKTORU NA STOPE-> [DE] 750 F40B E1 POP HL ; # STOPY DO [HL] 751 F40C 23 INC HL ; INC # STOPY 752 F40D C3 F3FB JP DC140 ; OPAKOVANI 753 ; 754 F410 E1 DC160: POP HL ; # STOPY DO [HL] 755 F411 C5 PUSH BC ; USCHOVA # VSTUPU ADRESARE 756 F412 D5 PUSH DE ; USCH.MAX # SECTORU NA STOPE 757 F413 E5 PUSH HL ; USCH. # STOPY 758 F414 EB EX DE,HL ; # STOPY DO [DE] 759 F415 2A FDD6 LD HL,(CUOFF) ; OFFSET STOPY DO [HL] 760 F418 19 ADD HL,DE ; URCENI FYZICKEHO # STOPY 761 F419 44 LD B,H ; # STOPY DO [BC] 762 F41A 4D LD C,L 763 F41B CD FE1E CALL BIOS+1EH ; NASTAVENI STOPY 764 F41E D1 POP DE ; OBNOVA # STOPY 765 F41F 2A FDBD LD HL,(TRACK) ; ADRESA ULOZENI # STOPY V BLO- 766 F422 73 LD (HL),E ; KU DISKOVYCH PARAMETRU A ULO- 767 F423 23 INC HL ; ZENI # STOPY 768 F424 72 LD (HL),D 769 F425 D1 POP DE ; OBNOVA MAX # SEKTORU NA STOPE 770 F426 2A FDBF LD HL,(MAXSOT) ; A JEHO ULOZENI DO BLOKU 771 F429 73 LD (HL),E ; DISKOVYCH PARAMETRU (DPBASE) 772 F42A 23 INC HL 773 F42B 72 LD (HL),D 774 F42C C1 POP BC ; OBNOVA # SEKTORU 775 F42D 79 LD A,C ; [BC] - [CD] = [BC] 776 F42E 93 SUB E ; VYPOCET LOG. # SEKTORU 777 F42F 4F LD C,A 778 F430 78 LD A,B 779 F431 9A SBC A,D 780 F432 47 LD B,A 781 F433 2A FDD8 LD HL,(STRNP) ; ADR. PREKLADOVE TAB SEKTORU 782 F436 EB EX DE,HL ; DO [DE] 783 F437 CD FE30 CALL BIOS+30H ; PREVOD LOG. # NA FYZICKE 784 F43A 4D LD C,L ; FYZ. # DO [BC] 785 F43B 44 LD B,H 786 F43C C3 FE21 JP BIOS+21H ; NASTAVENI SEKTORU + RET 787 ; 788 ; 789 ; VYPOCET ADRESY ULOZENI CISLA BLOKU V FCB 790 ; 791 F43F 21 FDCB BSHIFT: LD HL,CUBSH ; ADR BLOK-SHIFT-FAKTORU DO [HL] 792 F442 4E LD C,(HL) ; BLOK-SHIFT-FAKTOR DO [C] 793 F443 3A FDEB LD A,(D9) ; AKT. # ZAZNAMU DO [A] 794 F446 B7 BSH120: OR A ; NULA DO CARRY 795 F447 1F RRA ; ROTACE VPRAVO 796 F448 0D DEC C ; DEC BL-SH-FA 797 F449 C2 F446 JP NZ,BSH120 ; OPAKOVANI 798 ; 799 F44C 47 LD B,A ; VYSLEDEK DO [B] 800 F44D 3E 08 LD A,08H ; 801 F44F 96 SUB (HL) ; ODECT. HODN. BL-SH-FA 802 F450 4F LD C,A ; VYSLEDEK JAKO CITAC ROTACE 803 F451 3A FDEA LD A,(MEX) ; MASKA ROZSIRENI DO [A] 804 F454 0D BSH140: DEC C ; DEC CITACE 805 F455 CA F45D JP Z,BSH160 ; UKONCENI ROTACEXH 806 F458 B7 OR A ; NULOVANI CARRY MACRO-80 3.44 09-Dec-81 PAGE 1-13 807 F459 17 RLA ; ROTACE VLEVO 808 F45A C3 F454 JP BSH140 ; OPAKOVANI 809 ; 810 F45D 80 BSH160: ADD A,B ; CISLO BLOKU DO [A] 811 F45E C9 RET 812 ; 813 ; 814 ; VYHLEDANI CISLA ALOKACNIHO BLOKU Z FCB 815 ; 816 F45F 2A F34E RETBLK: LD HL,(FCBSAV) ; ADR. FCB DO [HL] 817 F462 11 0010 LD DE,0010H ; OFFSET DO [DE] 818 F465 19 ADD HL,DE ; ADR. ULOZENI # ALOK.BLOKU 819 F466 09 ADD HL,BC ; AKT. ADRESA ULOZ.# AL.BLOKU 820 F467 3A FDE5 LD A,(DSKSFL) ; DISKSIZE FLAG DO A 821 F46A B7 OR A ; JEHO TEST 822 F46B CA F472 JP Z,RTBL10 ; SKOK PRI # BLOKU NAD 256 823 F46E 6E LD L,(HL) ; # BLOKU Z FCB DO [L] 824 F46F 26 00 LD H,0 ; NULOVANI HIGH BYTU # BLOKU 825 F471 C9 RET 826 ; 827 F472 09 RTBL10: ADD HL,BC ; AKT. ADRESA # BLOKU 828 F473 5E LD E,(HL) ; # BLOKU Z FCB DO [DE] 829 F474 23 INC HL 830 F475 56 LD D,(HL) 831 F476 EB EX DE,HL ; PRESUN # BLOKU DO [HL] 832 F477 C9 RET 833 ; 834 ; 835 ; ZJISTI CISLO BLOKU 836 ; 837 F478 CD F43F GETBLK: CALL BSHIFT ; VYPOCET # BLOKU 838 F47B 4F LD C,A ; VYSLEDEK DO [C] 839 F47C 06 00 LD B,0 ; NULA DO HORNIHO BYTU 840 F47E CD F45F CALL RETBLK ; VYHLEDANI # AL. BLOKU Z FCB 841 F481 22 FDED LD (BLOCK),HL ; ULOZENI CISLA BLOKU 842 F484 C9 RET 843 ; 844 ; 845 ; TEST CISLA BLOKU NA NULU 846 ; 847 F485 2A FDED TSTBLK: LD HL,(BLOCK) ; CISLO BLOKU DO [HL] 848 F488 7D LD A,L 849 F489 B4 OR H ; A JEHO TEST NA NULU 850 F48A C9 RET 851 ; 852 ; 853 ; ZJISTI CISLO SEKTORU 854 ; 855 F48B 3A FDCB GETSEC: LD A,(CUBSH) ; BL-SH-FA DO [A] 856 F48E 2A FDED LD HL,(BLOCK) ; # BLOKU DO [HL] 857 F491 29 GET10: ADD HL,HL ; # BLOKU * 2 858 F492 3D DEC A ; DEC BL-SH-FA 859 F493 C2 F491 JP NZ,GET10 ; OPAKOVANI 860 F496 22 FDEF LD (SECTOR),HL ; ULOZENI # SEKTORU 861 F499 3A FDCC LD A,(CUBLM) ; HASKA BLOKU DO [A] 862 F49C 4F LD C,A ; A DO [C] 863 F49D 3A FDEB LD A,(D9) ; CITAC AKT.ZAZNAHU DO [A] 864 F4A0 A1 AND C ; JEHO MASKOVANI MASKOU BLOKU 865 F4A1 B5 OR L ; OR S # SEKTORU 866 F4A2 6F LD L,A ; 867 F4A3 22 FDED LD (BLOCK),HL ; ULOZENI VYSLEDKU 868 F4A6 C9 RET MACRO-80 3.44 09-Dec-81 PAGE 1-14 869 ; 870 ; 871 ; ZJISTI ADRESU EXTENT Z FCB 872 ; 873 F4A7 2A F34E EXADD: LD HL,(FCBSAV) ; ADRESA FCB DO [HL] 874 F4AA 11 000C LD DE,12 ; OFFSET NA EX Z FCB 875 F4AD 19 ADD HL,DE ; ADRESA EX Z FCB 876 F4AE C9 RET 877 ; 878 ; 879 ; ZJISTI ADRESU RC [DE] A D9 [HL] Z FCB 880 ; 881 F4AF 2A F34E RCADD: LD HL,(FCBSAV) ; ADR. FCB DO [HL] 882 F4B2 11 000F LD DE,15 ; RC OFFSET DQ [DE] 883 F4B5 19 ADD HL,DE ; ADR. RC Z FCB 884 F4B6 EB EX DE,HL ; DO [DE] 885 F4B7 21 0011 LD HL,17 ; OFFSET NA D9 886 F4BA 19 ADD HL,DE ; ADR. D9 887 F4BB C9 RET 888 ; 889 ; 890 ; DEJ D9 (AKTUALNI CLTAC ZAZNAMU) A RC (CITAC ZAZNAMU) 891 ; 892 F4BC CD F4AF LDD9RC: CALL RCADD ; PRIPRAVA ADR.D9 [HL] A RC [DE] 893 F4BF 7E LD A,(HL) ; AKT.CITAC ZAZNAMU DO [A] 894 F4C0 32 FDEB LD (D9),A ; ULOZENI D9 895 F4C3 EB EX DE,HL ; ADR.RC DO [HL] 896 F4C4 7E LD A,(HL) ; RC DO [A] 897 F4C5 32 FDE9 LD (RC),A ; ULOZENI RC 898 F4C8 CD F4A7 CALL EXADD ; ADR.NA EXTENT DO [HL] 899 F4CB 3A FDCD LD A,(CUEXM) ; EXTENT-MASKA DO [A] 900 F4CE A6 AND (HL) ; AND S EX Z FCB 901 F4CF 32 FDEA LD (MEX),A ; ULOZENI MASKY ROZSIRENI 902 F4D2 C9 RET 903 ; 904 ; 905 ; ULOZENI D9 A RC DO FCB 906 ; 907 F4D3 CD F4AF SVD9RC: CALL RCADD ; PRIPRAVA ADR.D9 [HL] A RC [DE] 908 F4D6 3A FDDD LD A,(SECSE) ; INDIKACE DISKOVE SLUZBY DO [A] 909 F4D9 FE 02 CP 02 ; JE TO CMD 48? 910 F4DB C2 F4DF JP NZ,SVRD10 ; NENI TO CMD 40 911 F4DE AF XOR A ; NULA DO [A] 912 F4DF 4F SVRD10: LD C,A ; INDIKACE DO [C] 913 F4E0 3A FDEB LD A,(D9) ; D9 DO [A] 914 F4E3 81 ADD A,C ; D9+1 KDYZ CMD 20,21 915 ; JINAK D9+0 916 F4E4 77 LD (HL),A ; ULOZENI D9 917 F4E5 EB EX DE,HL ; ADR.RC DO [HL] 918 F4E6 3A FDE9 LD A,(RC) ; RC DO [A] 919 F4E9 77 LD (HL),A ; ULOZENI RC DO FCB 920 F4EA C9 RET 921 ; 922 ; 923 ; POSUN SPOJENYCH RESISTRU [HL] VPRAVO [C] KRAT 924 ; 925 F4EB 0C RSHHL: INC C ; TEST CITACE POSUNU 926 F4EC 0D RSHHL1: DEC C ; 927 F4ED C8 RET Z ; RET PO UKONCENI 928 F4EE 7C LD A,H ; HORNI BYTE DO [A] 929 F4EF B7 OR A ; NULOVANI CARRY 930 F4F0 1F RRA ; ROTACE VPRAVO MACRO-80 3.44 09-Dec-81 PAGE 1-15 931 F4F1 67 LD H,A ; BYTE DO [H] 932 F4F2 7D LD A,L ; DOLNI BYTE DO [A] 933 F4F3 1F RRA ; ROTACE VPRAVO 934 F4F4 6F LD L,A ; BYTE ZPET DO [L] 935 F4F5 C3 F4EC JP RSHHL1 ; OPAKOVANI 936 ; 937 ; 938 ; GENEROVANI KONTROLNIHO SOUCTU ADRESARE 939 ; 940 F4F8 0E 80 DIRCKS: LD C,128 ; DELKA BUFFERU ADRESARE 941 F4FA 2A FDC1 LD HL,(DIRBUP) ; ADR.BUFFERU ADRESARE DO [HL] 942 F4FD AF XOR A ; NULA DO [A] 943 F4FE 86 DIRCK1: ADD A,(HL) ; VYPOCET SOUCTU 944 F4FF 23 INC HL ; UPRAVA ADRESY 945 F500 0D DEC C ; DEC POCITADLA 946 F501 C2 F4FE JP NZ,DIRCK1 ; OPAKOVANI 947 F504 C9 RET 948 ; 949 ; 950 ; GENEROVANI MASKY DISKU 951 ; 952 ; REG C CISLO DISKU PRI VOLANI - NULA PO RET 953 ; HL 0001 PRI CALL - MASKA DISKU PRI RET 954 ; 955 F505 0C GENMSK: INC C ; TEST CISLA DISKU 956 F506 0D GEMSK1: DEC C ; 957 F507 C8 RET Z ; RETURN 958 F508 29 ADD HL,HL ; SHIFT BIT MASKY O 1 POZ.VLEVO 959 F509 C3 F506 JP GEMSK1 ; OPAKOVANI 960 ; 961 ; 962 ; NASTAVENI BITU VEKTORU DISKU 963 ; 964 ; REG BC PUVODNI VEKTOR DISKU PRI CALL 965 ; HL NOVY VEKTOR DISKU PRI RET 966 ; 967 F50C C5 SETVEC: PUSH BC ; USCHOVA PUVODNIHO VEKTORU 968 F50D 3A F34D LD A,(DSKNO) ; CISLO DISKU DO [A] 969 F510 4F LD C,A ; A DO [C] 970 F511 21 0001 LD HL,0001 ; NASTAVENI MASKY PRO JEDN. A: 971 F514 CD F505 CALL GENMSK ; GENEROVANI MASKY 972 F517 C1 POP BC ; OBNOVA PUVODNIHO VEKTORU 973 F518 79 LD A,C ; SPODNI BYTE DO [A] 974 F519 B5 OR L ; JEHO AKTUALIZACE 975 F51A 6F LD L,A ; A PRESUN DO [L] 976 F51B 78 LD A,B ; HORNI BYTE DO [A] 977 F51C B4 OR H ; JEHO AKTUALIZACE 978 F51D 67 LD H,A ; A PRESUN DO [H] 979 F51E C9 RET 980 ; 981 ; 982 ; TEST NA DISK R/O 983 ; 984 F51F 2A FDB5 TSTDRO: LD HL,(ROVEC) ; READ ONLY VEKTOR DO [HL] 985 F522 3A F34D LD A,(DSKNO) ; # DISKU DO [A] 986 F525 4F LD C,A ; DO [C] 987 F526 CD F4EB CALL RSHHL ; NASTAVENI ODPOV, BITU R/O VEKT. 988 F529 7D LD A,L ; LOW BYTE (0 BIT) DO [A] 989 F52A E6 01 AND 01 ; NASTAVENI 0 BITU 990 F52C C9 RET 991 ; 992 ; MACRO-80 3.44 09-Dec-81 PAGE 1-16 993 ; OZNAC DISK JAKO CHRANENY PROTI ZAPISU CMD 28 994 ; ===================================== 995 ; 996 F52D 21 FDB5 WRTPRT: LD HL,ROVEC ; ADR.READ ONLY VECTORU 997 F530 4E LD C,(HL) ; JEHO PRESUN DO [BC] 998 F531 23 INC HL 999 F532 46 LD B,(HL) 1000 F533 CD F50C CALL SETVEC ; NASTAVENI BITU V R/O VEKTORU 1001 F536 22 FDB5 LD (ROVEC),HL ; ULOZENI R/O VEKTORU 1002 ; 1003 F539 2A FDD0 LD HL,(CUDRM) ; KAX.# VSTUPU ADRESARE 1004 F53C 23 INC HL ; JEHO INC 1005 F53D EB EX DE,HL ; A PRESUN DO [DE] 1006 F53E 2A FDBB LD HL,(DPSC1) ; ADR.PRAC.POLE 1 V DPBASE 1007 F541 73 LD (HL),E ; ULOZENI MAX. #+1 ADRESARE 1008 F542 23 INC HL 1009 F543 72 LD (HL),D 1010 F544 C9 RET 1011 ; 1012 ; 1013 ; TEST NA READ ONLY 1014 ; 1015 F545 CD F55F TSTRO: CALL DIRADR ; DEJ ADR. VSTUPU ADRESARE 1016 F548 11 0009 TST1: LD DE,9 ; OFFSET NA T1 NAZVU SOUBORU 1017 F54B 19 ADD HL,DE ; ADRESA T1 1018 F54C 7E LD A,(HL) ; T1 DO [A] 1019 F54D 17 RLA ; TEST HIGH BITU 1020 F54E D0 RET NC ; RET KDYZ NENI NAST.=>NOT R/O 1021 F54F 21 F00F LD HL,FROJPA ; ADR. NA "FILE R/O ERROR" 1022 F552 C3 F355 JP VJUMP1 ; SKOK NA SKOK PODLE [HL] 1023 ; 1024 ; TEST NA NOT R/O 1025 ; 1026 F555 CD F51F TSTNRO: CALL TSTDRO ; TEST NA R/O 1027 F558 C8 RET Z ; RET KDYZ NOT READ ONLY 1028 F559 21 F00D LD HL,ROEJPA ; ADR. NA "READ ONLY ERROR" 1029 F55C C3 F355 JP VJUMP1 ; SKOK NA SKOK PODLE [HL] 1030 ; 1031 ; 1032 ; GENEROVANI ADRESY AKT. FCB V BUFFERU ADRESARE 1033 ; 1034 F55F 2A FDC1 DIRADR: LD HL,(DIRBUP) ; ADRESA BUFFERU ADRESACE 1035 F562 3A FDF1 LD A,(DIROFF) ; OFFSET ADRESARE 1036 F565 85 DIRAD1: ADD A,L ; ADRESA AKT. FCB DO [HL] 1037 F566 6F LD L,A 1038 F567 D0 RET NC 1039 F568 24 INC H 1040 F569 C9 RET 1041 ; 1042 ; 1043 ; PRESUN S2 Z FCB 1044 ; 1045 F56A 2A F34E LDS2: LD HL,(FCBSAV) ; ADRESA FCB DO [HL] 1046 F56D 11 000E LD DE,14 ; OFFSET NA S2 1047 F570 19 ADD HL,DE ; ADRESA S2 1048 F571 7E LD A,(HL) ; S2 DO [A] 1049 F572 C9 RET 1050 ; 1051 ; 1052 ; NULOVANI S2 V FCB 1053 ; 1054 F573 CD F56A CLRS2: CALL LDS2 ; PRIPRAVA ADRESY S2 MACRO-80 3.44 09-Dec-81 PAGE 1-17 1055 F576 36 00 LD (HL),0 ; NULA DO S2 1056 F578 C9 RET 1057 ; 1058 ; 1059 ; NASTAVENI 7 BITU S2 V FCB 1060 ; 1061 F579 CD F56A ST7S2: CALL LDS2 ; ADR. S2 DO [A] 1062 F57C F6 80 OR 80H ; NAST.7 BITU S2 1063 F57E 77 LD (HL),A ; ULOZENI S2 1064 F57F C9 RET 1065 ; 1066 ; 1067 ; POROVNANI AKT. # VSTUPU ADRESARE S MAX # VSTUPU 1068 ; ADRESARE 1069 ; 1070 F580 2A FDF2 TDIRET: LD HL,(DETYNO) ; # VSTUPU DO [HL] 1071 F583 EB EX DE,HL ; A DO [DE] 1072 F584 2A FDBB LD HL,(MAXDIE) ; MAX.# VSTUPU DO [HL] 1073 F587 7B LD A,E ; JEJICH POROVNANI 1074 F588 96 SUB (HL) ; 1075 F589 23 INC HL 1076 F58A 7A LD A,D 1077 F58B 9E SBC A,(HL) 1078 F58C C9 RET 1079 ; 1080 ; 1081 ; VYPOCET A TEST CISLA VSTUPU ADRESARE 1082 ; 1083 F58D CD F580 TSTMDI: CALL TDIRET ; POROVNANI AKT. A MAX # VST. 1084 F590 D8 RET C ; RET KDYZ AKT. .LE. MAX 1085 F591 13 INC DE ; INC AKT. # VSTUPU 1086 F592 72 LD (HL),D ; JEHO PRESUN DO [HL] 1087 F593 2B DEC HL 1088 F594 73 LD (HL),E 1089 F595 C9 RET 1090 ; 1091 ; 1092 ; POROVNANI AKTUALNIHO CITACE VSTUPU ADRESARE S MAX. 1093 ; REG DE - MAX. 1094 ; HL - AKT. 1095 ; 1096 ; 1097 F596 7B SDEMHL: LD A,E ; [DE] - [HL] = [HL] 1098 F597 95 SUB L 1099 F598 6F LD L,A 1100 F599 7A LD A,D 1101 F59A 9C SBC A,H 1102 F59B 67 LD H,A 1103 F59C C9 RET 1104 ; 1105 ; 1106 ; KONTROLA NA ZMENU ADRESARE 1107 ; 1108 F59D 0E FF CKDS00: LD C,0FFH ; 0FFH DO [C] 1109 ; 1110 F59F 2A FDF4 CKDSKC: LD HL,(DETYSC) ; # AKT.SEKTORU ADRESARE DO [HL] 1111 F5A2 EB EX DE,HL ; DO [DE] 1112 F5A3 2A FDD4 LD HL,(CUCKS) ; VELIKOST VEKT. ADRESARE DO [HL] 1113 F5A6 CD F596 CALL SDEMHL ; [DE] - [HL] = [HL] 1114 F5A9 D0 RET NC ; RET KDYZ VEKT.ADR.LE.#AKT SEK 1115 F5AA C5 PUSH BC ; USCHOVA [BC] 1116 F5AB CD F4F8 CALL DIRCKS ; GENER.KONTROLNIHO SOUCTU MACRO-80 3.44 09-Dec-81 PAGE 1-18 1117 ; SEKTORU ADRESARE DO [A] 1118 F5AE 2A FDC5 LD HL,(CSVP) ; ADR.PRAC.POLE PRO VYM.DISKU 1119 F5B1 EB EX DE,HL ; DO [DE] 1120 F5B2 2A FDF4 LD HL,(DETYSC) ; # SEKTORE VSTUPU ADRESARE 1121 F5B5 19 ADD HL,DE ; ADR. ULOZ. KONTR. SOUCTU 1122 ; PUVODNIHO 1123 F5B6 C1 POP BC ; OBNOVENI [BC] 1124 F5B7 0C INC C 1125 F5B8 CA F5C5 JP Z,CKDS10 ; SKOK BYL VST.BOD CKD00 1126 F5BB BE CP (HL) ; POROVNANI S NOVYM 1127 ; KONTROLNIM SOUCTEM 1128 F5BC C8 RET Z ; RET KDYZ SOUHLASI 1129 F5BD CD F580 CALL TDIRET ; TEST VSTUPU ADRESARE 1130 F5C0 D0 RET NC ; 1131 F5C1 CD F52D CALL WRTPRT ; PRI VYMENE DISKU => 1132 ; WRITE PROTECT DISK 1133 F5C4 C9 RET 1134 F5C5 77 CKDS10: LD (HL),A ; ULOZENI KONTROLNIHO SOUCTU 1135 F5C6 C9 RET 1136 ; 1137 ; 1138 ; ZAPIS A CTENI BUFFERU ADRESARE 1139 ; 1140 F5C7 CD F59D WDB: CALL CKDS00 ; KONTROLA NA ZMENU ADRESARE 1141 ; 1142 F5CA CD F5E1 CALL DMA120 ; NASTAVENI DMA-ADR PRO 1143 ; BUFFER ADRESARE 1144 F5CD 0E 01 LD C,01 ; INDIKACE DO [C] 1145 F5CF CD F3B9 CALL WRITE ; ZAPIS SEKTORU ADRESARE 1146 F5D2 C3 F5DB JP DMA110 ; RESET DMA ADR + RETURN 1147 ; 1148 F5D5 CD F5E1 WDB1: CALL DMA120 ; NAST.DMA-ADR PRO BUFFER 1149 F5D8 CD F3B3 CALL READ ; CTENI SEKTORU ADRESARE 1150 ; 1151 ; 1152 ; NASTAVENI DMA ADRESY 1153 ; 1154 F5DB 21 FDB9 DMA110: LD HL,DMAADR ; DMA ADR. DO [HL] 1155 F5DE C3 F5E4 JP DMA130 1156 F5E1 21 FDC1 DMA120: LD HL,DIRBUP ; ADR. BUFFERU ADRESARE DO [HL] 1157 ; 1158 F5E4 4E DMA130: LD C, (HL) ; DMA ADR DO [BC] 1159 F5E5 23 INC HL 1160 F5E6 46 LD B,(HL) 1161 F5E7 C3 FE24 JP BIOS+24H ; SKOK NA NASTAVENI DMA + RET 1162 ; 1163 ; 1164 ; PRESUN SEKTORU ADRESARE DO DMA-ZONY 1165 ; 1166 F5EA 2A FDC1 MOVDIR: LD HL,(DIRBUP) ; ADR. BUFFERU ADRESARE DO [HL] 1167 F5ED EB EX DE,HL ; A DO [DE] 1168 F5EE 2A FDB9 LD HL,(DMAADR) ; DMA ADR DO [HL] 1169 F5F1 0E 80 LD C, 128 ; NASTAVENI DELKY 1170 ; 1171 ; 1172 ; PROCEDURA PRESUNU 1173 ; 1174 ; PRESUN [C] BYTU Z ADRESY V [DE] NA ADRESU V [HL] 1175 ; 1176 F5F3 0C MOVE: INC C ; TEST PRENESENEHO POCTU ZNAKU 1177 F5F4 0D MOVE10: DEC C ; 1178 F5F5 C8 RET Z ; RETURN PO UKONCENI PRESUNU MACRO-80 3.44 09-Dec-81 PAGE 1-19 1179 F5F6 1A LD A,(DE) ; BYTE DO [A] 1180 F5F7 77 LD (HL),A ; JEHO ULOZENI 1181 F5F8 13 INC DE ; UPRAVA ADRES ZDROJOVEHO 1182 ; A CILOVEHO POLE 1183 F5F9 23 INC HL 1184 F5FA C3 F5F4 JP MOVE10 ; OPAKOVANI 1185 ; 1186 ; 1187 ; TEST AKT.CLSLA VSTUPU => LOW BYTE .EQ. HIGH BYTE 1188 ; 1189 F5FD 21 FDF2 TSTDIE: LD HL,DETYNO ; ADR. ULOZENI # VSTUPU 1190 F600 7E LD A,(HL) ; LOW BYTE DO [A] 1191 F601 23 INC HL 1192 F602 BE CP (HL) ; TEST LOW BYTE .EQ. HI5H BYTE 1193 F603 C0 RET NZ ; RET KDYZ .NE. 1194 F604 3C INC A ; 1195 F605 C9 RET 1196 ; 1197 ; 1198 ; OBSLUHA ADRESARE 1199 ; 1200 F606 2A FDD0 DIR: LD HL,(CUDRM) ; MAX.# POLOZEK ADRESARE 1201 F609 EB EX DE,HL ; DO [DE] 1202 F60A 2A FDF2 LD HL,(DETYNO) ; AKT. CITAC VSTUPU DO [HL] 1203 F60D 23 INC HL ; NASTAVENI PRVNIHO (0) 1204 F60E 22 FDF2 LD (DETYNO),HL ; 1205 F611 CD F596 CALL SDEMHL ; POROVNANI AKT. CITACE VSTUPU 1206 ; S MAX. 1207 F614 D2 F61E JP NC,DIR120 ; AKT.CITAC .LE. MAX. 1208 ; 1209 ; 1210 ; NASTAVENI AKT. CISLA (#) VSTUPU ADRESARE NA -1 1211 ; 1212 F617 21 FFFF CLRDIR: LD HL,-1 ; NASTAVENI [HL] 1213 F61A 22 FDF2 LD (DETYNO),HL ; NASTAVENI # VSTUPU NA -1 1214 F61D C9 RET 1215 ; 1216 F61E 3A FDF2 DIR120: LD A,(DETYNO) ; AKT. CITAC VSTUPU DO [A] 1217 F621 E6 03 AND 03H ; VYPOCET POSUNUTI (OFFSET) 1218 F623 06 05 LD B,5 ; V ULOZENI SEKTORU ADRESARE 1219 F625 87 DIR140: ADD A,A ; 1220 F626 05 DEC B ; 1221 F627 C2 F625 JP NZ,DIR140 ; 1222 F62A 32 FDF1 LD (DIROFF),A ; ULOZENI OFFSETU 1223 F62D B7 OR A ; TEST OFFSETU NA NULU 1224 F62E C0 RET NZ ; RET KDYZ VSTUP NENI PRVNI 1225 ; 1226 ; NACTENI DALSIHO SEKTORU ADRESARE 1227 ; 1228 F62F C5 PUSH BC ; USCHOVA [BC] B=0 C=-1 1229 F630 CD F3C4 CALL DSKCAL ; VYPOCET A NASTAVENI # SEKTORU 1230 ; A # STOPY ADRESARE 1231 F633 CD F5D5 CALL WDB1 ; NACTENI SEKTORU ADRESARE 1232 F636 C1 POP BC ; OBNOVA [BC] 1233 F637 C3 F59F JP CKDSKC ; KONTROLA NA VYMENU DISKU+RET 1234 ; 1235 ; PRIPRAVA ZAZNAMU DO ALOKACNI KAPY 1236 ; 1237 F63A 79 TL100: LD A,C ; CISLO ALOKACNIHO BLOKU DO [A] 1238 F63B E6 07 AND 07H ; URCENI BITU V ALOKACNIH BYTU 1239 F63D 3C INC A ; 1240 F63E 5F LD E,A ; JEHO USCHOVA MACRO-80 3.44 09-Dec-81 PAGE 1-20 1241 ; 1242 F63F 57 LD D,A ; VYPOCET OFFSETU V ALOKACNI 1243 F640 79 LD A,C ; MAPE 1244 F641 0F RRCA ; [BC] - CISLO BLOKU 1245 F642 0F RRCA 1246 F643 0F RRCA 1247 F644 E6 1F AND 1FH ; ROTOVANEHO LOW BYTU 1248 F646 4F LD C,A ; # ALOKACNIHO BLOKU DO [C] 1249 F647 78 LD A,B 1250 F648 87 ADD A,A ; ([A] * 32)OR(# BLOKU/MOD 8) 1251 F649 87 ADD A,A 1252 F64A 87 ADD A,A 1253 F64B 87 ADD A,A 1254 F64C 87 ADD A,A 1255 F64D B1 OR C 1256 F64E 4F LD C,A ; VYSLEDEK DO [C] 1257 ; 1258 F64F 78 LD A,B ; HORNI BYTE # AL. BLOKU 1259 F650 0F RRCA 1260 F651 0F RRCA 1261 F652 0F RRCA 1262 F653 E6 1F AND 1FH ; EX. BITU 5,6,7 1263 F655 47 LD B,A 1264 F656 2A FDC7 LD HL,(ALVP) ; ADR. ULOZENI ALOKACNI MAPY 1265 F659 09 ADD HL,BC ; ADR. AKT.BYTU AL. MAPY 1266 F65A 7E LD A,(HL) ; ALOKACNI BYT DO [A] 1267 F65B 07 TL120: RLCA ; ROTACE ALOKACNIHO BYTU 1268 F65C 1D DEC E ; A NAST.AKT.BITU K ZAZNAMU 1269 F65D C2 F65B JP NZ,TL120 1270 F660 C9 RET 1271 ; 1272 ; ZAZNAM DO ALOKACNIHO BYTU A JEHO ULOZENI 1273 ; 1274 F661 D5 TL140: PUSH DE ; USCHOVA [DE] 1275 F662 CD F63A CALL TL100 ; PRIPRAVA ZAZNAMU DO AL. MAPY 1276 F665 E6 FE AND 0FEH ; VYMAZ AKT.BITU Z MAPY 1277 F667 C1 POP BC ; OBNOVA ZAZN. KONSTANTY 1278 F668 B1 OR C ; ZAPIS AL. BITU 1279 F669 0F TL160: RRCA ; ZPETNA ROTACE ALOKACNIHO 1280 F66A 15 DEC D ; BYTU 1281 F66B C2 F669 JP NZ,TL160 ; 1282 F66E 77 LD (HL),A ; ULOZENI ALOKACNIHO BYTU 1283 F66F C9 RET 1284 ; 1285 ; GENEROVANI ALOKACNI MAPY 1286 ; 1287 F670 CD F55F TL180: CALL DIRADR ; ADR. AKT. FCB DO [HL] 1288 F673 11 0010 LD DE,16 ; OFFSET NA PRVNI # AL.BLOK(D0) 1289 F676 19 ADD HL,DE ; ADR. D0 V ADRESARI 1290 F677 C5 PUSH BC ; USCHOVA [BC] 1291 F678 0E 11 LD C,11H ; POCITADLO ULOZENI # AL.BLOKU 1292 F67A D1 TL190: POP DE ; E=L, D=0 1293 F67B 0D DEC C 1294 F67C C8 RET Z ; 1295 F67D D5 PUSH DE ; USCHOVA [DE] 1296 F67E 3A FDE5 LD A,(DSKSFL) ; VELIKOST DISKU DO [A] 1297 F681 B7 OR A ; JEHO TEST 1298 F682 CA F68D JP Z,TL200 ; VELIKOST .GT. 256 1299 F685 C5 PUSH BC ; USCHOVA POCITADLA 1300 F686 E5 PUSH HL ; USCHOVA ADR. # AL.BLOKU 1301 F687 4E LD C,(HL) ; # ALOKACNIHO BLOKU DO [C] 1302 F688 06 00 LD B,0 ; NULA DO [B] MACRO-80 3.44 09-Dec-81 PAGE 1-21 1303 F68A C3 F693 JP TL220 ; 1304 ; 1305 F68D 0D TL200: DEC C ; UPRAVA POCITADLA 1306 F68E C5 PUSH BC ; JEHO USCHOVA 1307 F68F 4E LD C,(HL) ; # AL. BLOKU DO [BC] 1308 F690 23 INC HL ; 1309 F691 46 LD B,(HL) ; 1310 F692 E5 PUSH HL ; USCHOVA ADR.# AL. BLOKU 1311 ; 1312 F693 79 TL220: LD A,C ; TEST # ALOKACNIHO BLOKU NA 1313 F694 B0 OR B ; NULU 1314 F695 CA F6A2 JP Z,TL240 ; SKOK KDYZ # A. BL. .EQ. 0 1315 F698 2A FDCE LD HL,(CUDSM) ; TEST NA PREKROCENI MAX. 1316 F69B 7D LD A,L ; VELIKOSTI DISKU 1317 F69C 91 SUB C ; [HL] - [BC] 1318 F69D 7C LD A,H ; 1319 F69E 98 SBC A,B ; 1320 F69F D4 F661 CALL NC,TL140 ; VELIKOST NENI PREKROCENA 1321 ; 1322 F6A2 E1 TL240: POP HL ; AKTUALIZACE ADRESY # AL.BLOKU 1323 F6A3 23 INC HL ; 1324 F6A4 C1 POP BC ; 1325 F6A5 C3 F67A JP TL190 ; 1326 ; 1327 ; 1328 ; 1329 ; 1330 ; NULOVANI ALOKACNI MAPY (VEKTORU) 1331 ; 1332 F6A8 2A FDCE CLRALV: LD HL,(CUDSM) ; VELIKOST DISKU V BLOCICH DO HL 1333 F6AB 0E 03 LD C,3 ; CITAC = 3 1334 F6AD CD F4EB CALL RSHHL ; DELENO 8 =>POCET BYTU AL. VEKT. 1335 F6B0 23 INC HL ; 1336 F6B1 44 LD B,H ; PRESUN VYSLEDKU DO [BC] 1337 F6B2 4D LD C,L ; 1338 F6B3 2A FDC7 LD HL,(ALVP) ; PRVNI BYTE AL.VEKTORU DO [HL] 1339 F6B6 36 00 CLALV1: LD (HL),0 ; NULOVANI JEDNOTLIVYCH BYTU 1340 F6B8 23 INC HL ; 1341 F6B9 0B DEC BC ; 1342 F6BA 78 LD A,B ; TEST POCITADLA BYTU 1343 F6BB B1 OR C 1344 F6BC C2 F6B6 JP NZ,CLALV1 ; OPAKOVANI 1345 ; 1346 F6BF 2A FDD2 LD HL,(CUAL) ; AL. VEKTOR ADRESARE DO [HL] 1347 F6C2 EB EX DE,HL ; DO [DE] 1348 F6C3 2A FDC7 LD HL,(ALVP) ; ADR. ALOKACNIHO VEKTORU 1349 F6C6 73 LD (HL),E ; INICIALIZACE AL. VEKTORU 1350 F6C7 23 INC HL 1351 F6C8 72 LD (HL),D 1352 ; 1353 F6C9 CD F3A2 CALL HOMCLR ; "HOHE" A NULOVANI #STOPY 1354 ; A MAX. POCTU SEKTORU NA STOPE 1355 F6CC 2A FDBB LD HL,(MAXDIE) ; NAST. MAX. CISLA VSTUPU DO 1356 F6CF 36 03 LD (HL),3 ; SEKTORU ADRESARE NA 3 1357 F6D1 23 INC HL ; ADR. HIGH BYTU MAXDIE 1358 F6D2 36 00 LD (HL),0 1359 F6D4 CD F617 CALL CLRDIR ; NASTAVENI # VSTUPU DO SEKTORU 1360 ; ADRESARE NA -1 1361 F6D7 0E FF TL260: LD C,0FFH ; [C] DO -1 1362 F6D9 CD F606 CALL DIR ; OBSLUHA ADRESARE 1363 F6DC CD F5FD CALL TSTDIE ; TEST # VST.ADRESARE NA NULU 1364 F6DF C8 RET Z ; RET KDYZ A VSTUPU .EQ. 0 MACRO-80 3.44 09-Dec-81 PAGE 1-22 1365 ; 1366 F6E0 CD F55F CALL DIRADR ; GENER.ADR. ULOZENI AKT, FCB 1367 F6E3 3E E5 LD A,0E5H ; PRIZNAK INICIALIZACE FCB [A] 1368 F6E5 BE CP (HL) ; JE FCB INICIALIZOVANE 1369 F6E6 CA F6D7 JP Z,TL260 ; SKOK KDYZ NENI 1370 ; 1371 F6E9 3A F34C LD A,(USRNO) ; # UZIVATELE DO [A] 1372 F6EC BE CP (HL) ; JEHO TEST 1373 F6ED C2 F6FB JP NZ,TL280 ; # UZIVATELE NESOUHLASI 1374 F6F0 23 INC HL ; ADR. DRUHEHO BYTU ADRESARE 1375 F6F1 7E LD A,(HL) ; DO [A] 1376 F6F2 D6 24 SUB 24H ; SUBTRACT '$' 1377 F6F4 C2 F6FB JP NZ,TL280 ; SKOK KDYZ .NE. $ 1378 F6F7 3D DEC A ; INICIALIZACE RETPRM 1379 F6F8 32 F350 LD (RETPRM),A ; NA 0FFH 1380 ; 1381 F6FB 0E 01 TL280: LD C,1 ; 1382 F6FD CD F670 CALL TL180 ; GENEROVANI ALOKACNI MAPY 1383 F700 CD F58D CALL TSTMDI ; PRIPRAVA DALSIHO # VSTUPU 1384 F703 C3 F6D7 JP TL260 ; ADRESARE A OPAKOVANI 1385 ; 1386 ; PRIPRAVA NAVRATOVEHO PARAMETRU PROCEDURY 1387 ; 1388 F706 3A FDDC TL300: LD A,(RPSAV) ; NAVR. PARAMETER DO [A] 1389 F709 C3 F2FA JP SVSING ; JEHO ULOZENI + RET 1390 ; 1391 ; 1392 F70C C5 TL320: PUSH BC ; USCHOVA "EX" Z DIR 1393 F70D F5 PUSH AF ; USCHOVA "EX" Z FCB 1394 F70E 3A FDCD LD A,(CUEXM) ; EXTEND-HASK DO [A] 1395 F711 2F CPL ; JEJI KOMPLEMENT 1396 F712 47 LD B,A ; DO [B] 1397 F713 79 LD A,C ; "EX" Z DIR DO [A] 1398 F714 A0 AND B ; JEHO .AND. S KOHPL. CUEXM 1399 F715 4F LD C,A ; VYSLEDEK DO [C] 1400 F716 F1 POP AF ; "EX" Z FCB DO [A] 1401 F717 A0 AND B ; JEHO .AND. S KOMPL. CUEXM 1402 F718 91 SUB C ; ODECTENI UPRAVENEHO EX 1403 F719 E6 1F AND 1FH ; A MASKA 1404 F71B C1 POP BC ; OBNOVENI [BC] 1405 F71C C9 RET ; 1406 ; 1407 ; HLEDEJ PRVNI VYSKYT V ADRESARI 1408 ; 1409 F71D 3E FF SFFP: LD A,0FFH ; INICIALIZACE NAVRAT. PARAM. 1410 F71F 32 FDDC LD (RPSAV),A ; PROCEDURY 1411 F722 21 FDE0 LD HL,SRGSAV ; ADR.ROZSAHU SHODY PRI HLEDANI 1412 F725 71 LD (HL),C ; JEJI NASTAVENI 1413 F726 2A F34E LD HL,(FCBSAV) ; ADR. FCB DO [HL] 1414 F729 22 FDE1 LD (FCBP),HL ; JEJI POMOCNE ULOZENI 1415 F72C CD F617 CALL CLRDIR ; NAST. # VST. DO SEKT.DIR =-1 1416 F72F CD F3A2 CALL HOMCLR ; "HOME" A NULOVANI # STOPY A 1417 ; MAX. POCTU SEKTORU NA STOPE 1418 ; 1419 ; HLEDEJ DALSI VYSKYT SOUBORU V ADRESARI 1420 ; 1421 F732 0E 00 TL400: LD C,0 ; 0 DO [C] 1422 F734 CD F606 CALL DIR ; OBSLUHA ADRESARE 1423 F737 CD F5FD CALL TSTDIE ; TEST # VSTUPU ADRESARE NA 0 1424 F73A CA F799 JP Z,TL500 ; SKOK KDYZ # VSTUPU .EQ. 0 1425 F73D 2A FDE1 LD HL,(FCBP) ; ADRESA FCB DO [HL] 1426 F740 EB EX DE,HL ; DO [DE] MACRO-80 3.44 09-Dec-81 PAGE 1-23 1427 F741 1A LD A,(DE) ; TEST PLATNOSTI FCB 1428 F742 FE E5 CP 0E5H ; 1429 F744 CA F74F JP Z,TL420 ; FCB JE ZRUSENE 1430 F747 D5 PUSH DE ; USCHOVA ADRESY FCB 1431 F748 CD F580 CALL TDIRET ; TEST PREK. MAX.# VST.ADRESARE 1432 F74B D1 POP DE ; OBNOVA ADRESY FCB 1433 F74C D2 F799 JP NC,TL500 ; SKOK KDYZ # VSTUPU PREKROCENO 1434 ; 1435 F74F CD F55F TL420: CALL DIRADR ; GENEROVANI ADRESY ADRESARE 1436 F752 3A FDE0 LD A,(SRGSAV) ; ROZSAH POROVNANI DO [A] 1437 F755 4F LD C,A ; DO [BC] 1438 F756 06 00 LD B,0 ; 1439 ; 1440 F758 79 TL430: LD A,C ; TEST UKONCENI 1441 F759 B7 OR A ; 1442 F75A CA F788 JP Z,TL480 ; POROVNANI UKONCENE 1443 F75D 1A LD A,(DE) ; ZNAK NAZVU DO [A] 1444 F75E FE 3F CP '?' ; JE TO ? 1445 F760 CA F781 JP Z,TL460 ; ANO,HUZE TO BYT JAKYKOLIV ZNAK 1446 F763 78 LD A,B ; PORADI ZNAKU DO [A] 1447 F764 FE 0D CP 0DH ; POROVNANO VCETNE "EX" ? 1448 F766 CA F781 JP Z,TL460 ; ANO 1449 F769 FE 0C CP 0CH ; POROVNANO AZ PO "EX" ? 1450 F76B 1A LD A,(DE) ; PRUBEZNE POROVNAVANY ZNAK DO [A] 1451 F76C CA F778 JP Z,TL440 ; NASLEDUJE POROVNANI "EX" 1452 F76F 96 SUB (HL) ; POROVNANI PRUBEZNYCH ZNAKU 1453 F770 E6 7F AND 7FH ; 1454 F772 C2 F732 JP NZ,TL400 ; NESOUHLASI 1455 F775 C3 F781 JP TL460 ; JSOU SHODNE 1456 ; 1457 F778 C5 TL440: PUSH BC ; USCH.CITACE PORADI A POR.ZNAKU 1458 F779 4E LD C,(HL) ; "EX" Z DIR DO [C] 1459 F77A CD F70C CALL TL320 ; UPRAVA "EX" 1460 F77D C1 POP BC ; OBN.CITACE PORADI A POR. ZNAKU 1461 F77E C2 F732 JP NZ,TL400 ; SKOK KDYZ UPRAVA "EX" .NE. 0 1462 ; 1463 F781 13 TL460: INC DE ; ADR. DALSIHO ZNAKU V UZIV FCB 1464 F782 23 INC HL ; ADR. DALSIHO ZNAKU V DIR-FCB 1465 F783 04 INC B ; INC CITACE PORADI 1466 F784 0D DEC C ; DEC CITACE POR. ZNAKU 1467 F785 C3 F758 JP TL430 ; OPAKOVANI 1468 ; 1469 F788 3A FDF2 TL480: LD A,(DETYNO) ; AKT.# VSTUPU ADRESARE DO [A] 1470 F78B E6 03 AND 03 ; EXTRAKT SPODNICH 2 BITU 1471 F78D 32 F350 LD (RETPRM),A ; AKT.# VSTUPU DO NAVR.PAR.SLUZBY 1472 F790 21 FDDC LD HL,RPSAV ; TEST A NASTAVENI NAVRATOVEHO 1473 F793 7E LD A,(HL) ; PARAHETRU SLUZBY 1474 F794 17 RLA ; TEST BITU 7 1475 F795 D0 RET NC ; RET KDYZ NENI NASTAVENY 1476 F796 AF XOR A ; NULA DO [A] 1477 F797 77 LD (HL),A ; A DO NAVRATOVEHO PARAHETRU 1478 F798 C9 RET ; PROCEDURY 1479 ; 1480 ; HLEDANY SOUBOR SE NENASEL 1481 ; 1482 F799 CD F617 TL500: CALL CLRDIR ; NAST.AKT,# VSTUPU NA -1 1483 F79C 3E FF LD A,0FFH ; INDIKACE CHYBY DO [A] 1484 F79E C3 F2FA JP SVSING ; NACTAVENI NAVR.PAR. SLUZBY+RET 1485 ; 1486 ; 1487 ; PROCEDURA ZRUSENI SOUBORU 1488 ; MACRO-80 3.44 09-Dec-81 PAGE 1-24 1489 ; 1490 F7A1 CD F555 DELFP: CALL TSTNRO ; TEST NA NOT READ ONLY 1491 ; HLEDANI PRVNIHO EXTENDU SOUBORU 1492 F7A4 0E 0C LD C,12 ; ROZSAH POROVNANI (JHENO) 1493 F7A6 CD F71D CALL SFFP ; HLEDANI PRVNIHO VYSKYTU V ADRESARI 1494 F7A9 LB004: ; TEST NALEZENI HLEDANEHO SOUBORU 1495 F7A9 CD F5FD CALL TSTDIE ; 1496 F7AC C8 RET Z ; RET KDYZ NENALEZEN 1497 ; OZNACENI EXTENDU JAKO ZRUSENEHO 1498 F7AD CD F545 CALL TSTRO ; TEST NA R/O SOUBORU 1499 F7B0 CD F55F CALL DIRADR ; GENEROVANI ADRESY ADRESARE 1500 F7B3 36 E5 LD (HL),0E5H ; OZNACENI FCB 1501 F7B5 0E 00 LD C,0 ; NULA DO [C] 1502 F7B7 CD F670 CALL TL180 ; NULOVANI ODPOVIDAJICICH BITU AL.HAPY 1503 F7BA CD F5C7 CALL WDB ; ZAPIS BUFFERU ADRESARE 1504 F7BD CD F732 CALL TL400 ; HLEDANI DALSIHG EXTENDU ADRESARE 1505 F7C0 C3 F7A9 JP LB004 ; 1506 ; 1507 ; 1508 ; 1509 ; VYPOCET ALOKACE BLOKU 1510 ; 1511 F7C3 COBLLO: ; HLEDANI NEJBLIZSIHO VOLNEHO 1512 F7C3 50 LD D,B ; BLOKU V OBOU SHERECH 1513 F7C4 59 LD E,C ; PREDCHOZI OBSAZENE # BLOKU DO [BC] 1514 F7C5 LB018: ; 1515 ; TEST CLSLA BLOKU NA NULU 1516 F7C5 79 LD A,C 1517 F7C6 B0 OR B 1518 F7C7 CA F7D6 JP Z,LB015 ; KDYZ NULA =>HLEDANI V SMERE DOLU 1519 ; JINAK TEST DALSIHO BLOKU 1520 F7CA 0B DEC BC ; DEKREMENT # BLOKU 1521 F7CB D5 PUSH DE ; USCH. # BLOKU PRO HLEDANI 1522 ; VE SHERU NAHORU 1523 F7CC C5 PUSH BC ; VE SHERU DOLU 1524 F7CD CD F63A CALL TL100 ; TEST BITU Z ALOKACNI HAPY 1525 F7D0 1F RRA ; 1526 ; 1527 F7D1 D2 F7F1 JP NC,LB016 ; BLOK JE VOLNY-JEHO REZERVACE 1528 ; A RETURN 1529 ; OBNOVA # BLOKU PRO HLEDANI 1530 F7D4 C1 POP BC ; VE SMERU NAHORU 1531 F7D5 D1 POP DE ; VE SMERU DOLU 1532 F7D6 LB015: ; 1533 ; 1534 F7D6 2A FDCE LD HL,(CUDSM) ; VELIKOST DISKU (POCET BLOKU)DO [HL] 1535 ; [DE] - [HL] TO TDE] 1536 F7D9 7B LD A,E ; TEST PREKROCENI VELIKOSTI 1537 F7DA 95 SUB L 1538 F7DB 7A LD A,D 1539 F7DC 9C SBC A,H 1540 F7DD D2 F7F9 JP NC,LB017 ; VELIKOST PREKROCENA 1541 ; HLEDANI DALSIHO BLOKU 1542 F7E0 13 INC DE ; INC # BLOKU 1543 F7E1 C5 PUSH BC ; SUSCHOVA # BLOKU PRO HLEDANI 1544 F7E2 D5 PUSH DE ; V OBOU SMERECH 1545 ; 1546 F7E3 42 LD B,D ; PRESUN # BLOKU DO [BC] 1547 F7E4 4B LD C,E 1548 F7E5 CD F63A CALL TL100 ; TEST BITU V ALOKACNI MAPE 1549 F7E8 1F RRA ; 1550 F7E9 D2 F7F1 JP NC,LB016 ; REZERVOVANI + RET MACRO-80 3.44 09-Dec-81 PAGE 1-25 1551 ; 1552 F7EC D1 POP DE ; OBNOVA # BLOKU PRO HLEDANI V 1553 F7ED C1 POP BC ; OBOU SMERECH 1554 F7EE C3 F7C5 JP LB018 ; OPAKOVANI 1555 F7F1 LB016: ; ZPETNE ULOZENI DO ALOKACNI 1556 ; MAPY 1557 F7F1 17 RLA 1558 F7F2 3C INC A ; OBSAZENI BITU V AL. MAPE 1559 F7F3 CD F669 CALL TL160 ; 1560 ; OBNOVA # BLOKU 1561 F7F6 E1 POP HL ; # VOLNEHO BLOKU 1562 F7F7 D1 POP DE ; # POSLEDNIHO BLOKU 1563 F7F8 C9 RET ; 1564 F7F9 LB017: ; 1565 F7F9 79 LD A,C ; TEST # BLOKU NA NULU (V SMERE DOLU) 1566 F7FA B0 OR B 1567 F7FB C2 F7C5 JP NZ,LB018 ; OPAKOVANI 1568 F7FE 21 0000 LD HL,0 ; JINAK 0=>[HL] - DISK PLNY 1569 F801 C9 RET ; 1570 ; 1571 ; 1572 ; PRESUN FCB DO SEKTORU ADRESARE A ZAPIS 1573 ; 1574 ; PRIPRAVA VST. PARAMETRU 1575 F802 0E 00 LB020: LD C,0 ; RELATIVNI ADRESA PRESOUVAME CASTI 1576 F804 1E 20 LD E,32 ; ROZSAH PRESOUVANE CASTI 1577 ; 1578 ; PRESUN CASTI FCB DO SEKTORU ADRESARE A ZAPIS 1579 ; 1580 ; 1581 F806 MOVFCB: ; 1582 F806 D5 PUSH DE ; USCHOVA ROZSAHU PRESUNU 1583 F807 06 00 LD B,0 ; NULA DO [B] 1584 F809 2A F34E LD HL,(FCBSAV) ; ADR. FCB DO [HL] 1585 F80C 09 ADD HL,BC ; POC. ADRESA PRESUNU DO [HL] 1586 F80D EB EX DE,HL ; A DO [DE] 1587 F80E CD F55F CALL DIRADR ; ADRESA VOLNEHO FCB 1588 F811 C1 POP BC ; ROZSAH PRESUNU DO [BC] 1589 F812 CD F5F3 CALL MOVE ; PRESUN [C] BYTO Z [DE] DO [HL] 1590 F815 CD F3C4 LB014: CALL DSKCAL ; VYPOCET A NASTAVENI SEKTORU A STOPY 1591 F818 C3 F5C7 JP WDB ; ZAPIS SEKTORU ADRESARE 1592 ; 1593 ; 1594 ; PROCEDURA PREJMENOVANI SUBORU 1595 ; ============================= 1596 ; 1597 F81B CD F555 RENFP: CALL TSTNRO ; TEST NA DISK NOT READ ONLY 1598 ; HLEDANI PRVNIHO EXTENDU SOUBORU 1599 F81E 0E 0C LD C,12 ; ROZSAH POROVNANI (JMENO) 1600 F820 CD F71D CALL SFFP ; HLEDANI PRVNIHO VYSKYTU 1601 ; PRESUN # DISKU A # UZIVATELE 1602 F823 2A F34E LD HL,(FCBSAV) ; ADRESA FCB DO [HL] 1603 F826 7E LD A,(HL) ; # DISKU A # UZIVATELE DO [A] 1604 ; ADRESA 1 ZNAKU NOVEHO JMENA 1605 F827 11 0010 LD DE,16 ; DO [HL] 1606 F82A 19 ADD HL,DE 1607 F82B 77 LD (HL),A ; ULOZENI # DISKU A # UZIVATELE 1608 ; 1609 F82C CD F5FD LB003: CALL TSTDIE ; EXTEND NALEZEN ? 1610 F82F C8 RET Z ; RET KDYZ NE 1611 ; PREJMENOVANI PRVNIHO EXTENDU A 1612 ; HLEDANI DALSIHO MACRO-80 3.44 09-Dec-81 PAGE 1-26 1613 F830 CD F545 CALL TSTRO ; TEST NA READ ONLY SOUBORU 1614 ; 1615 F833 0E 10 LD C,16 ; REL. ADRESA NOVEHO 1616 F835 1E 0C LD E,12 ; ROZSAH PRESUNU 1617 F837 CD F806 CALL MOVFCB ; PRESUN JMENA DO DIR-FCB A ZAPIS 1618 F83A CD F732 CALL TL400 ; HLEDANI DALSIHO EXTENDU SOUBORU 1619 F83D C3 F82C JP LB003 ; 1620 ; 1621 ; 1622 ; PROCEDURA NACTAVENI ATRIBUTU SOUBORU 1623 ; ==================================== 1624 ; 1625 ; HLEDANI PRVNIHO EXTENDU SOUBORU 1626 F840 0E 0C SETFAP: LD C,12 ; NACTAVENI ROZSAHU POROVNANI 1627 F842 CD F71D CALL SFFP ; HLEDANI PRVNIHO VYSKYTU SOUBORU 1628 ; 1629 F845 CD F5FD LBA14: CALL TSTDIE ; TEST NALEZENI 1630 F848 C8 RET Z ; RET KDYZ NENALEZEN 1631 ; 1632 F849 0E 00 LD C,0 ; REL. ADR. PRESUNU DO [C] 1633 F84B 1E 0C LD E,12 ; ROZSAH POROVNAVANI DO [E] 1634 F84D CD F806 CALL MOVFCB ; PRESUN JMENA DO DIR-FCB + ZAPIS 1635 F850 CD F732 CALL TL400 ; HLEDANI DALSIHO EXTENDU SOUBORU 1636 F853 C3 F845 JP LBA14 ; 1637 ; 1638 ; 1639 ; PROCEDURA OTEVRENI SOUBORU 1640 ; ========================== 1641 ; 1642 F856 OPFP: ; HLEDANI EXTENDU SOUBORU 1643 F856 0E 0F LD C,15 ; NASTAVENI ROZSAHU POROVNANI 1644 F858 CD F71D CALL SFFP ; HLEDANI PRVNIHO VYSKYTU 1645 F85B CD F5FD CALL TSTDIE ; TEST NALEZENI 1646 F85E C8 RET Z ; RET KDYZ NENALEZEN 1647 ; ULOZENI "EX" Z UZIV. FCB 1648 F85F OPFP1: 1649 F85F CD F4A7 CALL EXADD ; ADRESA NA "EX" 1650 F862 7E LD A,(HL) ; "EX" Z UZIV. FCB DO [A] 1651 F863 F5 PUSH AF ; USCHOVA "EX" 1652 F864 E5 PUSH HL ; A JEHO ADRESY 1653 ; PRESUN DIR-FCB DO UZIV. FCB 1654 ; PRIPRAVA PARAMETRU 1655 F865 CD F55F CALL DIRADR ; GENEROVANI ADRESY ADRESARE 1656 F868 EB EX DE,HL ; PRESUN DIR.ADR DO [DE] 1657 F869 2A F34E LD HL,(FCBSAV) ; ADRESA UZIV. FCB DO [HL] 1658 F86C 0E 20 LD C,32 ; ROZSAH PRESUNU DO [C] 1659 F86E D5 PUSH DE ; USCHOVA DIR. ADR 1660 F86F CD F5F3 CALL MOVE ; PRESUN FCB 1661 F872 CD F579 CALL ST7S2 ; NASTAVENI BITU 7 V S2 1662 ; PRESUN "EX" Z DIR-FCB DO [C] 1663 F875 D1 POP DE ; OBNOVA DIR. ADR 1664 F876 21 000C LD HL,12 ; OFFSET NA "EX" 1665 F879 19 ADD HL,DE ; ADR. "EX" Z DIR-FCB DO [HL] 1666 F87A 4E LD C,(HL) ; "EX" DO [C] 1667 ; "RC" Z DIR-FCB DO [B] 1668 F87B 21 000F LD HL,15 ; OFFSET NA "RC" 1669 F87E 19 ADD HL,DE ; ADRESA "RC" Z DIR-FCB DO [HL] 1670 F87F 46 LD B,(HL) ; "RC" DO [B] 1671 ; ZPETNE ULOZENI "EX" DO UZIV.FCB 1672 F880 E1 POP HL ; ADRESA UZIV. "EX" DO [HL] 1673 F881 F1 POP AF ; OBNOVA "EX" 1674 F882 77 LD (HL),A ; ULOZENI"EX" MACRO-80 3.44 09-Dec-81 PAGE 1-27 1675 ; POROVNANI "EX" Z UZIV. A DIR. FCB 1676 F883 79 LD A,C ; "EX" Z DIR-FCB DO [A] 1677 F884 BE CP (HL) ; POROVNANI 1678 ; KDYZ SE ROVNAJI 1679 F885 78 LD A,B ; ULOZENI "RC" 1680 F886 CA F890 JP Z,LB005 1681 ; KDYZ "EX" Z DIR-FCB .LT."EX" UZIV. 1682 F889 3E 00 LD A,0 ; NULOVANI "RC" 1683 F88B DA F890 JP C,LB005 1684 ; KDYZ "EX" Z DIR-FCB .GT. "EX" UZIV. 1685 F88E 3E 80 LD A,80H ; NASTAVENI "RC" NA 80H 1686 ; ULOZENI "RC" 1687 ; ADRESA "RC" DO [HL] 1688 F890 2A F34E LB005: LD HL,(FCBSAV) 1689 F893 11 000F LD DE,15 ; OFFSET NA "RC" 1690 F896 19 ADD HL,DE 1691 F897 77 LD (HL),A ; ULOZENI 1692 F898 C9 RET ; RETURN 1693 ; 1694 ; 1695 ; PRESUN 2 BYTU Z ADRESY V [DE] NA ADRESU V [HL] KDYZ 1696 ; [HL].EQ.[HL+1] 1697 ; 1698 F899 LB011: ; KDYZ [HL].EQ.[HL+1] 1699 F899 7E LD A,(HL) 1700 F89A 23 INC HL 1701 F89B B6 OR (HL) 1702 F89C 2B DEC HL 1703 1704 F89D C0 RET NZ 1705 ; POTOM 1706 ; PRESUN LOW BYTU 1707 F89E 1A LD A,(DE) 1708 F89F 77 LD (HL),A 1709 ; PRESUN HIGH BYTU 1710 F8A0 13 INC DE 1711 F8A1 23 INC HL 1712 F8A2 1A LD A,(DE) 1713 F8A3 77 LD (HL),A 1714 ; UPRAVA ADRES 1715 F8A4 1B DEC DE 1716 F8A5 2B DEC HL 1717 F8A6 C9 RET ; RETURN 1718 ; 1719 ; 1720 ; PROCEDURA UZAVRENI SOUBORU 1721 ; ========================== 1722 ; 1723 F8A7 CLFP: ; NULOVANI PRAC. PARAMETRU 1724 F8A7 AF XOR A ; NULA DO [A] 1725 F8A8 32 F350 LD (RETPRM),A ; NULOVANI NAVRATOVEHO PARAMETRU 1726 ; NULOVANI CISLA VSTUPU ADRESARE 1727 F8AB 32 FDF2 LD (DETYNO),A ; LOW BYTE 1728 F8AE 32 FDF3 LD (DETYNO+1),A ; HIGH BYTE 1729 ; RET KDYZ JE DISK READ ONLY 1730 F8B1 CD F51F CALL TSTDRO ; TEST 1731 F8B4 C0 RET NZ ; RETURN 1732 ; RET KDYZ EXTEND NENI NASTAVEN 1733 ; K ZAPISU 1734 F8B5 CD F56A CALL LDS2 ; S2 DO A 1735 F8B8 E6 80 AND 80H ; EX. 7 BITU 1736 F8BA C0 RET NZ ; RET KDYZ 7. BIT S2 = 1 MACRO-80 3.44 09-Dec-81 PAGE 1-28 1737 ; HLEDANI ODPOVIDAJICI POLOZKY V 1738 F8BB 0E 0F LD C,15 ; ADRESARI - NAST. ROZSAHU 1739 F8BD CD F71D CALL SFFP ; HLEDANI PRVNIHO VYSKYTU 1740 F8C0 CD F5FD CALL TSTDIE ; TEST NALEZENI 1741 F8C3 C8 RET Z ; NENALEZEN => RET 1742 ; PRIPRAVA PARAM. K PRESUNU # BLOKU 1743 ; DO [DE] ADR, PRVNIHO # BLOKU Z FCB 1744 F8C4 01 0010 LD BC,16 ; 16 DO [BC] 1745 F8C7 CD F55F CALL DIRADR ; GENEROVANI ADRESY ULOZENI ADRESARE 1746 F8CA 09 ADD HL,BC ; VYPOCET ADRESY ULOZENI PRVNIHO 1747 ; # BLOKU (D0) V ADRESARE 1748 F8CB EB EX DE,HL ; A JEJI PRESUN DO [DE] 1749 ; NASTAVENI ADR. D0 V UZIV. FCB 1750 F8CC 2A F34E LD HL,(FCBSAV) ; ADR, UZIV. FCB DO [HL] 1751 F8CF 09 ADD HL,BC ; ADR. D0 V UZIV FCB 1752 F8D0 0E 10 LD C,16 ; NASTAVENI CITACE PRESUNU 1753 F8D2 LB012: ; 1754 F8D2 3A FDE5 LD A,(DSKSFL) ; TEST VELIKOSTI DISKU 1755 F8D5 B7 OR A ; 1756 F8D6 CA F8ED JP Z,LB006 ; SKOK KDYZ VELIKOST .GT. 256 KB 1757 ; 1758 ; KDYZ # BLOKU Z UZIV.FCB JE NULA 1759 F8D9 7E LD A,(HL) ; OAD D(N) OF USER FCB TO [A] 1760 F8DA B7 OR A ; 1761 F8DB 1A LD A,(DE) ; PRESUN # BLOKU Z FCB V ADRESARI 1762 ; (DIR-FCB) 1763 F8DC C2 F8E0 JP NZ,LB007 ; SKOK KDYZ NOT .EQ. 0 1764 ; PRESUN # BLOKU Z DIR-FCB DO 1765 F8DF 77 LD (HL),A ; UZIVATELSKEHO FCB 1766 F8E0 LB007: ; 1767 F8E0 B7 OR A ; TEST # BBLOKU Z DIR-FCB NA NULU 1768 F8E1 C2 F8E6 JP NZ,LB008 1769 ; 1770 F8E4 7E LD A,(HL) ; PRESUN # BLOKU DO UZIV. FCB 1771 F8E5 12 LD (DE),A 1772 F8E6 LB008: ; POROVNANI # BLOKU Z UZIVATELSKEHO 1773 F8E6 BE CP (HL) ; A DIR-FCB 1774 F8E7 C2 F924 JP NZ,LB009 ; NEJSOU SHODNA => CHYBA + RET 1775 F8EA C3 F902 JP LB010 ; JSOU SHODNA 1776 ; 1777 F8ED LB006: ; PRESUN # BLOKU Z DIR-FCB 1778 F8ED CD F899 CALL LB011 ; DO UZIVATELSKEHO FCB A NAOPAK 1779 F8F0 EB EX DE,HL 1780 F8F1 CD F899 CALL LB011 1781 ; 1782 ; POROVNANI # BLOKU V UZIV. PCB A DLR-FCB 1783 ; 1784 F8F4 EB EX DE, HL ; POROVNANI DOLNIHO BYTE 1785 F8F5 1A LD A,(DE) 1786 F8F6 BE CP (HL) 1787 F8F7 C2 F924 JP NZ,LB009 ; NEROVNAJI SE => NAST. NAVR. 1788 ; PARAMETRU NA 255 + RET 1789 ; 1790 F8FA 13 INC DE ; POROVNANI HORNIHO BYTE 1791 F8FB 23 INC HL 1792 F8FC 1A LD A,(DE) 1793 F8FD BE CP (HL) 1794 F8FE C2 F924 JP NZ,LB009 ; NEROVNAJI SE => NAVR. PAR=255 + 1795 ; RET 1796 F901 0D DEC C ; DEC CITACE PRESUNU 1797 F902 LB010: ; 1798 F902 13 INC DE ; UPRAVA ADRES CISEL BLOKU MACRO-80 3.44 09-Dec-81 PAGE 1-29 1799 F903 23 INC HL 1800 F904 0D DEC C ; DEC CITACE OPAKOVANI 1801 F905 C2 F8D2 JP NZ,LB012 ; OPAKOVANI 1802 ; 1803 ; POROVNANI "EX" Z UZIV. FCB A DIR-FCB 1804 ; 1805 ; NASTAVENI ADRES "EX" 1806 F908 01 FFEC LD BC,0FFECH ; -20 DO [BC] 1807 F90B 09 ADD HL,BC ; SOUCET S [HL] 1808 F90C EB EX DE,HL ; ADRESA UZIV."EX" 1809 F90D 09 ADD HL,BC ; ADRESA DIR."EX" V [HL] 1810 ; POROVNANI 1811 F90E 1A LD A,(DE) 1812 F90F BE CP (HL) 1813 F910 DA F91C JP C,LB013 1814 ; 1815 ; PRESUN "EX" A "RC" DO UZIV. FCB 1816 ; 1817 ; 1818 F913 77 LD (HL),A ; PRESUN "EX" 1819 F914 01 0003 LD BC,3 ; PRIPRAVA ADRESY "RC" 1820 F917 09 ADD HL,BC 1821 F918 EB EX DE,HL 1822 F919 09 ADD HL,BC 1823 ; PRESUN "RC" 1824 F91A 7E LD A,(HL) 1825 F91B 12 LD (DE),A 1826 F91C LB013: ; 1827 ; NASTAVENI SAV NA -1 1828 F91C 3E FF LD A,0FFH ; 1829 F91E 32 FDEC LD (SAV),A 1830 F921 C3 F815 JP LB014 ; ZAPIS SEKTORU ADRESARE + RET 1831 F924 LB009: ; NASTAVENI NAVRATOVEHO PARAMETRU 1832 F924 21 F350 LD HL,RETPRM ; NA -1 + RET 1833 F927 35 DEC (HL) 1834 F928 C9 RET 1835 ; 1836 ; 1837 ; 1838 ; PROCEDURA VYTVORENI SOUBORU 1839 ; =========================== 1840 ; 1841 F929 CD F555 MKFLP: CALL TSTNRO ; TEST NA NOT READ ONLY 1842 F92C 2A F34E LD HL,(FCBSAV) ; ADR. FCB DO [HL] 1843 F92F E5 PUSH HL ; USCHOVA ADRESY FCB 1844 F930 21 FDB4 LD HL,FFAT ; ADR. PRIZNAKU VOLNEHO FCB(E5) 1845 F933 22 F34E LD (FCBSAV),HL ; A JEHO USCHOVA 1846 F936 0E 01 LD C,1 ; ROZSAH POROVNANI 1847 F938 CD F71D CALL SFFP ; HLEDANI VOLNEHO FCB 1848 F93B CD F5FD CALL TSTDIE ; TEST NALEZENI - NAST. VLAJEK 1849 F93E E1 POP HL ; OBNOVA ADRESY FCB 1850 F93F 22 F34E LD (FCBSAV),HL ; A PRIPRAVA JEJIHO ZPRACOVANI 1851 F942 C8 RET Z ; RET KDYZ JE ADRESAR PLNY 1852 ; 1853 ; 1854 ; 1855 F943 EB EX DE,HL ; ADRESA FCB DO [DE] 1856 F944 21 000F LD HL,0FH ; OFFSET NA S2 DO [HL] 1857 F947 19 ADD HL,DE ; ADRESA S2 DO [HL] 1858 F948 0E 11 LD C,11H ; PARAMETR CYKLU DO [C] 1859 F94A AF XOR A ; NULA DO [A] 1860 F94B 77 LB100: LD (HL),A ; NULOVANI ALOKACNIHO VEKTORU MACRO-80 3.44 09-Dec-81 PAGE 1-30 1861 F94C 23 INC HL ; V FCB 1862 F94D 0D DEC C 1863 F94E C2 F94B JP NZ,LB100 1864 F951 21 000D LD HL,000DH ; OFFSET NA "EX" 1865 F954 19 ADD HL,DE ; ADRESA "EX" DO [HL] 1866 F955 77 LD (HL),A ; NULOVANI HEXH 1867 F956 CD F58D CALL TSTMDI ; TEST NA MAX. # VSTUPU ADRESARE 1868 F959 CD F802 CALL LB020 ; PRESUN FCB DO ADRESARE DICKU 1869 F95C C3 F579 JP ST7S2 ; NASTAVENI 7 BITU C2 + RET 1870 ; 1871 ; 1872 ; OBSLUHA CTENI A ZAPICU SOUBORU 1873 ; ============================== 1874 ; 1875 ; 1876 F95F AF FLHAN: XOR A ; NULOVANI RIDICIHO BYTE S2 1877 F960 32 FDDA LD (THSE),A ; 1878 F963 CD F8A7 CALL CLFP ; PRESUN FCB DO ADRESARE 1879 F966 CD F5FD CALL TSTDIE ; JE PRESUN KOREKTNI? 1880 F969 C8 RET Z ; NE, CHYBOVY NAVRAT 1881 ; 1882 ; 1883 ; 1884 F96A 2A F34E LD HL,(FCBSAV) ; ADRESA FCB DO [HL] 1885 F96D 01 000C LD BC,0CH ; OFFSET NA "EX" DO [BC] 1886 F970 09 ADD HL,BC ; VYPOCET ADRESY "EX" 1887 F971 7E LD A,(HL) ; "EX" DO [A] 1888 F972 3C INC A ; PRIPRAVA HODNOTY NASLEDUJI- 1889 F973 E6 1F AND 1FH ; CIHO "EX" 1890 F975 77 LD (HL),A ; A JEJI ULOZENI 1891 F976 CA F988 JP Z,LB102 ; CKOK KDYZ [EX] .GT. 32 1892 F979 47 LD B,A ; "EX" DO [B] 1893 F97A 3A FDCD LD A,(CUEXM) ; TEST POCTU EXTENTU 1894 F97D A0 AND B ; 1895 F97E 21 FDDA LD HL,THSE ; ADRESA RIDICIHO BYTE C2(FCB) 1896 F981 A6 AND (HL) ; 1897 F982 CA F993 JP Z,LB103 ; 1898 F985 C3 F9B1 JP LB104 ; 1899 ; 1900 ; ZVYSENI INDIKACE POCTU EXTENTU V S2 1901 ; 1902 F988 01 0002 LB102: LD BC,2 ; ADRESA S2 DO [HL] 1903 F98B 09 ADD HL,BC ; 1904 F98C 34 INC (HL) ; S2=S2+1 1905 F98D 7E LD A,(HL) ; ULOZENI S2 1906 F98E E6 0F AND 0FH ; TEST POCTU EVID. EXTENTU 1907 F990 CA F9BB JP Z,LB106 ; POCET PREKROCEN 1908 ; 1909 ; 1910 ; 1911 F993 0E 0F LB103: LD C,0FH ; ROZSAH POROVNANI DO [C] 1912 F995 CD F71D CALL SFFP ; HLEDEJ VYCKYT V ADRESARI 1913 F998 CD F5FD CALL TSTDIE ; TEST NALEZENI 1914 F99B C2 F9B1 JP NZ,LB104 ; NENALEZEN DALCI EXTENT 1915 F99E 3A FDDB LD A,(FRSE) ; INDIKACE CLUZBY DO [A] 1916 F9A1 3C INC A ; TEST PROVADENE CLUZBY 1917 F9A2 CA F9BB JP Z,LB106 ; READ 1918 F9A5 CD F929 CALL MKFLP ; WRITE-VYTVORENI NOVEHO EXTENTU 1919 F9A8 CD F5FD CALL TSTDIE ; TEST VYTVORENI 1920 F9AB CA F9BB JP Z,LB106 ; NE, CHYBA + RET 1921 F9AE C3 F9B4 JP LB105 ; O.K. 1922 ; MACRO-80 3.44 09-Dec-81 PAGE 1-31 1923 ; 1924 ; 1925 F9B1 CD F85F LB104: CALL OPFP1 ; PRIPRAVA FCB DALSIHO EXTENTU 1926 F9B4 CD F4BC LB105: CALL LDD9RC ; NASTAVENI"D9"(CR) A "RC" Z FCB 1927 F9B7 AF XOR A ; NULA DO NAVR. PARAHETRU 1928 F9B8 C3 F2FA JP SVSING ; + RET 1929 F9BB CD F2FE LB106: CALL SREPRM ; 1 DO NAVR. PARAMETRU => CHYBA 1930 F9BE C3 F579 JP ST7S2 ; NASTAVENI 7 BITU V S2 + RET 1931 ; 1932 ; 1933 ; PRIPRAVA CTENI A CTENI 1934 ; 1935 F9C1 3E 01 RPR: LD A,01H ; NASTAVENI ATRIBUTU 1936 F9C3 32 FDDD LD (SECSE),A ; SEKVENCNIHO CTENI 1937 F9C6 3E FF LB107: LD A,0FFH ; 1938 F9C8 32 FDDB LD (FRSE),A 1939 F9CB CD F4BC CALL LDD9RC ; PRIPRAVA "D9" A "RC" Z FCB 1940 F9CE 3A FDEB LD A,(D9) ; "D9" DO [A] 1941 F9D1 21 FDE9 LD HL,RC ; ADR. "RC" DO [HL] 1942 F9D4 BE CP (HL) ; POROVNANI "D9" A "RC" 1943 F9D5 DA F9EB JP C,LB108 ; RC .GE. D9=> O.K. CTENI 1944 F9D8 FE 80 CP 80H ; D9 .GT. RC, JE .EQ. 128 ? 1945 F9DA C2 FA00 JP NZ,LB109 ; D9 .NE. 128 =>IND. CHYBY + RET 1946 ; 1947 ; 1948 ; 1949 F9DD CD F95F CALL FLHAN ; PRIPRAVA DALSIHO EXTENTU 1950 F9E0 AF XOR A ; NULOVANI "D9" (AKTUALNIHO 1951 F9E1 32 FDEB LD (D9),A ; CITACE ZAZNAMU) 1952 F9E4 3A F350 LD A,(RETPRM) ; TEST NAVRATOVEHO PARAHETRU 1953 F9E7 B7 OR A ; 1954 F9E8 C2 FA00 JP NZ,LB109 ; IND. CHYBY + RET 1955 ; 1956 ; 1957 ; 1958 F9EB CD F478 LB108: CALL GETBLK ; ZJISTENI # BLOKU 1959 F9EE CD F485 CALL TSTBLK ; TEST # BLOKU NA NULU 1960 F9F1 CA FA00 JP Z,LB109 ; KONEC CTENI 1961 F9F4 CD F48B CALL GETSEC ; ZJISTENI CISLA SEKTORU 1962 F9F7 CD F3D2 CALL DSKCA1 ; VYPOCET A NASTAVENI # STOPY 1963 ; A # SEKTORU 1964 F9FA CD F3B3 CALL READ ; CTENI SEKTORU 1965 F9FD C3 F4D3 JP SVD9RC ; ULOZENI "D9" A "RC" 1966 FA00 C3 F2FE LB109: JP SREPRM ; NASTAVENI NAVR. PARAM. + RET 1967 ; 1968 ; 1969 ; PRIPRAVA ZAPISU A ZAPIS 1970 ; 1971 FA03 3E 01 WPR: LD A,01H ; NASTAVENI ATRIBUTU SEKV. 1972 FA05 32 FDDD LD (SECSE),A ; ZAPISU 1973 FA08 3E 00 WPR1: LD A,00H ; 1974 FA0A 32 FDDB LB110: LD (FRSE),A 1975 FA0D CD F555 CALL TSTNRO ; TEST NA R/O DISKU 1976 FA10 2A F34E LD HL,(FCBSAV) ; ADRESA FCB DO [HL] 1977 FA13 CD F548 CALL TST1 ; TEST NA R/O SOUBORU 1978 FA16 CD F4BC CALL LDD9RC ; PRIPRAVA "D9" A "RC 1979 FA19 3A FDEB LD A,(D9) ; "D9" DO [A] 1980 FA1C FE 80 CP 80H ; TEST "D9" 1981 FA1E D2 F2FE JP NC,SREPRM ; INDIKACE CHYBY + RET 1982 FA21 CD F478 CALL GETBLK ; ZJISTENI# BLOKU 1983 FA24 CD F485 CALL TSTBLK ; TEST # BLOKU NA NULU 1984 FA27 0E 00 LD C,00H ; NAST. INDIKACE SLUZBY MACRO-80 3.44 09-Dec-81 PAGE 1-32 1985 FA29 C2 FA73 JP NZ,LB115 ; SKOK KDYZ # BLOKU .NE. 0 1986 FA2C CD F43F CALL BSHIFT ; VYPOCET ULOZENI # BLOKU V FCB 1987 FA2F 32 FDDF LD (ESAV+1),A ; JEHO ULOZENI 1988 FA32 01 0000 LD BC,0 ; PRIPRAVA REL. ADR. ULOZENI 1989 FA35 B7 OR A ; # ALOKOVANEHO BLOKU V FCB 1990 FA36 CA FA40 JP Z,LB111 ; 1991 FA39 4F LD C,A ; # BLOKU DO [C] 1992 FA3A 0B DEC BC ; 1993 FA3B CD F45F CALL RETBLK ; VYHLEDANI PREDCH. AL. BLOKU 1994 FA3E 44 LD B,H ; JEHO PRESUN DO [BC] 1995 FA3F 4D LD C,L ; 1996 FA40 CD F7C3 LB111: CALL COBLLO ; PRIPRAVA ALOKACE BLOKU 1997 FA43 7D LD A,L ; TEST VYSLEDKU 1998 FA44 B4 OR H 1999 FA45 C2 FA4D JP NZ,LB112 ; O.K. 2000 FA48 3E 02 LD A,02 ; NENALEZEN DALSI VOLNY BLOK 2001 FA4A C3 F2FA JP SVSING ; IND. CHYBY + RET 2002 ; 2003 ; 2004 ; 2005 FA4D 22 FDED LB112: LD (BLOCK),HL ; ULOZENI # BLOKU K ZAPISU 2006 FA50 EB EX DE,HL ; # BLOKU DO [DE] 2007 FA51 2A F34E LD HL,(FCBSAV) ; ADR. FCB DO [HL] 2008 FA54 01 0010 LD BC,0010H ; OFFSET NA D0 2009 FA57 09 ADD HL,BC ; ADRESA D0 V FCB 2010 FA58 3A FDE5 LD A,(DSKSFL) ; DISKSIZE FLAS DO [A] 2011 FA5B B7 OR A ; TESt VELIKOSTI DISKU 2012 FA5C 3A FDDF LD A,(ESAV+1) ; # BLOKU DO [A] 2013 FA5F CA FA69 JP Z,LB113 ; SKOK PRI ZAPISU NAD 256 BLOKU 2014 FA62 CD F565 CALL DIRAD1 ; GENEROVANI ADRESY ULOZ. ADRESARE 2015 FA65 73 LD (HL),E ; ULOZENI # BLOKU DO ALOK. VEKTORU 2016 FA66 C3 FA71 JP LB114 ; 2017 ; 2018 ; PRI ZAPISU NAD 256 BLOKU 2019 ; 2020 FA69 4F LB113: LD C,A ; OFFSET ULOZENI D0 DO [C] 2021 FA6A 06 00 LD B,0 ; ; NULA DO [B] 2022 FA6C 09 ADD HL,BC ; ADRESA NA MISTO ULOZENI # BLOKU 2023 FA6D 09 ADD HL,BC ; ; V FCB 2024 FA6E 73 LD (HL),E ; PRESUN 1 BLOKU 2025 FA6F 23 INC HL 2026 FA70 72 LD (HL),D 2027 FA71 0E 02 LB114: LD C,02H ; NAST. INDIKACE VELIKOSTI DISKU 2028 FA73 3A F350 LB115: LD A,(RETPRM) ; TEST NAVRATOVEHO PARAMETRU 2029 FA76 B7 OR A ; 2030 FA77 C0 RET NZ ; RET KDYZ RETPRM .NE. 0 2031 ; 2032 ; 2033 ; 2034 ; 2035 FA78 C5 PUSH BC ; USCHOVA INDIKACE SLUZBY 2036 FA79 CD F48B CALL GETSEC ; ZJISTENI # SEKTORU 2037 FA7C 3A FDDD LD A,(SECSE) ; ATRIBUT PROVADENE SLUZBY DO [A] 2038 FA7F 3D DEC A ; TEST SLUZBY 2039 FA80 3D DEC A 2040 FA81 C2 FAC0 JP NZ,LB118 ; SKOK KYZ SLUZBA .NE.40 2041 FA84 C1 POP BC ; OBNOVA [BC] 2042 FA85 C5 PUSH BC ; 2043 FA86 79 LD A,C ; TEST PREDCH. VYKONAVANI PROCEDURY 2044 FA87 3D DEC A 2045 FA88 3D DEC A 2046 FA89 C2 FAC0 JP NZ,LB118 ; SKOK KDYZ CMD .NE. 40 MACRO-80 3.44 09-Dec-81 PAGE 1-33 2047 ; 2048 ; 2049 ; 2050 FA8C E5 PUSH HL ; USCH.ADR.ULOZENI DALSIHO # BLOKU 2051 FA8D 2A FDC1 LD HL,(DIRBUP) ; ADR. BUFFERU ADRESARE DO [HL] 2052 FA90 57 LD D,A ; NULA DO [D] 2053 FA91 77 LB116: LD (HL),A ; NULOVANI BUFFERU ADRESARE 2054 FA92 23 INC HL 2055 FA93 14 INC D 2056 FA94 F2 FA91 JP P,LB116 2057 FA97 CD F5E1 CALL DMA120 ; NAST DMA NA ADRESU BUFFERU 2058 FA9A 2A FDEF LD HL,(SECTOR) ; # SECTORU DO [HLJ 2059 FA9D 0E 02 LD C,02H ; 02 DO [C] - IND. PRUCHODU 2060 FA9F 22 FDED LB117: LD (BLOCK),HL ; USCHOVA # SEKTORU 2061 FAA2 C5 PUSH BC ; USCHOVA [BC] 2062 FAA3 CD F3D2 CALL DSKCA1 ; VYPOCET A NASTAVENI # SECTORU 2063 ; A # STOPY 2064 FAA6 C1 POP BC ; OBNOVA [BC] 2065 FAA7 CD F3B9 CALL WRITE ; ZAPIS VYBRANEHO SECTORU NULAMI 2066 FAAA 2A FDED LD HL,(BLOCK) ; # SECTORU DO [HL] 2067 FAAD 0E 00 LD C,0 ; NULA DO [C] 2068 FAAF 3A FDCC LD A,(CUBLM) ; BLOCK MASK DO [A] 2069 FAB2 47 LD B,A ; BLOCK MASK DO [B] 2070 FAB3 A5 AND L ; .AND. [A] S # SECTORU 2071 FAB4 B8 CP B ; POROVNANI VYSLEDKU S BLOK-MASKOU 2072 FAB5 23 INC HL ; INICIALIZACE ADRESY 2073 FAB6 C2 FA9F JP NZ,LB117 ; ZAPIS DALSIHO SECTORU NULAMI 2074 FAB9 E1 POP HL ; OBNOVA [HL] - # SEKTORU 2075 FABA 22 FDED LD (BLOCK),HL ; ULOZENI # SEKTORU 2076 FABD CD F5DB CALL DMA110 ; PRIPRAVA DMA ADRESY 2077 ; 2078 ; 2079 ; 2080 FAC0 CD F3D2 LB118: CALL DSKCA1 ; VYPOCET A NASTAVENI # STOPY 2081 ; A # SEKTORU 2082 FAC3 C1 POP BC ; AKTUALIZACE [BC] 2083 FAC4 C5 PUSH BC 2084 2085 2086 FAC5 CD F3B9 CALL WRITE ; ZAPIS VYBRANEHO SEKTORU 2087 FAC8 C1 POP BC 2088 FAC9 3A FDEB LD A,(D9) ; "D9" DO [A] 2089 FACC 21 FDE9 LD HL,RC ; ADR. "RC" DO [HL] 2090 FACF BE CP (HL) ; POROVNANI "D9","RC" 2091 FAD0 DA FAD7 JP C,LB119 ; "RC" > "D9" 2092 FAD3 77 LD (HL),A ; SAVE "RC" 2093 FAD4 34 INC (HL) ; RC = RC + 1 2094 FAD5 0E 02 LD C,02H ; 2 DO [C] 2095 FAD7 0D LB119: DEC C ; TEST PROVADENE SLUZBY 2096 FAD8 0D DEC C 2097 FAD9 C2 FAE4 JP NZ,LB120 ; SKOK KDYZ CMD .NE. 40 2098 FADC F5 PUSH AF 2099 FADD CD F56A CALL LDS2 ; PRIPRAVA S2 Z FCB 2100 FAE0 E6 7F AND 7FH ; EXTRAKCE 7 BITU 2101 FAE2 77 LD (HL),A ; USCHOVA S2 2102 FAE3 F1 POP AF 2103 FAE4 FE 7F LB120: CP 7FH ; POROVNANI"RC"(D9) 2104 FAE6 C2 FB05 JP NZ,LB122 ; O.K. 2105 FAE9 3A FDDD LD A,(SECSE) ; TEST PROVADENE SLUZBY 2106 FAEC FE 01 CP 01 2107 FAEE C2 FB05 JP NZ,LB122 ; SKOK PRI NESEKVENCNIM ZAPISU 2108 FAF1 CD F4D3 CALL SVD9RC ; PRESUN "D9" A "RC" MACRO-80 3.44 09-Dec-81 PAGE 1-34 2109 FAF4 CD F95F CALL FLHAN ; OBSLUHA ZAPISU SOUBORU 2110 FAF7 21 F350 LD HL,RETPRM 2111 FAFA 7E LD A,(HL) ; NAVR. PAR. DO [A] 2112 FAFB B7 OR A ; JEHO TEST NA NULU 2113 FAFC C2 FB03 JP NZ,LB121 ; SKOK KDYZ .NE. NULE 2114 FAFF 3D DEC A ; INICIALIZACE "D9" 2115 FB00 32 FDEB LD (D9),A ; 2116 FB03 36 00 LB121: LD (HL),0 ; NULOVANI NAVR. PARAMETRU 2117 FB05 C3 F4D3 LB122: JP SVD9RC ; PRESUN "D9 A" "RC" DO FCB + RET 2118 ; 2119 ; 2120 ; PROCEDURA PRIMEHO CTENI A ZAPISU DO SOUBORU 2121 ; =========================================== 2122 ; 2123 ; 2124 FB08 AF RAWR: XOR A ; NASTAVENI INDIKACE SLUZBY 2125 FB09 32 FDDD LD (SECSE),A ; 2126 ; 2127 ; 2128 ; PROCEDURA ZAPISU ALOK. BLOKU NULAMI A ZAPISU ZAZNAMU 2129 ; 2130 ; 2131 FB0C C5 RAWRZ: PUSH BC ; USCHOVA INDIKACE CTENI NEBO 2132 ; ZAPISU 2133 FB0D 2A F34E LD HL,(FCBSAV) ; ADR.FCB DO [HL] 2134 FB10 EB EX DE,HL ; DO [DE] 2135 FB11 21 0021 LD HL,0021H ; OFFSET NA NEJNIZSI BYTE # ZAZNAMU 2136 FB14 19 ADD HL,DE ; ADRESA NA FCB+33 2137 FB15 7E LD A,(HL) ; [FCB+33] DO [A] 2138 FB16 E6 7F AND 7FH ; VYPOCET POCTU ZAZNAMU V RAMCI 2139 FB18 F5 PUSH AF ; POSLEDNIHO EXTENTU + USCHOVA 2140 FB19 7E LD A,(HL) ; [FCB+33] DO [A] 2141 FB1A 17 RLA ; ROTACE DOLEVA 2142 FB1B 23 INC HL ; ADRESA FCB+34 2143 FB1C 7E LD A,(HL) ; [FCB+34] DO [A] 2144 FB1D 17 RLA ; VYPOCET [EX] 2145 FB1E E6 1F AND 1FH ; EXT.BITU 5,6,7 2146 FB20 4F LD C,A ; PRESUN [EX] TO [C] 2147 FB21 7E LD A,(HL) ; [FCB+34] DO [A] 2148 FB22 1F RRA ; [A] / 16 2149 FB23 1F RRA 2150 FB24 1F RRA 2151 FB25 1F RRA 2152 FB26 E6 0F AND 0FH ; EXT.BITU 4,5,6,7 2153 FB28 47 LD B,A ; PRESUN [S2] TO [B] 2154 FB29 F1 POP AF ; POCET ZAZNAMU V RAMCI POSLEDNIHO 2155 ; "EX" DO [A] 2156 FB2A 23 INC HL ; ADRESA FCB+35 2157 FB2B 6E LD L,(HL) ; [FCB+35] DO [L] 2158 FB2C 2C INC L ; TEST NA [FCB+35] 2159 FB2D 2D DEC L ; .EQ. 0 2160 FB2E 2E 06 LD L,06H ; PRIPRAVA # CHYBY 2161 FB30 C2 FB90 JP NZ,LB204 ; CHYBA KDYZ [FCB+35] .NE. NULA 2162 FB33 21 0020 LD HL,20H ; OFFSET NA "D9" DO [HL] 2163 FB36 19 ADD HL,DE ; ADRESA "D9"(AKT. CITAC ZAZNAMU) 2164 FB37 77 LD (HL),A ; [A] DO "D9" 2165 FB38 21 000C LD HL,000CH ; OFFSET NA "EX" DO [HL] 2166 FB3B 19 ADD HL,DE ; ADRESA "EX" 2167 FB3C 79 LD A,C ; VYPOCITANY "EX" DO [A] 2168 FB3D 96 SUB (HL) ; "EX"- "EX" Z FCB 2169 FB3E C2 FB4C JP NZ,LB205 ; SKOK KDYZ "EX" NOT.EQ."EX" Z FCB 2170 FB41 21 000E LD HL,0EH ; OFFSET NA S2 Z FCB MACRO-80 3.44 09-Dec-81 PAGE 1-35 2171 FB44 19 ADD HL,DE ; ADRESA S2 V [HL] 2172 FB45 78 LD A,B ; VYPOCITANE S2 DO [A] 2173 FB46 96 SUB (HL) ; S2 - S2 Z FCB 2174 FB47 E6 7F AND 7FH ; EXT. BITU 7 2175 FB49 CA FB84 JP Z,LB206 ; SKOK KDYZ S2 .EQ. S2 Z FCB 2176 ; 2177 ; 2178 ; 2179 FB4C C5 LB205: PUSH BC 2180 FB4D D5 PUSH DE 2181 FB4E CD F8A7 CALL CLFP ; ZAPIS FCB DO ADRESARE(TEST NA R/O) 2182 FB51 D1 POP DE 2183 FB52 C1 POP BC 2184 FB53 2E 03 LD L,03H ; PRIPRAVA KODU CHYBY 2185 FB55 3A F350 LD A,(RETPRM) ; NAVR. PARAMETR DO [A] 2186 FB58 3C INC A ; TEST [RETPRM] .EQ. -1 2187 FB59 CA FB89 JP Z,LB207 ; SKOK KDYZ READ ONLY 2188 FB5C 21 000C LD HL,0CH ; OFFSET NA "EX" Z FCB 2189 FB5F 19 ADD HL,DE ; ADRESA "EX" 2190 FB60 71 LD (HL),C ; VYPOCITANY "EX" DO FCB 2191 FB61 21 000E LD HL,0EH ; OFFSET NA S2 Z FCB 2192 FB64 19 ADD HL,DE ; ADRESA S2 DO [HL] 2193 FB65 70 LD (HL),B ; VYPOCITANA S2 DO FCB 2194 FB66 CD F856 CALL OPFP ; VYHLEDANI ODPOVIDAJICIHO FCB 2195 FB69 3A F350 LD A,(RETPRM) ; NAVR. PARAMETR DO [A] 2196 FB6C 3C INC A ; TEST [RETPRM] .EQ. -1 2197 FB6D C2 FB84 JP NZ,LB206 ; SKOK KDYZ SE ODPOVIDAJICI FCB 2198 ; NENASLO 2199 FB70 C1 POP BC ; OBNOVA [C] (0 NEBO FFH) 2200 FB71 C5 PUSH BC 2201 FB72 2E 04 LD L,04H ; PRIPRAVA CHYBOVEHO RODU 2202 FB74 0C INC C ; TEST PROVADENE SLUZBY 2203 FB75 CA FB89 JP Z,LB207 ; SKOK KDYZ SLUZBA 33 2204 FB78 CD F929 CALL MKFLP ; VYTVORENI DALSIHO EXTENTU 2205 FB7B 2E 05 LD L,05H ; PRIPRAVA CHYBOVEHO KODU 2206 FB7D 3A F350 LD A,(RETPRM) ; NAVR. PARAMETR DO [A] 2207 FB80 3C INC A ; TEST [RETPRM] .EQ. -1 2208 FB81 CA FB89 JP Z,LB207 ; SKOK KDYZ JE PLNY ADRESAR 2209 ; 2210 ; 2211 ; 2212 FB84 C1 LB206: POP BC ; OBNOVA [C] (0 NEBO FFH) 2213 FB85 AF XOR A ; TEST 2214 FB86 C3 F2FA JP SVSING ; NULOVANI NAVR. PAR. + RET 2215 ; 2216 ; 2217 ; 2218 FB89 E5 LB207: PUSH HL ; USCHOVA # CHYBY 2219 FB8A CD F56A CALL LDS2 ; PRIPRAVA S2 Z FCB 2220 FB8D 36 C0 LD (HL),0C0H ; C0H DO CS23 2221 FB8F E1 POP HL ; OBNOVA # CHYBY 2222 FB90 C1 LB204: POP BC ; OBNOVA [C] 2223 FB91 7D LD A,L ; # CHYBY DO [A] 2224 FB92 32 F350 LD (RETPRM),A ; PRESUN # DO (RETPRM) 2225 FB95 C3 F579 JP ST7S2 ; NAST 7 BITU S2 + RET 2226 ; 2227 ; 2228 ; PROCEDURA PRIMEHO CTENI ZE SOUBORU 2229 ; ================================== 2230 ; 2231 FB98 0E FF RRP: LD C,0FFH ; INDIKACE PRIHEHO CTENI DO [C] 2232 FB9A CD FB08 CALL RAWR ; PRIPRAVA PRIHEHO CTENI MACRO-80 3.44 09-Dec-81 PAGE 1-36 2233 FB9D CC F9C6 CALL Z,LB107 ; KDYZ O.K. => SEKV. CTENI 2234 FBA0 C9 RET ; 2235 ; 2236 ; 2237 ; PROCEDURA PRIMEHO ZAPISU 2238 ; ======================== 2239 ; 2240 FBA1 0E 00 WRP: LD C,00H ; INDIKACE PRIMEHO ZAPISU DO [C] 2241 FBA3 CD FB08 CALL RAWR ; PRIPRAVA PRIMEHO ZAPISU 2242 FBA6 CC FA0A CALL Z,LB110 ; KDYZ O.K. SEKV. ZAPIS 2243 FBA9 C9 RET ; 2244 ; 2245 ; 2246 ; PROCEDURA NASTAVENI CISLA ZAZNAMU 2247 ; ================================= 2248 ; 2249 ; 2250 FBAA EB OCFS: EX DE,HL ; OFFSET "D9" DO [HL] 2251 FBAB 19 ADD HL,DE ; ADR."D9" Z FCB 2252 FBAC 4E LD C,(HL) ; "D9" DO [C] 2253 FBAD 06 00 LD B,00H ; NULA DO [B] 2254 FBAF 21 000C LD HL,0CH ; OFFSET NA "EX" Z FCB 2255 FBB2 19 ADD HL,DE ; ADRESA "EX" Z FCB V [HL] 2256 FBB3 7E LD A,(HL) ; VYPOCET NEJNIZSIHO BYTE DELKY 2257 FBB4 0F RRCA ; 2258 FBB5 E6 80 AND 80H ; 2259 FBB7 81 ADD A,C ; 2260 FBB8 4F LD C,A ; PRESUN VYSLEDKU DO [C] 2261 FBB9 3E 00 LD A,0 ; NULA DO [A] 2262 FBBB 88 ADC A,B ; PRIPADNE PRETECENI DO [A] 2263 FBBC 47 LD B,A ; DO [B] 2264 FBBD 7E LD A,(HL) ; [EX] DO CFL] 2265 FBBE 0F RRCA ; 2266 FBBF E6 0F AND 0FH ; ZBYLY POCET EX V [A] 2267 FBC1 80 ADD A,B ; SOUCET S PRETEC.V PREDCH. OPERACI 2268 FBC2 47 LD B,A ; VYSLEDEK DO [B] 2269 FBC3 21 000E LD HL,000EH ; LOAD OFFSET FOR S2 IN FCB 2270 FBC6 19 ADD HL,DE ; ADRESA NA S2 2271 FBC7 7E LD A,(HL) ; [S2] TO [A] 2272 FBC8 87 ADD A,A ; [S2] * 16 2273 FBC9 87 ADD A,A 2274 FBCA 87 ADD A,A 2275 FBCB 87 ADD A,A 2276 FBCC F5 PUSH AF ; USCHOVA VYSLEDKU 2277 FBCD 80 ADD A,B ; DOPOCITANI DALSIHO BYTE VYSLEDKU 2278 FBCE 47 LD B,A ; 2279 FBCF F5 PUSH AF ; A NASTAVENI PRIPAD. PRETECENI 2280 FBD0 E1 POP HL ; DO [A] 2281 FBD1 7D LD A,L 2282 FBD2 E1 POP HL 2283 FBD3 B5 OR L ; 2284 FBD4 E6 01 AND 01 ; 2285 FBD6 C9 RET 2286 ; 2287 ; 2288 ; PROCEDURA VYPOCTU DELKY SOUBORU 2289 ; =============================== 2290 ; 2291 FBD7 0E 0C CFSP: LD C,0CH ; ROZSAH POROVNANI DO [C] 2292 FBD9 CD F71D CALL SFFP ; HLEDEJ PRVNI VYSKYT V ADRESARI 2293 FBDC 2A F34E LD HL,(FCBSAV) ; ADRESA FCB DO [HL] 2294 FBDF 11 0021 LD DE,21H ; OFFSET NA FCB+33 MACRO-80 3.44 09-Dec-81 PAGE 1-37 2295 FBE2 19 ADD HL,DE ; ADRESA FCB+33 2296 FBE3 E5 PUSH HL ; USCH. ADRESY FCB+33 2297 FBE4 72 LD (HL),D ; NULOVANI [FCB+33] 2298 FBE5 23 INC HL ; 2299 FBE6 72 LD (HL),D ; NULOVANI [FCB+34] 2300 FBE7 23 INC HL ; 2301 FBE8 72 LD (HL),D ; NULOVANI [FCB+35] 2302 ; 2303 ; 2304 ; 2305 FBE9 CD F5FD LB212: CALL TSTDIE ; TEST NALEZENI SOUBORU 2306 FBEC CA FC11 JP Z,LB209 ; NENALEZEN 2307 FBEF CD F55F CALL DIRADR ; GENEROVANI ADRESY ADRESARE 2308 FBF2 11 000F LD DE,0FH ; OFFSET NA "RC" DO [DE] 2309 FBF5 CD FBAA CALL OCFS ; VYPOCET DELKY SOUBORU 2310 ; DANEHO FCB 2311 FBF8 E1 POP HL ; ADRESA FCB+33 DO [HL] 2312 FBF9 E5 PUSH HL 2313 FBFA 5F LD E,A 2314 FBFB 79 LD A,C 2315 FBFC 96 SUB (HL) ; TEST CHYBY V NAVAZNOSTI BYTU 2316 ; TVORICICH VYPOCTENOU DELKU 2317 ; (NBTVD) 2318 FBFD 23 INC HL ; ADRESA FCB+34 2319 FBFE 78 LD A,B 2320 FBFF 9E SBC A,(HL) ; TEST NA NBTVD 2321 FC00 23 INC HL ; ADRESA FCB+35 2322 FC01 7B LD A,E 2323 FC02 9E SBC A,(HL) ; TEST NA NBTVD 2324 FC03 DA FC0B JP C,LB211 ; SKOK PRI CHYBE NBTVD 2325 FC06 73 LD (HL),E ; PRESUN [E] DO [FCB+3] 2326 FC07 2B DEC HL ; ADRESA FCB+34 2327 FC08 70 LD (HL),B ; PRESUN [B] DO [FCB+34] 2328 FC09 2B DEC HL ; ADRESA FCB+33 2329 FC0A 71 LD (HL),C ; PRESUN [C] DO [FCB+33] 2330 FC0B CD F732 LB211: CALL TL400 ; HLEDANI DALSIHO EXTENTU 2331 FC0E C3 FBE9 JP LB212 ; OPAKOVANI 2332 FC11 E1 LB209: POP HL ; ADRESA FCB+33 DO [HL] 2333 FC12 C9 RET ; 2334 ; 2335 ; 2336 ; PROCEDURA NASTAVENI CISLA ZAZNAMU 2337 ; ================================= 2338 ; 2339 ; 2340 FC13 2A F34E SRRP: LD HL,(FCBSAV) ; ADRESA FCB DO [HL] 2341 FC16 11 0020 LD DE,20H ; OFFSET NA "D?" DO [DE] 2342 FC19 CD FBAA CALL OCFS ; VYPOCET DELKY SOUBORU 2343 FC1C 21 0021 LD HL,0021H ; ULOZENI VYSLEDKU NA ADRESACH: 2344 FC1F 19 ADD HL,DE ; 2345 FC20 71 LD (HL),C ; FCB + 33 2346 FC21 23 INC HL ; 2347 FC22 70 LD (HL),B ; FCB + 34 2348 FC23 23 INC HL ; 2349 FC24 77 LD (HL),A ; FCB + 35 2350 FC25 C9 RET ; 2351 ; 2352 ; 2353 ; 2354 ; OSETRENI VEKTORU AKTIVNICH DISKU 2355 ; ================================ 2356 ; MACRO-80 3.44 09-Dec-81 PAGE 1-38 2357 FC26 2A FDB7 LGV120: LD HL,(LOGVEC) ; VEKTOR AKT. DISKU DO [HL] 2358 FC29 3A F34D LD A,(DSKNO) ; CISLO DISKU DO [A] 2359 FC2C 4F LD C,A ; A DO [C] 2360 FC2D CD F4EB CALL RSHHL ; SHIFT VEKTORU V [HL] [C] KRAT 2361 FC30 E5 PUSH HL ; USCHOVA [HL] 2362 FC31 EB EX DE,HL 2363 FC32 CD F35A CALL SD110 ; VYBER DISKU 2364 FC35 E1 POP HL ; OBNOVA [HL] 2365 FC36 CC F352 CALL Z,VJUMP ; PRI CHYBE - SKOK 2366 FC39 7D LD A,L ; SHIFT. VEKTOR DO [A]-LOW BYTE 2367 FC3A 1F RRA ; JE JIZ DISK AKTIVNI ? - TEST 2368 FC3B D8 RET C ; ANO, RET 2369 FC3C 2A FDB7 LD HL,(LOGVEC) ; VEKTOR AKT. DISKU DO [HL] 2370 FC3F 4D LD C,L ; A DO [BC] 2371 FC40 44 LD B,H 2372 FC41 CD F50C CALL SETVEC ; NASTAV BIT DISKU VE VEKTORU 2373 FC44 22 FDB7 LD (LOGVEC),HL ; ULOZENI VEKTORU AKT.DISKU 2374 FC47 C3 F6A8 JP CLRALV ; NULOVANI ALOKACNIHO VEKTORU 2375 ; 2376 ; 2377 ; VYBER DISK CMD 14 2378 ; ============ 2379 ; 2380 FC4A 3A FDDE SELDSK: LD A,(ESAV) ; CISLO DISKU DO [A] 2381 FC4D 21 F34D LD HL,DSKNO ; ADR. ULOZENI # DISKU DO [HL] 2382 FC50 BE CP (HL) ; POROVNANI CLSEL DISKU 2383 FC51 C8 RET Z ; RET KDYZ SE ROVNAJI 2384 FC52 77 LD (HL),A ; NAST. NOVEHO # DISKU 2385 FC53 C3 FC26 JP LGV120 ; UPRAVA VEKTORU AKT. DISKU 2386 ; 2387 ; 2388 ; OSETRENI # JEDNOTKY(DISKU) A # UZIVATELE 2389 ; 2390 FC56 3E FF UU110: LD A,0FFH ; 0FFH DO [A] 2391 FC58 32 FDE6 LD (DSKFLG),A ; NASTAVENI DISK FLASU 2392 FC5B 2A F34E LD HL,(FCBSAV) ; ADR. FCB DO [HL] 2393 FC5E 7E LD A,(HL) ; # JEDNOTKY DO [A] 2394 FC5F E6 1F AND 1FH ; EXT. BITU 5,6,7 2395 FC61 3D DEC A ; DEC # JEDNOTKY 2396 FC62 32 FDDE LD (ESAV),A ; ULOZENI # JEDNOTKY 2397 FC65 FE 1E CP 1EH ; BYLA JEDNOTKA VYBRANA? 2398 ; JE STANDARTNI? 2399 FC67 D2 FC7A JP NC,UU120 ; ANO 2400 FC6A 3A F34D LD A,(DSKNO) ; JINAK 1 DISKU DO 2401 FC6D 32 FDE7 LD (UNITSV),A ; # VYBRANEHO DISKU 2402 ; 2403 FC70 7E LD A,(HL) ; # JEDNOTKY DO [A] 2404 FC71 32 FDE8 LD (UNITNO),A ; JEJI ULOZENI 2405 FC74 E6 E0 AND 11100000B ; EXT. BITU 4-0 2406 FC76 77 LD (HL),A ; ZPETNE NASTAVENI 2407 FC77 CD FC4A CALL SELDSK ; VYBER DISKU(JEDNOTKY) 2408 FC7A 3A F34C UU120: LD A,(USRNO) ; # UZIVATELE DO [A] 2409 FC7D 2A F34E LD HL,(FCBSAV) ; ADR. FCB DO [HL] 2410 FC80 B6 OR (HL) ; .OR. # JEDN. A # UZIV. 2411 FC81 77 LD (HL),A ; ULOZENI VYSLEDKU DO FCB 2412 FC82 C9 RET 2413 ; 2414 ; 2415 ; ZJISTI CISLO VERZE CMD 12 2416 ; ================== 2417 ; 2418 FC83 3E 22 RETVER: LD A,22H ; NASTAV VERZI 2.2 MACRO-80 3.44 09-Dec-81 PAGE 1-39 2419 FC85 C3 F2FA JP SVSING ; NASTAVENI NAVR. PARAN.+ RET 2420 ; 2421 ; 2422 ; RESET DISKOVEHO SYSTEHU CMD 13 2423 ; ======================= 2424 ; 2425 FC88 21 0000 RESDSY: LD HL,0 ; NULY DO [HL] 2426 FC8B 22 FDB5 LD (ROVEC),HL ; NULOVANI R/O VEKTORU 2427 FC8E 22 FDB7 LD (LOGVEC),HL ; NULOVANI VEKTORU AKT. DISKU 2428 FC91 AF XOR A ; NULA DO [A] 2429 FC92 32 F34D LD (DSKNO),A ; NASTAVENI CISLA DISKU NA NULU 2430 FC95 21 4280 LD HL,DMAAD ; DMA ADRESY NA 80H 2431 FC98 22 FDB9 LD (DMAADR),HL ; 2432 FC9B CD F5DB CALL DMA110 ; NASTAVENI DMA ADR 2433 FC9E C3 FC26 JP LGV120 ; OSETRENI VEKTORU AKT. DISKU 2434 ; 2435 ; 2436 ; OTEVRI SOUBOR CMD 15 2437 ; ============= 2438 ; 2439 FCA1 CD F573 OPFIL: CALL CLRS2 ; NULOVANI S2 V FCB 2440 FCA4 CD FC56 CALL UU110 ; OSETRENI # DISKU A # UZIV. 2441 FCA7 C3 F856 JP OPFP ; PROCEDURA OTEVRENI SOUBORU 2442 ; 2443 ; 2444 ; UZAVRI SOUBOR CMD 16 2445 ; ============= 2446 ; 2447 FCAA CD FC56 CLFIL: CALL UU110 ; OSETRENI # DISKU A # UZIV. 2448 FCAD C3 F8A7 JP CLFP ; PROCEDURA UZAVRENI SOUBORU 2449 ; 2450 ; 2451 ; HLEDEJ PRVNI ODPOVIDAJICI CMD 17 2452 ; POLOZKU V ADRESARI 2453 ; ================== 2454 ; 2455 FCB0 0E 00 SFFRST: LD C,0 ; NULA DO [C] 2456 FCB2 EB EX DE,HL ; ADR. FCB DO [HL] 2457 FCB3 7E LD A,(HL) ; # DISKU DO [A] 2458 FCB4 FE 3F CP '?' ; TEST NA '?' 2459 FCB6 CA FCC7 JP Z,SF120 ; SKOK KDYZ # DISKU = '?' 2460 FCB9 CD F4A7 CALL EXADD ; ADRESA "EX" DO [HL] 2461 FCBC 7E LD A,(HL) ; "EX" DO [A] 2462 FCBD FE 3F CP '?' ; TEST NA '?' 2463 FCBF C4 F573 CALL NZ,CLRS2 ; NULOVANI S2 KDYZ "EX" NOT '?' 2464 FCC2 CD FC56 CALL UU110 ; OSETRENI # DISKU A # UZIV. 2465 FCC5 0E 0F LD C,0FH ; ROZSAH SHODY PRI PROHLEDAVANI 2466 ; ADRESARE DO [C] 2467 FCC7 CD F71D SF120: CALL SFFP ; HLEDANI SHODY V POLOZKACH 2468 ; ADRESARE 2469 FCCA C3 F5EA JP MOVDIR ; PRESUN ADRESARE + RET 2470 ; 2471 ; 2472 ; HLEDEJ NASLEDUJICI ODPOVIDAJICI CMD 18 2473 ; ODPOVIDAJICI POLOZKU V ADRESARI 2474 ; =============================== 2475 ; 2476 ; 2477 FCCD 2A FDE1 SFNEXT: LD HL,(FCBP) ; ADR. FCB DO [HL] 2478 FCD0 22 F34E LD (FCBSAV),HL ; AKTUALIZACE ULOZENI ADR.FCB 2479 FCD3 CD FC56 CALL UU110 ; OSETRENI # DISKU A # UZIV. 2480 FCD6 CD F732 CALL TL400 ; HLEDEJ DALSI VYSKYT V ARESARI MACRO-80 3.44 09-Dec-81 PAGE 1-40 2481 FCD9 C3 F5EA JP MOVDIR ; PRESUN ADRESARE + RET 2482 ; 2483 ; 2484 ; ZRUS SOUBOR CMD 19 2485 ; =========== 2486 ; 2487 FCDC CD FC56 DELFIL: CALL UU110 ; OSETRENI # DISKU A # UZIV. 2488 FCDF CD F7A1 CALL DELFP ; PROCEDURA ZRUSENI SOUBORU 2489 FCE2 C3 F706 JP TL300 ; PRIPRAVA NAVR. PAR.+ RET 2490 ; 2491 ; 2492 ; SEKVENCNI CTENI CMD 20 2493 ; =============== 2494 ; 2495 FCE5 CD FC56 RDSEQ: CALL UU110 ; OSETRENI # DISKU A # UZIV. 2496 FCE8 C3 F9C1 JP RPR ; PRIPRAVA CTENI A CTENI 2497 ; ; + RET 2498 ; 2499 ; SEKVENCNI ZAPIS CMD 21 2500 ; =============== 2501 ; 2502 FCEB CD FC56 WRTSEQ: CALL UU110 ; OSETRENU # DISKU A # UZIV. 2503 FCEE C3 FA03 JP WPR ; PRIPRAVA ZAPISU A ZAPIS 2504 ; 2505 ; 2506 ; ZALOZ SOUBOR CMD 22 2507 ; ============ 2508 ; 2509 FCF1 CD F573 MAKFIL: CALL CLRS2 ; NULOVANI S2 V FCB 2510 FCF4 CD FC56 CALL UU110 ; OSETRENI # DISKU # UZIVATELE 2511 FCF7 C3 F929 JP MKFLP ; PROCEDURA VYTVORENI SOUBORU 2512 ; 2513 ; 2514 ; PREJMENUJ SOUBOR CMD 23 2515 ; ================ 2516 ; 2517 FCFA CD FC56 RENFIL: CALL UU110 ; OSETRENI # DISKU A # UZIV. 2518 FCFD CD F81B CALL RENFP ; PROCED. PREJMENOVANI SOUBORU 2519 FD00 C3 F706 JP TL300 ; PRIPRAVA NAVRATOVEHO PARAMET. 2520 ; ; PROCEDURY + RET 2521 ; 2522 ; VRAT VEKTOR AKTIVNICH DISKU CMD 24 2523 ; =========================== 2524 ; 2525 FD03 2A FDB7 RETLOG: LD HL,(LOGVEC) ; SEKTOR AKT. DISKU DO [HL] 2526 FD06 C3 FD31 JP SVPAIR ; NAST. NAVR. PAR. + RET 2527 ; 2528 ; 2529 ; VRAT CISLO VYBRANEHO DISKU CMD 25 2530 ; ========================== 2531 ; 2532 FD09 3A F34D RETCDK: LD A,(DSKNO) ; CISLO DISKU DO [A] 2533 FD0C C3 F2FA JP SVSING ; NAST. NAVR. PARAM. + RET 2534 ; 2535 ; 2536 ; NASTAV DMA ADRESU CMD 26 2537 ; ================= 2538 ; 2539 FD0F EB SETDMA: EX DE,HL ; DMA ADRESA DO [HL] 2540 FD10 22 FDB9 LD (DMAADR),HL ; ULOZENI DMA ADRESY 2541 FD13 C3 F5DB JP DMA110 ; NASTAVENI DMA ADRESY +RET 2542 ; MACRO-80 3.44 09-Dec-81 PAGE 1-41 2543 ; 2544 ; NASTAV CISLO ZAZNAMU CMD 36 2545 ; PRO PRIMY ZAPIS 2546 ; ==================== 2547 ; 2548 ; 2549 FD16 C3 FC13 SRNDRC: JP SRRP ; PROCEDURA NASTAVENI CISLA 2550 ; ; ZAZNAMU 2551 ; 2552 ; DEJ ADRESU ALOKACNIHO VEKTORU CMD 27 2553 ; ============================= 2554 ; 2555 FD19 2A FDC7 GETALC: LD HL,(ALVP) ; ALOKACNY VEKTOR DO [HL] 2556 FD1C C3 FD31 JP SVPAIR ; NAST. NAVR. PARAM.+ RET 2557 ; 2558 ; 2559 ; 2560 ; 2561 ; DEJ ADRESU R/O VEKTORU CMD 28 2562 ; ====================== 2563 ; 2564 FD1F 2A FDB5 GETROV: LD HL,(ROVEC) ; READ ONLY VEKTOR DO [HL] 2565 FD22 C3 FD31 JP SVPAIR ; NAST. NAVR. PARAM.+ RET 2566 ; 2567 ; 2568 ; NASTAV ATRIBUTY SOUBORU CMD 30 2569 ; ======================= 2570 ; 2571 FD25 CD FC56 SETFAT: CALL UU110 ; OSETRENI # DISKU A # UZIV. 2572 FD28 CD F840 CALL SETFAP ; PROCEDURA NASTAVENI ATRIBUTU 2573 FD2B C3 F706 JP TL300 ; NAST. NAVR. PARAM. + RET 2574 ; 2575 ; 2576 ; DEJ ADRESU BLOKU DISKOVYCH CMD 31 2577 ; PARAMETRU 2578 ; ========================== 2579 ; 2580 FD2E 2A FDC3 GETDPA: LD HL,(DPBP) ; ADRESA BLOKU DO [HL] 2581 FD31 22 F350 SVPAIR: LD (RETPRM),HL ; JEJI PRESUN DO NAVR. PARAM. 2582 FD34 C9 RET 2583 ; 2584 ; 2585 ; POSKYTNI/ZMEN KOD UZIVATELE CMD 32 2586 ; =========================== 2587 ; 2588 FD35 3A FDDE SGUCD: LD A,(ESAV) ; # UZIVATELE DO [A] 2589 FD38 FE FF CP 0FFH ; TEST POZADAVKU 2590 FD3A C2 FD43 JP NZ,SGU120 ; SKOK NA NASTAVENI # UZIVATELE 2591 FD3D 3A F34C LD A,(USRNO) ; # UZIVATELE DO [A] 2592 FD40 C3 F2FA JP SVSING ; NAST. NAVR. PARAM. + RET 2593 FD43 E6 1F SGU120: AND 1FH ; EXT. BITU 5,6,7 2594 FD45 32 F34C LD (USRNO),A ; PRESUN # UZIVATELE 2595 FD48 C9 RET ; 2596 ; 2597 ; 2598 ; PRIME CTENI ZE SOUBORU CMD 33 2599 ; ====================== 2600 ; 2601 FD49 CD FC56 RDRND: CALL UU110 ; OSETRENI # DISKU A # UZIV. 2602 FD4C C3 FB98 JP RRP ; PROCEDURA PRIMEHO CTENI 2603 ; 2604 ; MACRO-80 3.44 09-Dec-81 PAGE 1-42 2605 ; PRIMY ZAPIS DO SOUBORU CMD 34 2606 ; ====================== 2607 ; 2608 FD4F CD FC56 WRTRND: CALL UU110 ; OSETRENI # DISKU A # UZIV. 2609 FD52 C3 FBA1 JP WRP ; PROCEDURA PRIMEHO ZAPISU 2610 ; 2611 ; 2612 ; VYPOCITEJ DELKU SOUBORU CMD 35 2613 ; ======================= 2614 ; 2615 FD55 CD FC56 CFSIZE: CALL UU110 ; OSETRENI # DISKU A # UZIV. 2616 FD58 C3 FBD7 JP CFSP ; PROCEDURA VYPOCTU DELKY 2617 ; 2618 ; 2619 ; 2620 ; RESET DISKOVE JEDNOTKY CMD 37 2621 ; ====================== 2622 ; 2623 FD5B 2A F34E RESDSK: LD HL,(FCBSAV) ; VEKTOR DISK.JEDNOTEK 2624 ; (PARAMETR VOLANI) DO [HL] 2625 FD5E 7D LD A,L ; 2626 FD5F 2F CPL ; KOMPLEMENT LOW BYTU VEKTORU 2627 FD60 5F LD E,A ; A JEHO PRESUN DO [E] 2628 FD61 7C LD A,H ; 2629 FD62 2F CPL ; KOHPLEHENT HIGH BYTU VEKTORU 2630 FD63 2A FDB7 LD HL,(LOGVEC) ; INICIALIZACE VEKT.AKT. DISKU 2631 FD66 A4 AND H ; HIGH BYTU 2632 FD67 57 LD D,A ; KOMPLEMENT HIGH BYTU DO [D] 2633 FD68 7D LD A,L ; PRIPRAVA LOH BYTU VEK.AKT.DISKU 2634 FD69 A3 AND E ; 2635 FD6A 5F LD E,A ; PRESUN LOW BYTU DO [E] 2636 FD6B 2A FDB5 LD HL,(ROVEC) ; VEKTOR R/O DO [HL] 2637 FD6E EB EX DE,HL ; DO [DE] 2638 FD6F 22 FDB7 LD (LOGVEC),HL ; ULOZENI VEKTORU AKT. DISKU 2639 FD72 7D LD A,L ; INICIALIZACE VEKTORU R/O 2640 FD73 A3 AND E ; 2641 FD74 6F LD L,A ; 2642 FD75 7C LD A,H ; 2643 FD76 A2 AND D ; 2644 FD77 67 LD H,A ; 2645 FD78 22 FDB5 LD (ROVEC),HL ; ULOZENI R/O VEKTORU 2646 FD7B C9 RET ; 2647 ; 2648 ; 2649 ; 2650 ; NAVRAT Z BDOS 2651 ; ============= 2652 ; 2653 ; 2654 FD7C 3A FDE6 RTBDOS: LD A,(DSKFLG) ; DISK-FLAG DO [A] 2655 FD7F B7 OR A ; JEHO TEST 2656 FD80 CA FD99 JP Z,RSTSP ; SKOK PRI NEDISKOVE SLUZBE 2657 FD83 2A F34E LD HL,(FCBSAV) ; ADRESA FCB DO [HL] 2658 FD86 36 00 LD (HL),0 ; NULOVANI # JEDNOTKY V FCB 2659 FD88 3A FDE8 LD A,(UNITNO) ; # JEDNOTKY DO [A] 2660 FD8B B7 OR A ; JEJI TEST NA NULU 2661 FD8C CA FD99 JP Z,RSTSP ; BEZNY DISK 2662 FD8F 77 LD (HL),A ; NASTAVENI # JEDNOTKY V FCB 2663 FD90 3A FDE7 LD A,(UNITSV) ; # JEDNOTKY DO [A] 2664 FD93 32 FDDE LD (ESAV),A ; USCHOVA # VYBRANEHO DISKU 2665 FD96 CD FC4A CALL SELDSK ; VYBER DISKU 2666 ; MACRO-80 3.44 09-Dec-81 PAGE 1-43 2667 FD99 2A F34A RSTSP: LD HL,(SPSAV) ; ADRESA UZIV.ZASOBNIKU DO [HL] 2668 FD9C F9 LD SP,HL ; A JEHO INICIALIZACE 2669 FD9D 2A F350 LD HL,(RETPRM) ; NAVRATOVY PARAMETR DO [HL] 2670 FDA0 7D LD A,L ; DO [A] 2671 FDA1 44 LD B,H ; DO [B] 2672 FDA2 C9 RET ; RET DO MISTA VOLANI BDOS 2673 ; 2674 ; 2675 ; POPIS ALOKACNI BLOK NULAMI CMD 40 2676 ; A POTOM DO NEJ VLOZ ZAZNAM 2677 ; ========================== 2678 ; 2679 FDA3 CD FC56 WRRDZF: CALL UU110 ; OSETRENI # DISKU A # UZIV. 2680 FDA6 3E 02 LD A,02 2681 FDA8 32 FDDD LD (SECSE),A ; NASTAVENI INDIKACE PROV.SLUZBY 2682 FDAB 0E 00 LD C,0 ; INDIKACE PRUCHODU 2683 FDAD CD FB0C CALL RAWRZ ; PRIPRAVA ZAPISU 2684 FDB0 CC FA08 CALL Z,WPR1 ; KDYZ O.K. ZAPIS 2685 FDB3 C9 RET ; 2686 ; 2687 ; 2688 ; 2689 ; POLE PRACOVNICH PROMENNYCH 2690 ; ========================== 2691 ; 2692 FDB4 E5 FFAT: DEFB 0E5H ; ATRIBUT VOLNEHO FCB 2693 FDB5 0000 ROVEC: DEFW 0 ; READ ONLY VEKTOR 2694 FDB7 0000 LOGVEC: DEFW 0 ; VEKTOR AKTIVNICH DISKU 2695 FDB9 0000 DMAADR: DEFW 0 ; DMA ADRESA 2696 FDBB MAXDIE: ; MAX # VSTUPU ADRESARE 2697 FDBB 0000 DPSC1: DEFW 0 ; ADRESA PRAC.POLE 1 V DPBASE 2698 ; DPBASE=>BAZE ULOZENI PAR.DISKU 2699 FDBD TRACK: ; # STOPY 2700 FDBD 0000 DPSC2: DEFW 0 ; ADRESA PRAC.POLE 2 V DPBASE 2701 FDBF MAXSOT: ; MAX POCET SEKTORU NA STOPE 2702 FDBF 0000 DPSC3: DEFW 0 ; ADRESA PRAC.POLE 3 V DPBASE 2703 FDC1 0000 DIRBUP: DEFW 0 ; ADRESA BUFFERU ADRESARE 2704 FDC3 0000 DPBP: DEFW 0 ; ADRESA BLOKU DISK. PARAMETRU 2705 FDC5 0000 CSVP: DEFW 0 ; ADRESA PRAC.POLE POUZITEHO 2706 ; PRI ZMENE DISKU 2707 FDC7 0000 ALVP: DEFW 0 ; ADRESA ULOZENI ALOKACNI MAPY 2708 ; DISKU 2709 ; 2710 FDC9 CUDPB: ; BLOK PARAMETRU VYBRANEHO DISKU 2711 FDC9 0000 CUSPT: DEFW 0 ; POCET SEKTORU NA STOPE 2712 FDCB 00 CUBSH: DEFB 0 ; BLOCK SHIFT FAKTOR 2713 FDCC 00 CUBLM: DEFB 0 ; BLOCK MASKA(DELKA BLOKU) 2714 FDCD 00 CUEXM: DEFB 0 ; MASKA ROZSIRENI BLOKU 2715 FDCE 0000 CUDSM: DEFW 0 ; VELIKOST DISKU-1(# BLOKU) 2716 FDD0 0000 CUDRM: DEFW 0 ; MAX. VELIKOST ADRESARE 2717 FDD2 0000 CUAL: DEFW 0 ; # BLOKU PRIRAZENE ADRESARI 2718 FDD4 0000 CUCKS: DEFW 0 ; POCET SEKTORU ZNICHZ SE PO- 2719 ; CITA KONTROLNI SOUCET 2720 FDD6 0000 CUOFF: DEFW 0 ; POCET STOP OBSAZENYCH OS 2721 ; 2722 FDD8 0000 STRNP: DEFW 0 ; ADRESA PREKLADOVE TABULKY 2723 FDDA 00 THSE: DEFB 0 ; S2(FCB) RIDICI BYTE 2724 FDDB 00 FRSE: DEFB 0 ; INDIKACE SLUZBY: 2725 ; READ SEQ. => FFH 2726 ; WRITE SEQ. => 0 2727 FDDC 00 RPSAV: DEFB 0 ; NAVRATOVY PARAM. PROCEDURY 2728 FDDD 00 SECSE: DEFB 0 ; INDIKACE SLUZBY: MACRO-80 3.44 09-Dec-81 PAGE 1-44 2729 ; WRITE RENDOM ZERO FILE = 2 2730 ; READ SEQUENTAL = 1 2731 ; WRITE SEQUENTAL = 1 2732 ; READ RANDOM = 0 2733 ; WRITE RANDOM = 0 2734 FDDE 00 ESAV: DEFB 0 ; ULOZENI E-REG 2735 FDDF 00 DEFB 0 ; ULOZENI # BLOKU 2736 FDE0 00 SRGSAV: DEFB 0 ; ULOZENI ROZSAHU POROVNAVANI 2737 FDE1 0000 FCBP: DEFW 0 ; ADRESA FCB 2738 FDE3 0000 DEFW 0 2739 FDE5 01 DSKSFL: DEFB 1 ; DISKSIZE FLAG<0 KDYZ M > 256) 2740 ; 0 KDYZ VELIKOST DISKU > 256 2741 ; 1 KDYZ VELIKOST DISKU <= 256 2742 FDE6 00 DSKFLG: DEFB 0 ; DISK FLAG 2743 FDE7 00 UNITSV: DEFB 0 ; ULOZENI # JEDNOTKY 2744 FDE8 00 UNITNO: DEFB 0 ; # JEDNOTKY 2745 FDE9 00 RC: DEFB 0 ; CITAC ZAZNAMU 2746 FDEA 00 MEX: DEFB 0 ; ULOZENI MASKOVANEHO CISLA EX 2747 FDEB 00 D9: DEFB 0 ; AKTUALNI CITAC ZAZNAMU 2748 FDEC 00 SAV: DEFB 0 ; PRACOVNI BYTE 2749 FDED 0000 BLOCK: DEFW 0 ; CISLO BLOKU 2750 FDEF 0000 SECTOR: DEFW 0 ; CISLO SEKTORU 2751 FDF1 00 DIROFF: DEFB 0 ; OFFSET VSTUPU ADRESARE 2752 ; ( 0,32,64,96 ) 2753 FDF2 0000 DETYNO: DEFW 0 ; AKT. CISLO VSTUPU ADRESARE 2754 FDF4 0000 DETYSC: DEFW 0 ; AKT. CISLO SEKTORU ADRESARE 2755 FDF6 0000 DEFW 0 2756 FDF8 00 DEFB 0 2757 ; 2758 FDF9 $next: ;prvni volny byte 2759 0DF9 X EQU ($NEXT - BDOSB) 2760 IF X GT 0E00H 2761 .PRINTX 'BD0S JE DELSI NEZ 0E00H !' 2762 ENDIF 2763 IF1 2764 .PRINTX 'konec prvniho pruchodu' 2765 ENDIF 2766 .DEPHASE 2767 ; 2768 END MACRO-80 3.44 09-Dec-81 PAGE S Macros: Symbols: FDF9 $NEXT FDC7 ALVP F1A4 BACKSP F099 BADSEC F1AC BCKSP F011 BD100 F0BA BDEMSG F0C6 BDEUNI F006 BDOS F000 BDOSB F0E5 BDOSER 0E00 BDOSL F009 BDSJPA F0CA BDSMSG F34A BDSP FE00 BIOS FE00 BIOSB FDED BLOCK F303 BSFLAG F446 BSH120 F454 BSH140 F45D BSH160 F43F BSHIFT FD55 CFSIZE FBD7 CFSP F047 CHDJPT F305 CHRPOS F59D CKDS00 F5C5 CKDS10 F59F CKDSKC F6B6 CLALV1 FCAA CLFIL F8A7 CLFP F6A8 CLRALV F617 CLRDIR F573 CLRS2 F196 CO10 F7C3 COBLLO F0B4 COHEER F0FB COIN F2C8 CONINP F190 CONOUT F173 COO110 F18A COO120 F159 COOUT F106 CORD F1C9 CRLF FDC5 CSVP F148 CTLBYT F306 CTLPF F1B1 CTLU F1B9 CTLU20 FDD2 CUAL FDCC CUBLM FDCB CUBSH FDD4 CUCKS FDC9 CUDPB FDD0 CUDRM FDCE CUDSM FDCD CUEXM FDD6 CUOFF FDC9 CUSPT FDEB D9 F3E5 DC120 F3FB DC140 F410 DC160 F2D9 DCIO10 F2D4 DCONIO FCDC DELFIL F7A1 DELFP FDF2 DETYNO FDF4 DETYSC F606 DIR F61E DIR120 F625 DIR140 F565 DIRAD1 F55F DIRADR FDC1 DIRBUP F4FE DIRCK1 F4F8 DIRCKS FDF1 DIROFF F5DB DMA110 F5E1 DMA120 F5E4 DMA130 4280 DMAAD FDB9 DMAADR FDC3 DPBP FDBB DPSC1 FDBD DPSC2 FDBF DPSC3 F3D2 DSKCA1 F3C4 DSKCAL FDE6 DSKFLG F34D DSKNO FDE5 DSKSFL FDDE ESAV F4A7 EXADD FDE1 FCBP F34E FCBSAV FDB4 FFAT F0DC FILMSG F95F FLHAN F0B1 FROERR F00F FROJPA FDDB FRSE F2F7 GCOSTS F506 GEMSK1 F505 GENMSK F491 GET10 FD19 GETALC F478 GETBLK FD2E GETDPA F2E6 GETIOB FD1F GETROV F48B GETSEC F3A2 HOMCLR F304 ICPOS F307 INBYT 40E2 IOBYTE F82C LB003 F7A9 LB004 F890 LB005 F8ED LB006 F8E0 LB007 F8E6 LB008 F924 LB009 F902 LB010 F899 LB011 F8D2 LB012 F91C LB013 F815 LB014 F7D6 LB015 F7F1 LB016 F7F9 LB017 F7C5 LB018 F802 LB020 F94B LB100 F988 LB102 F993 LB103 F9B1 LB104 F9B4 LB105 F9BB LB106 F9C6 LB107 F9EB LB108 FA00 LB109 FA0A LB110 FA40 LB111 FA4D LB112 FA69 LB113 FA71 LB114 FA73 LB115 FA91 LB116 FA9F LB117 FAC0 LB118 FAD7 LB119 FAE4 LB120 FB03 LB121 FB05 LB122 FB90 LB204 FB4C LB205 FB84 LB206 FB89 LB207 FC11 LB209 FC0B LB211 FBE9 LB212 F845 LBA14 F4BC LDD9RC F56A LDS2 FC26 LGV120 FDB7 LOGVEC 0DF9 LONGBD FCF1 MAKFIL FDBB MAXDIE FDBF MAXSOT MACRO-80 3.44 09-Dec-81 PAGE S-1 FDEA MEX F929 MKFLP F5EA MOVDIR F5F3 MOVE F5F4 MOVE10 F806 MOVFCB FBAA OCFS FCA1 OPFIL F856 OPFP F85F OPFP1 F2F1 PRTSTG 4300 RAMB FB08 RAWR FB0C RAWRZ FDE9 RC F4AF RCADD F1EF RCB110 F1F1 RCB120 F216 RCB130 F226 RCB150 F237 RCB170 F248 RCB190 F24E RCB200 F25F RCB210 F26B RCB230 F270 RCB240 F278 RCB250 F28A RCB270 F299 RCB290 F2A6 RCB310 F2A9 RCB320 F2BD RCB330 F2C1 RCB350 F1E1 RDCONB F2CE RDINP FD49 RDRND FCE5 RDSEQ F3B3 READ FE03 REBOOT FCFA RENFIL F81B RENFP FD5B RESDSK FC88 RESDSY F45F RETBLK FD09 RETCDK FD03 RETLOG F350 RETPRM F2FD RETRET FC83 RETVER F00D ROEJPA F0AB ROERR F0E1 ROMSG FDB5 ROVEC F9C1 RPR FDDC RPSAV FB98 RRP F4EB RSHHL F4EC RSHHL1 FD99 RSTSP FD7C RTBDOS F472 RTBL10 FDEC SAV F35A SD110 F39E SD150 F596 SDEMHL FDDD SECSE FDEF SECTOR FC4A SELDSK F0A5 SELERR F0D5 SELMSG FD0F SETDMA F840 SETFAP FD25 SETFAT F2EC SETIOB F50C SETVEC FCC7 SF120 F71D SFFP FCB0 SFFRST FCCD SFNEXT FD43 SGU120 FD35 SGUCD F00B SLEJPA F34A SPSAV F2FE SREPRM FDE0 SRGSAV FD16 SRNDRC FC13 SRRP F000 SSEQ F579 ST7S2 FDD8 STRNP F4D3 SVD9RC FD31 SVPAIR F4DF SVRD10 F2FA SVSING F142 TCP120 F145 TCP130 F580 TDIRET FDDA THSE F63A TL100 F65B TL120 F661 TL140 F669 TL160 F670 TL180 F67A TL190 F68D TL200 F693 TL220 F6A2 TL240 F6D7 TL260 F6FB TL280 F706 TL300 F70C TL320 F732 TL400 F74F TL420 F758 TL430 F778 TL440 F781 TL460 F788 TL480 F799 TL500 4400 TPA FDBD TRACK F548 TST1 F485 TSTBLK F114 TSTCTL F5FD TSTDIE F51F TSTDRO F123 TSTINP F58D TSTMDI F555 TSTNRO F545 TSTRO F1D3 TYPSTG FDE8 UNITNO FDE7 UNITSV F34C USRNO FC56 UU110 FC7A UU120 F352 VJUMP F355 VJUMP1 F5C7 WDB F5D5 WDB1 FA03 WPR FA08 WPR1 F3B9 WRITE F3BC WRITE1 FBA1 WRP FDA3 WRRDZF F52D WRTPRT FD4F WRTRND FCEB WRTSEQ 0DF9 X No Fatal error(s) $NEXT 16 2758# 2759 ALVP 1264 1338 1348 2555 2707# BACKSP 321# 441 483 BADSEC 41 147# BCKSP 321 324# BD100 37 48# BDEMSG 163# 184 BDEUNI 166# 183 BDOS 28# BDOSB 16 25# 26 28 33 2759 BDOSER 148 160 179# BDOSL 24# 26 BDSJPA 41# 694 BDSMSG 147 167# BDSP 57 597# BIOS 29# 30 97 101 102 199 234 237 240 275 280 323 325 526 536 538 541 621 671 687 690 763 783 786 1161 BIOSB 26# 29 BLOCK 704 706 841 847 856 867 2005 2060 2066 2075 2749# BSFLAG 267 394 477 482 484 591# BSH120 794# 797 BSH140 804# 808 BSH160 805 810# BSHIFT 791# 837 1986 CFSIZE 135 2615# CFSP 2291# 2616 CHDJPT 67 97# CHRPOS 284 313 333 366 393 437 480 593# CKDS00 1108# 1140 CKDS10 1125 1134# CKDSKC 1110# 1233 CLALV1 1339# 1344 CLFIL 113 2447# CLFP 1723# 1878 2181 2448 CLRALV 1332# 2374 CLRDIR 1212# 1359 1415 1482 CLRS2 1054# 2439 2463 2509 CO10 311# 315 COBLLO 1511# 1996 COHEER 154 157 160# COIN 193# 204 378 CONINP 98 518# CONOUT 99 209 256 308# 358 COO110 269 283# COO120 296 299# COOUT 259 267# 310 312 331 338 345 347 512 CORD 204# 518 CRLF 180 332 344# 414 CSVP 1118 2705# CTLBYT 253# 471 496 CTLPF 278 424 594# CTLU 330# 447 456 CTLU20 333# 339 CUAL 1346 2717# CUBLM 861 2068 2713# CUBSH 791 855 2712# CUCKS 1112 2718# CUDPB 651 2710# CUDRM 1003 1200 2716# CUDSM 655 1315 1332 1534 2715# CUEXM 899 1394 1893 2714# CUOFF 759 2720# CUSPT 728 740 2711# D9 793 863 894 913 1940 1951 1979 2088 2115 2747# DC120 721# 737 DC140 725 739# 752 DC160 742 747 754# DCIO10 538# DCONIO 103 534# DELFIL 118 2487# DELFP 1490# 2488 DETYNO 701 1070 1189 1202 1204 1213 1216 1469 1727 1728 2753# DETYSC 705 1110 1120 2754# DIR 1200# 1362 1422 DIR120 1207 1216# DIR140 1219# 1221 DIRAD1 1036# 2014 DIRADR 1015 1034# 1287 1366 1435 1499 1587 1655 1745 2307 DIRBUP 645 941 1034 1156 1166 2051 2703# DIRCK1 943# 946 DIRCKS 940# 1116 DIROFF 1035 1222 2751# DMA110 1146 1154# 2076 2432 2541 DMA120 1142 1148 1156# 2057 DMA130 1155 1158# DMAAD 20# 2430 DMAADR 1154 1168 2431 2540 2695# DPBP 649 2580 2704# DPSC1 632 1006 2697# DPSC2 635 2700# DPSC3 638 2702# DSKCA1 706# 1962 2062 2080 DSKCAL 701# 1229 1590 DSKFLG 60 2391 2654 2742# DSKNO 181 600# 619 968 985 2358 2381 2400 2429 2532 DSKSFL 657 820 1296 1754 2010 2739# ESAV 52 1987 2012 2380 2396 2588 2664 2734# EXADD 873# 898 1649 2460 FCBP 1414 1425 2477 2737# FCBSAV 49 75 369 601# 816 873 881 1045 1413 1584 1602 1657 1688 1750 1842 1845 1850 1884 1976 2007 2133 2293 2340 2392 2409 2478 2623 2657 FFAT 1844 2692# FILMSG 159 172# FLHAN 1876# 1949 2109 FROERR 44 159# FROJPA 44# 1021 FRSE 1915 1938 1974 2724# GCOSTS 108 574# GEMSK1 956# 959 GENMSK 955# 971 GET10 857# 859 GETALC 127 2555# GETBLK 837# 1958 1982 GETDPA 131 2580# GETIOB 104 549# GETROV 129 2564# GETSEC 855# 1961 2036 HOMCLR 671# 1353 1416 ICPOS 334 367 416 436 592# INBYT 193 230 246 595# IOBYTE 19# 549 557 LB003 1609# 1619 LB004 1494# 1505 LB005 1680 1683 1688# LB006 1756 1777# LB007 1763 1766# LB008 1768 1772# LB009 1774 1787 1794 1831# LB010 1775 1797# LB011 1698# 1778 1780 LB012 1753# 1801 LB013 1813 1826# LB014 1590# 1830 LB015 1518 1532# LB016 1527 1550 1555# LB017 1540 1564# LB018 1514# 1554 1567 LB020 1575# 1868 LB100 1860# 1863 LB102 1891 1902# LB103 1897 1911# LB104 1898 1914 1925# LB105 1921 1926# LB106 1907 1917 1920 1929# LB107 1937# 2233 LB108 1943 1958# LB109 1945 1954 1960 1966# LB110 1974# 2242 LB111 1990 1996# LB112 1999 2005# LB113 2013 2020# LB114 2016 2027# LB115 1985 2028# LB116 2053# 2056 LB117 2060# 2073 LB118 2040 2046 2080# LB119 2091 2095# LB120 2097 2103# LB121 2113 2116# LB122 2104 2107 2117# LB204 2161 2222# LB205 2169 2179# LB206 2175 2197 2212# LB207 2187 2203 2208 2218# LB209 2306 2332# LB211 2324 2330# LB212 2305# 2331 LBA14 1629# 1636 LDD9RC 892# 1926 1939 1978 LDS2 1045# 1054 1061 1734 2099 2219 LGV120 2357# 2385 2433 LOGVEC 2357 2369 2373 2427 2525 2630 2638 2694# LONGBD 16# MAKFIL 121 2509# MAXDIE 1072 1355 2696# MAXSOT 678 710 770 2701# MEX 803 901 2746# MKFLP 1841# 1918 2204 2511 MOVDIR 1166# 2469 2481 MOVE 647 653 1176# 1589 1660 MOVE10 1177# 1184 MOVFCB 1581# 1617 1634 OCFS 2250# 2309 2342 OPFIL 112 2439# OPFP 1642# 2194 2441 OPFP1 1648# 1925 PRTSTG 106 565# RAMB 21# RAWR 2124# 2232 2241 RAWRZ 2131# 2683 RC 897 918 1941 2089 2745# RCADD 881# 892 907 RCB110 375# 391 402 429 507 RCB120 378# 417 479 487 RCB130 387 398# RCB150 399 409# RCB170 411 420# RCB190 422 432# RCB200 436# 442 RCB210 434 445# RCB230 446 452# RCB240 395 455# RCB250 462# 474 RCB270 464 476# RCB290 483# 486 RCB310 454 490# RCB320 406 493# RCB330 503 506# RCB350 383 385 509# RDCONB 107 366# 439 449 RDINP 100 526# RDRND 133 2601# RDSEQ 119 2495# READ 687# 1149 1964 REBOOT 30# 150 161 242 505 RENFIL 122 2517# RENFP 1597# 2518 RESDSK 138 2623# RESDSY 110 2425# RETBLK 816# 840 1993 RETCDK 125 2532# RETLOG 123 2525# RETPRM 54 579 602# 1379 1471 1725 1832 1952 2028 2110 2185 2195 2206 2224 2581 2669 RETRET 139 140 580# RETVER 109 2418# ROEJPA 43# 1028 ROERR 43 156# ROMSG 156 174# ROVEC 984 996 1001 2426 2564 2636 2645 2693# RPR 1935# 2496 RPSAV 1388 1410 1472 2727# RRP 2231# 2602 RSHHL 703 925# 987 1334 2360 RSHHL1 926# 935 RSTSP 540 2656 2661 2667# RTBDOS 61 2654# RTBL10 822 827# SAV 1829 2748# SD110 619# 2363 SD150 660 662# SDEMHL 1097# 1113 1205 SECSE 908 1936 1972 2037 2105 2125 2681 2728# SECTOR 860 2058 2750# SELDSK 111 2380# 2407 2665 SELERR 42 153# SELMSG 153 170# SETDMA 126 2539# SETFAP 1626# 2572 SETFAT 130 2571# SETIOB 105 557# SETVEC 967# 1000 2372 SF120 2459 2467# SFFP 1409# 1493 1600 1627 1644 1739 1847 1912 2292 2467 SFFRST 114 2455# SFNEXT 116 2477# SGU120 2590 2593# SGUCD 132 2588# SLEJPA 42# 608 SPSAV 56 598# 2667 SREPRM 583# 1929 1966 1981 SRGSAV 1411 1436 2736# SRNDRC 136 2549# SRRP 2340# 2549 SSEQ 35# ST7S2 1061# 1661 1869 1930 2225 STRNP 644 781 2722# SVD9RC 907# 1965 2108 2117 SVPAIR 2526 2556 2565 2581# SVRD10 910 912# SVSING 519 527 542 550 579# 584 1389 1484 1928 2001 2214 2419 2533 2592 TCP120 239 246# TCP130 232 247# TDIRET 1070# 1083 1129 1431 THSE 1877 1895 2723# TL100 1237# 1275 1524 1548 TL120 1267# 1269 TL140 1274# 1320 TL160 1279# 1281 1559 TL180 1287# 1382 1502 TL190 1292# 1325 TL200 1298 1305# TL220 1303 1312# TL240 1314 1322# TL260 1361# 1369 1384 TL280 1373 1377 1381# TL300 1388# 2489 2519 2573 TL320 1392# 1459 TL400 1421# 1454 1461 1504 1618 1635 2330 2480 TL420 1429 1435# TL430 1440# 1467 TL440 1451 1457# TL460 1445 1448 1455 1463# TL480 1442 1469# TL500 1424 1433 1482# TPA 22# TRACK 673 715 765 2699# TST1 1016# 1977 TSTBLK 847# 1959 1983 TSTCTL 205 216# 254 TSTDIE 1189# 1363 1423 1495 1609 1629 1645 1740 1848 1879 1913 1919 2305 TSTDRO 984# 1026 1730 TSTINP 230# 272 574 TSTMDI 1083# 1383 1867 TSTNRO 1026# 1490 1597 1841 1975 TSTRO 1015# 1498 1613 TYPSTG 185 187 352# 360 568 UNITNO 59 2404 2659 2744# UNITSV 2401 2663 2743# USRNO 599# 1371 2408 2591 2594 UU110 2390# 2440 2447 2464 2479 2487 2495 2502 2510 2517 2571 2601 2608 2615 2679 UU120 2399 2408# VJUMP 608# 2365 VJUMP1 610# 695 1022 1029 WDB 1140# 1503 1591 WDB1 1148# 1231 WPR 1971# 2503 WPR1 1973# 2684 WRITE 690# 1145 2065 2086 WRITE1 688 691# WRP 2240# 2609 WRRDZF 141 2679# WRTPRT 128 996# 1131 WRTRND 134 2608# WRTSEQ 120 2502# X 2759# 2760
Ú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