[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: USB input devices?



>>>>> "DE" == David Empson <dempson@actrix.gen.nz> writes:

 DE> Frank Carney <frankcNOSPAM@cyberhighway.net> wrote:
 >> There is another possible solution to all these wants for the Apple II.
 >> We could find out more about interfacing existing I/O cards (Mac, IBM,
 >> etc) to the Apple Bus and write drivers for them.

I am still betting on USB being somewhat practical for the Apple II
(perhaps just the GS).

 DE> - Data bandwidth.  The Apple II slot bus cannot transfer data faster
 DE> than 1 megabyte per second, and then only with DMA in a IIgs.  CPU loops
 DE> or pseudo-DMA techniques limit the transfer rate to more like 100
 DE> kilobytes per second.  Some I/O cards for other busses would require
 DE> faster transfer rates than this for practical operation, or even to work
 DE> at all.

True.  USB can handle upto 12Mbps.  Although keyboards and mice are
slow serial devices, so most input devices can be handled without
problems.  For faster devices, you can always use buffering.  Let's
not kid ourselves.  No way is a USB camera going to work with the A2,
but scanners and printers and generic input devices could work easily
without much trouble.

 DE> - Bus width.  The Apple II bus only transfers 8 bits at a time.  Some
 DE> cards may require 16-bit or larger transfers.

USB is not concerned with the hosts' data path size.  The controller
itself could easily be interfaced with a 8-bit data bus.

 DE> - Address space.  Each slot in the Apple II has 16 bytes plus 256 bytes
 DE> dedicated to it, and there is a further 2 kilobytes that can be shared
 DE> between all slots.  Some other I/O busses provide megabytes of address
 DE> space to their cards.  This would require some kind of sandwiching
 DE> mechanism to access the full address space.

Again, buffers on the card could be banked switched or it could use DMA.

 DE> - Power supply, both in terms of voltages provided and current
 DE> requirements.

External power could be provided by a second power supply and plugged
into a USB card.

 DE> - DMA requirements.  The Apple II DMA mechanism really only works as a
 DE> CPU-controlled burst transfer mechanism.  It cannot safely be used to
 DE> transfer data at arbitrary times under control of an I/O card.  This is
 DE> particularly true in the case of the IIgs, but also to a lesser extent
 DE> for other models.  Some cards may expect to be able to use DMA transfers
 DE> to access the host machine.  This also raises the issue of addressing
 DE> requirements, as DMA can only access 64K of memory.

Again buffering on the controller card would be more useful.

 DE> - Executable code.  In some busses, the cards have firmware on them
 DE> which is called by the driver.  This would require processor emulation
 DE> (of a more powerful processor by a less powerful one), unless the
 DE> appropriate processor was used in the expansion chassis.  I don't think
 DE> this is likely to be much of an issue - ISA only uses firmware on cards
 DE> for boot ROMs or BIOS extensions, as far as I am aware; PCI may require
 DE> Open Firmware (a Forth implementation, I believe).

N/A on USB, everything is driver side on the host.

I suspect the best way to implement USB is in the IIgs's memory
expansion bus.  It could use banks C0-DF as a shared memory area.  RAM
is cheap and dense, so adding 8MB of DRAM would be an option.

Just some ideas.

cfs
-- 
Charles F. Stephens               = cfs  AT  eng.sun.com
Software Psychic and Illuminary   =
Solaris Network Sustaining        = "We don't make mistakes, we make
Solaris Software                  =  happy accidents."
Sun Microsystems, Inc.            =            -- Bob Ross
Menlo Park, California, USA       =