VOGONS


First post, by yosemite

User metadata
Rank Newbie
Rank
Newbie
  • Motherboard: Apple Powerbook
    Processor type and speed: G4 1.5 GHz
    Amount and type of RAM: 512MB DDR SDRAM
    Video board: ATI Mobility 9700 128MB
    Operating system: Mac OS X 10.3.4
    Application Name: acdos.exe (Adventure Game Studio) v2.61
    Reproducibility of problem: always
    DOSBox version: 0.61

I'm trying to get acdos.exe, one of the apps in Adventure Game Studio (AGS), to run under DOSBox. Most AGS games these days are compiled in Windows mode. However, acdos.exe allows any of the AGS games to run in DOS mode, according to the AGS Knowledge Base. For example, the freely downloadable (and AGS Windows-compiled) Kings Quest remake could be run in DOS by typing the command 'ACDOS KQVGA.EXE'.

The first obstacle to running acdos.exe in DOSBox was receiving the message:

Load error: no DPMI - Get csdpmi*b.zip

I have since downloaded two versions of dpmi - csdpmi3b.zip and csdpmi5b.zip - and placed the enclosed EXEs in the same directory as acdos.exe. In either case, when I try to run acdos, DOSBox crashes with the following messages appearing in the OS X terminal:

[yosemite@hammerhead.local] /Applications/Emulation/Intel-PC/DosBox/DosBox.App/Contents/MacOS/DosBox /Users/yosemite/Downloads/ags_261/
CONFIG: Using default settings. Create a configfile to change them
MIDI:Opened device:coreaudio
MODEM:Can't open listen port:Couldn't bind to local port
Illegal instruction

Any ideas for getting acdos to run? Any help would be appreciated. Thanks!

Reply 1 of 4, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

ACDOS.EXE works probably ok in DOSBOX (both 0.61 and the current CVS). I tested it by creating a trivial "game" (one room) and running it.
Why "Illegal instruction" appeared in your case I do not know (it can a bug in Macintosh port <little/big endian issue in DOSBOX> or a problem with DPMI you are using). I was working on Windows (using CWSDPMI V0.90+ (r3) ).

However even if DOSBOX would not crash, it would not work for "King's Quest 1: VGA" because DOSBOX does not support 16 bit color modes. This is what it did for me:
1. I started acdos kqvga.exe
2. Then I waited for some time (there was black screen)
3. Then I was returned to the DOSBOX command line with the error information about not being able to initialize 320*200 (16 bit) mode - this is ok, DOSBOX does not support 16 bit color modes.

I guess that if the game had been using 8 bit color mode, it would have worked in DOSBOX (at least in my case, as I mentioned there might be some Macintosh related bug in DOSBOX).
By the way - it would be good to test whether the DPMI you use works ok (you can do it by running a DPMI (DOS) game using it: Nethack, ADOM, Angband etc). It would hep to locate where your problem is (in DPMI or in ACDOS.EXE).

Mirek

Reply 2 of 4, by yosemite

User metadata
Rank Newbie
Rank
Newbie

Thanks for the feedback, Mirek. I checked the documentation in one of my DPMI packages, and the version was identical to yours ( CWSDPMI V0.90+ (r3) ). I noticed that running 'CWSDPMI' from the DOS prompt works fine, but then launching the DPMI-dependent program produces the crash.

I tried this out with two of the programs you suggested:

* Nethack (v3.4.3 DOS): Running 'NETHACK' results in DOSBox crashing with the illegal instruction error.
* ADOM (v1.1.1 DOS): This distribution comes with its own copy of CWSDPMI.EXE (according to the DOC, it is also V0.90+ (r3) ). Still, running 'ADOM' procudes the illegal instruction error and DOSBox crash.

Incidentally, DOSBox runs great with other DOS games and apps which do not require DPMI. So my guess is that the problem lies with DPMI compatibility in the Mac OS X port of DOSBox.

It would be interesting to see if other Mac OS X users encounter the same problem, just to be sure that the problem is not specific to my system.

By the way, did DOS ever support 16 bit color? Would support for this bit depth ever be added to DOSBox? It would be fun to be able to run 16-bit AGS games on Mac OS X via DOSBox, given that there is no Mac port of AGS.

Reply 3 of 4, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

DPMI crashes on Mac
What version of DOSBOX do you use? Try to get as new version as possible (perhaps build a CVS if you can do it). There is a chance that it was already repaired. Otherwise it will probably wait for some Mac user who can look into the problem ... As far as I know all developers work on Intel compatible processors, so they cannot easily check those "little endian/big endian" problems which are probably at the core of this.

16 bit color modes in DOSBOX
In normal DOS there were VESA modes for 16 and 32 bit colors. DOSBOX does not support them - developers said that it would not be complicated, but they would be too slow to use.

Mirek

Reply 4 of 4, by yosemite

User metadata
Rank Newbie
Rank
Newbie

I just compiled the latest version of DOSBox from CVS, and the problem is still present. The crash occurs at the invocation of the CPU_Interrupt(Bitu num, Bitu type, Bitu oldeip) function in cpu.cpp. My guess, also, is that endian issues may indeed be the culprit.