woodc@jacobs.cs.orst.edu (Major Havok) (06/02/91)
Ok, I posted a message on here a few days ago and a few people responded by giving me the names of certain books to check out. Thanks for the information guys, but I won't have access to those books any time in the near future. I'll ask my question again, maybe someone can provide me with some clue that may help me. My question is this: Does anyone have any information on programming the IBM's Programmable Interrupt Controller (or PIC)? Here is the information that I currently know about the PIC... I know that it begins at port address $20 and that every group of 4 address in the PIC correspond to an IRQ with the first IRQ being IRQ0 (i.e. port addresses $20 thru $23 are assigned to IRQ0, port addresses $24 thru $27 are assigned to IRQ1, etc...). I know that there are 8 IRQs ranging from IRQ0 to IRQ7 (and an additional 8 on IBM ATs and PS/2s). I understand that IRQ0 thru IRQ7 correspond to interrupts $08 thru $0F. It is my understanding that if I wish to perform a task using a level 3 interrupt request (IRQ3) that will occur every time a change in the status of a hand scanner (for example) occurs, then I would need to access PIC addresses $2C thru $2F. Is this correct? Do I have all my information right so far? If those are not the correct port addresses, then what are? What values should be placed in these PIC addresses and what do they mean? (For instance, are the values that are placed in the PIC memory locations or are they port addresses? or what???) Once again, if you have any pascal source code to accompany an explaination, it would be greatly appreciated. Thanks in advance... Chris Wood (woodc@jacobs.cs.orst.edu)