VOGONS


Keen 4-5-6 choppy scrolling on EGA card

Topic actions

  • This topic is locked. You cannot reply or edit posts.

Reply 22 of 68, by keropi

User metadata
Rank l33t++
Rank
l33t++

Keen4 and 5 seem to work OK, my *special* Keen6_1.5 version did not work as expected (unrecognized version error)
Massive improvement K1n9_Duk3 , it makes the games playable! Thanks again!

Last edited by keropi on 2017-06-13, 22:22. Edited 1 time in total.

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

Reply 23 of 68, by K1n9_Duk3

User metadata
Rank Member
Rank
Member
keropi wrote:

my Keen6_1.5 did not work as expected (unrecognized version error) - I will locate v1.4

Keen 6 v1.4 won't work with my patch script. You have a modified and re-compressed version of Keen6.exe, that's the problem. Unpacking the executable with UNP will fix that. I just tested it and the patch appears to work for Keen6 v1.5.

You can find UNP included in the download of my level viewer for Keen 4-6.

Reply 24 of 68, by CkRtech

User metadata
Rank Oldbie
Rank
Oldbie

keropi and K1n9_Duk3 -

So happy you guys had this conversation.

Keropi - I am sad but also happy that you had this problem. I had no idea that there was older scrolling logic in the special demo version that would also be compatible with the Matrox cards. In addition to the demo running smoothly on my original Mystique, K1n9_Duk3's patch worked perfectly on Keen5 (1.4).

I have several other Matrox cards that I could try out, but I see no reason why they wouldn't also work.

Thanks again for the patch, K1n9_Duk3.

Displaced Gamers (YouTube) - DOS Gaming Aspect Ratio - 320x200 || The History of 240p || Dithering on the Sega Genesis with Composite Video

Reply 25 of 68, by keropi

User metadata
Rank l33t++
Rank
l33t++

@ K1n9_Duk3

yes! now all 3 games work fine and smoothly, thanks once more mate! 5v3dbs.jpg

@CkRtech
awesome! glad to see K1n9_Duk3's patches also help other cards - the more people happy the better 😁

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

Reply 27 of 68, by K1n9_Duk3

User metadata
Rank Member
Rank
Member

I'm willing to help if I can, but I'll need more information.

  • Can you name any smooth-scrolling EGA/VGA games that work correctly with your card? (like Keen 1-3, Keen 4-6, Keen Dreams, BioMenace, Monster Bash, Realms of Chaos)
  • Do other EGA games/modes work correctly? (Duke Nukem 1, Cosmo's Cosmic Adventure, Word Rescue, Math Rescue, Jill of the Jungle)
  • Are Crystal Caves and Secret Agent never showing any graphics, not even the Apogee logo and title screens?

I'm not sure if I'll be able to help you with CC and SA, since their executables haven't been analyzed as thoroughly as Keen's, but I'll try.

Reply 29 of 68, by K1n9_Duk3

User metadata
Rank Member
Rank
Member
dr.zeissler wrote:

Smooth scrolling, no issues: Ddave

Are you talking about the original Dangerous Dave for PC? Because, for all I know, it doesn't actually do smooth scrolling. It just scrolls the screen when you move too close to the edge of the screen and neither the player nor the enemies can move while the screen is scrolling. Dangerous Dave In Copyright Infringement was the first (Dave-) game to feature smooth scrolling EGA graphics.

If you haven't already, please try BioMenace and Keen Dreams, since these use basically the same engine as Keen 4-6, but with slightly different screen refresh code.

Also, please play a bit of any of the Keen 4-6 games (with scorebox enabled) and try to get the screen to scroll just a few pixels (by slowly pogoing left/right). If the screen scrolls in multiples of 8 pixels and the scorebox doesn't stay at the same position on screen, then your card doesn't support panning, which is the most basic requirement to get any of the Keen games to scroll smoothly in the first place. If your screen displays a black (or half-black) image every other frame after scrolling a bit to the left or up, then your card is unable to display memory that wraps around at the end of the video RAM. Enabling the SVGA compatibility mode will fix that in Keen 4-6. (Keens 1-3 never try to display these memory regions, so they don't have/need that compatibility mode.)

Getting no picture at all in Secret Agent and Crystal Caves is still a mystery to me. I know that these games use a "split screen" feature of the EGA hardware to display the status bar at the bottom of the in-game screen. If you have a weird non-standard EGA card that doesn't support this feature, this might cause the black screen. On the other hand, the game also changes the palette to create a fade in/fade out effect. If your card doesn't support the way the game tries to change the palette, this also might let you end up with a black screen. But that's unlikely, since the palette isn't set to black by default. Duke Nukem 1 and Cosmo's Cosmic Adventure use basically the same fade in/fade out routines as Crystal Caves and Secret Agent, so you can check if these games work correctly to rule out palette issues.

Can you hear the sound effects for the Apogee screen when you start up Crystal Caves and Secret Agent?

Reply 30 of 68, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Ok, thx, then we do think different about smooth scrolling.
It's true that DDave3/4 scrolls the screen and when it does the enemys don't move, but it's really smooth.

Biomance works but the vertical scrolling is not smooth at all, on none of my machines, it's ugly choppy. What is smooth is the horizontal scrolling while climbing up ladders e.g.
On the G100A it's OK, but not 100% smooth.

In comparison, Biomenace has some micro-stutters on horizontal scrolling, but Keen has flickering parts all over the screen.
No picture at all for CCaves and SAgent is not completly true. I get a gray vertical line and the sounds are there. If I press esc I get more lines. They are moving from left to the middle of the screen.

I will play a bit more with these games and test out what you wrote above.

Retro-Gamer 😀 ...on different machines

Reply 32 of 68, by K1n9_Duk3

User metadata
Rank Member
Rank
Member

@dr.zeissler:
BioMenace can be pretty slow sometimes. The slowest system I have for testing is a 486 SX 25, so I have no idea what the performance might be on slower systems. From my experience with DOSBox at 3000 cycles, the game runs a lot better when you turn the scorebox off. Use the menu or press BACKSPACE in the game to toggle the scorebox. On a related note, speed in Keen 4-6 might also benefit a little from turning the scorebox off, but not as much as BioMenace since the score box in Keen is smaller than the scorebox in BioMenace.

I just noticed that some versions of Keen 4-6 (like Keen 4 v1.4) can be run with a "/NOPAN" parameter. This disables the panning, so the screen will only scroll in multiples of 8 pixels (the Keen sprite will also move in multiples of 8 pixels to the left or right, which feels really weird when playing the game like this). You can try using that, maybe it will get rid of some of the flickering.

Dave 3 & 4 use basically the same engine as Keen Dreams, Keen 4-6 and BioMencace, so they can do smooth scrolling. If these work correctly on your system(s), there is a good chance that at least Keen 4-6 can be patched to work as well. The original Dangerous Dave can't do smooth scrolling, but it may scroll just fast enough so you won't notice that the gameplay freezes while the screen scrolls.

@TheGouldFish:
You're welcome.

Reply 33 of 68, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

One other thing is, that my Cel-300 is a bit fast so I need to "throttle" it down, if I want to hear SB/Adlib in some games.
So there is another "interference factor" for having smooth scrolling. So I will check out other possible options for that.

My:

- PM7300 (with PPC/G3-Upgrade) has the P-166 Card with ATI-Mach64 and SB onboard,
- PM6100 has the 486/dx2/66 PC Card. I think there is ATI mach too.
- Q700 can be suited with either 486 or 386 Nubus PC-Cards (don't know the GFX-Chip jet)
- A2000 currently has the 286/8 but my 386/sx upgraded to 486/50 will arrive soon. Currently suited with Diamond VGA (ET4000 256color/max)
- MegaSTE has a Vortex386sx option. Don't know what GFX are emulated and how fast these are.

Beside that I have plenty of PC ISA/PCI GFX-Cards (200+) and 386/486/Pentium1/2/3/4 systems mostly from FSC in my storage.
So the question would be: What GFX-Cards is "the real deal" for having less trouble with older PC-Dos games that are capable of real smooth scrolling if the right hardware is used?

If I build the real dos-machine (no win9x+ hybrind) what should I consider to use for the gfx-card?
The target system should be 386/486, perhaps the 486/66 is one of the best options.

Greeting
Doc

Retro-Gamer 😀 ...on different machines

Reply 34 of 68, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

I did some further testing on my A2000 with A2286/8 and Diamond Speedstar VGA.

- Ddave shows ugly strange textmode-characters when jumping.
- Keen4 demo the same when jumping.
- with activated "vga-compatibility" for Keen (ddave has no option like that) the weired chracters are gone. Performance is still not smooth.
- setting the diamond card to EGA mode (vmode ega), I get a smaller picture on tft with bigger borders, but the performance is not so good as in vga-mode.
- the wired/strange flickering characters are alway there, regardless if the et4000 is set to vga or ega mode.

so a highly recommendet et4k seems not to be the best solution for stutterfree/errorfree gameplay of old ega/vga titles that supposed to have real smooth scrolling (like the c64 and 68k machines had). Beside that, the 286/8 could be a little to low end for the old apogee-titles, but as I said above, the 386/486 board is coming 😀

Doc

Retro-Gamer 😀 ...on different machines

Reply 35 of 68, by derSammler

User metadata
Rank l33t
Rank
l33t
dr.zeissler wrote:

so a highly recommendet et4k seems not to be the best solution for stutterfree/errorfree gameplay of old ega/vga titles that supposed to have real smooth scrolling (like the c64 and 68k machines had).

That's because an ET4000 is completely wasted when paired with a 286/8. You could also just use a Trident TVGA9000, which will not be any slower, since the bus throughput of a 286 is very limited.

Apart from that, EGA on a VGA cards is never as fast as with a true EGA card.

Reply 36 of 68, by keropi

User metadata
Rank l33t++
Rank
l33t++

Et4000 cards do have issues with games, Keen4 is one of them - the PC speed does not matter it's just the way these cards work.
In my tests I found that a vga card playing ega games is faster than even a high end ega card like the ati ega wonder 800 - and I tested with a slooow dual ega/vga card... Maybe it's a per case scenario or something

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

Reply 38 of 68, by K1n9_Duk3

User metadata
Rank Member
Rank
Member
dr.zeissler wrote:

Ddave shows ugly strange textmode-characters when jumping.

Please stop using ambiguous abbreviations like that and just type the actual name of the game. Making me guess which game(s) you're talking about doesn't help anybody. There are four Dangerous Dave games for PC (five if you include the "Copyright Infringement" demo) and only two of them (Dave 3 and Dave 4) use the same graphic routines.

After reading the most recent posts above, I think I should mention that I don't understand half of the stuff you wrote. English isn't my first language and I'm probably not old or obsessed enough to know what "A2286/8" or "Q700" mean. Again, making me guess what you're talking about doesn't help.

I don't know anything about old EGA or VGA cards, I just know a bit about programing and assembly language. That's why I asked if you could name any games that can perform smooth scrolling correctly on your system. If you can't find a game that works correctly, then you're probably dealing with a hardware issue. Maybe some systems are too fast or too slow for the scrolling to work correctly. And when you're dealing with "ancient" hardware, there is also a chance that parts of the hardware have become faulty and that's why the games don't work correctly.

From what I've seen so far in the game's executables, there must have been some problems with the scrolling even back when Keen 4-6 were created. I found three different ways to handle timing for the panning just by looking at different versions of Keen 4. The source codes for Keen Dreams and Catacomb 3D contain a comment about someone's graphics card not accepting port output via word values (2 bytes at the same time). BioMenace still uses word-output, but all versions of Keen 4 that I've seen use byte-output, so the code must have been rewritten at some point to write each byte separately. Crystal Caves also uses word-output, but with yet another way (actually 2 other ways) to handle the timing.

My idea was to look at the code that works correctly on your system and then patch that code into the other games to make them work as well. If you can't find a game that works, then I can't help you.

Just to be clear: Jill of the Jungle, Duke Nukem 1, Cosmo's Cosmic Adventure, Word Rescue, Math Rescue, Dangerous Dave 1 (and many more) don't qualify. These games "scroll" the screen in multiples of 8 pixels, which doesn't require the panning feature at all. Games that do use panning are the entire Commander Keen series, Dangerous Dave 2-4, Rescue Rover 1+2, Crystal Caves, Secret Agent, BioMenace, Monster Bash, and Realms of Chaos. Yes, Realms of Chaos is a VGA game, but it still uses the panning feature to perform pixel-perfect scrolling.

Since the black screen issues with Crystal Caves and Secret Agent don't seem to appear in any other game, I have prepared a quick test for you. I found out that Crystal Caves switches to mode 10h (that's 640x350 pixels @ 16 colors) at startup, but the actual game runs in mode 0Dh (320x200 @ 16 colors). Maybe the change to mode 10h is what causes the black screen on your system. If it's not, then there's probably nothing else I can do about it (unless the original source code is released). I have hacked the executable for episode 1 of Crystal Caves so that it skips that video mode change. See attachment.

Attachments

  • Filename
    ccaves_test.zip
    File size
    63.24 KiB
    Downloads
    83 downloads
    File license
    Fair use/fair dealing exception

Reply 39 of 68, by Scali

User metadata
Rank l33t
Rank
l33t
K1n9_Duk3 wrote:

English isn't my first language and I'm probably not old or obsessed enough to know what "A2286/8" or "Q700" mean.

An A2000 is a Commodore Amiga 2000.
An A2286/8 is a bridgeboard for the Amiga 2000, which contains a 286 CPU at 8 MHz for PC compatibility.

The Q700 is an Apple MacIntosh Quadra 700 I assume, given that he speaks of NuBus cards. NuBus was the expansion port on old Macs.

The other stuff he mentions also seem to be non-PC systems with PC-compatibility upgrades attached.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/