summaryrefslogtreecommitdiffhomepage
path: root/dev/HPFS
diff options
context:
space:
mode:
authorAmlal <amlal@el-mahrouss-logic.com>2024-09-08 22:19:00 +0200
committerAmlal <amlal@el-mahrouss-logic.com>2024-09-08 22:19:00 +0200
commitef71b80d3df1969a2be85eadf2d83cd85745469d (patch)
tree218415d633ba1010f57f218a139c791e7a737e4f /dev/HPFS
parent11219de11b35cb4f1e1a27408244243b11b41e05 (diff)
A lot:
- Changed task banks are being switched in the kernel. - Changed user mode switch mode, improved it to push rflags. - User proc will start the scheduler when it's being jumped on. Signed-off-by: Amlal <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'dev/HPFS')
-rw-r--r--dev/HPFS/EPM/EBS.i17
-rw-r--r--dev/HPFS/EPM/EPM.asm14
-rw-r--r--dev/HPFS/EPM/blob.json6
-rw-r--r--dev/HPFS/Sources/IFSMain.cxx4
4 files changed, 26 insertions, 15 deletions
diff --git a/dev/HPFS/EPM/EBS.i b/dev/HPFS/EPM/EBS.i
index 3c55825b..4fc529da 100644
--- a/dev/HPFS/EPM/EBS.i
+++ b/dev/HPFS/EPM/EBS.i
@@ -7,7 +7,8 @@
;; DUMP THIS BLOB TO DISK, WHEN FORMATTING THE SSD.
HPFS_EBS_HEADER:
- db "HPFS ", 0 ;; MAGIC NUMBER OF FILESYSTEM
+ db " HPFS" ;; MAGIC NUMBER OF FILESYSTEM
+ dw 8 ;; MAGIC NUMBER LENGTH.
dq 0 ;; RESERVED 4
dw 1 ;; VERSION
dw 0 ;; PARTITION TYPE
@@ -19,10 +20,10 @@ HPFS_EBS_HEADER:
dq 0 ;; RESERVED 2
dq 512 ;; SECTOR SZ
dq 0 ;; DISK SIZE
- dq 0 ;; RESERVED 1
- dq 0 ;; LOCKER ON?
- dq 0 ;; PARTITION MAP TYPE (GPT, MBR, EPM)
- dq 0 ;; MASTER FILE TABLE
- dq 0 ;; MASTER TRACE TABLE
- dq 0 ;; MASTER DIRECTORY TABLE
- dw 0xFFFF ;; END OF HEADER WORD \ No newline at end of file
+ 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
index fadb555c..2197d2cd 100644
--- a/dev/HPFS/EPM/EPM.asm
+++ b/dev/HPFS/EPM/EPM.asm
@@ -18,18 +18,20 @@ HPFS_EPM_UUID:
db 0
db 0
db 0
- dd 0xAD ;; REVISON
- dd 0 ;; NUM BLOCKS
- dd 512 ;; SECTOR SZ
+ 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
+ dw 0x1f ;; NewOS (ZKA) present on partition.
dd 1
- db "FileSystem (C:)", 0
+ db "FileSystem (A:)", 0
times 401 db 0
HPFS_EPM_HEADER_END:
%include "EBS.i"
-times 512 db 0 \ No newline at end of file
+times 16 db 0
+
+;; Here the partition starts
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/Sources/IFSMain.cxx b/dev/HPFS/Sources/IFSMain.cxx
index 229efb15..d107db2a 100644
--- a/dev/HPFS/Sources/IFSMain.cxx
+++ b/dev/HPFS/Sources/IFSMain.cxx
@@ -9,6 +9,8 @@
#include <HPFS/Defines.hxx>
-HPFS_INT32 IFSStart(HPFS_VOID) {
+/** @brief HPFS IFS main. */
+HPFS_INT32 IFSStart(HPFS_VOID)
+{
return 0;
}