pouët.net

Go to bottom

286/386/486 Demoscene

category: general [glöplog]
Some 'VGA' demos are really EGA demos where they reprogram the VGA palette.
These will run on an EGA card, the colours will just be off.
Some examples that should work are:
1991 donut
Vicky
Crystal Dream
added on the 2014-02-26 12:38:15 by Scali Scali
Quite sure the EGA slideshow was by Sorcerers and the filename was something like SS_SLIDE.ZIP (or then some obscure archive format). Can't locate that anywhere, either.
added on the 2014-02-26 12:43:22 by Marq Marq
I am very interested in EGA Stuff because my "new" 286 has EGA only.
I will not put any VGA-Card in it, it should be as it was constructed.

Thx!
Democene GFX with EGA was never done ?
http://www.pouet.net/prod.php?which=61992 hey drzeissler could you test our demo. I got it working on my EGA-card.
added on the 2014-02-27 20:41:07 by MuffinHop MuffinHop
Quote:
I am curious about the CPU time wasted and which are the fastest players released


The speed king was Galaxy Player v2.12, which plays 12KHz on my 4.77MHz 8088 with a Sound Blaster Pro. It achieves this through the use of self-modifying code in an unrolled loop. (It also performs some fairly nasty anti-debug tricks :-) Inner mixing chunk looks like this (Andrew Jenner reverse-engineering analysis follows):

Code: es: mov bl,[si+0000] mov al,[bx] es: mov bl,[si+0000] mov ah,[bx] add [di+0],ax


This section repeats 10 times (increasing the DI offset by 2 bytes each time), so it does 20 samples at once. Mixing 2 samples at once by using a 16-bit add is clever.

The code is self-modifying - the 0000s in the "es: mov bl,[si+0000]" lines are modified by this loop:

Code:o97dd: mov [si+o983c + 3],ax add bp,di adc ax,dx mov [si+o983c + 0a],ax add bp,di adc ax,dx add si,0011 loop o97dd


So the code is cheating slightly by using this same "table of offsets" for each block of 20 (ideally the table should be slightly different each time but I guess the difference isn't audible).
added on the 2014-02-28 08:16:23 by trixter trixter
Oh yeah, Galaxy Player was awesome. Used it a lot on my 286.
added on the 2014-02-28 08:22:40 by britelite britelite
@Trixter: Interesting!

I will try it today. I am just wondering if it is a standalone player or also comes with a lib for playing music in a demo. Or what are the fastest alternative music players I could call from code.
added on the 2014-02-28 11:21:56 by Optimus Optimus
trixter: Does that thing anything have to do with the horrible Galaxy Sound System used in the Unreal engine? :)
Was it? I remember the unreal engine crossfading different soundtracks based on change of action, was really cool.
Also the Galaxy sound card? Hehe,. I always get results for this and not the player when I search. But anyway, I got it from other sources.
added on the 2014-02-28 16:25:22 by Optimus Optimus
The main problem with the sound system in the Unreal engine is that it was clearly coded to be an XM player, but all artists that made music for Epic actually used Impulse Tracker, so IT support looks like an afterthought in many places.
What was the point with Impulse Tracker? To me the whole thing seemed crazy. "New Note Actions" and everything.
added on the 2014-02-28 18:05:18 by yzi yzi
New Note Actions. Filters. Sane interface. Doesn't crash. Any more questions?
@Optimus: He promised one but then went to work for Epic and took it with him. As for best engine you can link, no idea; there were at least 5 or so I can remember. MODOBJ is very slow so don't use that (no time left for effects). Try a few and see how much CPU time is left over. Be prepared for wacky linking or restrictions...

@Saga: Yes! Same engine!

Galaxy Player is GLX212.ZIP if people are looking.
added on the 2014-03-01 09:39:53 by trixter trixter
Musicians loved Impulse Tracker. Coders *hated* Impulse Tracker.
added on the 2014-03-01 09:40:58 by trixter trixter
Yes, I remember that was the general attitude. When Impulse Tracker came around, I thought, if someone needs THIS sort of functionality in order to create sensible music, then they are clueless lamers who have no business making sound tracks for demos. Of course, in a few years, CPU usage wasn't an issue anymore. And nowadays you can just use mp3s, which is kind of like, the ultimate level of lameness from oldskool point of view, you can't get lower than that.
added on the 2014-03-01 13:21:20 by yzi yzi
yzi: As a musician I pretty much prefer the software not to get in my way, and having to think about how to spread out my notes over 10 channels instead of 1 because I don't have NNAs available is one thing that certainly gets in my way. Of course you can also make music in 4 channels and without NNAs and filters, but who said that this would be the only legit way of making music? You could say the same thing about envelopes when they were new in Fasttracker 2... "why would anyone need THIS sort of functionality, we already have Cxx and 8xx commands!"
The Galaxy-Player is very good indeed. It does not work with every MOD-File, but if it sounds correct the Player is far the best for an old System. (XT/AT-Class)

Could the "tricks" that the GalaxyPlayer does, be used in this :
http://www.vogons.org/viewtopic.php?f=7&t=38518

Doc
Musician comfort over code complexity and added and variable CPU usage... That's the demoscene spirit. ;)

By the way. This also affects the resulting music. If you don't have to worry about how many notes are sounding, then it's easier to create muddy music. The same applies to channels and envelopes and all these new features that weren't there in Amiga ProTracker. With plain old ProTracker, it's very difficult to lose control and create unclear crap (or even, unclear crap that eats a lot of CPU). If you remove the forced limits, it places much higher demands on the musician's skill, musical vision and self-control. There's just so much more rope to hang yourself with.
added on the 2014-03-01 14:13:40 by yzi yzi
Our ooold Private Player (1994) was meant for 286 machines and gets most mod commands right: Private Player. Not quite as fast as Galaxy, but plays most files better.
added on the 2014-03-01 14:31:15 by Marq Marq
yzi: If NNAs or filters make your code much more complex, you're doing something wrong. (I am maintaining a tracker and module playback library, I must know.)
There are gazillions of ways to make your music muddy. If you're restricted to four channels, you get into exactly the same trap as soon as you start using mod2smp to mix down several channels into one. And on the other hand, I still manage to not sound muddy with 100+ NNA channels playing. ProTracker MODs are all nice and everything, but the limits they impose do not fit everyone's taste and aren't necessary to create a great piece of music.

Anyway, this is going way too off-topic...
It can play full 22 kHz with an SB 1.5 on a 286/10.
added on the 2014-03-01 14:33:51 by Marq Marq
NNAs make CPU usage much more variable. That alone is enough to not want them in a 286/386/486 demo.

I guess you know what I mean with the hanging rope. The more freedom you get, the more responsibility you get. I wasn't impressed by the stuff that was coming out of these guys using the supposedly fancy XM and IT features at the time. Or the mixdown thing that the newer ProTrackers had. Sure, now 20 years later, they've grown up and are capable of handling their stuff, of course.
added on the 2014-03-01 14:44:30 by yzi yzi
Marq: do you still have the sources to Private Player? And did even the last version still use the timer interrupt? It would be interesting to see how fast it could have been with DMA. ;)
added on the 2014-03-01 14:46:19 by yzi yzi
The sources might be ... somewhere. The SB player was always DMA, timer interrupt only used with Covox.
added on the 2014-03-01 14:47:37 by Marq Marq

login

Go to top