fargo@iear.arts.rpi.edu (Irwin M. Fargo) (01/17/91)
I'm sure the following topics have been brought up before, but I'd like to discuss them in the same message for hopes of finding some thread that connects them together and might help explain things. I'd appreciate all replies by e-mail and I'll summarize to the net. But feel free to respond to the net if you deem it really important. What I'd really like to know is what the whole deal is with having multiple adapters of the same (or similar) type in an IBM PC or compatible. Whenever I try to put two of the same type of adapter in my system, it ends up being a horrendous mess and I just go back to using one adapter. I'd like to start with serial and parallel adapters first as they seem the simplest thing to deal with. Most reasonable "I/O" cards that are available these days have jumpers galore to set the base address for registers in the I/O address space, the IRQ lines used, etc. Because of this plethora of configuration modes, it isn't all that hard to set up 4 serial ports, or even 8 ports--although you'd need a special card. My one major qualm is most I/O boards that I have seen have no support for the upper eight IRQ lines on an AT. Although I remember reading somewhere that IRQ2 on an AT is actually wired to IRQ9 (ie. IRQ2 on the slave interrupt controller) and to IRQ2 on a PC. Then of course there are "intelligent" I/O cards. Unfortunately, I've really never dealts with those, so I can't make any reasonable comments. The next type of adapter that needs hacking to work in multiples is display adapters. I know that an EGA and a MDA, with DIP switches set correctly, will function together. I got this working beautifully on my '286 -- even under Xenix! Will this same combo work if the MDA is actually a Hercules card? If I understand it, the Hercules emulates a CGA. An EGA-CGA combo is supposed to work, although I've never tried this. But, EGA is old news: we now have VGA. Most VGA cards these days are register compatible with the EGA, CGA, and MDA modes, and can be set up to be in one of those modes. So will the above EGA-MDA and EGA-CGA combos work if a VGA is substituted for the EGA? With VGA, are other combos allowed? I've heard very contradictory information on this part. Obviously, the main problem with multiple display adapters is memory addressing conflicts. Does the presence of a VGA BIOS alter this any? I've heard rumor of some cards with no accessible memory on the bus, all video must be done with video BIOS calls. This sounds quite unlikely for the run-of-the-mill PC-based video adapter. I've heard of cards that are specifically designed for multiple monitors, but these sound like kludges to me. My last topic of multiple things is drive controllers. In my mind, this seems to be the hardest to accomplish as I've really never found much documentation about how to perform this. Does each controller need its own address space in the I/O map? I was trying to get an RLL controller and an MFM controller working in my machine. I had a wild theory (which came to nought) that the drive controllers would act as if all drives units were on one controller. For example, my RLL drive is DS1 on the RLL controller and the MFM drive is DS2 on the MFM controller. Instead of saying, "I want this byte from drive 0 on controller 0", I was thinking, "I want this byte from drive 0" and assume that the drive ID's were unique amongst all the controllers. I'm probably way off on this, but it was a theory, and I tried it. Do I need a special controller in order to use multiple drive controllers? My roommate has a Western Digital SCSI host adapter. The WD SCSI card is supposed to be "transparent" to the presence of MFM or RLL controllers. By this, I mean that one can just drop an MFM card in, for instance, and have it work without reconfiguring anything other than your CMOS. Any information on any of the above topics would be greatly appreciated. I'm basically your junior year college student who's done a lot of tinkering with PC's. I also read the manuals that come with my equipment and have found most of them to be designed for morons (no offense to any morons out there :). I don't mind lengthy explanations, I never know if there was something I missed or not. I would ask that you try and be as specific as possible. I'm just one of those people that needs things spelled out clearly. Also, feel free to give me info on specific adapters. I like to keep track of all the neat and strange things out there. Thank you in advance. Thank you and happy hunting! Actually: Ethan M. Young "If Linus looked like Worf, would you Internet: fargo@iear.arts.rpi.edu try to take his blanket away?" Bitnet (??): usergac0@rpitsmts.bitnet - dorsai@pawl.rpi.edu Disclaimer: Who said what?
fargo@iear.arts.rpi.edu (Irwin M. Fargo) (01/23/91)
I'd like to thank all those who replied to my original post. The information cleared up a number of things. Before I start the summary, I'd like to ask where I can find some good references on maps of the PC (preferrably 286 and 386 AT machines) I/O address space, interrupt table, and memory address space. I have a few books here and there that give tidbits of info about this stuff, but they don't go into a lot of depth and even present some contradictory info. I remember that when comp.sys.ibm.pc was around, someone used to post a list of all interrupts for the PC. If someone could point me in that di- rection, I'd really appreciate it. Onto the summary! Having multiple serial/parallel I/O cards depends on the cards you buy. Some cards have jumper settings for many different IRQ's and base I/O addresses while some don't. Basically, you have to be careful about what cards to in- vest in. Ironically, most cards that can be set up for anything other than COM1 and COM2 with any ease are the cheap $50 cards you can get at a local computer convention. Intelligent cards are best if you're running software like UNIX which allow for multiple user to be attached on multiple serial lines (a Xenix MICNET for example). Video adaptors: This subject turned out to be simpler than I expected (which disappointed me a little). The only combinations allowable using standard video adaptors is 1 monochrome display and 1 color display. This doesn't mean a MDA-CGA combo only. It means that any two display adaptors will work with each other as long as one is configured for monochrome modes only (modes which use memory from B000:0000 to B7FF:000F) and the other is configured for color modes only (modes which use anything other than B0000:0000 to B7FF:000F). But, don't expect two EGA or two VGA adaptors configured as above to work because both use special video BIOS routines that may reside at the same memory locations (usually C000 to C7FF). Also, Hercules cards will work in conjunction with a color card as long as the Hercules card is configured to use the first 32 KB of memory; restricting it to monochrome text mode since Hercules graphics requires both 32 KB pages of memory. Special video adaptors do exist that support multiple displays. All I can say is that you'd have to shop around. Disk controllers: The word is no. Standard disk controllers, which includes most MFM (ST-506), RLL, ESDI, and some SCSI, will not operate in multiples unless they're de- signed to. Western Digital's 7000FASST2 SCSI host adaptor can be configured as a second- ary controller. I also believe that Western Digital's WD1003A MFM controller can be configured as a secondary controller as well. Well, I hope all this info is helpful. I also hope I didn't goof up any of the information I got. Any corrections, comments, additional info, or comments are greatly appre- ciated. Thanks. Thank you and happy hunting! Actually: Ethan M. Young "If Linus looked like Worf, would you Internet: fargo@iear.arts.rpi.edu try to take his blanket away?" Bitnet (??): usergac0@rpitsmts.bitnet - dorsai@pawl.rpi.edu Disclaimer: Who said what?