View Single Post
  #51   Report Post  
Posted to rec.crafts.metalworking
Jim Wilkins[_2_] Jim Wilkins[_2_] is offline
external usenet poster
 
Posts: 5,888
Default Solar Powered Garage Door Opener.

"whit3rd" wrote in message
...
On Sunday, March 19, 2017 at 8:46:39 PM UTC-7, Jim Wilkins wrote:
"DoN. Nichols" wrote in message
...
On 2017-03-19, Jim Wilkins wrote:


The Mac was difficult because plug-ins are supposed to have a
driver
in ROM at the top of the slot's address block, written by an
Apple
Certified Programmer. When I gave him the simple register model
for
my
16 bit A/D converter he quoted 3 months to write it.


https://en.wikipedia.org/wiki/NuBus
"In order to select the proper device driver, NuBus included an ID
scheme that allowed the cards to identify themselves to the host
computer during startup."

"On the downside, while this flexibility made NuBus much simpler
for
the user and device driver authors, it made things more difficult
for
the designers of the cards themselves."


The benefit, was that you could put as many video cards or whatnot
as you wanted, in any slot, without worrying about allocation of the
interrupts or addresses, and they could work at boot without any
driver install. Every bus slot had unique addresses for that ROM,
there were never collisions.

There was lots of cheating, though: when OS 7.5 was licensed across
non-Apple computers, the licensees used to have problems: the
boot ROMs they were authorized to copy, were only tested on the
Apple
product, and didn't fully support machines with more bus slots
(since Apple made a 3-slot machine, some cards were only recognized
in the first three slots of a 6-slot clone).


The high order address of the slot I used was hard-wired to hex C.
IIRC the ID and driver was stored backwards in ROM so that it always
began at CFFF... and could be any length.

The engineers must have known about the Apple Certified Programmer
requirement before they dumped the project on me, a newly hired and
unproven lab tech.

The next big project they gave me couldn't be done "right" within the
specs and constraints. I solved it the Earl Muntz way, which no
respectable engineer would admit to but a lab tech could get away with
by hand-selecting parts on each board.
-jsw