Jump to content
Sign in to follow this  
SquallStrife

1000 colours on IBM CGA (Scene demo)

Recommended Posts

From the genius that brought us 8088 Corruption (FMV playback on IBM 5150 with CGA) and 8088 Domination (FMV playback on IBM 5150 with CGA, in graphics mode), now comes 8088 MPH.

 

- 1000 colours

- "Sprite" graphics without a hardware blitter

- PWM-based digital audio playback via PC Speaker (which is a first on an 8088)

- Plenty of other cool stuff

 

All on an IBM XT-class machine (Intel 8088 @ 4.77MHz, 640KB RAM, CGA)

 

 

Edit: Enjoy all the geeky, gory details: http://trixter.oldskool.org/2015/04/07/8088-mph-we-break-all-your-emulators/

Edited by SquallStrife
  • Like 2

Share this post


Link to post
Share on other sites

Seems it takes advantage of NTSC artifact colours to get the extras. TRS-80 CoCo 3 does similar in some modern day tricks in games/demos. In fact most of the older computers can do it though most don't gain much from it, e.g. Atari you have plenty of colours anyway so there's little point.

 

The PWM in the main demo part... a bit yucko, just plain square waves. The end part has some "proper" waveforms but at somewhat low quality.

It takes precise timing and often a buttload of CPU grunt to do decent PWM. Doing square waves is almost a no-brainer since you only have to toggle 0/1 at the required interval. Doing actual wave playback (the endpart only sounds barely 4-bit quality) takes a lot more skill and resources.

 

Still fairly impressive though. Some of these modern day tricks might have given the PC more gaming cred, as it was IMO and probably that of most was that the PC was a poor choice for gaming until Doom3D came out in the early 90s.

Edited by Rybags

Share this post


Link to post
Share on other sites

Still fairly impressive though. Some of these modern day tricks might have given the PC more gaming cred, as it was IMO and probably that of most was that the PC was a poor choice for gaming until Doom3D came out in the early 90s.

 

That rather depends on your definition of 'gaming'. I was playing some very sweet platformers on IBM-compatible gear in the latter half of the '80s, and some still-unmatched puzzles and adventure as early as '82.

Share this post


Link to post
Share on other sites

The PWM in the main demo part... a bit yucko, just plain square waves.

By itself, yeah, pretty plain, and matches what was commercially being done in the day (thinking Secret of Monkey Island's PC honker music).

 

But keeping stuff like the greetz text and the keferens curve running smoothly, not bad IMO!

 

The end part has some "proper" waveforms but at somewhat low quality.

It takes precise timing and often a buttload of CPU grunt to do decent PWM. Doing square waves is almost a no-brainer since you only have to toggle 0/1 at the required interval. Doing actual wave playback (the endpart only sounds barely 4-bit quality) takes a lot more skill and resources.

Of course, PWM playback on a 286 or higher still leaves some CPU time available for other tasks. I think the feat is most impressive because it's all done on an IBM 5160 with CGA. As the intro says, no H-retrace interrupts, no sound chip, single graphics page, etc.

 

It's certainly not an impressive demo by 8-bit computer standards, but it certainly IS impressive for a 1982 business machine.

Edited by SquallStrife
  • Like 1

Share this post


Link to post
Share on other sites

Yep, it's a similar povvo situation to early or unexpanded Apple II - you had to rely on CPU delays and had to interweave graphics and sound code (being that it also had the single bit speaker setup for sound).

It forces ultra-efficient programming which in itself has become a lost art in the last 20 years.

Share this post


Link to post
Share on other sites

If you like that, there's also 8088 Corruption, where FMV with digital audio is played back using 40x25 text mode and composite artifacting to get extra colours.

 

 

And 8088 Domination, which came several years later with FMV in 320x200 graphics mode, with clever encoder tricks and efficient use of the limited bandwidth.

 

 

Video playback on CGA is limited by how quickly the VRAM can be filled. You can't do whole frames at a decent frame rate, but you can to partial updates while making it *appear* like you're doing whole frames...

Share this post


Link to post
Share on other sites

Compared to an IBM 5160, the Vic-20 (even unexpanded) had a number of advantages.

 

The coolness of 8088 MPH (or indeed Corruption and Domination) is hard to appreciate when you're not familiar with just how limited the IBM PC/XT + CGA was.

 

E.g. The PC Speaker requires more or less constant IO writes, the VIC chip needs less attention. The VIC-20 has timers and scanline counters for pulling off raster effects, IBM CGA doesn't, so everything is calculated in CPU cycles.

 

I have seen Robotic Liberation before, it's pretty awesome.

Edited by SquallStrife

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×