|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object dioscuri.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 Module
reset
in class AbstractModule
AbstractModule
public java.lang.String getDump()
getDump
in interface Module
getDump
in class AbstractModule
AbstractModule
public byte getIOPortByte(int portAddress) throws UnknownPortException
UnknownPortException
Addressable
public void setIOPortByte(int portAddress, byte data)
Addressable
public byte[] getIOPortWord(int portAddress)
Addressable
public void setIOPortWord(int portAddress, byte[] dataWord)
Addressable
public byte[] getIOPortDoubleWord(int portAddress)
Addressable
public void setIOPortDoubleWord(int portAddress, byte[] dataDoubleWord)
Addressable
public int requestIRQNumber(AbstractModule module)
requestIRQNumber
in class ModulePIC
module
- that would like to have an IRQ number
ModulePIC
public void setIRQ(int irqNumber)
setIRQ
in class ModulePIC
ModulePIC
public void clearIRQ(int irqNumber)
clearIRQ
in class ModulePIC
ModulePIC
public int interruptAcknowledge()
interruptAcknowledge
in class ModulePIC
ModulePIC
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |