[sdiy] Old Computers

phillip m gallo philgallo at attglobal.net
Tue May 31 05:50:17 CEST 2005


My experience with self-programmed PC computer audio is from when a 486-66
was a hot dog machine (early 90's).

That experience would indicate you can get by without DMA just fine (old
486-PC DMA just isn't that wonderful anyway).

While the platform boot loaded MS-DOS, once loaded i never called a DOS
function and i disabled all interrupts. This, of coarse, meant no disk or
clock capability but also meant that i had to refresh Core memory myself.  A
timer interrupt refreshes DRAM but the constant wavetable reads i was doing
(it was a Rompler more than Synth) refreshed memory just fine.  I did have
to turn off the Cache (as the code i used fit neatly into the cache meaning
i would never went to core memory and thus never refresh DRAM).  For
Phase/Accum Mem/DAC operation i would just do sequential mem read after each
DAC update.

I wrote in 16 bit assembler and everything was done by going down code paths
of equal length (i was worried about "jitter").

I was getting a raw 160-180kB/s LPT: update rate, not 115kb/s (and maybe
you're remembering the COM: ports as 115kb/s this was their max).  This
"raw" rate was effectively twice the DAC refresh rate as i needed 2 bytes
output to drive the 12 Bit DAC i used.  It seemed to me the max rate of the
LPT: port was set by the chipset and it's hardwired wait states as i had no
"wait loops".

regards,
p


-----Original Message-----
From: owner-synth-diy at dropmix.xs4all.nl
[mailto:owner-synth-diy at dropmix.xs4all.nl]On Behalf Of Scott Gravenhorst
Sent: Monday, May 30, 2005 7:05 PM
To: synth-diy at dropmix.xs4all.nl
Subject: Re: [sdiy] Old Computers


=?ISO-8859-1?Q?Johannes_=D6berg?= <johannes.oberg at gmail.com> wrote:
>> >Anyway, from experience, if you are using an old computer like a 486,
>> >you'll want DMA for the sound. LPT DAC won't sound very good,
>>
>> Why?
>
>I haven't tried doing exactly what you're suggesting, but it was
>allways a problem with old trackers (Like Scream Tracker 2 that runs
>through a Covox in an old 386 of a friend) that there were all sorts
>of interrupts and stuff going off all the time, so you would get sound
>skips if you used any sound device that had to be fed sample by
>sample. With cache issues and stuff, the same code can take different
>amounts of time to execute from pass to pass.
>
>There are of course ways around this, but it gets more and more
>complicated, especially if you are trying to squeeze out every last
>cycle of an old 486 or something.

This is a bit more than a 486, but not quite a pentium.
It's an AMD 5x86 running at 133 MHz.

>> I plan a DAC update rate of
>> 44KHz using the built in programmable interrupt timer.  This is a bit
>> faster than the 31.25 KHz of the AVRSYN.
>
>IIRC, you can't make the LPT run faster than 115 kbps, at least not
>the original parallell port. That means 28khz max.

Hmm.  I wasn't aware of that.  I can live with that.  Not optimal, but if
nothing else, it just gives a bit more headroom for the timer ISR.

>> The first cut will be very simple, certainly a mono-synth.  I will
>> build it on a 5x86-133 which would seem to have between 2 and 4 times
>> the power of the AVR used for AVRSYN.
>
>Orangator 2.0 would run on that machine, so it certainly should work!
>
>I'm don't know too much about the AVR, but I would suspect a 133 MHz
>pentium is alot faster than 4 times the AVR with proper programming.

As I wrote above, it's not a pentium, just an AMD 5x86, but it performs
about like a pentium running at 65 MHz.

>Especially since you'll likely will have enough memory to put many
>parts of the synth engine into lookup tables.
>
>> My OS will be DOS (I know, I know, but I ain't changing), it's
>> something I have and I also have both C and assembler tools for DOS
>> based programs.
>
>I would also recommend DOS or a similiar non-operating-system :-) It's
>the easiest way IMHO, especially regarding documentation, to get
>low-level controll of the PC.
>
>/J
>

---------------------------------------------------------
- Where merit is not rewarded, excellence fades.
- Hydrogen is pointless without solar.
- What good are laws that only lawyers understand?
- The media's credibility should always be questioned.
- The only good terrorist is a dead terrorist.
- Governments do nothing well, save collect taxes.

-- Scott Gravenhorst | LegoManiac / Lego Trains / RIS 1.5
-- Linux Rex         | RedWebMail by RedStarWare
-- FatMan: home1.gte.net/res0658s/fatman/
-- NonFatMan: home1.gte.net/res0658s/electronics/
-- Autodidactic Master of Arcane and Hidden Knowledge.



--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.322 / Virus Database: 267.3.0 - Release Date: 5/30/05





More information about the Synth-diy mailing list