Rev 888 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 888 | Rev 1186 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | 1 | ||
| 2 | ;LAST UPDATE: 04.08.2019 savelij |
2 | ; LAST UPDATE: 13.02.2025 savelij |
| 3 | 3 | ||
| 4 | TITLE "extend.a80" |
4 | TITLE "extend.a80" |
| 5 | 5 | ||
| 6 | ;[ИНФА ДЛЯ СОЗДАНИЯ 9 СЕКТОРА НОВОГО ДИСКА] |
6 | ;[ИНФА ДЛЯ СОЗДАНИЯ 9 СЕКТОРА НОВОГО ДИСКА] |
| 7 | DSKINFO DB 0 ;+0XE1-НОМЕР ПЕРВОГО СВОБОДНОГО СЕКТОРА |
7 | DSKINFO DB 0 ;+0XE1-НОМЕР ПЕРВОГО СВОБОДНОГО СЕКТОРА |
| Line 9... | Line 9... | ||
| 9 | DB 0X16 ;+0XE3-ТИП ДИСКЕТЫ |
9 | DB 0X16 ;+0XE3-ТИП ДИСКЕТЫ |
| 10 | DB 0 ;+0XE4-КОЛИЧЕСТВО ФАЙЛОВ НА ДИСКЕТЕ |
10 | DB 0 ;+0XE4-КОЛИЧЕСТВО ФАЙЛОВ НА ДИСКЕТЕ |
| 11 | SECFREE DW 2544 ;+0XE5-КОЛИЧЕСТВО СВОБОДНЫХ СЕКТОРОВ |
11 | SECFREE DW 2544 ;+0XE5-КОЛИЧЕСТВО СВОБОДНЫХ СЕКТОРОВ |
| 12 | DB 0X10 ;+0XE7-ИДЕНТИФИКАЦИОННЫЙ КОД TRDOS |
12 | DB 0X10 ;+0XE7-ИДЕНТИФИКАЦИОННЫЙ КОД TRDOS |
| 13 | DW 0 ;+0XE8-2 БАЙТА 0 |
13 | DW 0 ;+0XE8-2 БАЙТА 0 |
| 14 | DUPL 9," " ;+0XEA-9 БАЙТ 0X20 |
14 | DB 9 DUP ' ' ;+0XEA-9 БАЙТ 0X20 |
| 15 | DB 0 ;+0XF3-1 БАЙТ 0 |
15 | DB 0 ;+0XF3-1 БАЙТ 0 |
| 16 | DB 0 ;+0XF4-КОЛИЧЕСТВО УДАЛЕННЫХ ФАЙЛОВ |
16 | DB 0 ;+0XF4-КОЛИЧЕСТВО УДАЛЕННЫХ ФАЙЛОВ |
| 17 | DB "RAMDISKO" ;+0XF5-ИМЯ ДИСКЕТЫ |
17 | DB "RAMDISKO" ;+0XF5-ИМЯ ДИСКЕТЫ |
| 18 | DSK_END |
18 | DSK_END |
| 19 | 19 | ||
| Line 106... | Line 106... | ||
| 106 | AND 7CH |
106 | AND 7CH |
| 107 | OR B |
107 | OR B |
| 108 | LD (TRD_5D16),A ; КОПИЯ СИСТЕМНОГО РЕГИСТРА (ПОРТ #FF) |
108 | LD (TRD_5D16),A ; КОПИЯ СИСТЕМНОГО РЕГИСТРА (ПОРТ #FF) |
| 109 | LD HL,ERR_OK |
109 | LD HL,ERR_OK |
| 110 | PUSH HL |
110 | PUSH HL |
| 111 | SET_CURRVIRT LD H,VIRT_REAL_DRIVE |
111 | SET_CURRVIRT LD H,CMOS.VIRT_REAL_DRIVE |
| 112 | CALL READCMOS |
112 | CALL READCMOS |
| 113 | AND %00000011 |
113 | AND %00000011 |
| 114 | LD L,A |
114 | LD L,A |
| 115 | LD A,B |
115 | LD A,B |
| 116 | RLCA |
116 | RLCA |
| Line 182... | Line 182... | ||
| 182 | PRT_NUM_VIRT LD HL,TXT4VIRTDRV |
182 | PRT_NUM_VIRT LD HL,TXT4VIRTDRV |
| 183 | LD B,ETXT4VIRTDRV-TXT4VIRTDRV-1 |
183 | LD B,ETXT4VIRTDRV-TXT4VIRTDRV-1 |
| 184 | CALL PRT_B_HL_ |
184 | CALL PRT_B_HL_ |
| 185 | LD A," " |
185 | LD A," " |
| 186 | RST 0X10 |
186 | RST 0X10 |
| 187 | LD H,VIRT_REAL_DRIVE |
187 | LD H,CMOS.VIRT_REAL_DRIVE |
| 188 | CALL READCMOS |
188 | CALL READCMOS |
| 189 | AND 3 |
189 | AND 3 |
| 190 | ADD A,"A" |
190 | ADD A,"A" |
| 191 | RST 0X10 |
191 | RST 0X10 |
| 192 | LD A,0X0D |
192 | LD A,0X0D |
| Line 203... | Line 203... | ||
| 203 | CP ":" |
203 | CP ":" |
| 204 | JP NZ,SINTAX_ERROR |
204 | JP NZ,SINTAX_ERROR |
| 205 | LD A,C |
205 | LD A,C |
| 206 | CALL NUMDSK2BYTE ;ПОЛУЧИЛИ НОВЫЙ НОМЕР ДИСКОВОДА УКАЗАННЫЙ В КОМАНДНОЙ СТРОКЕ |
206 | CALL NUMDSK2BYTE ;ПОЛУЧИЛИ НОВЫЙ НОМЕР ДИСКОВОДА УКАЗАННЫЙ В КОМАНДНОЙ СТРОКЕ |
| 207 | LD D,A ;СОХРАНИЛИ ВРЕМЕННО СДВИНУТЫЙ НОВЫЙ НОМЕР ВИРТУАЛЬНОГО ДИСКОВОДА |
207 | LD D,A ;СОХРАНИЛИ ВРЕМЕННО СДВИНУТЫЙ НОВЫЙ НОМЕР ВИРТУАЛЬНОГО ДИСКОВОДА |
| 208 | LD H,VIRT_REAL_DRIVE |
208 | LD H,CMOS.VIRT_REAL_DRIVE |
| 209 | CALL READCMOS |
209 | CALL READCMOS |
| 210 | AND %11111100 ;СБРОС СТАРОГО НОМЕРА ВИРТУАЛЬНОГО ДИСКОВОДА |
210 | AND %11111100 ;СБРОС СТАРОГО НОМЕРА ВИРТУАЛЬНОГО ДИСКОВОДА |
| 211 | OR D ;ДОБАВИЛИ НОВЫЙ НОМЕР ВИРТУАЛЬНОГО ДИСКОВОДА |
211 | OR D ;ДОБАВИЛИ НОВЫЙ НОМЕР ВИРТУАЛЬНОГО ДИСКОВОДА |
| 212 | LD L,A |
212 | LD L,A |
| 213 | RST8D _CMOS_RW,_WRITE_CMOS |
213 | RST8D _CMOS_RW,_WRITE_CMOS |