summaryrefslogtreecommitdiffhomepage
path: root/dev/hpfs/epm
diff options
context:
space:
mode:
authorAmlal <amlal@el-mahrouss-logic.com>2024-09-24 06:57:42 +0200
committerAmlal <amlal@el-mahrouss-logic.com>2024-09-24 06:58:12 +0200
commit4b4fe020a328e991ffd15ae475ad7a5d38f097a5 (patch)
tree990a0f03c13bb0878c00e8ec1d6f9c259ecb64a0 /dev/hpfs/epm
parent107b2b9cad2b2502c3eebc0a77013edde2551257 (diff)
IMP: Working on Paging API...
FIX: Fixed the path of filesystem's ESP. Signed-off-by: Amlal <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'dev/hpfs/epm')
-rw-r--r--dev/hpfs/epm/blob.json6
-rw-r--r--dev/hpfs/epm/ebs.i29
-rw-r--r--dev/hpfs/epm/epm.asm37
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