| Forum Home | ||||
| Press F1 | ||||
| Thread ID: 34045 | 2003-06-02 20:55:00 | BLAH, msdos memory problems... | DangerousDave (697) | Press F1 |
| Post ID | Timestamp | Content | User | ||
| 149304 | 2003-06-02 20:55:00 | hello all! I have some DOS based mp3 software (MPXPlay) to be exact that I am trying to use . Its a Pentium 133, Cmedia 4ch soundcard, running win98 and works fine in a windows dos box, problem is that when I try run it in proper dos mode as soon as i try play an mp3 it gives a stack overflow error . Anyone know how to fix this, I've tried editing config . sys with the stacks, nothing still, even tried emm386 and no more!!! It is really bugging me, someone told me that DOS can't handle more than 400k without memory managers, but I have no idea where start with them . . . Any help would be greatly appreciated . - David |
DangerousDave (697) | ||
| 149305 | 2003-06-02 21:20:00 | sound more like a problem with the dos version or the program rather than the memory. what dos version do you have?? read the FAQ for the MP3 player?? |
robsonde (120) | ||
| 149306 | 2003-06-02 23:12:00 | The other thing to remember is that if you only have one simple autoexec.bat and one plain config.sys, then the system is not neccessarily optimised for either DOS or Windows. ( This refers to Win9x/ME only) If you want full DOS memory capability when you boot into DOS, and if you use DOS a lot, then it is much better to write the autoexec and config files to create a boot menu using the Menuitem command so that you can boot either into Windows or into DOS. To do this the msdos.sys file also has to be edited so that the system doesn't by default boot direct into Windows. If that system is adopted then you will get up to at least 628KB of conventional memory available for DOS programs. To do that you will need to load all devices high except himem.sys and emm386.exe. You will need a line dos=umb,high and you could try device=c:\windows\emm386.exe noems D=128 in config.sys You can also load Fileshigh and Buffershigh to squeeze a little more conventional memory. In autoexec.bat you can load smartdrv.exe high, mouse driver high, doskey high etc. In general too unless you have separate boots into DOS and Windows then you may not get a CDROM or sound to work in DOS unless the correct commands are put into config.sys, as the DOSSTART.BAT file doesn't add anything to config.sys for DOS, and if those commands are written into the config.sys used for Windows, then there is the possibility of conflicts when Windows tries to load its version of the drivers. The topic is a bit too involved to give detailed instructions here, it is something that has to be read up about. |
Terry Porritt (14) | ||
| 149307 | 2003-06-02 23:38:00 | Yeah, thats kinda what I want, instead its gonna be a dedicated mp3 box... so it'll boot straight up into mpxplay and start an mp3, remote, lcd display and all!! lol once i get this problem fixed... - David |
DangerousDave (697) | ||
| 149308 | 2003-06-03 00:28:00 | this is going all the way back to when i was 8 isn't there a line in autoexec.bat or config.sys which allocates the number of stacks. you will probally have to increase it. make sure you load all your devices in autoexec and config.sys. also try putting LH in front when you load the program. (dont know if it will work but i remember my SB16 had to be loaded like that) |
Dylan (800) | ||
| 149309 | 2003-06-03 02:09:00 | Ok Dave, lets have a think . 1 . If you want to boot up into DOS directly without going into Windows, then the msdos . sys has to be edited . To do that it has to be unprotected by using the DOS attrib command from the C:\> prompt; attrib -s -h -r msdos . sys Then edit the file to make BootGUI=0 . Save the file and restore protection with the command attrib +s +h +r msdos . sys The computer will now boot up to the DOS prompt . If you want to start windows type win . Actually if you have TweakUI then this operation can be made from there, just clear the Start GUI Automatically check box in the Boot tab, much easier to do :) 2 . Config . sys You will need lines like these: devicehigh=c:\windows\himem . sys device=c:\windows\emm386 . exe noems d=128 dos=umb,high fileshigh=30 buffershigh=50 stacks=64,512 devicehigh=c:\path\cdrom . sys /d:mscd000 This last line is to load your cdrom drive and will need to be configured to your particular driver and its location . The stacks values can be played around with . 3 . Autoexec . bat This will have lines like: @ echo=off path=c:\;c:\windows;c:\windows\command; loadhigh c:\windows\smartdrv . exe loadhigh c:\mouse\mouse loadhigh c:\windows\command\mscdex . exe /d:mscd000 prompt $p$g You may want to make a temp folder/directory, and add a line: set temp=c:\temp The doskey /insert command will enable scrolling through previous dos commands without having to re-type . Loading ansi . sys in config . sys enables fancy colours and text etc to be set in the prompt command to have a customised DOS prompt . Hopefully your sound cardsoftware will load the correct DOS commands, but sometimes it is necessary to add a command like: set blaster=a220 d1 t4 to the autoexec . bat |
Terry Porritt (14) | ||
| 149310 | 2003-06-03 02:25:00 | I'd be inclined to do a clean installation of DOS . From DOS 6 . 0 (certainly) and maybe 5 . 0, there has been a programme called MEMMAKER which optimises (maximises) the "conventional" memory . But I don't think that's the problem . :D A shortage of memory gives an error message . . . something like "Insufficient memory to run this programme" . Oops . ;-) Ignore the last paragraph . I've just thought . . . that applies to MOS EXE and COM programme files, which have fixed (or "reasonable" )memory requirements . This programme will be written in C, and will dynamically allocate memory . Lots of memory . And it will allocate that memory in the programmestack . So changing the DOS stacks won't help . You definitely need EMM386 which is the MSDOS/DRDOS memory extender . You will probably have to experiment . . . the programme will want either all extended or all the other sort . :D TGhere are other memory extender programmes, but they are usaually provoied with programmes which need them . . . and those are "old" programmes, before Windows, and while extra memory much above 1 MB was still rare . See what MEMMAKER comes up with . And let us know . |
Graham L (2) | ||
| 149311 | 2003-06-03 02:41:00 | Now Graham has mentioned Memmaker, I think that can still be run to optimise memory in Windows DOS 7 as well as in the older version 6, it's worth a try. MemMaker is located on the Win9x install CD in a folder called oldmsdos somewhere. It can be copied to c:\windows\command. F1 formatting has put odd gaps in some of the lines in the post above. |
Terry Porritt (14) | ||
| 149312 | 2003-06-03 04:01:00 | This is hopefully a dumb question, but do you have the dos sound driver loaded, and the relevant environment variables (esp BLASTER) set correctly. | bmason (508) | ||
| 149313 | 2003-06-03 20:55:00 | yup, everything, incl . soundcard is loaded :S, its a strange problem, but i have the source code the proggy and i know some C++ so it may be a bit of editing time, lol ;) the card i have is a cmedia 4 ch one if i havn't already said . . . i ran the driver install in dos from the cd, seemed to work fine . I don't believe it is the soundcard, cos it when it crashes it seems as if it hasn't loaded anything to memory . . . I will try those fixes you gave me in the weekend, lol can't do it any earlier cos i am literally buried in assessments . - David |
DangerousDave (697) | ||
| 1 | |||||