Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!ginosko!uunet!microsoft!brianw From: brianw@microsoft.UUCP (Brian Willoughby) Newsgroups: comp.sys.apple Subject: Re: Hard Drives and Slots Message-ID: <35@microsoft.UUCP> Date: 14 Jul 89 04:23:46 GMT References: <8907071717.AA01377@crash.cts.com> Reply-To: brianw@microsoft.UUCP (Brian Willoughby) Organization: Microsoft Corp., Redmond WA Lines: 76 In article <8907071717.AA01377@crash.cts.com> pnet01!pro-nsfmat!pro-europa!henryh@nosc.mil writes: >The problem with Apple II slots is that they are "hardwired" and not smart. >Each card has its own page of memory for a driver, and it isn't relocatable >(at least not very easy to be relocated without tricks) This is in contrast >to, say, an IBM, where they use things like DIP switches to locate the device >driver. > The Apple II card drivers ARE relocatable, no tricks. There is nothing in the software which comes ON an Apple II peripheral (i.e. in the firmware ROM) that prevents that card from being used in any slot. The only thing "hardwired" is the brain of the programmer of the software you chose to use with that peripheral, who decided to assume a slot for a particular device, instead of letting the user select it in some kind of configuration program. Not every IBM card has DIP switches. Most that do don't have very many options about where in the address space to locate that card. The result is that if your program doesn't know where to find the hardware (it can be anywhere in a 64K I/O space) then it won't work. Also, I haven't found many IBM cards that can be doubled up in a PC. I know you can't put both an EGA and a VGA in the IBM, even if all your slots are empty. That's what I call hardcoding! If you wanted to, you could plug four VIDEX 80 column cards into your Apple and send output to them all, as well as to your printer and the built-in 40 column screen. All you have to do is follow Apple's guidelines for programming peripherals. >Phantom slots is where a card can somehow (I really don't know how this works) >locate its driver (or fool the machine into going to it) at those pages of >memory. > Apple II "slotness" is there to save hardware and make address decoding easier and cheaper. Nothing in the Apple bus prevents full decoding of the address bus. BTW, that's how you do phantom slots: decode the address bus. Ever wonder why IBM cards are so much larger than an equivalent Apple II card? IBM card designers are forced to do full decoding on every card, resulting in redundant, heat-producing hardware on the cards when it belongs on the motherboard. >This "absoluteness" is the reason why there are "traditional" places to put >cards (the 5.25 drive into slot 6, the 80 column card in slot 3, etc). > >-Henry >---- The "traditional" places came about simply so that you wouldn't have to spend so much time setting the software to find each of your cards. Most software defaults to looking for a card in the standard slot, but should allow the owner to change that. Eventually, coders stopped allowing configurable code (which does save them a little work, like writing a relocation program to reconfigure the addresses if they didn't use indexed addressing like Apple recommends). There are also "traditional" places in the IBM I/O address space (256 bytes direct, 64K indirect) for common IBM cards. This is why you can't have two of anything in an IBM (unless you count COM1 and COM2 as separate). If a lazy Apple II programmer assumes that the disk will be in slot 6, then that code won't work if the drive is in another slot. If a lazy IBM programmer assumes that the DIP switches are set differently than you have them, then the software won't realize that you have the hardware. As you can probably tell, I hate it when someone who doesn't know the REAL reason why he is having trouble with his Apple starts blaming the computer architecture and not the programmer of the piece-of-junk software that is at fault. Brian Willoughby UseNet/UUCP ...!{sun!uw-beaver!uunet}!microsoft!brianw Bitnet microsoft!brianw@Sun.COM brianw@microsoft.UUCP