Oric computers >> A little bit out of scope but interesting : a SID Player for Atari 800xl/xe

by Anders Carlsson » Thu, 07 Oct 2004 14:31:19 GMT

Jani Tiainen < XXXX@XXXXX.COM > writes:

>> A programmer manage to wrote a SID player for the Atari 800xl.
>> Do you think that its possible on the Oric ?
>
> Not without C64 chip. Sound chip in Oric is a bit poorer than 64
> equivalent otherwise it could work out well.

From what I understand, the Atari program does a software emulation
of SID, i.e. it is not an expansion card and a driver. Both Atari
and Oric use the same CPU, but I'm not sure about frequency. Maybe
the helper chips make a difference if Pokey et.al can do DMA or
whatever is required? The PSG in Oric is managed through the VIA
if I am not mistaken and that might be a bottleneck.

--
Anders Carlsson

Oric computers >> A little bit out of scope but interesting : a SID Player for Atari 800xl/xe

by Twilighte » Sun, 10 Oct 2004 02:55:24 GMT


Yes, the Orics VIA is a little bit of a bottleneck, but speed is not really
an issue with sid sound. I attempt to emulate things like the famous Ring
modulation and other fancy SID effects by utilising the much avoided AY
Envelope generator.
Sometimes it works with tunes, sometimes it sounds bloody awful!

Anyway, the Sound chips pitch difference stumped me for ages. Finally i
spoke to Matt Coates (He's a fellow Orician) and works as a statistical
analyst (or some such hi-level math related job) and he gave me the answer.
First, convert the 16bit SID pitch to Frequency, then convert Frequency to
Oric 12 Bit pitch (You cannot just extract lower 12 bits from sid pitch, not
the same!).
I then found a nifty little routine in 6502.org (or somewhere) that does a
very fast division, and this makes the whole conversion run very fast
indead.

The SIDs ADSR control is not used fully on the Oric. I did try to do some
software emulation but it failed horribly. So instead i use the SIDs 4 bit
Release value together with the gate bit to control the volumes.

Unfortunately, as i think i reported in the CEO article, the sid player
won't work with all sid tunes. Those wonderful Follin tunes seem to use page
3,4 and 0 a bit and also corrupt the screen (Which wouldn't matter except
that i write to the screen, so invariably the prog crashes).
Also, some sid tunes create tables just before or after the sid load range,
which goes and crashes my conversion routines!

However, i have really only touched the tip of the iceburg with what can be
converted, and it is just down to luck and patience to find new tunes that
will play.

Twilighte