|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object dioscuri.module.AbstractModule dioscuri.module.ModuleMotherboard dioscuri.module.motherboard.Motherboard
public class Motherboard
An implementation of a motherboard module. This module is responsible for allowing devices to communicate with the CPU and vice versa.
Metadata module ********************************************
general.type : motherboard general.name : General x86 motherboard
general.architecture : Von Neumann general.description : imitates an x86
motherboard including I/O address space, ... general.creator : Tessella
Support Services, Koninklijke Bibliotheek, Nationaal Archief of the
Netherlands general.version : 1.0 general.keywords : motherboard,
mainboard, ioports, ... general.relations : cpu, devices
general.yearOfIntroduction : general.yearOfEnding : general.ancestor :
general.successor : motherboard.ioAddressSpaceSize : 65536 bytes
motherboard.architecture : ISA, EISA, PCI
Rule: This module should always be initialised before I/O devices.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface dioscuri.interfaces.Module |
---|
Module.Type |
Field Summary | |
---|---|
Addressable[] |
ioAddressSpace
|
static int |
IOSPACE_EISA_SIZE
|
static int |
IOSPACE_ISA_SIZE
|
protected int |
ioSpaceSize
|
static int |
SYSTEM_CONTROL_PORT_A
|
Fields inherited from class dioscuri.module.AbstractModule |
---|
type |
Constructor Summary | |
---|---|
Motherboard(Emulator owner)
Class constructor |
Method Summary | |
---|---|
boolean |
getA20()
Get value of A20 address line |
long |
getCurrentInstructionNumber()
Retrieve current number of instruction (instructions executed so far) |
java.lang.String |
getDump()
Return a dump of module status |
byte |
getIOPortByte(int portAddress)
|
byte[] |
getIOPortDoubleWord(int portAddress)
|
byte[] |
getIOPortWord(int portAddress)
|
boolean |
registerClock(ModuleClock clock)
Registers a clock to motherboard |
boolean |
requestTimer(Updateable device,
int updateInterval,
boolean continuous)
Requests a timer for given device at clock |
boolean |
reset()
Reset all parameters of module. |
boolean |
resetTimer(Updateable device,
int updateInterval)
Resets the timer of device (if any) |
void |
setA20(boolean a20)
Set value of A20 address line |
boolean |
setIOPort(int portAddress,
Addressable device)
Set I/O address port to given device |
void |
setIOPortByte(int portAddress,
byte dataByte)
|
void |
setIOPortDoubleWord(int portAddress,
byte[] dataDoubleWord)
|
void |
setIOPortWord(int portAddress,
byte[] dataWord)
|
boolean |
setTimerActiveState(Updateable device,
boolean activeState)
Set a timer to start/stop running |
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 |
---|
protected int ioSpaceSize
public Addressable[] ioAddressSpace
public static final int IOSPACE_ISA_SIZE
public static final int IOSPACE_EISA_SIZE
public static final int SYSTEM_CONTROL_PORT_A
Constructor Detail |
---|
public Motherboard(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 boolean registerClock(ModuleClock clock)
registerClock
in class ModuleMotherboard
ModuleMotherboard
public boolean requestTimer(Updateable device, int updateInterval, boolean continuous)
requestTimer
in class ModuleMotherboard
ModuleMotherboard
public boolean setTimerActiveState(Updateable device, boolean activeState)
setTimerActiveState
in class ModuleMotherboard
ModuleMotherboard
public boolean resetTimer(Updateable device, int updateInterval)
resetTimer
in class ModuleMotherboard
ModuleMotherboard
public boolean setIOPort(int portAddress, Addressable device)
setIOPort
in class ModuleMotherboard
ModuleMotherboard
public byte getIOPortByte(int portAddress) throws ModuleException
getIOPortByte
in interface Addressable
getIOPortByte
in class ModuleMotherboard
ModuleException
Addressable
public void setIOPortByte(int portAddress, byte dataByte) throws ModuleException
setIOPortByte
in interface Addressable
setIOPortByte
in class ModuleMotherboard
ModuleException
Addressable
public byte[] getIOPortWord(int portAddress) throws ModuleException
getIOPortWord
in interface Addressable
getIOPortWord
in class ModuleMotherboard
ModuleException
Addressable
public void setIOPortWord(int portAddress, byte[] dataWord) throws ModuleException
setIOPortWord
in interface Addressable
setIOPortWord
in class ModuleMotherboard
ModuleException
Addressable
public byte[] getIOPortDoubleWord(int portAddress) throws ModuleException
getIOPortDoubleWord
in interface Addressable
getIOPortDoubleWord
in class ModuleMotherboard
ModuleException
Addressable
public void setIOPortDoubleWord(int portAddress, byte[] dataDoubleWord) throws ModuleException
setIOPortDoubleWord
in interface Addressable
setIOPortDoubleWord
in class ModuleMotherboard
ModuleException
Addressable
public boolean getA20()
getA20
in class ModuleMotherboard
ModuleMotherboard
public void setA20(boolean a20)
setA20
in class ModuleMotherboard
a20
- true to set, false to clearModuleMotherboard
public long getCurrentInstructionNumber()
getCurrentInstructionNumber
in class ModuleMotherboard
ModuleMotherboard
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |