VOGONS

Common searches


First post, by Kitty Trouble

User metadata
Rank Newbie
Rank
Newbie

I can’t try the boot disk option cause my floppy drive don’t doesn’t work, but anyways I’m trying to learn about freeing DOS memory. I can’t seem to get more than 601k conventional memory free, while krondor requires 604k, I’ma little over 3k short. I’ve tried to load everything into upper memory, using memmaker, etc., but this is the best I can do. Can I get some pointers, please?

It’s not just for this specific game, I’d like to try and understand troubleshooting a bit more in general. I’m getting an old pc up and running again.

Attachments

Reply 1 of 28, by wierd_w

User metadata
Rank Member
Rank
Member

You have the win98 install CD handy?

There is a utility called Microsoft Diagnostics on it. (Msd.exe and msd.ini. you should copy them to the hdd.)

If you can, run it after booting with F5 to skip config.sys and autoexec.bat, then get me a screenshot of what the MEMORY page says.

I need to see what parts of the adapter region we can enable for UMBs. Right now, you only have 32k of UMB from using the monochrome screen buffer as an UMB. Normally, there's a lot more available between D000 and EFFF, which one can use for UMBs and an EMS pageframe.

However, there could be system option roms in there, and clobbering them blindly is unwise. MSD will give us some ideawhat we can safely enable there.

odd, the emm386 line has no RAM directive, nor the highscan directive, but is still making umbs?

That's peculiar..

Is this a pentium system? UMBPCI + HIRAM might let you load himem.sys high.

Last edited by wierd_w on 2023-08-01, 07:22. Edited 1 time in total.

Reply 4 of 28, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
Kitty Trouble wrote on 2023-08-01, 07:00:

I can’t try the boot disk option cause my floppy drive don’t doesn’t work, but anyways I’m trying to learn about freeing DOS memory. I can’t seem to get more than 601k conventional memory free, while krondor requires 604k, I’ma little over 3k short. I’ve tried to load everything into upper memory, using memmaker, etc., but this is the best I can do. Can I get some pointers, please?

You use a buggy HIMEM.SYS that is really a memory hog.
Try to use another version, like from Windows 98 SE.

Last edited by Disruptor on 2023-08-01, 11:19. Edited 1 time in total.

Reply 5 of 28, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
wierd_w wrote on 2023-08-01, 07:15:

odd, the emm386 line has no RAM directive, nor the highscan directive, but is still making umbs?

That's peculiar..

No, that's the NOEMS directive. It saves the 64 K over RAM because there is no page frame and EMS then.

Reply 6 of 28, by Kitty Trouble

User metadata
Rank Newbie
Rank
Newbie

It’s a pentium yeah. Some of this was just me trying options in the autoexec and config, this along with memmaker was the best I could get.

Forgive me for being a newbie but I don’t quite know what umbpci is - I did try designating himem as high though

I can try finding another himem.sys also..

Reply 7 of 28, by wierd_w

User metadata
Rank Member
Rank
Member

Subject title says this is already win98, but might not be SE.

Can we get output of 'ver' or 'winver'?

I still think exploring umbpci + hiram to put himem.sys in upper memory is worth a shot.

Re: NOEMS
NOEMS does not specify an include region. What region is it enabling, without the RAM option?

Reply 8 of 28, by wierd_w

User metadata
Rank Member
Rank
Member

UMBPCI is a Free Software package that uses the PCI chipset to map some RAM into unused portions of the adapter rom region, so they can be used as UMBs. It loads before himem.sys or emm386.exe.

https://www.uwe-sieber.de/umbpci_e.html

Hiram.exe is a small xms stub handler that enables these blocks so DOS can use them. It also gets called before himem.sys, and thus allows himem.sys to be loaded high.

https://www.mdgx.com/umb.htm#HIR

Reply 10 of 28, by wierd_w

User metadata
Rank Member
Rank
Member
Kitty Trouble wrote on 2023-08-01, 07:42:

Windows 98 ver 4.10.1998

That is Windows 98 OEM.

It's useful to know that, or communicate that when getting support.

I will see if MS released updated himem.sys for that OS.

Reply 14 of 28, by Kitty Trouble

User metadata
Rank Newbie
Rank
Newbie

I understand that there are some other options I should use instead, like RAM? And memmaker keeps changing stuff I don’t want changed like taking my stuff off high and reverting to old himem.sys

Reply 17 of 28, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

When you change from NOEMS to RAM, E000-EFFF is lost from the UMBs due to 64 K EMS page frame.
I just don't get it why you have X=CA00-DFFF in your CONFIG.SYS which results in a loss of 88 K UMB.
Is there any special hardware that requires this?

Note you can try DEVICE?= instead of DEVICE= for trying UMB ranges. Use the DEVICE?= in combination with I=CA00-DFFF instead of X=CA00-DFFF
You may try to remove all X's and try HIGHSCAN as option for EMM386 and check the resulting size of your UMB space.
However, HIGHSCAN most likely will not find out whether some UMBs in the range from F000-F7FF can be used too, because the BIOS' setup programm is no longer needed after post. This is try and error of course! 😉

Reply 18 of 28, by wierd_w

User metadata
Rank Member
Rank
Member

Yup.

I personally like to see what the adapter rom region looks like before trying to prod in there, which is why I suggested a quick one-over with MSD without any managers or drivers loaded. There might be some useless PXE bios just taking up space in there that an explicit include could unmap and then free, for instance.

He could also add the monochrome screen buffer at B000-B7FF if he doesn't plan on using any infocom games, or any old Hercules monochrome based games.

Reply 19 of 28, by veelstekel

User metadata
Rank Newbie
Rank
Newbie

For reference; I remember from the past you could actually get to 704Kb of _conventional_ memory _if_ you used only an MDA/Hercules/CGA display adapter.
At 640Kb the Extended Video Memory starts for EGA.
However this will probably not allow you to play Krondor though 😉

"Memory managers on 386-based systems (such as QEMM or MEMMAX (+V) in DR-DOS) could achieve the same effect, adding conventional memory at 640 KB and moving the barrier to 704 KB (up to segment B000, the start of MDA/HGC) or 736 KB (up to segment B800, the start of the CGA).[7] Only CGA could be used in this situation, because Enhanced Graphics Adapter (EGA) video memory was immediately adjacent to the conventional memory area below the 640 KB line; the same memory area could not be used both for the frame buffer of the video card and for transient programs." - (https://en.wikipedia.org/wiki/Conventional_memory)