Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Adding large disk support to INT13h (Users)

posted by ecm Homepage E-mail, Düsseldorf, Germany, 14.04.2024, 19:19

> I will try the "XT-IDE loaded from floppy" route, and perhaps the "XT-IDE
> -> original boot sector chainloading" in another step.

Booting another boot loader is not terribly difficult, you can look a bit at MetaKern to learn how to do that. Basically you should load a file (up to 8 KiB) to linear address 7C00h, and transfer to it with CS:IP = 0:7C00h, DL = boot load unit, UP, and for a PBR you can pass DS:SI -> absolute partition table entry with LBA start sector (or pass an "empty" block of 16 zero bytes to tell the PBR that you do not give a partition table entry).

You can also implement replacements for specific DOS loaders in your application, like lDebug does. I documented some of these in the lDOS boot documentation.

> I am still not sure what the implications are of stealing a few KB from
> conventional memory by decreasing 0x13 of the BIOS data area.

This should generally not be a problem because any current kernels query the word [40h:13h] either directly or using interrupt 12h. The bootable lDebug mode does also steal memory for itself this way, and Enhanced DR-DOS and FreeDOS have no problem with this. (In lDebug I opted to also relocate the EBDA if it exists and is placed just atop the int 12h memory. You can find the size of the EBDA by reading the first byte of the EBDA segment, which gives a size in KiB.)

---
l

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 50 users online (0 registered, 50 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum