Background: I need to reserve memory below 0xA0000 before starting my operating system. To do this, I change the 0040: 0013 (or 0x413) word, which is the amount of low memory available in KiB.
However, Windows and other operating systems use the E820h / INT15h to request a memory layout and some BIOS: es does not reflect the 0x413 changes to the E820h / INT15h BIOS function. Therefore, I must also connect the E820h function, if necessary.
Question: Is there another (more reliable) way to reserve low memory before the OS? Or any other way to change the results of the E820h / INT15h, other than connecting INT15h (choosing EBDA, maybe?)
source
share