Subversion Repositories pentevo

Rev

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