![]() ![]() If the driver had the wrong address it would either write to unmapped memory (not that there was an MMU so the data words just went by on the bus without any listeners). Anything not in the appropriate range was ignored even though all devices technically received the signal electrically. Writes to that address would cause the device to latch onto the bus and start receiving data. The IO port base address is directly related to the article: It selected where in main memory the device was memory-mapped. I seem to remember having a card at one point that was 8-bit, but had a little extension off the end with a couple of traces for 16-bit slot support only so it could support higher IRQs The manual told you not to use IRQs > 9 if plugged into an 8-bit slot. ![]() A bunch of IRQs were permanently assigned from the old IBM PC days which is why turning off COM ports in the BIOS would free up the IRQ for use by other peripherals. 16-bit ISA slots added pins for IRQ 10-14. It was setup this way because these were physical pins! If you look at the ISA slot pinout there are physical traces for IRQ 3-7. The sound driver needed to know what interrupt to listen for or it would never reply to the sound card's requests. This was how the hardware could signal to the software that it wanted attention. ![]() The IRQs were handled by the PIC controllers, usually two with the secondary piggybacking on the main controller's IRQ #2. Sound cards had to have IRQ #, IO port base address, and often a DMA channel. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |