[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RFC : Apple II DMA for free.
On Mar 25, 3:19 am, georg.biel...@gmail.com wrote:
> I have tried to write down a way to get a free (in terms of memory
> cycles) and easy to implement DMA channel on the Apple II.
> It has to do with the "6502 trashed memory cycles".
> Would you (more hardware-oriented guys) like to read and comment about
> it ?
Hi Jorge,
It's a cool idea. A way to handle asynchronous I/O on the Apple II.
I guess what's missing is the lack of a good use-case. I've run over a
couple in my mind, but the main issue is that in order to take
advantage of asynchronous I/O, you need appropriate software.
One example might be say, a serial interface card that used this
technique for data transfer. In theory, such a card could use your
technique to fill/empty FIFO buffers during normal execution. This
might turn out to be advantagous in say a terminal emulator, where the
software can simply update the screen and read from the keyboard, and
I/O happens transparently.
The question you have to ask though, is would this technique provide
sufficient bandwidth as to allow the Apple II to do serial comms at a
faster speed than if this process was done synchronously? My guess
would be yes on an unaccelerated II, no on an accelerated II (where
the technique would be useless anyway)
Perhaps a more compelling example would an operating system that
supported pre-emptive multitasking. The big win here would be using
the technique on a storage controller, which could potentially do it's
transfers asynchronously and interrupt the OS when it was finished.
This would allow much greater utilisation of the 6502 for actual
computing tasks, but again, being compatible with existing
accelerators is, I think, an unsurmountable challenge.
Like any new hardware design or technique, you're reliant on the
'killer app' to make it worthwhile, so I guess the challenge is now on
for all of us to come up with a way to do so :-)
Cheers,
Matt