2021-07-03 05:07:57 +01:00
<!DOCTYPE HTML>
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html;charset=US-ASCII" >
2021-12-11 11:10:58 +00:00
< meta name = "generator" content = "ZealOS V1.07" >
2021-07-03 05:07:57 +01:00
< style type = "text/css" >
2021-10-08 07:06:11 +01:00
body {background-color:#1f1f1f;}
.cF0{color:#e3e3e3;background-color:#1f1f1f;}
.cF1{color:#4f84a6;background-color:#1f1f1f;}
.cF2{color:#73a255;background-color:#1f1f1f;}
.cF3{color:#297582;background-color:#1f1f1f;}
.cF4{color:#b34f4b;background-color:#1f1f1f;}
.cF5{color:#8a52c3;background-color:#1f1f1f;}
.cF6{color:#b7822f;background-color:#1f1f1f;}
.cF7{color:#444444;background-color:#1f1f1f;}
.cF8{color:#6d6d6d;background-color:#1f1f1f;}
.cF9{color:#94bfde;background-color:#1f1f1f;}
.cFA{color:#a1ce97;background-color:#1f1f1f;}
.cFB{color:#6db4be;background-color:#1f1f1f;}
.cFC{color:#e88e88;background-color:#1f1f1f;}
.cFD{color:#ca94e8;background-color:#1f1f1f;}
.cFE{color:#d4b475;background-color:#1f1f1f;}
.cFF{color:#1f1f1f;background-color:#1f1f1f;}
2021-07-03 05:07:57 +01:00
< / style >
< / head >
< body >
2021-07-05 01:12:38 +01:00
< pre style = "font-family:monospace;font-size:12pt" >
2021-07-12 08:26:39 +01:00
< a name = "l1" > < / a > < span class = cF5 > RedSea File System< / span > < span class = cF0 >
2021-07-03 05:07:57 +01:00
< a name = "l2" > < / a >
2021-07-12 08:26:39 +01:00
< a name = "l3" > < / a > The RedSea file system is a simple, 64-bit, file system which is similar to FAT32, but with absolute block addresses instead
Rename abs_addres to abs_address.
Update documentation/comments to rename addr, fun, var, stmt, blk, desc, reg, seg, ptr, dup, clus, val, and bttn, to address, function, variable, statement, block, description, register, segment, pointer, duplicate, cluster, value, and button, respectively.
2021-10-07 02:35:32 +01:00
< a name = "l4" > < / a > of clusters, fixed-sized 64-byte directory entries and no FAT table, just an allocation bitmap. A clus is just one 512 byte
2021-07-12 08:26:39 +01:00
< a name = "l5" > < / a > sector. Files are stored in contiguous blocks and cannot grow in size.
2021-07-03 05:07:57 +01:00
< a name = "l6" > < / a >
< a name = "l7" > < / a > #< / span > < span class = cF1 > define< / span > < span class = cF0 > < / span > < span class = cF3 > CDIR_FILENAME_LEN< / span > < span class = cF0 > < / span > < span class = cFE > 38< / span > < span class = cF0 > < / span > < span class = cF2 > //Must include terminator zero< / span > < span class = cF0 >
< a name = "l8" > < / a >
< a name = "l9" > < / a > The following bit field shows valid < / span > < span class = cFE > 8< / span > < span class = cF0 > -Bit ASCII filename characters.
< a name = "l10" > < / a >
< a name = "l11" > < / a > < / span > < span class = cF9 > U32< / span > < span class = cF0 > < / span > < span class = cFB > char_bmp_filename< / span > < span class = cF0 > [< / span > < span class = cFE > 8< / span > < span class = cF0 > ] = {< / span > < span class = cFE > 0x0000000< / span > < span class = cF0 > , < / span > < span class = cFE > 0x03FF73FB< / span > < span class = cF0 > , < / span > < span class = cFE > 0xEFFFFFFF< / span > < span class = cF0 > , < / span > < span class = cFE > 0x2FFFFFFF< / span > < span class = cF0 > , < / span > < span class = cFE > 0xFFFFFFFF< / span > < span class = cF0 > , < / span > < span class = cFE > 0xFFFFFFFF< / span > < span class = cF0 > , < / span > < span class = cFE > 0xFFFFFFFF< / span > < span class = cF0 > , < / span > < span class = cFE > 0xFFFFFFFF< / span > < span class = cF0 > };
< a name = "l12" > < / a >
< a name = "l13" > < / a > < / span > < span class = cF1 > public< / span > < span class = cF0 > < / span > < span class = cF1 > class< / span > < span class = cF0 > < / span > < span class = cF9 > CDirEntry< / span > < span class = cF0 > < / span > < span class = cF2 > //64-byte fixed-size< / span > < span class = cF0 >
< a name = "l14" > < / a > {
2021-08-16 05:52:03 +01:00
< a name = "l15" > < / a > < / span > < span class = cF9 > U16< / span > < span class = cF0 > attr; < / span > < span class = cF2 > //See < / span > < a href = "https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3187" > < span class = cF4 > RS_ATTR_DIR< / span > < / a > < span class = cF2 > .< / span > < span class = cF0 > < / span > < span class = cF2 > Terry wanted to change these.< / span > < span class = cF0 >
2021-12-11 11:10:58 +00:00
< a name = "l16" > < / a > < / span > < span class = cF1 > U8< / span > < span class = cF0 > name[< / span > < span class = cF3 > CDIR_FILENAME_LEN< / span > < span class = cF0 > ]; < / span > < span class = cF2 > //See < / span > < a href = "https://zeal-operating-system.github.io/ZealOS/Kernel/StrA.ZC.html#l336" > < span class = cF4 > char_bmp_filename< / span > < / a > < span class = cF2 > , < / span > < a href = "https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskStrA.ZC.html#l278" > < span class = cF4 > FileNameCheck< / span > < / a > < span class = cF0 >
Rename abs_addres to abs_address.
Update documentation/comments to rename addr, fun, var, stmt, blk, desc, reg, seg, ptr, dup, clus, val, and bttn, to address, function, variable, statement, block, description, register, segment, pointer, duplicate, cluster, value, and button, respectively.
2021-10-07 02:35:32 +01:00
< a name = "l17" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > clus; < / span > < span class = cF7 > (blk)< / span > < span class = cF0 > < / span > < span class = cF2 > //One sector per cluster.< / span > < span class = cF0 >
2021-07-04 23:11:34 +01:00
< a name = "l18" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > size; < / span > < span class = cF2 > //In bytes< / span > < span class = cF0 >
2021-12-11 11:10:58 +00:00
< a name = "l19" > < / a > < / span > < span class = cF9 > CDate< / span > < span class = cF0 > datetime; < / span > < span class = cF2 > //See < / span > < a href = "https://zeal-operating-system.github.io/ZealOS/Doc/TimeDate.DD.html#l1" > < span class = cF4 > DateTime< / span > < / a > < span class = cF2 > , < / span > < a href = "https://zeal-operating-system.github.io/ZealOS/Kernel/KDate.ZC.html#l1" > < span class = cF4 > Implementation of DateTime< / span > < / a > < span class = cF0 >
2021-07-03 05:07:57 +01:00
< a name = "l20" > < / a > };
< a name = "l21" > < / a >
< a name = "l22" > < / a > < / span > < span class = cF1 > public< / span > < span class = cF0 > < / span > < span class = cF1 > class< / span > < span class = cF0 > < / span > < span class = cF9 > CRedSeaBoot< / span > < span class = cF0 > < / span > < span class = cF2 > //RedSea is type FAT32 in partition table to fool BIOS.< / span > < span class = cF0 >
< a name = "l23" > < / a > {
2021-07-04 23:11:34 +01:00
< a name = "l24" > < / a > < / span > < span class = cF1 > U8< / span > < span class = cF0 > jump_and_nop[< / span > < span class = cFE > 3< / span > < span class = cF0 > ];
< a name = "l25" > < / a > < / span > < span class = cF1 > U8< / span > < span class = cF0 > signature, reserved[< / span > < span class = cFE > 4< / span > < span class = cF0 > ]; < / span > < span class = cF2 > //MBR_PT_REDSEA=0x88. Distinguish from real FAT32.< / span > < span class = cF0 >
< a name = "l26" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > drv_offset; < / span > < span class = cF2 > //For CD/DVD image copy.< / span > < span class = cF0 >
< a name = "l27" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > sects;
< a name = "l28" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > root_clus; < / span > < span class = cF7 > (root_blk)< / span > < span class = cF0 >
< a name = "l29" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > bitmap_sects;
< a name = "l30" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > unique_id;
< a name = "l31" > < / a > < / span > < span class = cF1 > U8< / span > < span class = cF0 > code[< / span > < span class = cFE > 462< / span > < span class = cF0 > ];
< a name = "l32" > < / a > < / span > < span class = cF9 > U16< / span > < span class = cF0 > signature2; < / span > < span class = cF2 > //0xAA55< / span > < span class = cF0 >
2021-07-03 05:07:57 +01:00
< a name = "l33" > < / a > };
< a name = "l34" > < / a >
2021-12-11 11:10:58 +00:00
< a name = "l35" > < / a > See < / span > < a href = "https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/FileSysRedSea.ZC.html#l1" > < span class = cF4 > ::/Kernel/BlkDev/FileSysRedSea.ZC< / span > < / a > < span class = cF0 > and < / span > < a href = "https://zeal-operating-system.github.io/ZealOS/System/Boot/DiskISORedSea.ZC.html#l1" > < span class = cF4 > ::/System/Boot/DiskISORedSea.ZC< / span > < / a > < span class = cF0 > .
2021-07-03 05:07:57 +01:00
< a name = "l36" > < / a >
2021-07-24 00:21:07 +01:00
< a name = "l37" > < / a > To replace ISO9660, make hard-drive partition image of a measured size and copy onto a CD/DVD starting at about sector 20,
Rename abs_addres to abs_address.
Update documentation/comments to rename addr, fun, var, stmt, blk, desc, reg, seg, ptr, dup, clus, val, and bttn, to address, function, variable, statement, block, description, register, segment, pointer, duplicate, cluster, value, and button, respectively.
2021-10-07 02:35:32 +01:00
< a name = "l38" > < / a > with EL TORITO booting. 512-byte sectors will be placed on top of 2048-byte CD/DVD sectors, so there will be four blocks per
2021-07-24 00:21:07 +01:00
< a name = "l39" > < / a > CD/DVD sector.
< a name = "l40" > < / a >
< a name = "l41" > < / a > RedSea file system has no bad block table and no redundant allocation table.
2021-07-03 05:07:57 +01:00
< a name = "l42" > < / a >
2021-07-26 20:29:49 +01:00
< a name = "l43" > < / a > See < / span > < a href = "https://zeal-operating-system.github.io/ZealOS/Doc/BlkChain.DD.html#l1" > < span class = cF4 > Block Chain< / span > < / a > < span class = cF0 > for RedSea allocation bitmap discussion.
2021-07-03 05:07:57 +01:00
< a name = "l44" > < / a >
2021-07-26 20:29:49 +01:00
< a name = "l45" > < / a > See < / span > < a href = "https://zeal-operating-system.github.io/ZealOS/Doc/Reliability.DD.html#l1" > < span class = cF4 > Reliability< / span > < / a > < span class = cF0 > for RedSea reliability discussion.
2021-07-03 05:07:57 +01:00
< / span > < / pre > < / body >
< / html >