|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectdioscuri.module.AbstractModule
dioscuri.module.ModulePIC
dioscuri.module.pic.PIC
public class PIC
Metadata module ********************************************
general.type : pic general.name : Programmable Interrupt Controller
(Intel 8259A compatible) general.architecture : Von Neumann
general.description : Implements a standard PIC, a manager of the
interrupt-driven system. general.creator : Tessella Support Services,
Koninklijke Bibliotheek, Nationaal Archief of the Netherlands
general.version : 1.0 general.keywords : PIC, controller, interrupt, IRQ
general.relations : cpu, motherboard general.yearOfIntroduction :
general.yearOfEnding : general.ancestor : general.successor :
Notes: - PIC is also an I/O device itself - All IRQ numbers are managed
by PIC| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface dioscuri.interfaces.Module |
|---|
Module.Type |
| Field Summary | |
|---|---|
static int |
MASTER
|
static int |
SLAVE
|
| Fields inherited from class dioscuri.module.AbstractModule |
|---|
type |
| Constructor Summary | |
|---|---|
PIC(Emulator owner)
Class constructor |
|
| Method Summary | |
|---|---|
void |
clearIRQ(int irqNumber)
Lowers an interrupt request (IRQ) of given IRQ number |
java.lang.String |
getDump()
Return a dump of module status |
byte |
getIOPortByte(int portAddress)
|
byte[] |
getIOPortDoubleWord(int portAddress)
|
byte[] |
getIOPortWord(int portAddress)
|
int |
interruptAcknowledge()
Acknowledges an interrupt request from PIC by CPU Note: only the CPU can acknowledge an interrupt |
int |
requestIRQNumber(AbstractModule module)
Returns an IRQ number. |
boolean |
reset()
Reset all parameters of module. |
void |
setIOPortByte(int portAddress,
byte data)
|
void |
setIOPortDoubleWord(int portAddress,
byte[] dataDoubleWord)
|
void |
setIOPortWord(int portAddress,
byte[] dataWord)
|
void |
setIRQ(int irqNumber)
Raises an interrupt request (IRQ) of given IRQ number |
| Methods inherited from class dioscuri.module.AbstractModule |
|---|
getConnection, getConnections, getDebugMode, getExpectedConnections, getType, isConnected, setConnection, setDebugMode, start, stop |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface dioscuri.interfaces.Module |
|---|
getConnection, getConnections, getDebugMode, getExpectedConnections, getType, isConnected, setConnection, setDebugMode, start, stop |
| Field Detail |
|---|
public static final int MASTER
public static final int SLAVE
| Constructor Detail |
|---|
public PIC(Emulator owner)
owner - | Method Detail |
|---|
public boolean reset()
reset in interface Modulereset in class AbstractModuleAbstractModulepublic java.lang.String getDump()
getDump in interface ModulegetDump in class AbstractModuleAbstractModule
public byte getIOPortByte(int portAddress)
throws UnknownPortException
UnknownPortExceptionAddressable
public void setIOPortByte(int portAddress,
byte data)
Addressablepublic byte[] getIOPortWord(int portAddress)
Addressable
public void setIOPortWord(int portAddress,
byte[] dataWord)
Addressablepublic byte[] getIOPortDoubleWord(int portAddress)
Addressable
public void setIOPortDoubleWord(int portAddress,
byte[] dataDoubleWord)
Addressablepublic int requestIRQNumber(AbstractModule module)
requestIRQNumber in class ModulePICmodule - that would like to have an IRQ number
ModulePICpublic void setIRQ(int irqNumber)
setIRQ in class ModulePICModulePICpublic void clearIRQ(int irqNumber)
clearIRQ in class ModulePICModulePICpublic int interruptAcknowledge()
interruptAcknowledge in class ModulePICModulePIC
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||