Re: Looking for YMF262

From: Richard Atkinson (rga24_at_hermes.cam.ac.uk)
Date: 1999-07-07 13:11:37

On Mon, 5 Jul 1999, Ruud Baltissen wrote:

> I once connected a MGP-card to my C64. The card disappeared during moving from 
> one houde to another. 
> If the sound blaster only uses I/O, one half of a 74LS39 will do the trick. 

Should that be 74LS139? I have spent much of the morning trying to find a
74LS39, and can't find one anywhere!

> Connect the PHI2-clock with input A and the R/W-line with input B. Output C 
> reflects the needed WR-line, output D the needed RD-line. Connect the IRQ-input 
> thru an invertor with IRQ5 of the card. The only thing I don't have a solution 
> for is the DMA. 

I've just found a good technical reference on the ISA bus:

http://www.techfest.com/hardware/bus/isa.htm

and I examined an old Soundblaster-compatible (ie. 8 bit OPL2 card) to see
which lines it used on the 8 bit ISA bus. The results were very
interesting; however it revealed that I had completely misunderstood DMA
on the ISA bus...

Instead of requesting direct memory access and then driving the address
lines itself as on the C64, an ISA card like the Soundblaster will make a
DMA request to the DMA controller on the motherboard, which will then
return a DMA acknowledge signal along with the requested data.

This is a pain for the C64 as of course it has no built-in DMA controller.
Doing everything manually in 'PIO' mode as someone else suggested would be
possible, but it would be painfully slow, maybe even too slow to keep up
at 44.1kHz. However, consider the case of C64 plus REU.....

This becomes a much more interesting case, especially when you consider
that the REU RAM will make the sample memory required by the card not seem
such a tall order - fitting samples into 64K along with the rest of the
system would have been difficult to say the least, but if the sample
memory came out of the 512K REU then it would not be so bad.

So - the DMA request lines on the ISA bus need to be connected to some
sort of interrupt - NMI perhaps? - so that the C64 can run a bit of code
to set the REU up and start its memory transfer. Effectively we have to
emulate the workings of a PC DMA controller using a 6510 and an REC :)

Are you interested yet? ;)


Richard

-
This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tcm.hut.fi.

Archive generated by hypermail 2.1.1.