Hi all,

as announced earlier, Bret Johnson has donated excerpts from
his USB drivers written in (NASM style) assembly language as
examples of how to process GPT partitioned drives. This can
be useful as reference when adding some GPT support in C for
the FreeDOS kernel. Our MBR partition table handling is done
in initdisk.c, but given the complexity of GPT, it could be
a good idea to put the GPT handling code in a separate file.

The excerpts are about 2000 lines of text, including plenty
of comments and definitions of data structures and constants.
Also, the USB drivers work in the background and support USB
plug and play. They can be loaded to protected mode, too :-)

In short, a static C version to use by our kernel only once
at boot, with INT 13 disk I/O instead of USB, with all the
DOS specific header files which we already have available,
will probably be a few 100 lines. Still complex enough to
have something to compare to, no matter whether somebody is
writing the C code from scratch or whether they actually use
Bret's code to learn how to handle GPT. Tastes will differ
and Tom will probably not care either way, but maybe other
experts like to have a look :-)

It is also entirely possible that Bret or I would start to
write a more concise summary of the algorithm. For the time
being, I have just shortened the excerpts a bit and written
a text file which gives a quick overview of which subroutines
exist, as well as which of them will call each other when.

Go to https://auersoft.eu/soft/by-others/ to find the new
file gpt-bretjohnson-2021-05-25.zip The excerpts are provided
as free public domain content, no licenses to worry about.

Being excerpts, you cannot just assemble them into a tool,
so the target audience are humans, not computers, for now.

Regards, Eric



_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to