Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Possible fix for cwsdpmi trouble (Announce)

posted by RayeR Homepage, CZ, 06.11.2020, 20:31

I just digged a bit about cwsdpmi and VCPI / XMS and it seems neither is optimal. Also for some old programs I wanna have VCPI by default in my DOS config.
CWSDPMI & RM-XMS
+ more memory available, 4MB pages
- CWSDPMI get all available XMS and when you nested-execute other DJGPP program from your caller DJGPP or XMS-using program it will not left enough memory for it.

CWSDPMI & VCPI
+ no problem with nested calling
- VCPI mem. limitations (mostly by old EMM386 to 32MB or even worse some older only 256kB)
- no 4MB pages
- interesting problem reported here: https://groups.google.com/forum/#!topic/comp.os.msdos.djgpp/4UkalDo_tO8 EMM386 from Win98 under MSDOS 7.1 ambiguously rported VCPI is installed even with NOVCPI, NOEMS at command line that drives CWSDPMI crazy to silent exit.

I also read that CWSDPMI is able to switch to use XMM when available VCPI memory is exhausted. I looked in source valloc.c at line 192 there's a check:

if (vcpi_capacity()) {
      use_vcpi = 1;
      SHOW_MEM_INFO("VCPI memory: %ld Kb", (vcpi_capacity() * 4L));
    } else if(use_xms) {
      use_vcpi = 0;     /* Just in case multiple pass with all allocated */
      xms_alloc_init(); /* Use XMS memory with VCPI mode switch */
}


So it would be easy to modify code to always pass to XMM (but it doesn't solve XMS exhaust).

---
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, 279 users online (0 registered, 279 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum