VOGONS


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 1 of 22, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Which game? Which DOSBox build?

Reply 2 of 22, by Guest

User metadata

I'll be the first to ask, since it's better that someone asks soon..

What is the name of the game?
(try to supply enough information for people to help find a solution)

Reply 3 of 22, by Guest

User metadata

It's an Advertising Game by Kelloggs, Jump and Run Style.
The Dosbox version is 0.63; and i have windows xp.

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 6 of 22, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Indeed. It looks really odd, I will have to try it on real hardware tomorrow. The setup produces some error message at the very end, could be related.

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 8 of 22, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

uses the PEL mask, which is not implemented
vasyl: see the Quadralien thread on the beta board

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 10 of 22, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

wd: Close but still incorrect -- the water level starts too high. BTW, why is that PEL mask fix not in CVS yet?

Reply 11 of 22, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

gives speed decrease probably

Water flows down the stream
How to ask questions the smart way!

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 13 of 22, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

The last post was mine. The forum logged me out while I was typing... again 😠

Reply 14 of 22, by eL_PuSHeR

User metadata
Rank l33t++
Rank
l33t++

Your browser might be having some problems with cookies. 😕

Intel i7 5960X
Gigabye GA-X99-Gaming 5
8 GB DDR4 (2100)
8 GB GeForce GTX 1070 G1 Gaming (Gigabyte)

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 16 of 22, by Guest

User metadata

Ah, sounds like you have a solution. Unfortunately i do not understand it 🙄

Could you explain how i can fix it on my computer?

Thanks

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.

Reply 19 of 22, by augnober

User metadata
Rank Member
Rank
Member

wd:

Your fix sounds interesting. I can't find any references to Quadralien in other threads on Vogons -- Where can I find the beta board?