Ultima 7 using Exult

Anything related to gaming on Linux Mint including game discussion or questions concerning Steam or Wine.
Forum rules
Before you post please read how to get help
Post Reply
Alacycle
Level 1
Level 1
Posts: 21
Joined: Sun Nov 01, 2015 6:53 pm

Ultima 7 using Exult

Post by Alacycle » Wed Nov 27, 2019 5:22 am

Just wondering if anyone has had success running Ultima 7 using Exult emulator.

I downloaded Exult from the Software Manager and tried to run it from the CD and then by copying the games "The Black Gate" and "Serpent Isle" from the Ultima 7 folder to my hard drive. I tried locating the games in both the usr/share/games folder and the Home folder without success.
When I start Exult I get the following message:
WARNING
Could not find the static data for either "The Black Gate" or "Serpent Isle".
Please edit the configuration file and restart Exult.

Unfortunately the Exult website doesn't give much information on how to do this. It does give an example of how the file should be edited:

Code: Select all

<config>
  <disk>
    <data_path>	
    /usr/local/share/exult
    </data_path>
    <game>
      <gamename>
        <path>	
        /usr/local/share/exult/gamename
        </path>
        <static_path>	
        /usr/local/share/exult/gamename/static
        </static_path>
        <savegame_path>	
        $HOME/.exult/gamename
        </savegame_path>
        <gamedat_path>	
        $HOME/.exult/gamename/gamedat
        </gamedat_path>
        <mods>	
        /usr/local/share/exult/gamename/mods
        </mods>
        <patch>	
        /usr/local/share/exult/gamename/patch
        </patch>
      </gamename>
Unfortunately I have no idea what half of this means. I assume for gamename you insert either Blackgate or Serpent Isle, but I have no idea what static path or any of the other terms are. I have not had any success contacting the Exult team and wonder if they even maintain the site at all.
I tried using DosBox as well but that was just as confusing.
Any ideas?

User avatar
xenopeek
Level 24
Level 24
Posts: 24203
Joined: Wed Jul 06, 2011 3:58 am
Location: The Netherlands

Re: Ultima 7 using Exult

Post by xenopeek » Wed Nov 27, 2019 6:33 am

I've always played it through DOSBox as with Exult the characters walk differently than they did back in the day when I ran this game on DOS and that put me off. To shortly summarize how I play the game with DOSBox:
  1. You can use a DOSBox front-end but I've always just configured it by hand. First, in the directory where you have Ultima 7 open a terminal and run the command ln -s $(which dosbox) dosbox to get a local launcher for dosbox.
  2. Then in your file manager just double-click that dosbox file you created and that should just run. Type the command config -writeconf dosbox.conf in the DOSBox window to save the configuration file in this directory. You can now exit.
  3. Open the dosbox.conf file to edit it. At the bottom of the file under the [dos] section you MUST set ems=false or the game won't run. Under [autoexec] it suffices to enter mount C . and C:. That makes it so when you launch DOSBox it mounts the current directory as C drive and goes there.
  4. Up higher in the configuration file under the [cpu] section you'll want to set cycles=20000 or something. Black Gate will run too fast if set to max but you can set it to max for Serpent Isle as that has a frame limiter.
  5. In the [render] section you can configure as you want. I have frameskip=0, aspect=true and scaler=none to make it look most like the original game.
  6. Finally on top in the [sdl] section you'll need to configure the resolution. I don't like playing it on fullscreen so have fullscreen=false and instead set windowresolution=1120x840 and output=opengl. You can set the windowresolution to whatever is smaller than your screen and will fit as a window (so won't overlap the panel/task bar) and is a 4:3 ratio. Output set to opengl works for me and that stretches the game's display from 320x240 to fit the window.
  7. Now just double-click the dosbox file to start DOSBox and it should use the dosbox.conf file in the same directory and you should find yourself on a C: prompt. Run install.exe once to set up sound configuration (soundblaster pro with default settings should work) and then run ultima7.com to start the game.
  8. Ctrl+F10 unlocks the mouse from the game window. Ctrl+F11 decreases emulated CPU speed. Ctrl+F12 increased emulated CPU speed.
If you have original installation medium of the games that you need to install them from it will be a bit more involved. I have the game through GOG.com and the Windows offline installer works fine on Linux, you just need innoextract tool to extract the GOG.com setup file to get the game files.

For Exult I think you don't need to edit that section of the configuration that you quoted. See here instead: http://exult.sourceforge.net/docs.php#exult_config. You need to edit the exult.cfg file and configure something like:

Code: Select all

<config>
  <disk>
    <game>
      <blackgate>
        <path>/home/alacycle/Games/Ultima7/</path>
      <blackgate>
…
It's been very long since I last tried Exult. It may have nicer music and frame limiting, paperdolling and keyring added to Black Gate like in Serpent Isle but that doesn't match my memories from back when I played the game on DOS so I always go for the DOSBox route :)
Image

Alacycle
Level 1
Level 1
Posts: 21
Joined: Sun Nov 01, 2015 6:53 pm

Re: Ultima 7 using Exult

Post by Alacycle » Wed Nov 27, 2019 9:33 pm

Hi xenopeek
I tried the dosbox method, however I kept getting illegal switch or directory doesn't exist. It was easier to use real Dos back in the day, as I remember loading the game on floppy disks. Then all I had to do was change to the Ultima directory and then type in Blackgate or Serpent to start the game.
I first used Exult on an iMac under OSX using Snow Leopard and it just installed itself with the correct paths.
For the Exult solution, do I type <path> or do I have to write the actual path in between the <******> symbols?
Also for the Exult configure file, there seems to be more than one, as the blackgate and serpent have their own configuration files.
This one seems to be the Exult one:

#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.63.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##

# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in
*posix*) set -o posix ;;
esac

fi




# PATH needs CR
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits

as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'

But that makes less sense than the one on the Exult Sourceforge documents.
I might look at getting an old Windows XP computer and buying the GOG version.
Thanks for your help anyway.

User avatar
xenopeek
Level 24
Level 24
Posts: 24203
Joined: Wed Jul 06, 2011 3:58 am
Location: The Netherlands

Re: Ultima 7 using Exult

Post by xenopeek » Thu Nov 28, 2019 1:45 am

I think I've found it. The Exult installer asks you where you have the games but that prompt may not show when installing through Software Manager or you may have skipped it. It installs the exult.cfg file in your /etc directory as such if skipped:

Code: Select all

<config>
 <disk>
  <game>
   <blackgate>
    <title>
    blackgate
    </title>
    <path>
    .
    </path>
   </blackgate>
   <serpentisle>
    <title>
    serpentisle
    </title>
    <path>
    .
    </path>
   </serpentisle>
  </game>
 </disk>
</config>
You'll just have to edit that file and replace the lines with a dot (.) with the absolute path to the games. E.g., /home/alacycle/Games/Ultima7/ and /home/alacycle/Games/Ultima7.2/ or wherever you have placed the game files. You can edit the file with this command:
xed admin:///etc/exult.cfg

Alternatively you can just uninstall Exult and then reinstall it from the terminal and get the prompt anew. To do that first install it fully with:
apt purge exult
Then reinstall with:
apt install exult

This is the prompt you should see when installing that way:
Image
Type the full path to where you have the game, press the Tab key to move to input to the Ok button and press Enter key to continue installation.
Image

Alacycle
Level 1
Level 1
Posts: 21
Joined: Sun Nov 01, 2015 6:53 pm

Re: Ultima 7 using Exult

Post by Alacycle » Mon Dec 02, 2019 2:24 am

I think that last method of using the command line to purge Exult and reinstall got me close. I edited the config file as you described.
At first I didn't get the dialogue box that asks me to enter the path, so I then used the command line purge and this time reinstalled from the package manager.
I thought it strange that after entering my password a second password box popped up so I dismissed that and underneath was a box asking for the path that didn't pop up straight away.
I entered the path and all of a sudden it started installing. It took over an hour and I thought it had hung on installation but on completion I noticed that it had installed exactly where I wanted it.
Unfortunately when I tried to launch Exult the same dialogue box popped up saying that it could not find the data file etc.

I thought that maybe a file was missing from the install so I copied everything from the Ultima Collection CD that was Blackgate related to an Ultima7 folder in the home directory. Then I did a purge and reinstall (after again editing the config file) of Exult. Again it took over an hour to install but when it finished I tried to launch it again. This time nothing happened, no dialogue box, no error message, nothing. On the one hand Exult installed where I wanted it but it still can't find Blackgate.

I remember running this game on Dos and that was easier than Dosbox or Exult, although Exult installed first attempt on my old Windows XP computer as well as my iMac that died about 3 years ago without any need to configure Exult. At this stage I'm almost ready to build an Windows XP or 98 computer up and run Ultima that way.

User avatar
xenopeek
Level 24
Level 24
Posts: 24203
Joined: Wed Jul 06, 2011 3:58 am
Location: The Netherlands

Re: Ultima 7 using Exult

Post by xenopeek » Mon Dec 02, 2019 7:53 am

For Exult you could try starting exult from the terminal, it may give some error message there perhaps as to what is wrong. Have you checked the /etc/exult.cfg file that the path there is correct to where you have the game files? I don't know how else to help on this.

Yes it takes fiddling a bit with configuration files but with above you should get it working on DOSBox at least and with correct path config it should also work in Exult I think. For DOSBox the difference is I'm using the GOG.com version of the game https://www.gog.com/game/ultima_7_complete that's already installed (officially only supports Windows and macOS but using innoextract https://constexpr.org/innoextract/#download you can extract the game files from the GOG.com offline installer and that works in DOSBox with a configuration file as I noted in my first post above).
Image

Alacycle
Level 1
Level 1
Posts: 21
Joined: Sun Nov 01, 2015 6:53 pm

Re: Ultima 7 using Exult

Post by Alacycle » Mon Dec 02, 2019 9:27 pm

Hi
I might try GOG as it seems to be the best option.

The other option is to build a Windows 98 computer to run it in DOS or an XP computer and run exult on that, as Exult seems to install well on XP as I remember.

I was thinking of building one anyway for some retro games that I have. Phil's Computer Lab on YouTube has instructions for both XP and 98 builds.

I actually have a hard drive with XP on it, but my new computer won't run XP without a lot of messing around like turning the cores off to use a single core etc.

But that's too much messing around and I would have to reset it to run my normal Linux programs.

I might try DosBox again as well.

Thanks for trying though, I appreciate your effort.

Alan

Post Reply

Return to “Gaming on Linux Mint”