On 28/06/2015 20:03, Rugxulo wrote: > "Below 16M"? You mean for DMA or the like?
I have honestly no idea what the 'low-level' implications are. If someone asked me 2 days ago, I'd say that's impossible, since an application only requests XMS "handles" from the XMS driver, and performs all moves from/to XMS by calling the XMS driver over a small 64K window of data... Hence the application is not aware at all where physically the memory it gets is located at. But all the above belief of mine have been ruined recently, when I looked into my Doom issue. It does seem after all that 'where physically the XMS memory comes from' can be of some importance. I quickly (re)read the XMS v2.0 standard, and haven't found any function that would even communicate the physical address of the data back to the application... So I have no clue what DOS4GW does. But apparently it does something that works fine only if the XMS pool it obtains comes from some "low" XMS area. I also found a few programs that vaguely talk about this: XMSDSK says: > Some machines under Win95 hang up when there's no free memory under > 16 MBytes. It can be used too if you have problem playing sounds > under Windows. These 2 issues seem to be related to DMA buffering. SHSURDRV says: > This option will allocate memory before any drives, then release it > upon exit. It is only necessary in order for Windows to start (when > drives exceed more than 14MiB in total). The default is 4 > (kibibytes). UIDE says: > /R15 reserves 15-MB of XMS, and /R63 reserves 63-MB of XMS, for DOS > game programs that require XMS memory below 16- or 64-MB! > Dunno, for all I know it could be (only) soundcard related, thus any > Doom ports that don't use that library (e.g. use Allegro instead) > won't have the bug. I do not think it's related to the sound card. In fact, the first thing I did two days ago was to run Doom with no sound at all - the problem was still the same. >> it's pretty easy to work around this. And it should be a motivation to >> XMS resident apps authors to include some switches to prefer taking top >> XMS memory rather than the bottom one :) (or even do this by default). > > I don't think that's feasible. Fortunately both XMSDSK and SHSURDRV do it perfectly, that's enough for me :) Mateusz ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user