diff --git a/FORMAT.ASM b/FORMAT.ASM index 07a3ee6..012487b 100755 --- a/FORMAT.ASM +++ b/FORMAT.ASM @@ -887,21 +887,19 @@ init_interlive: djnz .loc2 ret - - ; Таблицы интерливов секторов ; ; 720kB, 1.44Mb..1.64Mb -INTERL1:ds 20 ; 1,2,3,...20 +INTERL1: ds 20 ; 1,2,3,...20 ; 1.68Mb..1.74Mb -INTERL2:ds 21 ; 1,x,2,x,3,x,... (интерлив = 2) +INTERL2: ds 21 ; 1,x,2,x,3,x,... (интерлив = 2) ; 800kB..830kB -INTERL3:ds 10 ; интерлив = 2 +INTERL3: ds 10 ; интерлив = 2 ; TR-DOS -INTERL4:ds 16 ; интерлив = 2 +INTERL4: ds 16 ; интерлив = 2 @@ -1231,25 +1229,24 @@ SysAreaTRDOS: -LastSect: - db 34 ; 34/14, посл. служ. сектор -DISK: db 0 ; диск (0=A,1=B) +LastSect: db 34 ; 34/14, посл. служ. сектор +DISK: db 0 ; диск (0=A,1=B) -L0AC8: dw 0 ; тек. адрес в сист. буфере -L0ACB: db 0 ; счетчик попыток ожидания -L0ACD: dw 0 ; сохр. стека +L0AC8: dw 0 ; тек. адрес в сист. буфере +L0ACB: db 0 ; счетчик попыток ожидания +L0ACD: dw 0 ; сохр. стека -L0BA9: db 0 ; счетчик секторов +L0BA9: db 0 ; счетчик секторов -L0C63: db 0 ; тек. попытки чтения сектора -;L0C64: db 0 ; тек. число 3-х разовых попыток чтения -BadSect:dw 0 ; число bad-секторов +L0C63: db 0 ; тек. попытки чтения сектора +;L0C64: db 0 ; тек. число 3-х разовых попыток чтения +BadSect: dw 0 ; число bad-секторов -sect: db 0 ; тек. сектор -side: db 0 ; тек. сторона -tracks: db 0 ; тек. дорожка -RetCode:db 0 ; код возврата записи сектора/дорожки -density:db 0 ; 13h/12h режим 1.44Mb/720kB +sect: db 0 ; тек. сектор +side: db 0 ; тек. сторона +tracks: db 0 ; тек. дорожка +RetCode: db 0 ; код возврата записи сектора/дорожки +density: db 0 ; 13h/12h режим 1.44Mb/720kB diff --git a/LISTBOX.ASM b/LISTBOX.ASM index 4f2d5b1..bc2deec 100755 --- a/LISTBOX.ASM +++ b/LISTBOX.ASM @@ -1175,20 +1175,21 @@ DiskA: db " X: X.XX ",0Dh DiskB: db " X: X.XX ",0Dh,0 ItemList: - db " 1.44 Mb 80 18 DS/HD",0Dh - db " 1.52 Mb 80 19 DS/HD",0Dh - db " 1.60 Mb 80 20 DS/HD",0Dh - db " 1.64 Mb 82 20 DS/HD",0Dh - db " 1.66 Mb 83 20 DS/HD",0Dh - db " 1.68 Mb 80 21 DS/HD",0Dh - db " 1.72 Mb 82 21 DS/HD",0Dh - db " 1.74 Mb 83 21 DS/HD",0Dh - db " 720 kB 80 09 DS/DD",0Dh - db " 800 kB 80 10 DS/DD",0Dh - db " 820 kB 82 10 DS/DD",0Dh - db " 830 kB 83 10 DS/DD",0Dh - db " 636 kB - 80 - 16 TR-DOS",0Dh - db " 800 kB - 80 - 05 CPM-80",0Dh + db " 1.44 Mb 80 18 DS/HD",0Dh ; 0 + db " 1.52 Mb 80 19 DS/HD",0Dh ; 1 + db " 1.60 Mb 80 20 DS/HD",0Dh ; 2 + db " 1.64 Mb 82 20 DS/HD",0Dh ; + db " 1.66 Mb 83 20 DS/HD",0Dh ; + db " 1.68 Mb 80 21 DS/HD",0Dh ; + db " 1.72 Mb 82 21 DS/HD",0Dh ; + db " 1.74 Mb 83 21 DS/HD",0Dh ; + db " 720 kB 80 09 DS/DD",0Dh ; + db " 800 kB 80 10 DS/DD",0Dh ; + db " 820 kB 82 10 DS/DD",0Dh ; + db " 830 kB 83 10 DS/DD",0Dh ; + db " 636 kB - 80 - 16 TR-DOS",0Dh ; + db " 800 kB - 80 - 05 CPM-80",0Dh ; + db " 1.2 Mb 80 15 DS/HD",0Dh ; db 0 diff --git a/MAP.ASM b/MAP.ASM index 55912c2..10cce59 100755 --- a/MAP.ASM +++ b/MAP.ASM @@ -250,6 +250,7 @@ Setup_Map: xor a dw .loc18 dw .loc50 dw .loc51 + dw .loc052 ; .loc7: db "1.44 Mb" .loc8: db "1.52 Mb" @@ -265,6 +266,7 @@ Setup_Map: xor a .loc18: db "830 kB " .loc50: db "TR-DOS " .loc51: db "CP/M-80" +.loc052: db " 1.2 Mb" ; .loc19: db "(Standart mode) " .loc29: db "(Optimize sectors)" @@ -319,6 +321,7 @@ Space: push af dw .loc13 dw .loc15 dw .loc16 + dw .loc17 ; .loc2: db "1457664" ; 1.44Mb .loc3: db "1539584" ; 1.52Mb @@ -334,6 +337,7 @@ Space: push af .loc13: db " 842752" ; 830kB .loc15: db " 651264" ; TR-DOS 16 сект. по 256 байт .loc16: db " 819200" ; CP/M-80 5 сект. по 1024 байт +.loc17: db "1228800" ; 1.2Mb 5.25 ; .loc14: db " 0" ; сбросить число bad-секторов @@ -392,7 +396,9 @@ SetMedia: jp z,.loc14 ; 830kB dec a jp z,.trdos ; TR-DOS - jp .cpm ; CPM-80 + dec a + jp z,.cpm ; 1.2Mb + jp .loc17 ; CPM-80 ;1.44Mb .loc1: ld hl,108 ; размер межсект. пробела @@ -414,7 +420,7 @@ SetMedia: ld hl,9 ; секторов на FAT ld (FSect+1),hl .loc13: ld a,0F0h ; байт формата - ld (frm4+1),a +.l1_2: ld (frm4+1),a ld a,1 ; секторов на кластер ld (FSETUP.sectorsPerCluster),a ld hl,224 ; записей в корне @@ -655,7 +661,27 @@ SetMedia: ld (L0BB6+1),hl jp .loc12 - +; 5.25 1,2Mb +.loc17: ld hl,54 ; размер межсект. пробела + ld (GAP3),hl + ld hl,#0012 + ld (Avail+2),hl ; 4 байта размера формата + ld hl,#C000 + ld (Avail),hl + ld a,15 ; число секторов + ld (FSETUP.sectorsAll),a + ld hl,15 ; секторов на сторону + ld (FSETUP.sectorsSide),hl + ld a,32 ; посл. служ. сектор + ld (FSETUP.lastSector),a + ld hl,14848 ; размер FAT-ов + Root dir + ld (frm5+1),hl + ld hl,2400 ; секторов на диске + ld (ASect+1),hl + ld hl,8 ; секторов на FAT + ld (FSect+1),hl + ld a,#F9 ; байт формата + jp .l1_2 ; Вывод в десятичном формате (7 разрядов) @@ -966,6 +992,8 @@ CreateLabel: ; ldir ; ret + + ; Выходные значения: ; D - день ; E - месяц @@ -999,4 +1027,209 @@ CreateSerialNumber: ; ld l,h ; ld h,e ld (L2400 + BOOT_SECTOR.FAT.SERIAL_NUMBER),hl - ret \ No newline at end of file + ret + + +/* +;1.44Mb + WORD 108 ; размер межсект. пробела + DWORD #00163E00 ; 4 байта размера формата + BYTE 18 ; число секторов + WORD 18 ; секторов на сторону + BYTE 34 ; посл. служ. сектор + WORD 16896 ; размер FAT-ов + Root dir + WORD 2880 ; секторов на диске + WORD 9 ; секторов на FAT + BYTE #F0 ; байт формата + BYTE 1 ; секторов на кластер + WORD 224 ; записей в корне + + +;1.52Mb + WORD 42 ; размер межсект. пробела + DWORD #00177E00 ; 4 байта размера формата + BYTE 19 ; число секторов + WORD 19 ; секторов на сторону + BYTE 34 ; посл. служ. сектор + WORD 16896 ; размер FAT-ов + Root dir + WORD 3040 ; секторов на диске + WORD 9 ; секторов на FAT + BYTE #F0 ; байт формата + BYTE 1 ; секторов на кластер + WORD 224 ; записей в корне + + +;1.60Mb + WORD 40 ; размер межсект. пробела .loc50 + DWORD #0018BA00 ; 4 байта размера формата + BYTE 20 ; число секторов + WORD 20 ; секторов на сторону + BYTE 36 ; посл. служ. сектор + WORD 17920 ; размер FAT-ов + Root dir + WORD 3200 ; секторов на диске + WORD 10 ; секторов на FAT + BYTE #F0 ; байт формата .loc13 + BYTE 1 ; секторов на кластер .loc13 + WORD 224 ; записей в корне .loc13 + + +;1.64Mb + WORD 40 ; размер межсект. пробела + DWORD #00195A00 ; 4 байта размера формата + BYTE 20 ; число секторов + WORD 20 ; секторов на сторону + BYTE 36 ; посл. служ. сектор + WORD 17920 ; размер FAT-ов + Root dir + WORD 3280 ; секторов на диске + WORD 10 ; секторов на FAT + BYTE #F0 ; байт формата + BYTE 1 ; секторов на кластер + WORD 224 ; записей в корне + + +;1.66Mb + WORD 40 ; размер межсект. пробела + DWORD #0019AA00 ; 4 байта размера формата + BYTE 20 ; число секторов + WORD 20 ; секторов на сторону + BYTE 36 ; посл. служ. сектор + WORD 17920 ; размер FAT-ов + Root dir + WORD 3320 ; секторов на диске + WORD 10 ; секторов на FAT + BYTE #F0 ; байт формата + BYTE 1 ; секторов на кластер + WORD 224 ; записей в корне + + +;1.68Mb + WORD 11 ; размер межсект. пробела .loc80 + DWORD #0019FA00 ; 4 байта размера формата + BYTE 21 ; число секторов + WORD 21 ; секторов на сторону + BYTE 36 ; посл. служ. сектор + WORD 17920 ; размер FAT-ов + Root dir + WORD 3360 ; секторов на диске + WORD 10 ; секторов на FAT + BYTE #F0 ; байт формата + BYTE 1 ; секторов на кластер + WORD 224 ; записей в корне + + +;1.72Mb + WORD 11 ; размер межсект. пробела + DWORD #001AA200 ; 4 байта размера формата + BYTE 21 ; число секторов + WORD 21 ; секторов на сторону + BYTE 36 ; посл. служ. сектор + WORD 17920 ; размер FAT-ов + Root dir + WORD 3444 ; секторов на диске + WORD 10 ; секторов на FAT + BYTE #F0 ; байт формата + BYTE 1 ; секторов на кластер + WORD 224 ; записей в корне + + +;1.74Mb + WORD 11 ; размер межсект. пробела + DWORD #001AF200 ; 4 байта размера формата + BYTE 21 ; число секторов + WORD 21 ; секторов на сторону + BYTE 38 ; посл. служ. сектор + WORD 18944 ; размер FAT-ов + Root dir + WORD 3486 ; секторов на диске + WORD 11 ; секторов на FAT + BYTE #F0 ; байт формата + BYTE 1 ; секторов на кластер + WORD 224 ; записей в корне + + +;720kB + WORD 80 ; размер межсект. пробела + DWORD #000B2400 ; 4 байта размера формата + BYTE 9 ; число секторов + WORD 9 ; секторов на сторону + BYTE 14 ; посл. служ. сектор + WORD 6656 ; размер FAT-ов + Root dir + WORD 1440 ; секторов на диске + WORD 3 ; секторов на FAT + BYTE #F9 ; байт формата + BYTE 2 ; секторов на кластер + WORD 112 ; записей в корне + + +;800kB + WORD 36 ; размер межсект. пробела + DWORD #000C6400 ; 4 байта размера формата + BYTE 10 ; число секторов + WORD 10 ; секторов на сторону + BYTE 14 ; посл. служ. сектор + WORD 6656 ; размер FAT-ов + Root dir + WORD 1600 ; секторов на диске + WORD 3 ; секторов на FAT + BYTE #F9 ; байт формата + BYTE 2 ; секторов на кластер + WORD 112 ; записей в корне + WORD INTERL3 ; Таблица интерливов секторов + + + +;820kB + WORD 36 ; размер межсект. пробела + DWORD #000CB400 ; 4 байта размера формата + BYTE 10 ; число секторов + WORD 10 ; секторов на сторону + BYTE 14 ; посл. служ. сектор + WORD 6656 ; размер FAT-ов + Root dir + WORD 1600 ; секторов на диске + WORD 3 ; секторов на FAT + BYTE #F9 ; байт формата + BYTE 2 ; секторов на кластер + WORD 112 ; записей в корне + WORD INTERL3 ; Таблица интерливов секторов + + + +;830kB + WORD 36 ; размер межсект. пробела + DWORD #000CDC00 ; 4 байта размера формата + BYTE 10 ; число секторов + WORD 10 ; секторов на сторону + BYTE 14 ; посл. служ. сектор + WORD 6656 ; размер FAT-ов + Root dir + WORD 1660 ; секторов на диске + WORD 3 ; секторов на FAT + BYTE #F9 ; байт формата + BYTE 2 ; секторов на кластер + WORD 112 ; записей в корне + WORD INTERL3 ; Таблица интерливов секторов + + +; 5,25 1,2Mb + WORD 54 ; размер межсект. пробела + DWORD #0012C000 ; 4 байта размера формата + BYTE 15 ; число секторов + WORD 15 ; секторов на сторону + BYTE 32 ; посл. служ. сектор + WORD 14848 ; размер FAT-ов + Root dir + WORD 2400 ; секторов на диске + WORD 7 ; секторов на FAT + BYTE #F9 ; байт формата + BYTE 1 ; секторов на кластер + WORD 224 ; записей в корне + WORD INTERL3 ; Таблица интерливов секторов + + +;1.44Mb + WORD 108 ; размер межсект. пробела + DWORD #00163E00 ; 4 байта размера формата + BYTE 18 ; число секторов + WORD 18 ; секторов на сторону + BYTE 34 ; посл. служ. сектор + WORD 16896 ; размер FAT-ов + Root dir + WORD 2880 ; секторов на диске + WORD 9 ; секторов на FAT + BYTE #F0 ; байт формата + BYTE 1 ; секторов на кластер + WORD 224 ; записей в корне +*/ +; \ No newline at end of file diff --git a/Shared_Includes b/Shared_Includes index a0e68ce..6073b87 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit a0e68ce3a19bd47537585e49bfbf5e45fab197a1 +Subproject commit 6073b8787867fe5d217d064c9f5f77972303148c