Mail Archives: djgpp/2011/09/21/02:39:02
On Wed, Sep 21, 2011 at 3:43 AM, Rugxulo <rugxulo AT gmail DOT com> wrote:
> Hi again,
>
> On Sep 20, 12:47 am, Ozkan Sezer <seze DOT DOT DOT AT gmail DOT com> wrote:
>> On Tue, Sep 20, 2011 at 5:38 AM, Rugxulo <rugx DOT DOT DOT AT gmail DOT com> wrote:
>>
>> >>> (Though you're using old CWSDPMI versions, dunno why, latest is r7.)
>>
>> >> I don't know how tested that one is, so I decided to
>> >> stay safe and use r5+latest updates to it
>>
>> > It's tested fairly well, and CWS considers it stable. DJ's Zip Picker
>> > suggests it by default now
>>
>> OK then. Will test it for next versions.
>
> I'm on a "big" RAM machine here. So when I test in native FreeDOS,
> there's gobs of memory. Apparently it doesn't like that, tries to
> malloc a negative amount by default. ;-) I assume this is an old
> Quake (2 GB??) limitation. That's using r7. When using r5, it can't
Hrmph..
sys_dos.c :: void *dos_getmaxlockedmem(int *size)
{
[...]
__dpmi_free_mem_info meminfo;
__dpmi_meminfo info;
int working_size;
[...]
working_size = meminfo.maximum_locked_page_allocation_in_pages * 4096;
I guess the problem lies in the above lines. You see, we're
using a signed int for working_size, whereas all members of
the __dpmi_free_mem_info structure are unsigned long.
So yes, a 2GB limit due to bad data type usage. Will try
fixing it _and_ limiting it to 2GB properly.
> load all the page tables, so similar memory problem. (CWS would
> probably find this funny. And yes it's using /beta/ 2.04, probably
> from CVS since stub says Sep. 2011.)
Yes, the current 1.5.0 build is made using djgpp v2.04 / 20110910
cvs snapshot
>
> The solution in both cases is to manually use "-mem 64". I honestly
> wonder if maybe you should clamp max. memory usage to a fixed
> reasonable amount to avoid this. As mentioned in the docs, 32 MB is
> suggested, so it's not like it needs all RAM anyways. Well, or you
Yes it has more than it needs with -mem 64
> could ignore it, most people probably? won't run natively due to
> stupid SB-incompatible sound cards anyways. (I halfway wish PC speaker
> w/ digital samples was supported, but I'd have to dig up some sources
> to figure that out, probably not easy for a dummy like myself. Yeah
> yeah, just use DOSEMU or DOSBox.)
>
>> > Yeah, 1.5.0 is officially out! That was fast! A quick play-through
>> > again of the demo (DOS version under DOSEMU) showed no problems.
>>
>> Thanks for testing!
>
> BTW, I just now tried again under DOSEMU. The console command "music
> blah" works great (tested one .mp3, two .ogg) though of course stops
> the song when entering a new hub or restarting the game.
Well, thats very normal: if you rip your cdrom, make mp3 or ogg
with them and put the files under the game accordingly, it will play
the game's music upon every level change.
>
> (BTW, no mouse wheel / button 3 in DOSEMU unlike when using CTMouse in
> native FreeDOS, but I never found a good use for that yet anyways.
> Crouch?? Anyways, I don't prefer the mouse, only keyboard.)
>
Changing weapon, scrolling inventory, ...
>> > (Stupid mill key, heh.)
>>
>> :)
>
> Seriously, it's a quite fun game. I guess I should go ahead and grab
> the full version off eBay or wherever (preferably not Steam). But man,
> the demo is ultra confusing if you don't know where to go! (I've
> probably completed the demo 50 times over the past year.) Heh, not
> exactly obvious to jump here, shoot there, open this, grind that,
> etc. ;-)
>
>
On Wed, Sep 21, 2011 at 7:10 AM, Charles Sandmann <cwsdpmi AT earthlink DOT net> wrote:
> The memory code in Quake has some horrible hacks to try to
> make it run on like an 8MB machine under Windows 95. In
Well the issue he's describing doesn't need running under w95.
> those days the thought of a 2GB machine would be unbelievable.
> (That code tries to make sure it's all paged in, locked in memory,
> and everything else is paged out).
>
> I suggest using sbrk() when you need to use more than 2GB of memory :-)
>
> No so funny, but it shows to not make assumptions.
>
Exactly.
--
O.S.
- Raw text -