Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
Rugxulo(R)

Homepage

Usono,
19.12.2009, 03:33
 

> 3 GB of RAM (hypothetical), CWSDPMI (Developers)

Thread locked

(quoting Charles Sandmann):

---------------------------------------------------
"If I am to deal with more than around 3GB of memory, I need to deal with the physical memory map. This site contains a good summary and some example code:
http://wiki.osdev.org/How_Do_I_Determine_The_Amount_Of_RAM

I typically build a little TC/BCC/TASM image to check things first before I build them into new code. CWSDPMI currently uses:
Int 15, AH=0x88 first. Then it tries Int 15, AX=E801, and only uses the results if it shows no memory hole before the 16MB mark. It then truncates the memory at a little less than 2GB to stop from overruning an array fixed at 64KB in size (but that's another story, to be fixed...). For systems with memory holes I have always suggested using HIMEM.SYS, and let them deal with it (these were fairly rare anyway, when shifting from the ISA bus).

The recommendation to check for mega-memory systems is to use Int 15, AX=E820 (sample assembler provided in link above). So I need some test code to see if it works, then prints the map to the screen. Then I need to hack that to provide just a 32-bit version by 4KB page start, count. I am hoping the current code is fine for everything up to 3GB of memory, so maybe the new routine would only display 4KB page start, count pairs for memory that isn't currently "found" by the previous calls.

So this is two mini-projects. One is for me to hack cwsdpmi to handle at least 3.5GB of memory (messing with a new 4MB page bitmap for more than 256MB of memory). When that works, the 4MB page bitmap will only be around 128 bytes, so could easily be expanded to whatever size is needed, supporting up to 64GB of memory (of which you could map any 4GB into your address space at a time). But to know what physical memory is mapped, to put into the 4MB page bitmap, I need the second mini-project, the little test program above.

I will also move the base address from 0x10000000 to just 4MB, so you can use 4GB-4MB."

Rugxulo(R)

Homepage

Usono,
26.12.2009, 15:09

@ Rugxulo
 

> 3 GB of RAM (hypothetical), CWSDPMI

 

> (quoting Charles Sandmann):

Well, don't get your hopes up too high, but he has been polishing off r6 a bit, fixing bugs, etc. He might want more testers in the near future, so keep your eyes peeled.

DOS386(R)

27.12.2009, 02:21

@ Rugxulo
 

> 3 GiB of RAM (physical), CWSDPMI

 

> "If I am to deal with more than around 3GB of memory, I need to deal with
> the physical memory map. This site contains a good summary and some
> example code:
> http://wiki.osdev.org/How_Do_I_Determine_The_Amount_Of_RAM

Nice info :-)

I personally however most likely won't use CWSDPMI even if it can use 4 GiB one day, for well known reasons :-|

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

Rugxulo(R)

Homepage

Usono,
27.12.2009, 02:32

@ DOS386
 

> 3 GiB of RAM (physical), CWSDPMI

 

> I personally however most likely won't use CWSDPMI even if it can use 4
> GiB one day, for well known reasons :-|

Well, in case anybody wants to test (although it's not finished, so do expect some bugs):


meminfo.exe             22-Dec-2009 00:46     7k
memmapt.exe             22-Dec-2009 00:46     4k
cwsdpmi6.exe            26-Dec-2009 01:05    21k

Laaca(R)

Homepage

Czech republic,
27.12.2009, 12:20

@ Rugxulo
 

> 3 GiB of RAM (physical), CWSDPMI

 

> cwsdpmi6.exe
> 26-Dec-2009 01:05 21k
> [/code]

Who is the cwsdpmi6.exe by?
It is by Charles Sandmann?

---
DOS-u-akbar!

Rugxulo(R)

Homepage

Usono,
27.12.2009, 14:25

@ Laaca
 

> 3 GiB of RAM (physical), CWSDPMI r6

 

> > cwsdpmi6.exe
>
> > 26-Dec-2009 01:05 21k
> > [/code]
>
> Who is the cwsdpmi6.exe by?
> It is by Charles Sandmann?

Yes, but it's not quite polished up completely. And he's already updated it again. ;-)


cwsdpmi6.exe            27-Dec-2009 00:43    21k 

DOS386(R)

28.12.2009, 08:14

@ Laaca
 

> 3 GiB of RAM (physical), CWSDPMI

 

> Who is the cwsdpmi6.exe by? It is by Charles Sandmann?

Of course it is. Why is it called CWSDPMI after all ? And Alpha's of v.6 have been around since 2001;-)

The MEMINFO works, just (C) is 2000 :lol: and the MEMMAP also, just not very verbose and no (C) at all.

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

Rugxulo(R)

Homepage

Usono,
28.12.2009, 16:13

@ DOS386
 

> 3 GiB of RAM (physical), CWSDPMI

 

> > Who is the cwsdpmi6.exe by? It is by Charles Sandmann?
>
> Of course it is. Why is it called CWSDPMI after all ? And Alpha's
> of v.6 have been around since 2001 ;-)

Well, it is GPL-derivative, so I think somebody else could in theory modify it. But I don't think anyone ever did.

Yes, older r6 has been around a while. The main feature (assuming I understand it, barely) is faster speed with 4 MB pages, esp. due to less low memory requirements (no more swapping for page tables).

Don't be fooled, this is indeed a new update, but it's not finished or anything.

CWSDPMI V0.90+ (6t) Copyright (C) 2009 CW Sandmann ABSOLUTELY NO WARRANTY

Rugxulo(R)

Homepage

Usono,
30.12.2009, 13:48

@ Rugxulo
 

> 3 GiB of RAM (physical), CWSDPMI

 

> CWSDPMI V0.90+ (6t) Copyright (C) 2009 CW Sandmann ABSOLUTELY NO WARRANTY

cwsdpmi6.exe 30-Dec-2009 00:29 21k

Rugxulo(R)

Homepage

Usono,
31.12.2009, 06:57

@ Rugxulo
 

> 3 GiB of RAM (physical), CWSDPMI

 

cwsdpmi6.exe 30-Dec-2009 20:40 21k

Rugxulo(R)

Homepage

Usono,
03.01.2010, 17:20

@ Rugxulo
 

> 3 GiB of RAM (physical), CWSDPMI

 

cwsdpmi6.exe 03-Jan-2010 01:15 21k

RayeR(R)

Homepage

CZ,
05.01.2010, 21:20

@ Rugxulo
 

> 3 GiB of RAM (physical), CWSDPMI

 

> cwsdpmi6.exe
> 03-Jan-2010 01:15 21k

I'm not sure if it's necessary to post everyday builds, let us know when it will be stable and ready for common use :)

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

Rugxulo(R)

Homepage

Usono,
06.01.2010, 18:21

@ RayeR
 

> 3 GiB of RAM (physical), CWSDPMI

 

> I'm not sure if it's necessary to post everyday builds, let us know when
> it will be stable and ready for common use :)

Well, he claims he found and fixed some massively obvious bugs in the 2003 r6, hence it hasn't been tested too well in real-world use. So he's being a bit cautious on releasing it as-is. In particular, I didn't want anybody here to test only an old version. But it does work building Stone Soup 0.5.2 with -O2 (G++ 3.4.4 or 4.2.3) in FreeDOS w/ DOSLFN w/ XMGR and/or JEMM386 MAX=400000. That alone uses > 100 MB.

Back to index page
Thread view  Board view
15112 Postings in 1359 Threads, 247 registered users, 12 users online (0 registered, 12 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum