mirror of
https://github.com/Tolik-Trek/FORMAT.git
synced 2026-06-15 01:11:39 +03:00
Начал перенос LOW LEVEL FDD FORMAT
This commit is contained in:
parent
8955783ba6
commit
24e402bc81
1652
FDD_LOW.asm
Normal file
1652
FDD_LOW.asm
Normal file
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
||||
Subproject commit e1dc7ec10dc9c7e9153a05884e42973a57378a63
|
||||
Subproject commit daae799b0dfc833d6bbbb8910910790f834996a3
|
||||
@ -1 +1 @@
|
||||
95
|
||||
111
|
||||
71
format.asm
71
format.asm
@ -2,69 +2,6 @@
|
||||
; [ ] Dss.DRV.Open
|
||||
; [ ] Dss.DRV.Close
|
||||
; [ ] .SectorsPerFAT32 DWORD 0 error ¥á«¨ áâ à訩 ¡ ©â !=0
|
||||
; [ ] .FAT.LABEL DB 'NO_LABEL ' ¤®¯®«¨â¥«ì® ¯¨á âì ¢ ª®à¥¢ãî ¤¨à¥ªâ®à¨î
|
||||
|
||||
|
||||
|
||||
/*
|
||||
BOOT_SECTOR EQU #00
|
||||
.JMP EQU #00 ; BLOCK 3,0 BS_jmpBoot Jump to bootstrap (E.g. eb 3c 90; on i86: JMP 003E NOP. One finds either eb xx 90, or e9 xx xx.
|
||||
.ID_NAME EQU #03 ; TEXT 8 BS_OEMName DOS NAME - DB "DSS_1.70"
|
||||
; Block Parameters BIOS
|
||||
.BytesPerSector GenIOCTL.GetParams EQU #0B ; WORD #200 BPB_BytsPerSec <09> §¬¥à ᥪâ®à ¢ ¡ ©â å
|
||||
.SectorsPerCluster ;!TODO EQU #0D ; BYTE 2 BPB_SecPerClus <09> §¬¥à ª« áâ¥à ¢ ᥪâ®à å
|
||||
.RESERVED_SECTORS !RESERVED_SECTORS EQU #0E ; WORD 1 BPB_ResvdSecCnt <09> §¬¥à á¨á⥬®© ®¡« á⨠(¢ª«îç ï íâ®â ᥪâ®à) RESERVE SECTORS
|
||||
.Number_of_FATs 2 EQU #10 ; BYTE 2 BPB_NumFATs Š®«¨ç¥á⢮ â ¡«¨æ FAT
|
||||
.FilesInRootDIR 0 EQU #11 ; WORD 112 BPB_RootEntCnt —¨á«® ®¯¨á ⥫¥© ä ©«®¢ ¢ ª®à¥¢®¬ ª â «®£¥ (¢ FAT32 - 0)
|
||||
.SectorsPerDrive 0 EQU #13 ; WORD 1440 BPB_TotSec16 ޡ饥 ç¨á«® ᥪâ®à®¢ ¤¨áª¥ (¥á«¨ 0, â® à §¬¥à - ¢ .BPB_BIG_TOTAL_SECTORS)
|
||||
.DRIVE_TYPE !DRV_TYPE EQU #15 ; BYTE #F0 BPB_Media ’¨¯ ãáâனáâ¢
|
||||
.SectorsPerFAT16 0 EQU #16 ; WORD 2 BPB_FATSz16 <09> §¬¥à ®¤®© FAT ¢ ᥪâ®à å (0 ¢ FAT32)
|
||||
.SectorsPerTrack GenIOCTL.GetParams EQU #18 ; WORD 9 BPB_SecPerTrk <09> §¬¥à ¤®à®¦ª¨ ¢ ᥪâ®à å
|
||||
.HEADS GenIOCTL.GetParams EQU #1A ; WORD 2 BPB_NumHeads ª®«¨ç¥á⢮ £®«®¢®ª
|
||||
.HIDDEN EQU #1C ; DWORD 0 BPB_HiddSec ª®«¨ç¥á⢮ áªàëâëå ᥪâ®à®¢
|
||||
.BPB_BIG_TOTAL_SECTORS_L EQU #20 ; WORD 0 BPB_TotSec32 BIG TOTAL SECTOR Low word
|
||||
.BPB_BIG_TOTAL_SECTORS_H EQU #22 ; WORD 0 BPB_TotSec32 BIG TOTAL SECTOR High word
|
||||
; FAT 32
|
||||
.SectorsPerFAT32 EQU #24 ; DWORD 4 BPB_FATSz32 <09> §¬¥à ®¤®© FAT ¢ ᥪâ®à å
|
||||
.MainFATnumber 0 EQU #28 ; WORD 0 BPB_ExtFlags <09>®¬¥à £« ¢®© â ¡«¨æë FAT
|
||||
.Version 0 EQU #2A ; WORD 0 BPB_FSVer ‚¥àá¨ï FAT32 (®¡ëç® 0)
|
||||
.RootDirStartCluster 2 EQU #2C ; DWORD 2 BPB_RootClus <09>¥à¢ë© ª« áâ¥à ª®à¥¢®£® ª â «®£ (®¡ëç® 2)
|
||||
.FSINFO_Sector 1 EQU #30 ; WORD 1 BPB_FSInfo <09>®¬¥à ᥪâ®à áâàãªâãàë FSINFO (®¡ëç® 1)
|
||||
.CopyBootSector 6 EQU #32 ; WORD 6 BPB_BkBootSec <09>®¬¥à ᥪâ®à - ª®¯¨¨ § £à㧮箣® (®¡ëç® 6)
|
||||
.reserved_block: 0 EQU #34 ; BLOCK 12 BPB_Reserved ‡ १¥à¢¨à®¢ ®
|
||||
.FDD_Number GenIOCTL.GetParams&#F0 EQU #40 ; BYTE 0 BS_DrvNum <09>®¬¥à ¤¨áª®¢®¤ ¤«ï äãªæ¨© BIOS
|
||||
.reserved_2: 0 EQU #41 ; BYTE 0 BS_Reserved1 ‡ १¥à¢¨à®¢ ®
|
||||
.FAT32.EXT_BOOT_REC_SIGNATURE EQU #42 ; BYTE #29 BS_BootSig ‘¨£ âãà - #29
|
||||
.FAT32.SERIAL_NUMBER EQU #43 ; DWORD 0 BS_VolID VOLUME SERIAL NUMBER
|
||||
.FAT32.LABEL EQU #47 ; TEXT 11 BS_VolLab Œ¥âª ¤¨áª
|
||||
.ID_FAT32 EQU #52 ; TEXT 8 BS_FilSysType €¡¡à¥¢¨ âãà ä ©«®¢®© á¨á⥬ë
|
||||
.BOOT_CODE_FAT32 EQU #5A
|
||||
------------------------------------------------------------------------
|
||||
|
||||
!DRV_TYPE: GenIOCTL.GetParams - 䨧¨ç¥áª¨© ®¬¥à
|
||||
0,1 - BIOS.DRV_GET_PAR - ⨯ ä«®¯ àï
|
||||
#8x - Hard Drive
|
||||
®á⠫쮥 ¯®¤ã¬ âì
|
||||
;;;;;;;;;;;;;;;;;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
¤«ï ᬥ饨ï FAT ¤® ªà ⮣® 4096 § 票ï:
|
||||
1) tmp1 = ((.HIDDEN + min_last_sector) & #0F)>0 ) * #10
|
||||
2) tmp2 = (.HIDDEN + min_last_sector) & #FFFF'FFF0
|
||||
3) tmp3 = tmp2 + tmp1
|
||||
4) error = (tmp3 >= #1000'0000) ; LBA28
|
||||
reserved_sectors = ( ((.HIDDEN + min_last_sector) & #0F)>0 ) * #10) - .HIDDEN
|
||||
;;;;;;;;;;;;;;;;;
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -77,6 +14,7 @@ reserved_sectors = ( ((.HIDDEN + min_last_sector) & #0F)>0 ) * #10) - .HIDDEN
|
||||
DEVICE ZXSPECTRUM4096 ; for debug
|
||||
|
||||
DEFINE INCREASE_BUILD
|
||||
DEFINE fdd_low_enabled 0
|
||||
|
||||
includelua 'Shared_includes/lua/Functions.lua'
|
||||
INCLUDE 'shared_includes/constants/SP2000.inc'
|
||||
@ -1407,6 +1345,13 @@ GET_KEY_FAT: DI
|
||||
;-----------------------------------------------------------------------
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
IF fdd_low_enabled
|
||||
include 'fdd_low.asm'
|
||||
ENDIF
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
include 'math.asm'
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Loading…
Reference in New Issue
Block a user