--- g.baltissen@hccnet.nl wrote: > Hallo Ethan, > > > but there are drivers for IDE, network cards of various flavors (NE2000, > > 3c503, 3c509 and 80x3, primarily), serial ports, printer ports and a few > > odd devices under AmigaDOS and UNIX. > > Are the sources of the drivers available? For UNIX, yes. For AmigaDOS, not on the open net. I am not the author, so I have not put the source on the GG2 Bus+ web page. Holger Kruse wrote the newer drivers for Miami. I don't have the author's name for the older SANA2 drivers, but I haven't heard from him in years. > I'm not familiar enough with the Amiga to understand this "64Kb AUTOCONFIG". Machines like the C-64 have blocks of memory space, typically defined by having a ready-made select line on an I/O port. They tend to be sizes like 128 bytes or 256 bytes and you hook the select line up to one of the chip select lines on your I/O chip and off you go. If you need more than one chip, you can decode extra lines and fit as many I/O chips in that space as there are address bits (minus the ones needed for on-chip register selection). The Amiga takes the approach of dedicating several 64Kbyte segements of memory space and one 8Mb segment (out of the 24-bit address space of the 68000) and, at startup, using the AUTOCONFIG protocol to query each expansion board for what kind of resources it needs. A detailed breakdown of this is probably too much for this group, but essentially, the CPU teases a table out of the expansion card, 4-bits at a time, that tells the OS what the vendor and model are for the board (so it can match it up with a driver later), and how much I/O or memory space the board needs. A simple card, like a SCSI interface, would request a single 64Kb block for all of its I/O registers (like for a Z5380 chip). A more complex card might ask for 1Mb of memory space and two 64Kb I/O spaces. The ROM parcels out the requests to each board (starting with the one closest to the CPU) until they either there are no more boards, or there is no more free space to give up. Any remaining boards are told to shut up. This way, you can stick an 8Mb board in a machine and if you later stuff a 2Mb board in, there is a defined way that the machine should handle it. There are no address conflicts like you can get in a PC, but, neither can you assume you know exactly what address your hardware is sitting at - you must ask the OS. If the user adds, removes, or re-arranges the cards, it will change where your card lives. > > If this discussion ever results in any hardware being designed, I'd love > > to build one. > > I don't know if you have the original mail starting this discussion. This > article is based on a real card build in 1988. Unfortunally it was lost > during a moving. Ah... I missed that part. Were there any refereces to any articles on the web, or just in print? > The Amiga supports 16 bit, the C64 and almost all other C='s don't :( True. > Writing the above lines, I got the idea to use a 6522 for the upper 8 > databits. This is it has this feature being able to latch data. This > feature is used in the 1541 (and maybe other drives as well). There are other ways to do this for a simple data latch. A company I used to work for built a VAX-BI card that was 68010-based (because we had ancient engineering debugging tools, not because it was the best chip for the job). The VAX-BI has a 32-bit data path. We rigged up this scheme whereby a 16-bit read would instigate a 32-bit bus read, and latch the other 16 bits for the next 68000 read. A write was also done in two stages - one to load the upper 16 bits and one to load the lower 16 bits and trigger a bus write. Programming was trivial; the strange stuff was confined to one module (since we were porting the code from an older product that sat on a 16-bit bus). The 6522 might be the easy way to go, but since they aren't making any more of them, perhaps a renewable resource might be a better choice. Alternatively, some 16-bit network cards _can_ be used in an 8-bit machine. We had this problem with the 3c509 on the GG2 Bus+. Neither Holger Kruse nor myself were able to research how the 3c509 did its automatic bus sizing, and it was coming up in 8-bit mode, limiting its transfer rate. 3Com tech support could only tell us "it's a driver problem - contact your driver vendor". The explaination that we _were_ the driver vendor only confused them. -ethan ===== Even though my old e-mail address is no longer going to vanish, please note my new public address: erd@iname.com The original webpage address is still going away. The permanent home is: http://penguincentral.com/ See http://ohio.voyager.net/ for details. __________________________________________________ Do You Yahoo!? Get email at your own domain with Yahoo! Mail. http://personal.mail.yahoo.com/ - This message was sent through the cbm-hackers mailing list. To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tml.hut.fi.
Archive generated by hypermail 2.1.1.