I'd like to try using multiple controller cards to control various drives simultaneously (hard drives, floppy drives, CD-ROM, magneto-optical drive, tape drive, whatever). I know that the following things exist for data flow, and they must be kept separate for everything to function.
IRQ channels
DMA addresses
I/O addresses
If my mouse, for example, uses 3F8h, that is 3F8 hexadecimal = 1016 decimal = 1111111000 binary. Does that address then just refer to a specific RAM byte? Or is it a group of bytes? How many bytes are in the group?
IRQ channels
DMA addresses
I/O addresses
- How many different IRQ channels are there? Sixteen, numbered 0 to 15.
- How many different DMA addresses are there?
- How many different I/O addresses are there?
- Are DMA addresses, RAM addresses, and I/O addresses referring to the same thing?
- Does every device I put into the computer need a unique IRQ channel?
- Does every device I put into the computer need a unique DMA address?
- IRQs seem to be generally controlled by jumpers on expansion boards. Are DMA addresses controlled by jumpers? If not, how are they controlled?
If my mouse, for example, uses 3F8h, that is 3F8 hexadecimal = 1016 decimal = 1111111000 binary. Does that address then just refer to a specific RAM byte? Or is it a group of bytes? How many bytes are in the group?