diff options
Diffstat (limited to 'dev/hpfs/epm')
| -rw-r--r-- | dev/hpfs/epm/blob.json | 6 | ||||
| -rw-r--r-- | dev/hpfs/epm/ebs.i | 29 | ||||
| -rw-r--r-- | dev/hpfs/epm/epm.asm | 37 |
3 files changed, 72 insertions, 0 deletions
diff --git a/dev/hpfs/epm/blob.json b/dev/hpfs/epm/blob.json new file mode 100644 index 00000000..4ce4fc1c --- /dev/null +++ b/dev/hpfs/epm/blob.json @@ -0,0 +1,6 @@ +{ + "compiler_path": "nasm", + "sources_path": ["EPM.asm"], + "output_name": "hpfs.bin", + "compiler_flags": ["-f bin"] +} diff --git a/dev/hpfs/epm/ebs.i b/dev/hpfs/epm/ebs.i new file mode 100644 index 00000000..c137b6f4 --- /dev/null +++ b/dev/hpfs/epm/ebs.i @@ -0,0 +1,29 @@ +;; FILE: EBS.asm +;; PURPOSE: EXPLICIT BOOT SECTOR STRUCTURE (HPFS RELATED). +;; AUTHOR: AMLAL EL MAHROUSS + +[bits 64] + +;; DUMP THIS BLOB TO DISK, WHEN FORMATTING THE SSD. + +HPFS_EBS_HEADER: + db " HPFS" ;; MAGIC NUMBER OF FILESYSTEM + dw 8 ;; MAGIC NUMBER LENGTH. + dq 0 ;; RESERVED 4 + dw 0x0100 ;; VERSION + dw 0 ;; PARTITION TYPE + dq 0 ;; RESERVED 3 + dw 0 ;; DISK TYPE (INVALID = 0, CDROM = 1, SSD = 2, USB = 3) + dw 0 ;; CHECKSUM OF PARTITION + dw 0 ;; IS IT LOCKED? (DISK ENCRYPTION ON?) + dq 0 ;; SECTOR COUNT + dq 0 ;; RESERVED 2 + dq 512 ;; SECTOR SZ + dq 0 ;; DISK SIZE + dq 0 ;; RESERVED 1 SLOT + dq 1 ;; LOCKER ON? + dq 1 ;; PARTITION MAP TYPE (GPT, MBR, EPM) + dq 16 ;; MASTER FILE TABLE + dq 80 ;; MASTER TRACE TABLE + dq 144 ;; MASTER DIRECTORY TABLE + dw 0xFFFF ;; END OF HEADER WORD diff --git a/dev/hpfs/epm/epm.asm b/dev/hpfs/epm/epm.asm new file mode 100644 index 00000000..2197d2cd --- /dev/null +++ b/dev/hpfs/epm/epm.asm @@ -0,0 +1,37 @@ +;; FILE: EBS.asm +;; PURPOSE: EXPLICIT PARTITION MAP BOOT STRUCTURE (HPFS RELATED). +;; AUTHOR: AMLAL EL MAHROUSS + +[bits 64] + +HPFS_EPM_HEADER: + db "EPMAM", 0 + db "HPFS ", 0 +HPFS_EPM_UUID: + dd 0 + dw 0 + db 0 + db 0 + db 0 + db 0 + db 0 + db 0 + db 0 + db 0 + dd 0xAD ;; EPM revision + dd 0 ;; Number of blocks, set to 0 by default. + dd 512 ;; Sector size, HPFS was made with drives in mind, so 512. + dd 0 + dd 0 + dw 0x1f ;; NewOS (ZKA) present on partition. + dd 1 + db "FileSystem (A:)", 0 + times 401 db 0 +HPFS_EPM_HEADER_END: + + +%include "EBS.i" + +times 16 db 0 + +;; Here the partition starts |
