VOGONS


First post, by DOSfan1994

User metadata
Rank Member
Rank
Member

I was trying to play a Living Books game I enjoyed back when I was in preschool to relive some great memories with these games on PCem with using Windows 3.1, and when I tried to install it I got this error. I made a screen shot of it to show the problem. And I think it's the system RAM not my hard disk space of 8gigs (And I am running windows 3.1 on a FAT 32 partition above MS-DOS 7.1 and it has "w3xstart.exe" which makes you use Windows 3.1 on a FAT 32 hard disk.) I am using Award 430VX and it's RAM limitation is up to 256 MB and WIndows 3.1 thinks it's not enough. With a new PCem version on the way around late January of next year I hoping that this will be resolved if a Intel 440FX with 640 of memory ram is emulated which I don't think it's a possibility right now because the Dynamic recompiler is not fast enough for Pentium II/Pro emulation. Right?

If you have any solutions to the problem feel free to leave post.

Attachments

  • bandicam 2016-12-12 08-18-41-244.jpg
    Filename
    bandicam 2016-12-12 08-18-41-244.jpg
    File size
    160.15 KiB
    Views
    3600 views
    File comment
    Here is the screen shot of the problem I encountered.
    File license
    Fair use/fair dealing exception

Reply 1 of 21, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
DOSfan1994 wrote:

And I think it's the system RAM not my hard disk space of 8gigs (And I am running windows 3.1 on a FAT 32 partition above MS-DOS 7.1 and it has "w3xstart.exe" which makes you use Windows 3.1 on a FAT 32 hard disk.)

Why on earth would you think that? No one had an 8 GB hard drive when this game was released. Use a smaller hard drive image, and if that doesn't work, then use MS-DOS 6.22.

Better yet, just use ScummVM, which already supports the Living Books.

Reply 3 of 21, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
DOSfan1994 wrote:

It's the system memory Ram.

No one had 256 MB of RAM when this game was released either, let alone 640.

Reduce the RAM to something like 32 MB or 16 MB.

Reply 5 of 21, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

There are few things you can try.

1) Change the amount of virtual memory in Win 3.1. It is somewhere in the settings/preferences. Set it to something like 2x your actual physical memory (of your virtual machine).
2) Play around with amount of physical memory in the virtual machine. Try 32, 64 and 128.
3) Although unlikely as it is probably running in protected mode, it might be complaining of missing base memory (and not upper/high). In that case mess around with your config.sys/autoexec.bat. Do things like "DOS=HIGH" and do not load sound card drivers.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 6 of 21, by SA1988

User metadata
Rank Member
Rank
Member

Seriously, STOP using that hacked together and fake MS-DOS 7.1 distribution for running Windows 3.1, it is heavily inappropriate to the OS and it might cause some of these bugs. Instead, use software from the period the OS shipped, like either MS-DOS 5.0 or 6.0, just a warning for newcomers to PCem/86Box users.

Reply 7 of 21, by DOSfan1994

User metadata
Rank Member
Rank
Member
vladstamate wrote:
There are few things you can try. […]
Show full quote

There are few things you can try.

1) Change the amount of virtual memory in Win 3.1. It is somewhere in the settings/preferences. Set it to something like 2x your actual physical memory (of your virtual machine).
2) Play around with amount of physical memory in the virtual machine. Try 32, 64 and 128.
3) Although unlikely as it is probably running in protected mode, it might be complaining of missing base memory (and not upper/high). In that case mess around with your config.sys/autoexec.bat. Do things like "DOS=HIGH" and do not load sound card drivers.

Do I have to edit it in autoexec.bat?

Reply 8 of 21, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

No, you do not change the amount of virtual memory in autoexec.bat, if that's what you're asking. See for instance http://ps-2.kev009.com/pcpartnerinfo/ctstips/a336.htm .

Why don't you just use ScummVM?

Reply 9 of 21, by Jo22

User metadata
Rank l33t++
Rank
l33t++

As the others said. 256MB is a bad idea, since it conflicts with virtual memory.
Something like 8 to 64MB is way better. If you really have Windows 3.1 and not WFW 3.11, also try Standard Mode (win /s).

Otherwise yu can also try to disable virtual memory (Win32s might require it).
It can be disabled in control panel under 386 enhanced section.

Also make sure you don't use any memory managers, Win 3.1 doesn't require that (its own himem.sys is fine).
Windows 3.1 likes to handle the memory right below 1MB on its own.

https://support.microsoft.com/en-us/kb/84388

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 11 of 21, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

No that is not what he said. He said you need to go inside Win 3.1 after you start it and go to Control Panel and then 386 Enhanced section and from there disable (or change the size of) the virtual memory managed by the Win 3.1 itself.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 13 of 21, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Under Virtual Memory > "New Swapfile Settings".
Change "Type:" to "none".

No idea it that helps in your case, though.
Memory managment in Win 3.1 is quite a bit different to Win9x.

For example, I once read the addressing/memory allocation is done in reverse.
One goes bottom-up, while the other one goes top-down.

Please forgive me for the lack of a good source, but I can't remember from where I got this information. 😅
The closest thing I found was this short quote from here :

"There is a registry key value that instructs the Windows Memory Manager to allocate memory "from the top down",
i.e. from the uppermost available addresses. By default memory is allocated from low memory upwards."

Note that this article was meant for Win 9x or NT, but anyway it at least confirms that both styles exist..

And another user once wrote : "Only problem is with the 128K external cache - can't use it due to excessive memory,
and was told by Micro FirmWare that this board does not read conventionally, and that by enableing external cache with Windows 95,
it can substansially slow the systems down, as Win 95 reads from the top down."

http://www.oocities.org/sjg/upstory/pb486.html

Perhaps this is also more of a himem.sys thing (which Win3.1 gets its memory from), since someone stated :
"Win98SE himem.sys (and possibly EMM386) apparently allocates extended memory top down.
Changing the guest to MS-DOS 6.22 (with MSDOS himem.sys and MSDOS EMM386) resolves this error message.
So the MS-DOS equivalent XMS drivers apparently allocate extended memory bottom up."

https://communities.vmware.com/thread/91048?start=0&tstart=0

Anyway, I'm gettin' slightly off-topic. Here's another page that talks about Windows 3.1 memory problems:
Troubleshooting Insufficient Memory Errors

Attachments

  • vmem31.gif
    Filename
    vmem31.gif
    File size
    12.61 KiB
    Views
    3461 views
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 16 of 21, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Another idea, also try to uncheck "Dynamic Recompiler" and load the older himem.sys (just to make sure).
To do so just change config.sys to have this line: device=c:\windows\himem.sys.
If this doesn't help, change the emulated machine to something more 1994-like, say a 486DX33 or so.
My current setting looks like this (not ideal, but works for most things):

pcemw311.png
Filename
pcemw311.png
File size
52.41 KiB
Views
3392 views
File license
Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 18 of 21, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

What exactly makes you think you know the problem? Did you actually see it run after you gave it 512 MB of RAM?

I emphasize once again that practically no one had that much RAM when the game was released. You can probably find the official system requirements for this Living Book somewhere in its documentation. It would not have required 512 MB of RAM, I guarantee it.

Windows 3.11 can't even access more than 256 MB of RAM in enhanced mode.
https://support.microsoft.com/en-us/kb/84388

As has already been suggested: start over with ordinary MS-DOS 6.22, and a hard drive of a reasonable size (500 MB, let's say), and a reasonable amount of RAM (like 32 MB). There is too much in your virtual machine right now that is completely nonstandard.

Reply 19 of 21, by Jo22

User metadata
Rank l33t++
Rank
l33t++

DOSfan1994, did you already try what Jorpho said ?

You can make a copy of your current hard disk image and experiment with one of them..
MS-DOS 6.x could really help here - it also has MemMaker.

DOSfan1994 wrote:

(And I am running windows 3.1 on a FAT 32 partition above MS-DOS 7.1 and it has "w3xstart.exe" which makes you use Windows 3.1 on a FAT 32 hard disk.).

Sounds cool! I did something similar many moons ago, back when I still had left a copy of Windows 3.10 (the original release from '92, not WfW)
on my Windows98SE computer. It was nice for running old programs (Win 2.0 and Win3.0 programs), games (16bit Wintrek) and devices
(WinTV card, and my radio-controlled clock) that didn't work so well on 98.

The program I used was OSR2FIX, I think, as described here:

Windows 3.11 and Ms-Dos 7.1
http://www.msfn.org/board/topic/97945-windows … -and-ms-dos-71/

Later, I also installed some Year2000 fixes and the Euro-Update (€ charakter). ^^

Anyway, if this doesn't work, but you still want to use DOS 7.1 because of FAT32 (long file names),
do move at least Win3.11 to a second image file (FAT16 formatted) with a maximum of 500MB.
This way, Windows 3.11 could perhaps use it's own filesystem/hard disk drivers and the permanent swapfile should be working.
(If FastDisk is working, you can also run sveral DOS progams in a window I think.)

https://en.wikipedia.org/wiki/32-bit_file_access
https://en.wikipedia.org/wiki/32-bit_disk_access

Edit: Just noticed you're running normal Windows 3.1 (judging by the look of File Manager in the first photo),
Please then ignore some of what I wrote ealier (esp. the article about 32-bit file access).
This versions doesn't have its own disk cache and sometimes requires share.exe to be loaded for certain programs.
Also make sure you have enough "buffers" and "files" configured in config.sys.
An update for Windows 3.1 is also available, which increases the version to 3.11..
See "Windows 3.10 Kernel Update" at themagicfloppy.com .

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//