Giving Back HMA ... (Announce)
> Not in MSDOS 5/6, but yes in MSDOS 7+ it is easy enough to free a block of
> HMA (that you "own"!) and give it back to DOS - each allocated block is
> preceded by a control block (similar to an MCB, let's call them HMCBs).
> There is no API for giving the block back,[°edit : or maybe there is one,
> I don't recall and can't check now but it doesn't matter as...] we can
> achieve that by direct HMCB editing... However that will leave a hole in
> the HMA which probably won't be reused anyway, there is no way to move
> system blocks around and defragment the HMA ;)
Ignoring older and more-obsolete versions, both V6.22 and V7.10 MS-DOS have
undocumented "issues" re: using HMA space. V6.22 MS-DOS declares over 26K
of "free HMA", but if I dare use over 19,952 bytes (UIDE /S600 /HL /P), the
system CRASHES rather quickly above a 600-MB cache size. V7.10 also fails
if UIDE takes over 9136 bytes of "free HMA", as I've known for years and as
Lucho can confirm re: his use of DOS "extenders". For V7.10, a difference
of only 16 bytes, re-assembling UIDE with 16 bytes of unused "filler", will
make V7.10 MS-DOS survive or CRASH, as Lucho can also confirm. NOT good,
even ignoring the "Damned LIE!" of over 13K free HMA using V7.10 MS-DOS!
As such situations exist, and as Gates & Co. have "walked away" from MS-DOS
and "DON'T want to talk-about!" such kernel and other never-to be-corrected
[EMM386] ERRORS, I shall again be "conservative" like Arjay noted and say I
am AGAINST "playing games" re: MS-DOS HMA space, specifically "giving back"
HMA once it has been allocated. I have strong reason to expect this might
not work, and might also "Get you DEAD!!", given all of the above.
> As for FreeDOS and others, I have no idea how they manage allocation from
> the HMA. Oh, I seem to remember DRDOS 6 had a working scheme, much in
> advance of MS-DOS (of course...)
Nor do I have any-idea, as I have never reviewed that part of FreeDOS. If
you seriously want to consider "giving back" HMA space, you should speak to
Tom Ehlert, as he wrote the FreeDOS HMA logic, IIRC. 
---
(Account disabled on user's request.)
Complete thread:
- "That Will Be ALL!" For UIDE and USB! - Jack, 06.06.2010, 20:37
![Open in board view [Board]](img/board_d.gif)
![Open in mix view [Mix]](img/mix_d.gif)
- "That Will Be ALL!" For UIDE and USB! - Rugxulo, 07.06.2010, 04:20
- Re: UIDE Unloading And Cache-Sizes. - Jack, 07.06.2010, 05:30
- Re: UIDE Unloading And Cache-Sizes. - Rugxulo, 08.06.2010, 01:35
- Re: UIDE Unloading And Cache-Sizes. - marcov, 08.06.2010, 23:18
- Re: UIDE Unloading And Cache-Sizes. - Rugxulo, 09.06.2010, 04:23
- Re: UIDE Unloading And Cache-Sizes. - marcov, 08.06.2010, 23:18
- Re: UIDE Unloading And Cache-Sizes. - Rugxulo, 08.06.2010, 01:35
- Re: UIDE Unloading And Cache-Sizes. - Jack, 07.06.2010, 05:30
- "That Will Be ALL!" For UIDE and USB! - Japheth, 07.06.2010, 07:51
- TSR vs DEVICE= - DOS386, 07.06.2010, 08:01
- TSR vs DEVICE= - RayeR, 08.06.2010, 15:46
- TSR vs DEVICE= - Arjay, 08.06.2010, 19:30
- TSR vs DEVICE= - RayeR, 09.06.2010, 02:00
- TSR vs DEVICE= - Japheth, 09.06.2010, 09:50
- TSR vs DEVICE= - RayeR, 09.06.2010, 16:15
- TSR vs DEVICE= - roytam, 09.06.2010, 18:18
- TSR vs DEVICE= - DOS386, 27.06.2010, 14:30
- TSR vs DEVICE= - Arjay, 08.06.2010, 19:30
- TSR vs DEVICE= - bretjohn, 18.06.2010, 21:50
- TSR vs DEVICE= - Jack, 18.06.2010, 23:29
- TSR vs DEVICE= - bretjohn, 19.06.2010, 01:18
- Nothing Against You! - Jack, 19.06.2010, 01:52
- TSR vs DEVICE= - Japheth, 19.06.2010, 09:02
- TSR vs DEVICE= - Arjay, 19.06.2010, 19:13
- TSR vs DEVICE= - bretjohn, 19.06.2010, 20:33
- TSR vs DEVICE= - Japheth, 20.06.2010, 09:04
- TSR vs DEVICE= - Arjay, 20.06.2010, 12:48
- TSR vs DEVICE= - bretjohn, 20.06.2010, 16:32
- TSR vs DEVICE= - Ninho, 20.06.2010, 17:34
- TSR vs DEVICE= - Japheth, 20.06.2010, 09:04
- TSR vs DEVICE= - Jack, 18.06.2010, 23:29
- TSR vs DEVICE= - RayeR, 08.06.2010, 15:46
- "That Will Be ALL!" For UIDE and USB! - marcov, 08.06.2010, 22:41
- "Capital Letters". - Jack, 08.06.2010, 23:15
- "Capital Letters". - marcov, 08.06.2010, 23:19
- No "Rants", But ... - Jack, 09.06.2010, 00:24
- "Capital Letters". - Arjay, 09.06.2010, 00:37
- "Capital Letters". - Jack, 09.06.2010, 00:48
- Seeking the middle ground: thinking re flexibility+realibity - Arjay, 09.06.2010, 02:29
- Bret's USB driver bugs - I was testing v0.11 by accident - Arjay, 09.06.2010, 02:50
- Seeking the middle ground ... - Jack, 09.06.2010, 04:29
- giving back a block of HMA - Ninho, 10.06.2010, 16:03
- Giving Back HMA ... - Jack, 10.06.2010, 17:03
- Giving Back HMA ... - Ninho, 11.06.2010, 09:48
- Giving Back HMA ... - Jack, 11.06.2010, 16:43
- Giving Back HMA ... - Ninho, 12.06.2010, 20:30
- Giving Back HMA ... - Jack, 11.06.2010, 16:43
- Giving Back HMA ... - Ninho, 11.06.2010, 09:48
- Giving Back HMA ... - Jack, 10.06.2010, 17:03
- Seeking the middle ground ... - Arjay, 11.06.2010, 19:29
- Seeking the middle ground ... - Jack, 11.06.2010, 21:42
- Seeking the middle ground ... - Arjay, 12.06.2010, 01:12
- Combined .com executable/DOS driver - Ninho, 12.06.2010, 14:37
- Combined .com executable/DOS driver - Arjay, 12.06.2010, 15:13
- Combined .com executable/DOS driver - Ninho, 12.06.2010, 15:49
- Combined .com executable/DOS driver - Arjay, 12.06.2010, 16:33
- Combined .com executable/DOS driver - RayeR, 13.06.2010, 10:41
- Combined .com executable/DOS driver - Arjay, 13.06.2010, 16:11
- Combined .com executable/DOS driver - Ninho, 13.06.2010, 13:24
- Combined .com executable/DOS driver - Arjay, 13.06.2010, 18:54
- Combined .com executable/DOS driver - RayeR, 13.06.2010, 10:41
- Combined .com executable/DOS driver - Arjay, 12.06.2010, 16:33
- Combined .com executable/DOS driver - Arjay, 13.06.2010, 20:42
- Combined .com executable/DOS driver - Rugxulo, 14.06.2010, 04:27
- Combined .com executable/DOS driver / RJDUMP - Arjay, 19.06.2010, 15:08
- Combined .com executable/DOS driver - Matjaz, 20.06.2010, 11:58
- Combined .com executable/DOS driver - Turbo pascal example - Arjay, 20.06.2010, 13:06
- Combined .com executable/DOS driver - Turbo pascal example - Arjay, 20.06.2010, 13:39
- Combined .com executable/DOS driver - Turbo pascal example - Arjay, 20.06.2010, 13:06
- Combined .com executable/DOS driver - Rugxulo, 14.06.2010, 04:27
- Combined .com executable/DOS driver - Ninho, 12.06.2010, 15:49
- Combined SYS device drivers - more than 1 driver in a file - Arjay, 21.06.2010, 17:48
- Combined .com executable/DOS driver, multi-header drivers - ecm, 10.08.2010, 18:49
- Combined .com executable/DOS driver, multi-header drivers - Arjay, 10.08.2010, 19:41
- Combined .com executable/DOS driver, multi-header drivers - ecm, 10.08.2010, 20:21
- Combined .com executable/DOS driver, multi-header drivers - Arjay, 10.08.2010, 19:41
- Combined .com executable/DOS driver - Arjay, 12.06.2010, 15:13
- Combined .com executable/DOS driver - Ninho, 12.06.2010, 14:37
- Seeking the middle ground ... - Arjay, 12.06.2010, 01:12
- Seeking the middle ground ... - Jack, 11.06.2010, 21:42
- giving back a block of HMA - Ninho, 10.06.2010, 16:03
- Seeking the middle ground: thinking re flexibility+realibity - Arjay, 09.06.2010, 02:29
- "Capital Letters". - Jack, 09.06.2010, 00:48
- "Capital Letters". - marcov, 08.06.2010, 23:19
- "Capital Letters". - Jack, 08.06.2010, 23:15
- No "Removable" HARD Disks Supported By UIDE! - Jack, 08.06.2010, 23:57
- "That Will Be ALL!" For UIDE and USB! - bretjohn, 15.06.2010, 22:47
- Further Comments ... - Jack, 16.06.2010, 01:35
- "That Will Be ALL!" For UIDE and USB! - Rugxulo, 17.06.2010, 12:07
- "That Will Be ALL!" For UIDE and USB! - bretjohn, 17.06.2010, 16:53
- "That Will Be ALL!" For UIDE and USB! - Rugxulo, 17.06.2010, 17:45
- "That Will Be ALL!" For UIDE and USB! - bretjohn, 17.06.2010, 16:53
- "That Will Be ALL!" For UIDE and USB! - Rugxulo, 07.06.2010, 04:20
Mix view