VOGONS


Reply 13 of 25, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Loading some VGA BIOS with a debug build improves the shaking effect, so I tried adding a fixed number of cycles to the scroll functions by waiting in a loop. It does improve the bouncing of the screen, but doesn't work very well, and appears to depend on how many cycles DOSBox is running at compared to how many are consumed by the wait loop. What I usually see is random horizontal bands of the screen moving.

Another approach with vertical retrace turned out much better. The entire screen bounces up and down with little of the "tearing" seen in the other approach, and it's independent of how many cycles DOSBox is running at. I don't know if any video BIOS checks for retrace in its scroll functions, but it could improve the effect on real hardware as well.

I made a small loader program that waits for retrace before the scroll functions are called; and also patches INTRO.EXE in memory to use its code segment instead of the system BIOS segment for the white noise effect, which creates a more "snowy" result in DOSBox. Simply run the program in the folder where U7 is installed. Source code is included in the attached archive.

Attachments

  • Filename
    u7fx.zip
    File size
    1.12 KiB
    Downloads
    840 downloads
    File license
    Fair use/fair dealing exception

Reply 15 of 25, by Zósite K. S.

User metadata
Rank Newbie
Rank
Newbie

Outstanding!! Ripsaw8080, I just have no words to thank you for this splendid little fix. Now if only it could be implemented into the DOSBox main code somehow.

AFAIK, in order to run Ultima VII "by the book" with DOSBox only THIS issue remains unsolved.

RSV/VA Zósite Kónstyte Styles/M/FRG Phoenix

Reply 16 of 25, by keropi

User metadata
Rank l33t++
Rank
l33t++

while searching the web-archive for moslo deluxe documentation (yeah I have it registered but the private area is not working!!!!) I found this Ultima 7 fix in their site 😳

Qfix allows the Ultima VII computer game to be run with Riva 128 video boards. The vertical earthquake display effect is replaced by a lateral movement (consistent with slippage on a strike-slip fault instead of a thrust fault).

Qfix is a TSR (terminate-and-stay-resident) program. When run it remains in memory until your computer is rebooted (or in the case of a Windows DOS box, until the box is closed). Qfix does not alter any files or system settings. While resident, Qfix occupies approximately 600 bytes of RAM.

You can run Qfix.com at the DOS command line prior to running Ultima7.com or you can add a line to load it in your autoexec.bat file. It will work with any VGA-compatible display board. It affects only vertical scroll only in 320 x 200 x 256-color graphics mode.

it states riva128 cards, but it maybe also usefull in dosbox... haven't tried it (and I can't imagine doing it soon) but here it is 😁

Attachments

  • Filename
    qfix.zip
    File size
    1.96 KiB
    Downloads
    421 downloads
    File license
    Fair use/fair dealing exception

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 17 of 25, by TeaRex

User metadata
Rank Member
Rank
Member

IIRC, Qfix just reroutes the INT10 call of the vertical scrolling routine (which was broken in the Riva 128 BIOS) to the horizontal scrolling routine. Since both routines are implemented in too-fast native code in DOSBox, I doubt that it would help.

tearex

Reply 18 of 25, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I don't think there ever was a video bios that had horizontal scroll routines; it would have been non-standard. That TSR pushes the pixels around in video memory by itself. It's similar in some ways to loading a video bios in DOSBox, where the "too-fast" internal code is no longer being used, and you get a lot of shearing on the screen.

Reply 19 of 25, by ADDiCT

User metadata
Rank Oldbie
Rank
Oldbie

Sorry for posting slightly OT, but I had this on my mind for a while now: ripsaw8080, do you think it'd make sense to collect all your "custom game fixes" into one thread, or pack them all together and offer the archive in a dedicated thread? Or create a thread with links to the others? You know, like some kind of inventory/directory. I'd hate playing a game and finding out afterwards that there's a fix for a problem I didn't really notice (though the Ultimas are quite low on my "must play" list I have to admit, UUW is placed a bit better) (; .

Reply 20 of 25, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

@ADDiCT: I think a "collected" thread would still need enough keywords for a search to turn it up, which is more-or-less already taken care of with the "scattered" threads. I should probably set up a hosted page somewhere, and could then include some unposted stuff as well.

Reply 21 of 25, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

resurrecting this, sorry, but could this be added in anyway to the main Dosbox? I totally forgot that there exists a ripsaw-to-the-rescue-fix-file and nagged elsewhere that this is still not working in dosbox... 😀

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 23 of 25, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

No, there is no earthquake in SI and no static/snowy thing in the intro

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 24 of 25, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Ripsaw, I noticed that your fix introduces a very annoying noise in the intro of Ultima 7 when you've set the sound card to SB or SB Pro in the installation.
Dosbox SB settings at default, cycles 11000, ems false, xms true, in the installer chose Soundblaster or Soundblaster Pro, start u7fx, watch the intro. For best result, turn off music and sound effects in game. With music enabled the noise is not present but the music is sounding a little bit off.

(SVN seems to have messed up SB in Ultima 7, though. Will need to see if I can find the culprit! Edit: culprit is me, did something on compile time, that messes Dosbox up)

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 25 of 25, by rolloLG

User metadata
Rank Member
Rank
Member
ripsaw8080 wrote:

I made a small loader program that waits for retrace before the scroll functions are called; and also patches INTRO.EXE in memory to use its code segment instead of the system BIOS segment for the white noise effect, which creates a more "snowy" result in DOSBox. Simply run the program in the folder where U7 is installed. Source code is included in the attached archive.

Again, thank you!