User:Johnburger/Demo/Pad/ISO/RootDir

From OSDev Wiki
Jump to navigation Jump to search

Any ISO Directory Sector requires two entries: a pointer to itself, and a pointer to its parent. In the case of the Root Directory, the parent is itself - the name is merely a binary 1 instead of a 0.

Demo/Pad/ISO/RootDir.inc

;
; Pad/ISO/RootDir.inc
;

; This file defines the ISO Root directory. There's not much in it...

ISO.Sector.Root      EQU                ISO.Sectors
%assign              ISO.Sectors        ISO.Sectors + 1

ISO.RootDir:
.Dot            ISO.Dir.Root    ISO.Sector.Root, ISO.Dir.Flag.Dir, 1, 0
.DotDot         ISO.Dir.Root    ISO.Sector.Root, ISO.Dir.Flag.Dir, 1, 1

.Padding        EQU             ISO.Sector.Size - ($ - ISO.RootDir)
                TIMES           .Padding    DB 00h

(OK, I admit it. I giggle when I pronounce the names of my two directory entry symbols: "dot Dot" and "dot Dot Dot"...)