Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

jemm update (Announce)

posted by Japheth Homepage, Germany (South), 14.01.2020, 20:14

> The memory map with regions and holes should be
> reported by some BIOS INT so there was some change how it is reported?

No, it's an old problem. For example, the memory map of a current PC that I use looks like this (taken from tool memstat):

conventional memory (Int 12h): 629 kB
XBDA at segment 9d40, size 11 kB
Int 15h, ah=88h, extended memory: 0 kB
Int 15h, ax=E801h:
ext. memory below 16 MB: 15360 (0x3c00) KB
ext. memory above 16 MB: 2560 64 KB blocks = 160 MB [1000000-affffff]
Int 15h, eax=E820h:
 address range          size       type
----------------------------------------------------
000000000-00009d3ff      9d400  1 (available)
00009d400-00009ffff       2c00  2 (reserved)
0000e0000-0000fffff      20000  2 (reserved)
000100000-009e0ffff    9d10000  1 (available)
009e10000-009ffffff     1f0000  2 (reserved)
00a000000-00a1fffff     200000  1 (available)
00a200000-00a20bfff       c000  4 (ACPI NVS)
00a20c000-00affffff     df4000  1 (available)
00b000000-00b01ffff      20000  2 (reserved)
00b020000-0d11c6fff   c61a7000  1 (available)
0d11c7000-0d11e5fff      1f000  3 (ACPI reclaimable)
0d11e6000-0da0a3fff    8ebe000  1 (available)
0da0a4000-0da1e1fff     13e000  2 (reserved)
0da1e2000-0da1f1fff      10000  3 (ACPI reclaimable)
0da1f2000-0da336fff     145000  1 (available)
0da337000-0da6f6fff     3c0000  4 (ACPI NVS)
0da6f7000-0db772fff    107c000  2 (reserved)
0db773000-0ddffffff    288d000  1 (available)
100000000-41f37ffff  31f380000  1 (available)
0de000000-0dfffffff    2000000  2 (reserved)
0f8000000-0fbffffff    4000000  2 (reserved)
0fd000000-0fd0fffff     100000  2 (reserved)
0fd500000-0fd5fffff     100000  2 (reserved)
0fea00000-0fea0ffff      10000  2 (reserved)
0feb80000-0fec01fff      82000  2 (reserved)
0fec10000-0fec10fff       1000  2 (reserved)
0fec30000-0fec30fff       1000  2 (reserved)
0fed00000-0fed00fff       1000  2 (reserved)
0fed40000-0fed44fff       5000  2 (reserved)
0fed80000-0fed8ffff      10000  2 (reserved)
0fedc2000-0fedcffff       e000  2 (reserved)
0fedd4000-0fedd5fff       2000  2 (reserved)
0fee00000-0feefffff     100000  2 (reserved)
0ff000000-0ffffffff    1000000  2 (reserved)
----------------------------------------------------
available: 16315 MB, ACPI: 4076 kB, rsvd: 135 MB, total: 16454 MB


The old jemmex's XMS host would have taken just the region 00100000-009e0ffff, which is about 160 MB, and ignored all the rest.

The new version would take all regions marked as available and below the 4 GB border, which results in free XMS memory of about 3.5 GB.

Btw, what you can also see in this example is that the BIOS has a bug. Int 15h, ax=e801 reports free extended memory from 100000-affffff, but the detailed map returned by int 15h, ax=e820, shows an ACPI region at a200000.

---
MS-DOS forever!

 

Complete thread:

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