It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Anyone played Ultima 3 on the actual machine it was intended for? Does it really only give you 8 seconds before it automatically passes your turn? I've played Ultima V on my Tandy 1000sx in the late 80's and I seem to remember it giving you a lot more than 8 seconds to take your turn, something like 15 to 30.
No posts in this topic were marked as the solution yet. If you can help, add your reply
avatar
Mystroe: Anyone played Ultima 3 on the actual machine it was intended for? Does it really only give you 8 seconds before it automatically passes your turn? I've played Ultima V on my Tandy 1000sx in the late 80's and I seem to remember it giving you a lot more than 8 seconds to take your turn, something like 15 to 30.
The GOG version is set to 300 cycles. You can adjust the cycles in-game with Ctrl+F11 and Ctrl+F12; to set cycles permanently (or more precisely) you can edit dosboxULTIMA3.conf in the installation folder (on OS X this file is inside the app package).
avatar
Mystroe: Anyone played Ultima 3 on the actual machine it was intended for? Does it really only give you 8 seconds before it automatically passes your turn? I've played Ultima V on my Tandy 1000sx in the late 80's and I seem to remember it giving you a lot more than 8 seconds to take your turn, something like 15 to 30.
avatar
Arkose: The GOG version is set to 300 cycles. You can adjust the cycles in-game with Ctrl+F11 and Ctrl+F12; to set cycles permanently (or more precisely) you can edit dosboxULTIMA3.conf in the installation folder (on OS X this file is inside the app package).
Yes, I've already tried that. The only time i get more than 8 seconds is when it is set so low that the game is practically stopped and unplayable. I can set the cycles higher and higher and still get 8 seconds, the time doesn't get any less.
avatar
Mystroe: Yes, I've already tried that. The only time i get more than 8 seconds is when it is set so low that the game is practically stopped and unplayable. I can set the cycles higher and higher and still get 8 seconds, the time doesn't get any less.
In that case you could try adjusting the DOSBox CPU and/or system type to get a weaker system (DOSBox provides a very capable system by default).
avatar
Mystroe: Yes, I've already tried that. The only time i get more than 8 seconds is when it is set so low that the game is practically stopped and unplayable. I can set the cycles higher and higher and still get 8 seconds, the time doesn't get any less.
avatar
Arkose: In that case you could try adjusting the DOSBox CPU and/or system type to get a weaker system (DOSBox provides a very capable system by default).
Is there a list of systems and CPU's available to DOSBox? Looking at the config file 386_slow seems to be the slowest one there. Is there more available than listed in the config file? I tried 8088 for the heck of it and it didn't seem to make a difference.
avatar
Mystroe: Is there a list of systems and CPU's available to DOSBox? ...
Yes, there is. Here's the complete description of DOSBox' config file:
http://www.dosbox.com/wiki/Dosbox.conf

You could try setting core=normal in dosboxULTIMA3.conf

If you just need some time to think, you can always pause the emulation by pressing Alt+Pause.
Post edited September 02, 2014 by DeMignon
avatar
Mystroe: Anyone played Ultima 3 on the actual machine it was intended for? Does it really only give you 8 seconds before it automatically passes your turn? I've played Ultima V on my Tandy 1000sx in the late 80's and I seem to remember it giving you a lot more than 8 seconds to take your turn, something like 15 to 30.
Looking at the assembly code it actually waits 5 seconds (and I just tested this in dosbox). If you or anyone is interested you can see this the disassembled exodus.ult code at offsets 0x1b82-0x1ba1. Five seconds are added to the current time at 0x1b88 then the game loops until the system time equals the calculated time.

http://sourceforge.net/p/ultima-exodus/code/ci/default/tree/doc/u3tech/exodus.doc

So yes it looks like U3 was written that way. I also distinctly remember Ultima 5 having a longer wait time.
avatar
mcmagi: So yes it looks like U3 was written that way. I also distinctly remember Ultima 5 having a longer wait time.
DOSBox is not a perfect simulation of a DOS-era system so there may be some behaviour differences compared to real hardware. Games often had noticeable differences between platforms so if you played Ultima 5 on some non-DOS platform that could also explain the difference from what you recall.
avatar
mcmagi: So yes it looks like U3 was written that way. I also distinctly remember Ultima 5 having a longer wait time.
avatar
Arkose: DOSBox is not a perfect simulation of a DOS-era system so there may be some behaviour differences compared to real hardware. Games often had noticeable differences between platforms so if you played Ultima 5 on some non-DOS platform that could also explain the difference from what you recall.
Sorry, I meant longer wait time than U3 (echoing the OP's sentiment). Not longer than real hardware. I realize that probably wasn't clear.
avatar
Mystroe: Anyone played Ultima 3 on the actual machine it was intended for? Does it really only give you 8 seconds before it automatically passes your turn? I've played Ultima V on my Tandy 1000sx in the late 80's and I seem to remember it giving you a lot more than 8 seconds to take your turn, something like 15 to 30.
avatar
mcmagi: Looking at the assembly code it actually waits 5 seconds (and I just tested this in dosbox). If you or anyone is interested you can see this the disassembled exodus.ult code at offsets 0x1b82-0x1ba1. Five seconds are added to the current time at 0x1b88 then the game loops until the system time equals the calculated time.

http://sourceforge.net/p/ultima-exodus/code/ci/default/tree/doc/u3tech/exodus.doc

So yes it looks like U3 was written that way. I also distinctly remember Ultima 5 having a longer wait time.
So then it is supposed to give you only 5 seconds, ok, I understand. So the only way go get more time to make a decision is to change the code (which I don't know how or have the tools) or to make use of the pause button. Thanks guys for all the help.
Post edited September 04, 2014 by Mystroe
How easy would it be to modify the code to give me say 15 seconds instead of 5? Would it be something someone could walk me through? Anyone willing? It's just that I'm getting older and don't think quite as fast as i used to.
avatar
Mystroe: Anyone played Ultima 3 on the actual machine it was intended for? Does it really only give you 8 seconds before it automatically passes your turn? I've played Ultima V on my Tandy 1000sx in the late 80's and I seem to remember it giving you a lot more than 8 seconds to take your turn, something like 15 to 30.
avatar
mcmagi: Looking at the assembly code it actually waits 5 seconds (and I just tested this in dosbox). If you or anyone is interested you can see this the disassembled exodus.ult code at offsets 0x1b82-0x1ba1. Five seconds are added to the current time at 0x1b88 then the game loops until the system time equals the calculated time.

http://sourceforge.net/p/ultima-exodus/code/ci/default/tree/doc/u3tech/exodus.doc

So yes it looks like U3 was written that way. I also distinctly remember Ultima 5 having a longer wait time.
So is there any way I can modify this to something like 10 or 20 seconds? How could I do it?
avatar
mcmagi: Looking at the assembly code it actually waits 5 seconds (and I just tested this in dosbox). If you or anyone is interested you can see this the disassembled exodus.ult code at offsets 0x1b82-0x1ba1. Five seconds are added to the current time at 0x1b88 then the game loops until the system time equals the calculated time.

http://sourceforge.net/p/ultima-exodus/code/ci/default/tree/doc/u3tech/exodus.doc

So yes it looks like U3 was written that way. I also distinctly remember Ultima 5 having a longer wait time.
avatar
Mystroe: So is there any way I can modify this to something like 10 or 20 seconds? How could I do it?
If you open the file with a hex editor and find the right offset, you can change it. Make sure that you back up the file first!

It might help to have some knowledge of x86 assembly, especially if you want to make other changes, and to have an instruction set reference and/or (dis-)assembler handy.