jemm update (Announce)
> 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:
- jemm update - Japheth, 13.01.2020, 20:19 (Announce)
- jemm update - Oso2k, 14.01.2020, 01:21
- jemm update - RayeR, 14.01.2020, 18:23
- jemm update - Japheth, 14.01.2020, 20:14
- jemm update - RayeR, 16.01.2020, 00:37
- jemm update - Japheth, 16.01.2020, 19:08
- jemm update - RayeR, 16.01.2020, 22:02
- jemm update - roytam, 17.01.2020, 06:41
- jemm update - RayeR, 18.01.2020, 02:14
- jemm update - roytam, 17.01.2020, 06:41
- jemm update - RayeR, 16.01.2020, 22:02
- jemm update - Japheth, 16.01.2020, 19:08
- jemm update - RayeR, 16.01.2020, 00:37
- jemm update - Japheth, 14.01.2020, 20:14
- jemm final version 5.79 - Japheth, 02.02.2020, 20:25
- jemm final version 5.79 - CandyMan, 14.02.2020, 19:56
- jemm final version 5.79 - Rugxulo, 14.02.2020, 21:48
- jemm final version 5.79 - Japheth, 15.02.2020, 07:42
- jemm final version 5.79 - iw2evk, 08.03.2020, 10:25
- jemm final version 5.79 - Laaca, 08.03.2020, 13:31
- jemm final version 5.79 - Japheth, 08.03.2020, 19:14
- jemm final version 5.79 - iw2evk, 08.03.2020, 10:25
- jemm v5.80pre1 - Japheth, 09.03.2020, 13:32
- HimemX 3.34 - Rugxulo, 11.03.2020, 02:17
- HimemX 3.34 - Doug, 11.03.2020, 06:55
- HimemX 3.34 - Japheth, 11.03.2020, 12:28
- jemm v5.80pre1 - Wengier, 31.03.2020, 03:12
- jemm v5.80pre1 - Wengier, 31.03.2020, 03:39
- HimemX 3.34 - Rugxulo, 11.03.2020, 02:17
- jemm final version 5.79 - CandyMan, 14.02.2020, 19:56