diff --git a/asm/x86-unknown-none/iso.asm b/asm/x86-unknown-none/iso.asm
index e6f4b725ca05b4445094a3ad71e87238e2312004..7428b793b48d9eff22df3187bdbd7a7335e3e05c 100644
--- a/asm/x86-unknown-none/iso.asm
+++ b/asm/x86-unknown-none/iso.asm
@@ -9,9 +9,12 @@ iso_volume_record:
 db 1 ; Type volume record
 db "CD001" ; Identifier
 db 1 ; Version
-
-times 120-($-iso_volume_record) db 0
-
+db 0 ; Unused
+times 32 db ' ' ; System identifier
+times 32 db ' ' ; Volume identifier
+times 8 db 0 ; Unused
+db 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15 ; Volume space size (0x15)
+times 32 db 0 ; Unused
 db 0x01, 0x00, 0x00, 0x01 ; Volume set size
 db 0x01, 0x00, 0x00, 0x01 ; Volume sequence number
 db 0x00, 0x08, 0x08, 0x00 ; Logical block size in little and big endian
@@ -24,7 +27,7 @@ db 0x22 ; Length of entry
 db 0x00 ; Length of extended attributes
 db 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14 ; Location of extent (0x14)
 db 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00 ; Size of extent
-db 0x7a, 0x09, 0x06, 0x14, 0x07, 0x32, 0xe8 ; Recording time
+db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; Recording time
 db 0x02 ; File flags
 db 0x00 ; Interleaved file unit size
 db 0x00 ; Interleaved gap size
@@ -32,13 +35,13 @@ db 0x01, 0x00, 0x00, 0x01 ; Volume sequence number
 db 0x01 ; Length of file identifier
 db 0x00 ; File identifier
 
-times 128 db 0x20 ; Volume set identifier
-times 128 db 0x20 ; Publisher identifier
-times 128 db 0x20 ; Data preparer identifier
-times 128 db 0x20 ; Application identifier
-times 37 db 0x20 ; Copyright file ID
-times 37 db 0x20 ; Abstract file ID
-times 37 db 0x20 ; Bibliographic file ID
+times 128 db ' ' ; Volume set identifier
+times 128 db ' ' ; Publisher identifier
+times 128 db ' ' ; Data preparer identifier
+times 128 db ' ' ; Application identifier
+times 37 db ' ' ; Copyright file ID
+times 37 db ' ' ; Abstract file ID
+times 37 db ' ' ; Bibliographic file ID
 
 times 881-($-iso_volume_record) db 0
 
@@ -94,7 +97,45 @@ times 20 db 0 ; Padding
 ; Fill until CD sector 0x14
 times (0x14*2048)-($-$$) db 0
 
-iso_empty:
+iso_root_directory:
+.self:
+db 0x22 ; Length of entry
+db 0x00 ; Length of extended attributes
+db 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14 ; Location of extent (0x14)
+db 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00 ; Size of extent
+db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; Recording time
+db 0x02 ; File flags
+db 0x00 ; Interleaved file unit size
+db 0x00 ; Interleaved gap size
+db 0x01, 0x00, 0x00, 0x01 ; Volume sequence number
+db 0x01 ; Length of file identifier
+db 0x00 ; File identifier
+
+.parent:
+db 0x22 ; Length of entry
+db 0x00 ; Length of extended attributes
+db 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14 ; Location of extent (0x14)
+db 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00 ; Size of extent
+db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; Recording time
+db 0x02 ; File flags
+db 0x00 ; Interleaved file unit size
+db 0x00 ; Interleaved gap size
+db 0x01, 0x00, 0x00, 0x01 ; Volume sequence number
+db 0x01 ; Length of file identifier
+db 0x01 ; File identifier
+
+.boot_cat:
+db 0x2C ; Length of entry
+db 0x00 ; Length of extended attributes
+db 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13 ; Location of extent (0x13)
+db 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00 ; Size of extent
+db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; Recording time
+db 0x00 ; File flags
+db 0x00 ; Interleaved file unit size
+db 0x00 ; Interleaved gap size
+db 0x01, 0x00, 0x00, 0x01 ; Volume sequence number
+db 0x0A ; Length of file identifier
+db "BOOT.CAT;1",0 ; File identifier
 
 ; Fill until CD sector 0x15
-times (0x15*2048)-($-$$) db 0
\ No newline at end of file
+times (0x15*2048)-($-$$) db 0