On Thu, Apr 15, 2021 at 11:04 AM Liam Proven <lpro...@gmail.com> wrote:
>
> On Thu, 15 Apr 2021 at 01:16, Adam Nielsen via Freedos-user
> <freedos-user@lists.sourceforge.net> wrote:
> >
> > Have you written down your tips and tricks for this anywhere?  I find
> > these sorts of things interesting to read, mostly for nostalgia
> > reasons - as in finally learning about things that mystified me when I
> > was younger.
>
> For DOS memory optimisation? No... I have considered it, but it's
> quite a complex process and some of it depends a bit on other
> knowledge (e.g. dependencies among DOS drivers, or the few drivers
> that can be loaded either from CONFIG.SYS _or_ from AUTOEXEC.BAT).
>
> I tried writing up just the DOS disk drive letter assignment
> algorithm, but even that is quite complex!
>
> Axioms:
> • DOS only understands FAT12, FAT16 and in later versions FAT32. HPFS,
> NTFS and all *nix filesystems will be skipped.
> • We are only considering MBR partitioning
>
> So:
>
> • Hard disks support 2 partition types: primary and logical. Logical
> drives must go inside an extended partition.
> • MBR supports a legal max of 4 primaries per drive.
> • Only 1 primary partition on the 1st drive can be marked "active" and
> the BIOS will boot that one _unless_ you have a *nix bootloader
> installed.
> • You can only have 1 extended partition per drive. It counts as a
> primary partition.
> • To be "legal" and to support early versions of NT and OS/2, only 1
> DOS-readable primary partition per drive is allowed. All other
> partitions should go inside an extended partition.
> • MS-DOS, PC DOS and NT will only boot from a primary partition.
>
> Those are our "givens". Now, after all that, how does DOS (inc Win9x)
> assign drive letters?
>
> 1. It starts with drive letter C
> 2. It enumerates all available hard drives visible to the BIOS
> 3. The first *primary* partition on each drive is assigned a letter.
> 4. Then it goes back to the start and starts going through all the
> physical hard disks a 2nd time.
> 5. Now it enumerates all *logical* partitions on each drive and
> assigns them letters.
> 6. So, all the logicals on the 1st drive get sequential letters
> 7. Then all the logicals on the next drive
> 8. And so on through all logicals on all hard disks.
> 9. Then drivers in CONFIG.SYS are processed and if they create drives
> (e.g. DRIVER.SYS) those letters are assigned next.
> 10. Then drivers in AUTOEXEC.BAT are processed and if _they_ create
> drives (e.g. MSCDEX) those are assigned next.
>
> So you see... it's quite complicated. :-)
>
> Assigning upper memory blocks is _more_ complicated.
>

I encourage you to write articles about FreeDOS. Your outline (above)
about DOS drive letters would probably be very interesting to a lot of
readers on the right websites.

I write a lot of articles for OpenSource.com - including articles
about FreeDOS. In fact, I've arranged with the editors to write a
month-long article series about FreeDOS throughout June 2021. And
OpenSource.com has run articles about FreeDOS from other folks,
including Kevin O'Brien's recent article series about FreeDOS. I'm
sure they'd be interested in running other articles about FreeDOS.

I also write for CloudSavvyIT, including some FreeDOS stuff. Several
of my early articles were about FreeDOS, and I recently posted two
articles about DOS (both related to DOS text colors; I think they will
show up in the next week or so).

And I'm sure you can find other websites to write for. Generally, the
websites that focus on open source software are more receptive to
articles about FreeDOS.

Look for a "contact us" link or an "editors" link on the website, and
reach out to them. The secret in the publishing world is that most
websites are hungry for new content, so if you come to them with an
article idea (or better, a "first draft" for your article) they will
probably say Yes.

Jim


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

Reply via email to