Path: utzoo!utgpu!news-server.csri.toronto.edu!helios.physics.utoronto.ca!ists!yunexus!davecb From: davecb@yunexus.YorkU.CA (David Collier-Brown) Newsgroups: comp.arch Subject: Re: AT peripherals (was Tektronix shutdown & move away from 88k's??) Message-ID: <16978@yunexus.YorkU.CA> Date: 1 Nov 90 14:32:26 GMT References: <2176@lupine.NCD.COM> <42310@mips.mips.COM> <1990Oct30.164155.10708@mozart.amd.com> <1990Oct31.182519.2795@zoo.toronto.edu> Organization: York U. Computing Services Lines: 36 henry@zoo.toronto.edu (Henry Spencer) writes: | You don't get hardware docs | for them. In fact, more often than not there *are* no hardware docs to be | had, no matter how cozy you are with the manufacturer: there are a couple | of gnomes chained in a back room who hack the 8088 assembler code in the | on-board ROM until it works -- hack as in "hacked to pieces with an axe" -- | and that ROM code is the only documentation on how the board really works. | Rotsa ruck trying to write a driver from that. Realize, please, that many AT peripherals have little intervention by the main cpu, and those which do tend to have rather small roms which are about half-full of code... | (I haven't tried this myself, but people who have tell me that it really | is that bad.) I've worked on AT and PC ROMSs in a past life, and the code quality is at least horrible and may extend as far as ``frightening''. I wrote PC-class machine BIOSs in Donald Knuth's WEB, and had to be quite carefull (:-)) To get the code to even land at the proper addresses was hard, and there were problems even when it did so. However, ``any problem in computer science can be solved with one more level of indirection'' (Morven's Metatheorum). One can at least write a device drive that talks a simplified bus language with a cheap 808X processor to drive the peripherals. If I only had a small number of peripherals to consider, I'd consider disassembling the 8088 code to sequences of C (yes, I've had to do so in the past) and running that, less any timing loops. The sequences in question are **small**. --dave -- David Collier-Brown, | davecb@Nexus.YorkU.CA, ...!yunexus!davecb or 72 Abitibi Ave., | {toronto area...}lethe!dave or just Willowdale, Ontario, | postmaster@{nexus.}yorku.ca CANADA. 416-223-8968 | work phone (416) 736-5257 x 22075