From 82e5b65b604c0cc74e82a366ba53df8b68d3ed3d Mon Sep 17 00:00:00 2001 From: Amlal EL Mahrouss Date: Sat, 7 Sep 2024 19:30:50 +0200 Subject: [dev/HPFS] Include EBS header after EPM. [dev/ZBA] Rename ZKA (A:) to FileSystem (A:) [dev/INST] Updated it. Signed-off-by: Amlal EL Mahrouss --- dev/HPFS/EPM/EBS.i | 28 +++++++++++++++++++++++++++ dev/HPFS/EPM/EPM.asm | 35 ++++++++++++++++++++++++++++++++++ dev/HPFS/X64/EBS.asm | 28 --------------------------- dev/INST/ReadMe.txt | 5 ++++- dev/ZBA/Sources/HEL/AMD64/BootMain.cxx | 10 +++++++--- dev/ZKA/FirmwareKit/EPM.hxx | 8 ++++---- 6 files changed, 78 insertions(+), 36 deletions(-) create mode 100644 dev/HPFS/EPM/EBS.i create mode 100644 dev/HPFS/EPM/EPM.asm delete mode 100644 dev/HPFS/X64/EBS.asm diff --git a/dev/HPFS/EPM/EBS.i b/dev/HPFS/EPM/EBS.i new file mode 100644 index 00000000..3c55825b --- /dev/null +++ b/dev/HPFS/EPM/EBS.i @@ -0,0 +1,28 @@ +;; 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 ", 0 ;; MAGIC NUMBER OF FILESYSTEM + dq 0 ;; RESERVED 4 + dw 1 ;; 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 + 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 diff --git a/dev/HPFS/EPM/EPM.asm b/dev/HPFS/EPM/EPM.asm new file mode 100644 index 00000000..fadb555c --- /dev/null +++ b/dev/HPFS/EPM/EPM.asm @@ -0,0 +1,35 @@ +;; 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 ;; REVISON + dd 0 ;; NUM BLOCKS + dd 512 ;; SECTOR SZ + dd 0 + dd 0 + dw 0x1f ;; NewOS + dd 1 + db "FileSystem (C:)", 0 + times 401 db 0 +HPFS_EPM_HEADER_END: + + +%include "EBS.i" + +times 512 db 0 \ No newline at end of file diff --git a/dev/HPFS/X64/EBS.asm b/dev/HPFS/X64/EBS.asm deleted file mode 100644 index 3c55825b..00000000 --- a/dev/HPFS/X64/EBS.asm +++ /dev/null @@ -1,28 +0,0 @@ -;; 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 ", 0 ;; MAGIC NUMBER OF FILESYSTEM - dq 0 ;; RESERVED 4 - dw 1 ;; 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 - 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 diff --git a/dev/INST/ReadMe.txt b/dev/INST/ReadMe.txt index d1a3953b..e7b71b4a 100644 --- a/dev/INST/ReadMe.txt +++ b/dev/INST/ReadMe.txt @@ -1 +1,4 @@ -This installs ZKA onto a EPM compliant drive. \ No newline at end of file +ReadMe: INST + +This file installs ZKA OS into an HDD. +It can do both EPM and GPT partitions. \ No newline at end of file diff --git a/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx b/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx index 3e78414c..1b09e63f 100644 --- a/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx +++ b/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx @@ -128,6 +128,10 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, handoverHdrPtr->f_GOP.f_PixelFormat = kGop->Mode->Info->PixelFormat; handoverHdrPtr->f_GOP.f_Size = kGop->Mode->FrameBufferSize; + // ------------------------------------------- // + // Grab MP services, extended to runtime. // + // ------------------------------------------- // + auto guid_mp = EfiGUID(EFI_MP_SERVICES_PROTOCOL_GUID); EfiMpServicesProtocol* mp = nullptr; @@ -149,7 +153,7 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, mp->GetNumberOfProcessors(mp, &cnt_disabled, &cnt_enabled); CGDrawString("NEWOSLDR (C) ZKA TECHNOLOGIES.", 10, 10, RGB(0xFF, 0xFF, 0xFF)); - CGDrawString((cnt_enabled > 1) ? "MULTIPROCESSOR SYSTEM." : "UNIPROCESSOR SYSTEM.", 20, 10, RGB(0xFF, 0xFF, 0xFF)); + CGDrawString((cnt_enabled > 1) ? "MULTIPLE PROCESSORS DETECTED." : "SINGLE PROCESSOR DETECTED.", 20, 10, RGB(0xFF, 0xFF, 0xFF)); handoverHdrPtr->f_HardwareTables.f_MultiProcessingEnabled = cnt_enabled > 1; // Fill handover header now. @@ -170,7 +174,7 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, root.fKind = kNeFSCatalogKindDir; - checkPart.Format("ZKA (A:)", &root, 1); + checkPart.Format("FileSystem (A:)", &root, 1); rt_reset_hardware(); } @@ -180,7 +184,7 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, Descriptor = new EfiMemoryDescriptor[SzDesc]; BS->GetMemoryMap(&SizePtr, Descriptor, &MapKey, &SzDesc, &RevDesc); - auto cDefaultMemoryMap = 0; // The sixth entry. + auto cDefaultMemoryMap = 0; // Grab any usable entries. //-----------------------------------------------------------// // A simple loop which finds a usable memory region for us. diff --git a/dev/ZKA/FirmwareKit/EPM.hxx b/dev/ZKA/FirmwareKit/EPM.hxx index 18f8558d..973d68ba 100644 --- a/dev/ZKA/FirmwareKit/EPM.hxx +++ b/dev/ZKA/FirmwareKit/EPM.hxx @@ -111,10 +111,10 @@ struct PACKED _BOOT_BLOCK_STRUCT enum { - kEPMMpUx = 0xcf, // Bridge or other embedded OS - kEPMLinux = 0x8f, - kEPMBSD = 0x9f, - kEPMNewOS = 0x1f, // This Kernel. + kEPMMpUx = 0xcf, // Embedded OS + kEPMLinux = 0x8f, // Linux on EPM + kEPMBSD = 0x9f, // Berkeley Soft. Distribution + kEPMNewOS = 0x1f, // This OS. }; typedef struct _BOOT_BLOCK_STRUCT BOOT_BLOCK_STRUCT; -- cgit v1.2.3