pouët.net

286/386/486 Demoscene

category: general [glöplog]
I also recently acquired an old 8088 (at a whopping 9.54MHz) with CGA. Still trying to find an adlib-compatible 8bit ISA-card to go with my lpt-dac. After that you can expect some demomagic for this piece of crap :)
added on the 2013-05-02 13:26:59 by britelite britelite
Quote:
But a top of the line 286 like that doesn't really seem all that different from lower end 386's to me.


Performance-wise, yes - in fact, fast 286's run circles around 386SXes.
But from a developer's point of view, those two are very different. The 386 is a 32-bit CPU with linearly adressable memory, which means that you can write code in much the same way as you do today. The 286, though, shares all the 16-bit quirks of the 8088/8086, it's just faster overall, has a few new instructions and (a not-too-useful variant of) protected mode.
added on the 2013-05-02 13:57:10 by KeyJ KeyJ
Quote:
I tried to download these but you needed some kind of Borland/M$ customer account to get the "free downloads".


Visual C++ needs an MSDN account yes. I thought Turbo C++ was freeware, but I don't see the download on Embarcadero's website anymore, only on third-party freeware hosting sites, which generally want you to register and/or use crappy custom downloaders.

Quote:
Hey if that's the platform you're interested in, go for it! But a top of the line 286 like that doesn't really seem all that different from lower end 386's to me.


Well, the obvious difference is that 286 is 16-bit only, where you can use 32-bit mode on 386. I think the extra restrictions that the 16-bit mode pose with memory addressing and mathematics make for interesting optimization problems, which to me is what oldskool demos are all about.
added on the 2013-05-02 14:25:23 by Scali Scali
Quote:
Still trying to find an adlib-compatible 8bit ISA-card


Note that some older 16-bit ISA cards will also work in an 8-bit ISA slot. This goes for some sound cards, and also for some early VGA cards, like the ones from WD/Paradise.
I believe the Sound Blaster Pro works in an 8-bit slot.
The original Sound Blaster 1.0/1.5/2.0 were 8-bit of course, so they work as well.

Might make the search for working ISA cards easier :)
added on the 2013-05-02 14:32:02 by Scali Scali
Quote:
Note that some older 16-bit ISA cards will also work in an 8-bit ISA slot

I know, but there's also the additional problem of the card having to be as short as possible, which even rules out the original Sound Blaster cards :) (the PC is a Schneider EuroPC)
added on the 2013-05-02 14:36:49 by britelite britelite
Oh dear, one of those :)
My 9.54 MHz XT with CGA was a Commodore PC10-III (hey, just because I used a PC didn't mean I abandoned Commodore! C64 and Amiga 4lief!).
It could fit 3 fullsize ISA cards.
I never had a sound card in it though. Did have a VGA card (a proper 8-bit Paradise one), and a joystick card.
added on the 2013-05-02 14:43:07 by Scali Scali
Quote:
Performance-wise, yes - in fact, fast 286's run circles around 386SXes.
But from a developer's point of view, those two are very different. The 386 is a 32-bit CPU with linearly adressable memory, which means that you can write code in much the same way as you do today. The 286, though, shares all the 16-bit quirks of the 8088/8086, it's just faster overall, has a few new instructions and (a not-too-useful variant of) protected mode

Quote:

Well, the obvious difference is that 286 is 16-bit only, where you can use 32-bit mode on 386. I think the extra restrictions that the 16-bit mode pose with memory addressing and mathematics make for interesting optimization problems, which to me is what oldskool demos are all about.


Absolutely. Also the fact that 286 code will run not only on the 286 but a 386 too, while 32bit code obviously won't run on the 286 is a huge benefit. In fact part of my affection for the 8088 is that the program could be said to run on "any PC". Especially since...
Quote:
This August will be the 32nd (2^5) birthday of the IBM PC !!!


Quote:
Still trying to find an adlib-compatible 8bit ISA-card

Genuine Sound Blasters that work with 8bit ISA slots (8bit card or 16bit that allows 8bit use with jumper settings) seem to go for around $100 on eBay nowadays. Genuine Adlib much more expensive (if you can even find one).

Clones are cheaper. I recently bought a Protac AV202P3 (sold with names like Master Boomer, Media Concept 2.0) for around $35. It's a short card too! But haven't been able to test compatibility yet...

You can also build your own Adlib clone:
http://www.malinov.com/Home/sergeys-projects/isa-opl2-card
Quote:
In fact part of my affection for the 8088 is that the program could be said to run on "any PC".


Yes, I haven't really decided on that yet... I've written some polygon routines that work on any x86, but the 286 is an incredible deal faster than 8088/8086 machines. You can get quite fluent 3d out of a 286, but an 8088 is extremely limited. The best 3d I've seen is F29 Retaliator, which runs acceptably on an 8088 machine at 9.54 MHz. But it's little more than a horizon, and a handful of polygons for the occasional plane or building.
And the cockpit takes up half the screen :)
added on the 2013-05-02 15:29:12 by Scali Scali
I like this thread.
added on the 2013-05-02 16:42:13 by Optimus Optimus
me too.
added on the 2013-05-02 17:13:52 by MuffinHop MuffinHop
So maybe I should stop being a sleeper agent and mention that I've been working on an 8088 demo for several years. I'll be at @party with my PCjr and will try to throw something together during the party (my main goal at parties is to have fun not enter compos, but who knows what will happen). All my experiments are individual little things and effects, nothing cohesive, no promises.

8088+CGA (or Tandy or PCjr) is indeed much, much slower than you realize. Anything full-framerate is a miracle. You are a fool to target plain regular 320x200x4 as the colors are terrible and there is only one video page with interlaced RAM... any real demo is going to have to either tweak a new video mode, or work in (tweaked?) text mode, or similar. Composite CGA is an acceptable compromise.

My dev environment is Turbo Pascal 7.0 -- you can do inline asm and also debug it at the source or CPU register level alll from the environment, all on the native hardware. External asm is good if you want to use macros and other things the inline doesn't support, but for the most part the Turbo Pascal IDE rocks.

Series I wrote on optimizing for 8088 if you want to get started: http://trixter.oldskool.org/2013/01/10/optimizing-for-the-8088-and-8086-cpu-part-1/

@Scali: You never released your poly source on your blog... let me see them so I can optimize them ;-)
added on the 2013-05-02 19:00:13 by trixter trixter
Quote:
You are a fool to target plain regular 320x200x4


Hmm, ok, I can accept that.

Quote:
as the colors are terrible


But now that's a bunch of bs! CGA graphics are beautiful.

BB Image

P.S. Thanks for xtfiles.rar trixter, lots of useful wares in there.
Quote:
@Scali: You never released your poly source on your blog... let me see them so I can optimize them ;-)


You're asking me to decide whether we should compete or join forces :)
added on the 2013-05-02 21:14:30 by Scali Scali
@sak: You're right, some cyan/magenta/black/white stuff can look good if done properly, like carefully crafted zx spectrum graphics. As for xtfiles, some of my code is in there so have fun looking at the rotozoomer :-) And the tools in there are what I use to develop. Turbo Pascal system.TPL has been patched so that CRT unit doesn't cause the "division by 0" error on 166+ MHZ machines.

@Scali: Damn, you figured me out :-) 3D was always my weak point so consider it a complement. (bit-banging the hardware is my strong point)
added on the 2013-05-02 22:10:03 by trixter trixter
While it's true that the 286 was never pushed to the limit - except maybe by White Shadow - and it would be a very familiar platform (had one for years), I still have a hard time considering going back to the segment:offset pain and SB programming :) But you never know...
added on the 2013-05-02 23:16:54 by Marq Marq
I still wonder why almost no one switched the CGA colors to some nicer color scheme - Windmill´s Digger is the only exception I can recall so far.

Even hires Herculeswas more popular...
added on the 2013-05-02 23:26:52 by T$ T$
Life and Death, Leaderboard Golf, Elite ... it might have been that the paint tools of the time didn't allow for the use of other palettes, or that game companies were afraid of the modes not working on all clone cards. But mostly just ignorance, I guess :)
added on the 2013-05-02 23:36:20 by Marq Marq
4 bit colors? nah. thx. you know the tricks to get some more color depth out of the pixels. hack that.
added on the 2013-05-02 23:36:29 by yumeji yumeji
Quote:
I still wonder why almost no one switched the CGA colors to some nicer color scheme - Windmill´s Digger is the only exception I can recall so far.


Quite a few games did, actually.
The thing is, VGA is not entirely register-compatible with CGA, and one of the incompatibilities is with the palette selection.
So on VGA you always get the default black, white, purple, cyan palette for CGA software. And since most people are clueless, that's the screenshots they post when using Dosbox or such (which default to some VGA configuration, which is faithfully incompatible with CGA as well).

I had a CGA-compatible graphics chip in my first PC, so I saw various early games in their full glory. Test Drive II used the red/cyan palette, so the Ferrari F40 was actually red. I also recall Thexder using a palette with yellow in it.

My next PC had a Paradise VGA card in it, which came with a utility to enable full CGA compatibility, which would fix the palette issues. Not all VGA cards were as incompatible as IBM's :)
added on the 2013-05-02 23:37:43 by Scali Scali
Part of the reason for the default palette's popularity may have been monochrome monitors? Orange/black gas-plasma in my case, ahh good times.

Or then it was used just because... the default palette is beautiful. :)

Also later on CGA was probably something of an afterthought for developers. Often the graphics just auto-converted from EGA/VGA. This is IMO really what has given CGA its bad rep, not so much the default palette's colors.

But yeah plenty of games used different ones. Alley Cat, Fire Power...

Oh and at least Leaderboard works fine with a red/blue/green/orange palette in-game in Dosbox (with default settings). Works fine with a Tseng ET4000 too. And it's also worth checking out for the impressive PC speaker sound effects!
You can change palettes (or background color) every scanline. Very few games did this; California Games used it the best.

Want more color? Use 80x25 textmode and ASCII #177, and hope your monitor has a really high dot pitch.
added on the 2013-05-03 06:27:44 by trixter trixter
Some games used a textmode-based 160x100 16-color hack, which might be fine for certain type of fx, too.
added on the 2013-05-03 07:31:35 by Marq Marq
@Scali: Nice to know about CGA. I did wonder the same too. My first PC was a 286 with a VGA and when running older games in CGA mode I wondered why did they chose those gay colors always, I guess I was clueless too :)
added on the 2013-05-03 09:32:05 by Optimus Optimus
i'd love to see the "platform" resurrected. still got a soundblaster driver lying around somewhere. purely masm code, finding the card, configuring the dma and eveything :D
added on the 2013-05-03 12:06:38 by jco jco

login