VOGONS


First post, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

That's if I run it in a non Tandy environment, the moment I switch machine to Tandy the video is fluid and not seizure inducing flickering. (Tandy 3-voice is very nostalgic)

I tried machine=vgaonly and even machine=ega and it still flickers.

Cycles are fixed at 3000.

Any ideas? Or is this SUPPOSED to happen, in which case I'm a idiot for posting?

Steam Profile
YouTube Channel
Seal of Nehahra

Reply 2 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Appears to be a display timing/vsync issue. The game uses video mode 0xD for EGA and VGA, but changes the palette in VGA. With DOSBox's EGA and Tandy machine types the display is ~60Hz vertical; but with VGA machine types the display is ~70Hz vertical. I see no flicker with 60Hz displays, but maybe that's because my LCD panel refreshes at 60Hz?

FWIW, on my system, the flicker disappears using ykhwong's build with vsyncmode=host. The flicker also disappears with vsyncmode=on, vsyncrate=60 or vsyncrate=70, but I'm not sure how to correctly set the vsyncrate (host vs. emulated). However, please note that support for unofficial builds is not available on the vogons forum.

Reply 3 of 12, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

I might just try that. Also interesting to note that Wikipedia says that the requirements is a 10 MHz processor, is this really true? This game seems way to detailed for it's time to have a requirement as low as that.

Steam Profile
YouTube Channel
Seal of Nehahra

Reply 4 of 12, by Bladeforce

User metadata
Rank Member
Rank
Member

"I might just try that. Also interesting to note that Wikipedia says that the requirements is a 10 MHz processor, is this really true? This game seems way to detailed for it's time to have a requirement as low as that."

The programmers in the good old days were way more talented than todays 😉

Reply 6 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The game's requirements are modest for it's 1990 release date; but like modern games, minimum specs doesn't guarantee optimal gameplay. There is an option to use wireframes instead of filled polygons, which probably requires less processing.

BTW, cycles seems to have an effect on the level clock. At 3000 cycles the clock is running approximately twice as fast as real time. Seems strange, but don't know if it's an issue or just the way the game is programmed.

Reply 7 of 12, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Seems to require dog-slow video cards:

Real hardware test,
300MHz Celeron:
ATI Rage LT Pro: no flicker (???, possibly not IBM VGA panning compatible)
newer ET4000: flicker
Cirrus GD5422: flicker
Elsa Trio64: flicker

20MHz 286:
newer ET4000: freeze
older ET4000: flicker
older ET4000 in 8-bit slot: no flicker
Cirrus GD5422: flicker
Cirrus GD5422 in 8-bit slot: no flicker
OTI067: flicker
OTI067 in 8-bit slot: no flicker
PVGA1A (8-bit): no flicker, known to be incompatible with IBM VGA panning
82c451 (8-bit): no flicker
Videoseven "456" (16-bit): no flicker
TVGA9000 (16-bit): no flicker
TVGA8900 (16-bit): no flicker

1+1=10

Reply 9 of 12, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

Yeah the clock runs too fast when on faster processors, which makes Action mode nearly unplayable. Also movement get's very erratic which makes the platforming very tricky to perform.

What kind of display does the Tandy use? Because everytime the machine is set to Tandy I get no flicker. So I assume the Tandy has a "dog slow" video device.

I don't even own a computer with processors this slow. Oldest one in the house is a 486, forgot exactly what model and clock rate though.

Steam Profile
YouTube Channel
Seal of Nehahra

Reply 10 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

There is flicker with machine=ega in 0.74, but not in SVN. Just an observation; don't know which change is responsible.

Edit: machine=ega stopped flickering after revision 3621.

Changing the VGA_DisplayStartLatch event for MCH_VGA as it was changed for MCH_EGA stops the flickering in VGA machine types:

     case MCH_VGA:
- PIC_AddEvent(VGA_DisplayStartLatch, (float)vga.draw.delay.vrstart);
+ PIC_AddEvent(VGA_DisplayStartLatch, (float)vga.draw.delay.vrend);

It's not necessarily correct to do this; just pointing out the effect it has on this game.

Reply 11 of 12, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

The clock runs slower than real time in lower cycle counts when drawing many objects on screen at one time, and starts to get faster when nothing is on screen almost. It seems the time updates are based on how fast it can display the scene.

My flickering problem is gone now, so thanks for the pointers. I wish I had a 10 MHz machine though.

Steam Profile
YouTube Channel
Seal of Nehahra