Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

cwsdpmi version? Possible fix for Borland tools. (Announce)

posted by RayeR Homepage, CZ, 03.11.2020, 08:00

I did some more tests:

CWSDPMI 1 to 6 - same as with 7

MAX=32M doesn't make TD working with SXMS but I didn't need this option without using SXMS, it ran fine. Loading hdpmi16 -r makes TD run also wit SXMS (same as hdpmi32 -r helps DJGPP programs)

MAXS EXT=0 (no S.e.x, drugs & rocknroll!) option works same as using jemmexl, as expected...

Then I play with XMStools\xmsalloc and xmsfree to simulate the condition after DN start&exit. I can simulate it by e.g.
xmsalloc 512
xmsalloc 1
xmsfree [handle of 512k block]

then I got such XMS handles list:

 no handle   region              size(kB) locks  flags
------------------------------------------------------------
  1  8b8    0041f6400- 0df78ffff  3593831    0   1 free
  2  8c2    100000000- 11effffff   507904    0   1 free
  3  8cc    000111000- 00014dfff      244    1   2 used
  4  8d6    00014e000- 004175fff    65696    2   2 used
  5  8e0    004176000- 0041f5fff      512    0   1 free <- allocated and freed by me
  6  8ea    0041f6000- 0041f63ff        1    0   2 used <- allocated by me
------------------------------------------------------------
                                  4168188 (3660284 kB below 4G)
free handles: 58
no free UMBs available


This is enough to make DJGPP programs run. I guess that CWSDPMI is trying to reuse freed handle 8e0 instead of handles 8c2 or 8b8 and it makes it happy. When I free handle 8ea it also removes handle 8e0 and I got crash. When I allocate only a few kB for 8e0 then it also crashes. Allocating only one block doesn't help, BTW in case of hdpmi32 -r I can see this list:


 no handle   region              size(kB) locks  flags
------------------------------------------------------------
  1  8b8    00784e000- 0df78ffff  3538184    0   1 free
  2  8c2    100000000- 11effffff   507904    0   1 free
  3  8cc    000111000- 00014dfff      244    1   2 used
  4  8d6    00014e000- 004175fff    65696    2   2 used
  5  8e0    004176000- 00784dfff    56160    1   2 used
------------------------------------------------------------
                                  4168188 (3660284 kB below 4G)
free handles: 59
no free UMBs available


Do you have some debug tool that could trap XMS calls and log them? It could help to see what CWSDPMI is doing with it...

---
DOS gives me freedom to unlimited HW access.

 

Complete thread:

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