Amazing CGA (6845-based) demo for the IBM PC 5150
https://www.youtube.com/watch?v=-xJZ9I4iqg8
https://www.pouet.net/prod.php?which=91938
Scali's written up a blog post about it here: https://scalibq.wordpress.com/2022/08/08/area-5150-8088-mph-gets-a-successor/
Oh that was nice.
Turns out CGA has a 6845 CRTC, so there's quite a bit in common here with demos on the CPC. It's a type 2 though :laugh: (edit: just noticed ralferoo mentioned this already...)
I was hanging out with cTrix while he was composing the credits tune for this, it's a banger. Player is writing out a single sample per scanline, and the pc speaker hardware is only supposed to be a beeper!
Mindblowing for a 5150 machine!
Genuinely impressive stuff.
Quote from: pelrun on 11:32, 11 August 22Turns out CGA has a 6845 CRTC, so there's quite a bit in common here with demos on the CPC. It's a type 2 though :laugh: (edit: just noticed ralferoo mentioned this already...)
I was hanging out with cTrix while he was composing the credits tune for this, it's a banger. Player is writing out a single sample per scanline, and the pc speaker hardware is only supposed to be a beeper!
Hadn't thought of that, but would make sense as it'd be a single bit at 15kHz.
> edit: just noticed ralferoo mentioned this already...
Heh yeah, one of the coders of this is in our demo group and we used to chat about the 6845 a lot.
Not a single bit; apparently it's effectively 6.5 bits per sample. Shenanigans!
Oh right, yeah I guess. It's been about 30 years (!) since I last made any PC noises, but I vaguely remember there's both an oscillator so you can play a fixed note, a one-shot timer mode and you can also directly twiddle the speaker like with the Spectrum.
I guess if you're writing the timer at 15kHz (a scanline), you can get creative with varying the ratio of on to off pulses to change the volume, which would make sense with what you said about 6.5 bits as the frequency of the timer is just over 1MHz IIRC (so a bit over 2^20/s driven at a bit under 2^14/s).
Also, from what I remember of the CGA, you can only change mode from text to graphics at the top of the frame, so I suspect that the split text + graphics stuff very early on is using very short full screens instead of a line per rupture.