Troubleshooting a Memory Error with SB.Drv Driver

  • Thread starter Thread starter Delzac
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around troubleshooting a memory error encountered while trying to install and run an old DOS game, specifically related to the SB.Drv driver. Participants explore various methods to resolve the issue, including memory allocation adjustments, the use of DOS, and potential programming solutions.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Homework-related

Main Points Raised

  • One participant describes receiving a memory error when attempting to load the SB.Drv driver for an old DOS game, indicating that the driver may not be the correct version.
  • Another suggests partitioning the drive to install an old copy of DOS to better run the game.
  • A participant mentions that the problem could stem from a bad calculation of physical memory size, suggesting that older versions of DOS took up more low memory than virtual machines.
  • Some participants discuss the need to load memory resident programs to address the memory issue, with one asking where to find such programs.
  • One participant proposes using the Debug command to push the game higher in memory, but another reports that this method did not work as expected.
  • There is a suggestion to write a memory resident program, but one participant expresses difficulty in understanding the instructions provided in a linked document.
  • Another participant clarifies that the Debug command requires the correct directory and full filename to function properly.
  • One participant mentions trying DOSBox but experiencing issues with the game closing unexpectedly after a brief display.
  • There is a discussion about the expected output from the Debug command, with some confusion about the results obtained by one participant.

Areas of Agreement / Disagreement

Participants express various methods and solutions to the memory error, but there is no consensus on a definitive resolution. Multiple competing views and approaches remain, with some participants unsure about the effectiveness of the proposed solutions.

Contextual Notes

Participants note limitations in their understanding of memory management and the specifics of DOS commands, as well as the potential for issues related to the game itself and the environment in which it is being run.

Delzac
Messages
389
Reaction score
0
Hi all,

i tried to install a game(very old one) on DOS(i know there is no DOS for XP, but nvm), not matter which version of OS i use(window 95, 98 bla bla bla) this erroe also comes out...

memory not enough to load the SB. Drv driver
SB.Drv driver seem not the one come along with the game"

What does is mean and can anyone help me to solve this.

P.S. i tried to allocate more memory and resource by right clicking the program, properties, then memory and maxing all the viarables there.

Any help will be greatly appreciated. thx!
 
Computer science news on Phys.org
I'd suggest partitioning your drive and installing an old copy of DOS if you want to run old DOS games.

- Warren
 
hmmm, how do u partition ur drive.

And u can actually install DOS? how? is there a programme in the net?

Thx for the help
 
This problem was caused by a bad calculation of the size of phyical memory in the machine.
They used a 16 bit register that could overflow.

Real DOS took up much more low memory than the vm does.
It was also a problem with later versions of real DOS.
We used to load memory residient programs to take up enough low memory to fix the problem or edit the .exe file to fix it.
Never tried loading one of these in the vm.

You should be able to edit the .pif file to limit the amount of memory.
256k should be a good value.
Right click the .exe or .com file to access the .pif editor.

Chances are that you will have clock speed issues with this game, if you do get it to run.
 
so do i have to load a memory resident program? i tried to right click and lower thw amount memory to 256, but it didn't work.

where can i get a memory resident program?

Thx
 
Delzac said:
so do i have to load a memory resident program? i tried to right click and lower thw amount memory to 256, but it didn't work.

where can i get a memory resident program?

Thx
No idea on the memory resident thing.
Could probably write one.
IIRC its only a couple lines of code.

What's the name of the game?
 
I just thought of another way.
At the Dos prompt type

Debug [filename]

At the Debug prompt type g

This should push it high enough in memory.
 
Name of the game : Amika <精武战警> ( it is a chinese game)

BTW the debug thingy didn't work here is what is type.

" C:\>debug amika
File not found
-g
C:\> "

that is what happen, i am rather sure that the folder is there, but this still happens. i will look up how to write the program and wil get back to you. :)
 
Hi again,

i dun think it is that easy to write the program, take a look at the link below,

http://web.sau.edu/LillisKevinM/csci240/masmdocs/programmersguide/15LMAPGC11.pdf#search=%22Memory%20resident%20program%20how%20to%20write%22

i looks like gibillish to me, any other alternatives?
 
Last edited by a moderator:
  • #10
Delzac said:
Name of the game : Amika <精武战警> ( it is a chinese game)

BTW the debug thingy didn't work here is what is type.

" C:\>debug amika
File not found
-g
C:\> "

that is what happen, i am rather sure that the folder is there, but this still happens. i will look up how to write the program and wil get back to you. :)
I don't have that particular game.

You have to switch to the directory the game is in first.
CD \amika if it is in the c:\amika directory
Also you need to type the entire file name.
For example debug amika.exe
.com was also a common exension.
 
  • #11
Delzac said:
Hi again,

i dun think it is that easy to write the program, take a look at the link below,

http://web.sau.edu/LillisKevinM/csci240/masmdocs/programmersguide/15LMAPGC11.pdf#search=%22Memory%20resident%20program%20how%20to%20write%22

i looks like gibillish to me, any other alternatives?
The green parts are how it should respond
You must type this exactly. <enter key> is just hit enter.
And the responses should match exactly.

In the command window type
debug
-[/color]a
xxxx:100[/color] mov ax,3100
xxxx:103[/color] mov dx,1000
xxxx:106[/color] int 21
xxxx:108[/color] <enter key>
-[/color]rcx
CX 0000
:[/color]100
-[/color]n memres.com
-[/color]w
Writing 100 bytes[/color]
-[/color]q
c:\xxxxxx>[/color]

You now have a program called memres.com
It's in whatever directory you were in when you started debug.
when you run it, it will take up 1000h (or 4k) bytes of memory.
 
Last edited by a moderator:
  • #12
i couldn't get my com to spit the green words, it just gave me

16E9:2382
16E9:2385

and stuff, but nvm i think there is no chance for me to play that game ever again. Thanks for the help. :)
 
  • #13
Maybe you could give DOSBox a try?
 
  • #14
Delzac said:
i couldn't get my com to spit the green words, it just gave me

16E9:2382
16E9:2385

and stuff, but nvm i think there is no chance for me to play that game ever again. Thanks for the help. :)
Would it help if I mentioned that 'xxxx' ment undefined? It can be any 16 bit hex number?
16E9: would be valid, but high. I would expect something more like 12xx or 13xx.
I have no idea how you got to 2382. The "a" command always starts at 100 unless you specify something else.
 
  • #15
i have no idea also, i tried DOSbox b4 no use. It is able to load the game, but after the screen is blank, after 4 to 5 secs i closes by itself.
 

Similar threads

Replies
8
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
Replies
1
Views
3K
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 15 ·
Replies
15
Views
5K
  • · Replies 18 ·
Replies
18
Views
6K
  • · Replies 23 ·
Replies
23
Views
5K
  • · Replies 13 ·
Replies
13
Views
4K