VOGONS

Common searches


The game ist blue!

Topic actions

First post, by Hans

User metadata

Hello:
I tried to run a dos-game with dosbox, everything runs fine, but i have a strage graphics problem: the screen is like a blue film laying over it i can see things but coloured a little blue.
in the menu everything's right, but on the "playing screen" theres this blue.

Can u help me? (Sorry for my bad english)

Reply 4 of 22, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

I don't have this game. In fact, I had no idea that such game ever existed. Is it commercial or freeware (being advertisement, it is likely to be free)? If it is free, can you provide a link to it?

Reply 7 of 22, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Cannot test it on the real hardware. It crashes with runtime error 200 (isn't that Turbo Pascal issue on fast systems?) The installer produces the same error at the end:
"Datei nicht gefunden
a critical error (2) has occured while opening"

EDIT: Yes, it was Turbo Pascal issue, found a patcher. The game works fine on the real hardware... I even figured out where the blue came from. There is water level that starts about 1/4 from the bottom of the game screen. It looks like it is done by palette change in the middle of the frame -- it fluctuates a few pixels up and down all the time but that's just what you would expect from water. Neat trick! Things like that were done all the time on other platforms (very common trick on Atari 800) but I have not seen it on PC. It's not going to be easy to fix.

Reply 9 of 22, by Kippesoep

User metadata
Rank Oldbie
Rank
Oldbie

The same palette trick is also used in the really old Frogger version. It switches the background to blue to make the river blue. This flickers wildly in DOSBox.

My site: Ramblings on mostly tech stuff.

Reply 12 of 22, by Guest

User metadata

Nothing that Kronuz's patch cannot compensate for 😉
I did a little digging and got some extra information, bad news, actually. When I tried PEL mask fix together with my patch to VGA_PARTS I got no water at all. Looking at what happens when VGA_PART is not 1, it is quite clear that the game does some timing and flips the mask in the middle of the frame. The only way to get it working with current implementation would be to set VGA_PART to the number of scan lines, not a good idea performance-wise... Well, I've tried anyways. It works, kind of. To make this game really working I had to change line

vga.draw.delay.parts=(linetime*vdispend)/vga.draw.parts_total;

in vga_draw.cpp to

vga.draw.delay.parts=(linetime*vdispend)/vga.draw.parts_total/2;

(I tried it with CVS+VGA_PARTS patch, VGA_PARTS=200, but it should work in raw CVS as well) Of course, this breaks King's Quest 6 intro which VGA_PARTS patch fixes 🙁 All of this brings one question which is much wider than the topic of this thread: This is not the first time when we encounter game that can be made working only by sacrificing performance or functionality somewhere else. Why don't we do this -- implement it in parallel with the main implementation and enable runtime code through config file only? Essentially, I am suggesting a section in config file that looks like this:

[compatibility]
King's Quest 6=false
Tony and Friends in Kellogg's Land=true

This is advanced functionality and 99% of users don't even need to know about it but it would make fixing issues like the one discussed much easier. Later, if we find a generic solution, an entry in "compatibility" section can be deprecated. I know, some people will object that it would cause implementation fragmentation but, really, we don't have that many actively working developers, not that many issues like this, and not that major code differences for compatibility to make it a real problem.

Reply 15 of 22, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

No, I think this is by design. Unless I check "stay logged in" (which I don't like for other reasons) I get logged out after something like five minutes of "forum inactivity." Some forums allow guest postings. So, I write long post, go to the kitchen to get cup of coffee, or do some hacking in compiler, then hit "submit" -- and voila, another anonymous post. On those forums that don't allow it I get a warning instead.

Reply 17 of 22, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

You can't. This is developer talk, they are still discussing how to fix this correctly. Just sit back and wait until someone says something like "This is in CVS now", and then get the lates CVS build.

Reply 18 of 22, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

> wd: Close but still incorrect

I just wanted to state that they achieve the effect you described
(water level) NOT by the usual pal changing, but through the
PEL mask register.
As mentioned in the Quadralien thread, the fix is not really
good, and as Qbix said has an impact on speed in general,
which is quite bad. Most sources have the usefull information
"pel mask should be 0xff always", nothing more bte.

I have a different fix that does not affect speed, but it does not
work with 8bit gfx modes. Moreover it doesn't fix the problem
of the Kellogs game alone.