VOGONS


First post, by FeedingDragon

User metadata
Rank Oldbie
Rank
Oldbie

During the opening sequence of Ultima VII there is a sequence where the screen is filled with snow (video white noise.) Normally this is mostly white with dancing black bits. If I run it natively with either U7XP or U7Win (on my Windows 98 maching,) or even off of a boot disk, this displays correctly. In DOSBox though, it is reversed. It becomes a mostly black screen with floating white bits. Is this something that DOSBox might be fixing in the futre (or that I could maybe fix by changing the display type?) Config file attached.

System:
P4 Dual Core 2.40 Ghz.
ATI Radeon HD 4650
Creative Labs X-Fi Extreme
3 Gig Ram
Windows XP SP3

Attachments

  • Filename
    Ultima7a.conf
    File size
    10.11 KiB
    Downloads
    126 downloads
    File license
    Fair use/fair dealing exception

Feeding Dragon

Reply 1 of 13, by R153nm

User metadata
Rank Newbie
Rank
Newbie

I would suggest switching from DirectDraw to surface output and see if that fixes it.

Slightly OT: But is there any reason not to use Exult to run Ultima VII? Exult will allow you to play it like a Windows native game with next to no configuration needed. And keep it graphically original or pretty it up if you are into that.

Reply 2 of 13, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

As I recall, Exult is not quite complete; there is some data (such as party formations) in the original U7 executable that Exult does not access.

But then, it was many years ago that I spoke to someone about that, so maybe things have changed.

Reply 3 of 13, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Party formation has been fixed many years ago 😉

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 4 of 13, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The "snow" (i.e. static, or white noise) effect can vary from system to system because it's based on bit 0 of bytes in the BIOS ROM. It produces mostly black in DOSBox because there are mostly zero bytes in the emulated ROM. There is a workaround here that changes the effect to use the bytes in the game code, so the effect is more snowy. It also improves the screen-shaking earthquake effect in the addon.

Reply 5 of 13, by FeedingDragon

User metadata
Rank Oldbie
Rank
Oldbie

The main reason I don't use Exult is purely aesthetics. They cannot get the timing sincs down (and when I asked about it they said they probably never would,) for the Guardian's speech. I also prefer to play games in as close to the original environment as I can. If I had it my way I would be playing U7 on a 486 system with DOS and fancy footwork on the bootup. I would also play U2 on a 286 or 8088, etc...

I'm going to try that patch, TSR, or whatever out and see if that works for me 😀 Thanks. The way they generated the snow actually makes a little sense, and explains the problem. About the only way DOSBox could fix something like that would be to set up a random generator for the BIOS contents, or maybe clone a real BIOS, maybe even allow the user to supply BIOS values in a file or something. Not something I see any real need for, though.

Feeding Dragon

Reply 6 of 13, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

I also don't like using Exult. What kills me is that people have developed script patches fixing bugs in Black Gate and Serpent Isle that only work on Exult, not the original game. I wonder if there's any way of modifying those patches to work with the original game?

Reply 7 of 13, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

No. Thos mods can only be used with Exult for several reasons:
- it's additional usecode (the u7 scripting language) and u7 doesn't allow loading additional usecode
- we extended the usecode language to make our stuff work. The original can't understand that
- it's not only additional usecode but additional graphics abd other modifications that the original can't loa

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 8 of 13, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

The main reason I don't use Exult is purely aesthetics. They cannot get the timing sincs down (and when I asked about it they said they probably never would,) for the Guardian's speech.

to each their own, but the intro is something that you only watch once. When I need to play the original to compare things I miss all the great exult stuff right away 😉

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 9 of 13, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

-it's additional usecode (the u7 scripting language) and u7 doesn't allow loading additional usecode

- - it's not only additional usecode but additional graphics abd other modifications that the original can't load

Well, that would be easy to change --- with their format known, just reassemble the STATIC\USECODE and STATIC\SHAPES.VGA to incorporate the new scripts and graphics instead of having the game load from additional files. Also, just keeping the usecode bug fixes without the other enhancements should not require additional graphics, should it ?

Dominus wrote:

- we extended the usecode language to make our stuff work. The original can't understand that

That's probably the only real issue, though I can't judge how severe it is, given I don't know the scope of the extensions, and if they were an absolute necessity or more a matter of convenience for the mod authors, and hence the mods could be adapted to run without the language extensions.

Reply 10 of 13, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

The language extensions are needed to make things work not (only) to write it easier.
And for the graphics, I'm not sure how much of the graphics handling is hardcoded in the exe. If it only is able to handle x shapes it'll probably crash at x+1 shapes.

But nothing is stopping you, the fixes are freely available and the tools for making usecode out of it as well.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 11 of 13, by FeedingDragon

User metadata
Rank Oldbie
Rank
Oldbie

Well, the u7fx.zip file fixed the snow problem just great 😀 Is Ultima 7 the only game that uses the BIOS to get random numbers & such? If not, it may not be such a bad thing to fill the emulated BIOS with random numbers as an option in DOSBox. Just a thought 😀

I do, occasionally enjoy playing around with engine replacements such as Exult, Pentagram, Exu4 (not sure if that's right but its Exult for u4,) etc.... But when I play a game I prefer to do so in as close to the original environment as possable. I don't like graphics enhancement or such. I make an exception for game killing bugs and such that were never patched out. Yes, U2 & U3 are really blurry in composite CGA mode, and really ugly in regular CGA mode, but it preserves the original "vision" of the creators. U4 & U5 I also make an exception for the music patches, since I originally played them on the C64 (& C128) and really miss the music. I just wish I could get the music only patch for U4 to play at a decent speed while maintaining the PC Speaker sounds (U5 only has a music patch and plays just fine at speed.) Also, the music patch for U3 only comes with the graphics patch (though you can set it to composite cga mode,) but cannot be played at speed.

p.s. Is there something wrong with my browser? but when my typing gets past the bottom of the little window, it stops scrolling correctly. Every letter I type flashes the window to the bottom, then imedieately resets the scroll bar to the top again 🙁

Feeding Dragon

Reply 12 of 13, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

My crystal ball says that your browser is bad. Of course I don't know which you use but early ios6 betas with mobile safari behaved similar.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 13 of 13, by TeaRex

User metadata
Rank Member
Rank
Member

Here's a patch that fills the unused BIOS areas with random numbers:

--- src/hardware/memory.cpp	(revision 3798)
+++ src/hardware/memory.cpp (working copy)
@@ -24,6 +24,7 @@
#include "paging.h"
#include "regs.h"

+#include <stdlib.h>
#include <string.h>

#define PAGES_IN_BLOCK ((1024*1024)/MEM_PAGE_SIZE)
@@ -543,7 +544,7 @@
IO_WriteHandleObject WriteHandler;
public:
MEMORY(Section* configuration):Module_base(configuration){
- Bitu i;
+ Bitu i, j;
Section_prop * section=static_cast<Section_prop *>(configuration);

/* Setup the Physical Page Links */
@@ -575,15 +576,24 @@
/* Setup rom at 0xc0000-0xc8000 */
for (i=0xc0;i<0xc8;i++) {
memory.phandlers[i] = &rom_page_handler;
+ for (j=i*4096;j<(i+1)*4096;j++) {
+ MemBase[j] = rand() & 0xFF;
+ }
}
/* Setup rom at 0xf0000-0x100000 */
for (i=0xf0;i<0x100;i++) {
memory.phandlers[i] = &rom_page_handler;
+ for (j=i*4096;j<(i+1)*4096;j++) {
+ MemBase[j] = rand() & 0xFF;
+ }
}
if (machine==MCH_PCJR) {
/* Setup cartridge rom at 0xe0000-0xf0000 */
for (i=0xe0;i<0xf0;i++) {
memory.phandlers[i] = &rom_page_handler;
+ for (j=i*4096;j<(i+1)*4096;j++) {
+ MemBase[j] = rand() & 0xFF;
+ }
}
}
/* Reset some links */

tearex