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 |