VOGONS

Common searches


First post, by guest

User metadata

Hi

I am trying to get an old Dos application which ran under 95 and 98 to run under 2000 Pro. The program is called Logicmaster 6 (a programming package for GE logic controllers).

The old config.sys file required the following settings:

DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS I=B000-B7FF
DOS=HIGH,UMB
FILES=30
BUFFERS=20
DEVICE=C:\WINDOWS\COMMAND\ANSI.SYS

and also required hard disk formatted to FAT16.

I have tried to run the application under Dosbox V0.60 but it seems like ANSI.SYS has not been loaded.

Could you advise me how to incorporate the settings in my old config.sys file when running under Dosbox?

Thanks

Reply 1 of 14, by taiken7

User metadata
Rank Member
Rank
Member

DEVICE=C:\WINDOWS\HIMEM.SYS --> dosbox uses "XMS=true"
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS I=B000-B7FF --> as above
DOS=HIGH,UMB --> dosbox takes 'no memory', but no UMB either.
FILES=30 ----------> dosbox has this default = 100
BUFFERS=20 -------> dosbox I think automatically increments as necissary, with 20 as a base.
DEVICE=C:\WINDOWS\COMMAND\ANSI.SYS ---> This is a problem
and also required hard disk formatted to FAT16. ---> Dosbox will interpret diski/o (& prohibit low-level stuff).
----------------------------------------------------
To recap: Ensure the following line exists in dosbox.conf
XMS=TRUE

Then you should run this file to install an ANSI driver from dosbox console:
http://dosonly.net/ansi.com
[or the zipped file is attached here]
download.php?id=743

Last edited by taiken7 on 2004-01-26, 11:07. Edited 1 time in total.

Reply 2 of 14, by robertmo

User metadata
Rank l33t++
Rank
l33t++

Am I right when I say that if "dosbox takes 'no base memory' " (there is 637k base memory free) so there is absolutely no need for HMA emulation? Cause dos doesn't have to be loaded HIGH and also none other program doesn't have to load to HMA cause it has a lot of conventional memory free.
"Legend of Kyrandia 1" for example uses HMA if dos is not loaded to HMA, but if Kyrandia has so much conventional memory it doesn't really need those extra 64k of HMA. Am I right?

(I suppose dosbox doesn't emulate HMA right now)

Reply 4 of 14, by taiken7

User metadata
Rank Member
Rank
Member

Yes 😁 . Heres an old-quote:

"If too many programs or DOS settings are being used, the game may not have enough conventional memory to launch. If this is the case, you may need to be more economical in how the memory is spent.

DOS requires 18k to load. If you load HIMEM.SYS, you should use the DOS=HIGH line. This will place the 18k of DOS into the HMA.

EMM386 is a very useful memory manager for conserving conventional memory. EMM386 will create the Upper Memory Blocks. Some drivers can be loaded into the UMB rather than taking up space in conventional memory. For this to happen, you first need to have 2 lines in the config.sys that read:

DEVICE=C:\WINDOWS\EMM386.EXE RAM 3072 I=B700-B7FF
DOS=HIGH, UMB

This line will create about 160k of free upper memory space. EMM386 will take up about 19k of conventional memory to load. the I= portion of this line will allow a 32k chunk of memory to be available. This is a good trade if you can displace more than 10k of memory. The DOS=UMB line will allow DOS to use the upper memory blocks to load drivers into. EMM386 may conflict with some games that have their own memory manager built in."

Reply 5 of 14, by taiken7

User metadata
Rank Member
Rank
Member

Thanks Qbix, you're quite right..
XMS=true
EMS=false
(Almost all Ansi functions built-in..
And a 4k file if it makes you feel better. 😁 )

Actually, I should have asked "Guest" to elaborate on
"ANSI doesnt seem to be loaded.." (Escape sequences showing?)
(Black screen of void, blue of death?)...

Reply 6 of 14, by Harekiet

User metadata
Rank DOSBox Author
Rank
DOSBox Author

dosbox's HMA disabled, since the a20 line is disbaled so you don't have to worry about loadfix for old exepacked binaries caused packed file is corrupt crap.

Reply 7 of 14, by robertmo

User metadata
Rank l33t++
Rank
l33t++

What a coincidence...

I have found out that "Vikings: Fields of Conquest" (a strategy game) works in Dos 6.2 only when there is no himem.sys loaded.

When i try to run this game in DosBox with "XMS=false" I get the following message:

"Cannot enable the A20 line, XMS memory manager required"

Reply 8 of 14, by taiken7

User metadata
Rank Member
Rank
Member

Another method of setting the A20 line is:

INT 15 ,AX=2400 - SYSTEM - later PS/2s - DISABLE A20 GATE
INT 15 ,AX=2401 - SYSTEM - later PS/2s - ENABLE A20 GATE
INT 15 ,AX=2402 - SYSTEM - later PS/2s - GET A20 GATE STATUS
INT 15 ,AX=2403 - SYSTEM - later PS/2s - QUERY A20 GATE SUPPORT

(This is not yet support in dosbox/cvs)

Reply 9 of 14, by robertmo

User metadata
Rank l33t++
Rank
l33t++

I have tested "vikings" on my 386 machine and it works there with himem.sys. So I guess the game will work in dosbox with xms=true when this error will be solved somewhere in the future:
"Exit to error: PIC:unhandled command 13"

Reply 10 of 14, by guest

User metadata

I was incorrect in suspecting that ANSI.SYS was the problem. It's not.

The program was generating a fatal error LMTYPE SYMBOL NOT DEFINED IN ENVIRONMENT which appeared irrespective of the presence of ANSI.SYS.

Got around this by copying the entire LM6 program directory contents straight across to Win2000 from my Win95 machine instead of using original installation disks.

However from DOSBOX the program now generates a fatal error on start up LM6 REQUIRES AN IBM COMPATIBLE MONITOR. Interesting because if I attempt to run the same program from Win2000 using a PIF file, it does not generate this error and the appears to start up okay. That is until I try and use it and some of my actions generate various disk/memory related errors from within the program rendering it useless.

Tinkered with a few options in the DOSBOX.CONF file but to no avail.

Reply 11 of 14, by taiken7

User metadata
Rank Member
Rank
Member

Note that dosbox does not provide I/O to the serial/parallel ports!
.. at least not just yet (another project on the backburner).
(Just in case you were trying to use some form of eprom programmer etc)

Reply 12 of 14, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author
taiken7 wrote:
Another method of setting the A20 line is: […]
Show full quote

Another method of setting the A20 line is:

INT 15 ,AX=2400 - SYSTEM - later PS/2s - DISABLE A20 GATE
INT 15 ,AX=2401 - SYSTEM - later PS/2s - ENABLE A20 GATE
INT 15 ,AX=2402 - SYSTEM - later PS/2s - GET A20 GATE STATUS
INT 15 ,AX=2403 - SYSTEM - later PS/2s - QUERY A20 GATE SUPPORT

(This is not yet support in dosbox/cvs)

As far as I know we aren't a ps/2
We're a XT compatible machine.

Water flows down the stream
How to ask questions the smart way!