Flea86 Retro Gaming Project - Finally! Improved VGA support added...

Valentin Angelovski's picture

Hi all,

After a few distractions (including a bout of flu), I managed to get back to seeing to what extent I can transform this minimal hardware into a real PC...

Through a good deal of pouring over the EGA (and several VGA) technical references along with some valuable assistance from the resident young-gun Mike Chambers over at www.vintage-computer.com (thanks for the unchained 256-color VGA info Mike), I finally got my head around the quirky architecture that makes up the EGA and also VGA.

I have put together several YouTube videos to help illustrate the progress made:
Flea86 demo running Windows 3.0 (640x350 EGA 16-color)
Flea86 demo running Gods (320x200 VGA 16-color)
Flea86 demo running Wolfenstein-3D (320x200 VGA 256-color)
Flea86 demo running CD-MAN (640x350 EGA 16-color)
Flea86 demo running Indianapolis 500 (320x200 EGA 16-color)

Unfortunately in terms of the current level-1 hardware, full EGA/VGA emulation will not be possible due to the system DRAM bottleneck on the Flea86 level-1 system. Also, the slightly squashed screen aspect on some of the 320x200 modes may not be everyone's cup of tea... but hey, at least it works... :-D

Cheers,
Valentin

Comments

Bill Loguidice
Bill Loguidice's picture
Offline
Joined: 12/31/1969
Amazing work as always!

Can you go into a bit more detail about the "slightly squashed" screen aspect on some of those 320x200 modes? Like what the issue is and why it's like that?

n/a
Valentin Angelovski
Valentin Angelovski's picture
Offline
Joined: 12/24/2010
Odd aspect screen modes..

Hey Bill,

Quote:

Can you go into a bit more detail about the "slightly squashed" screen aspect on some of those 320x200 modes? Like what the issue is and why it's like that?

Sure.. main reason for the odd screen aspect has alot to do with increasing the emulation speed - most of those games in my YouTube demos were really meant to be played on a '286 and up. Therefore, in order to give the Flea86 a little boost up into 286 territory for some of those games I basically had to do two things:

1.) Increased the host CPU clock on the Flea86 by around ~20%, so I basically used up all my margin reserved for overclocking..
2.) Increased the screen resolution of the VGA output to 800x600, with 400 viewable lines or 66% of the total screen area, this squeezes another 15-20% emulation performance overall, since the host CPU is no longer writing to ~83.3% of the screen area as per default.. You might recall the old ZX-81 had a feature where that computer blanked the display when it really had to 'think'.. well it's pretty much the same issue here..

Both of these changes push the Flea86 to nearly an IBM-AT level (6MHz 80286) of performance, with the downside of course being the odd screen aspect..

Of course, I can revert to the original 640x480, with 400 viewable lines or 83.33% of the total screen area, but at a slower emulation rate with action games like Gods/Wolf3d suffering most from any slowdown..

The only real solution for this is either:
1.) Faster system RAM, which is more expensive though perhaps worth it, or..
2.) Upgrade the host CPU to a more powerful 32-bit model..

Regards Valentin

Bill Loguidice
Bill Loguidice's picture
Offline
Joined: 12/31/1969
Incremental costs
Valentin Angelovski wrote:

The only real solution for this is either:
1.) Faster system RAM, which is more expensive though perhaps worth it, or..
2.) Upgrade the host CPU to a more powerful 32-bit model..

Regards Valentin

Fascinating stuff. So what kind of additional costs are you talking for each? I would imagine if the end goal is an eventual production run, most users would be up for paying a bit more to expand the feature set that much further.

n/a
Valentin Angelovski
Valentin Angelovski's picture
Offline
Joined: 12/24/2010
32-bits is ultimately the way to go..
Quote:

Fascinating stuff. So what kind of additional costs are you talking for each? I would imagine if the end goal is an eventual production run, most users would be up for paying a bit more to expand the feature set that much further.

In terms of hardware cost, there's note really alot in it between both options, though from a software aspect the 32-bit host CPU option might prove vastly better in the long run. I say this because the host CPU I'm currently using, the on-chip program ROM is almost full (i.e. >95%), meaning I cannot add new features easily without taking something away - not a good thing when broad compatibility and rich emulation options are one of the project's goals..

Therefore, unless the manufacturer of the chip I am using come out with much bigger ROM capacity part, I would consider moving to a 32-bit CPU for future models of the Flea86.

For now though, I will stick with 8-bits since it does work quite well otherwise.

Regards,
Valentin

clok1966
Offline
Joined: 01/21/2009
that is impressive.. Looking

that is impressive.. Looking at those old games running on that. Indy 500... nice save from the grass.. I remeber playing 200 lap races on that all the time on the a500.

Mark Vergeer
Mark Vergeer's picture
Offline
Joined: 01/16/2006
Flabbergasted - amazed

My jaw dropped on the floor when I saw this new footage. How did you manage to squeeze this out of your hardware as you thought it wasn't possible at first?

n/a
Valentin Angelovski
Valentin Angelovski's picture
Offline
Joined: 12/24/2010
EGA compatibility made it possible..
Quote:

My jaw dropped on the floor when I saw this new footage. How did you manage to squeeze this out of your hardware as you thought it wasn't possible at first?

Well TBH Mark, I think I amazed even myself on this one! To think that a humble 8-bit processor core, the kind that one would normally find in say a washing machine or electric heater could actually be made to do more than one would think possible with such simple and primitive hardware i.e. like play retro games or even run M$ Windows in our case :-)

The real breakthrough came when EGA/VGA emulation reached a fair degree of compatibility on the Flea86, in addition to the incremental improvements explained in my response to Bill's earlier question.

Personally, I am quite happy with the way Gods turned out, since it uses the hardware horizontal scrolling feature of EGA.. Now all I have to do is get this same scrolling feature to work properly with Commander Keen (which makes more precise use of this hardware scrolling) and I will be a happy boy :-)

Regards,
Valentin

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.