|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectdioscuri.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 Modulereset in class AbstractModuleAbstractModulepublic java.lang.String getDump()
getDump in interface ModulegetDump in class AbstractModuleAbstractModulepublic boolean registerClock(ModuleClock clock)
registerClock in class ModuleMotherboardModuleMotherboard
public boolean requestTimer(Updateable device,
int updateInterval,
boolean continuous)
requestTimer in class ModuleMotherboardModuleMotherboard
public boolean setTimerActiveState(Updateable device,
boolean activeState)
setTimerActiveState in class ModuleMotherboardModuleMotherboard
public boolean resetTimer(Updateable device,
int updateInterval)
resetTimer in class ModuleMotherboardModuleMotherboard
public boolean setIOPort(int portAddress,
Addressable device)
setIOPort in class ModuleMotherboardModuleMotherboard
public byte getIOPortByte(int portAddress)
throws ModuleException
getIOPortByte in interface AddressablegetIOPortByte in class ModuleMotherboardModuleExceptionAddressable
public void setIOPortByte(int portAddress,
byte dataByte)
throws ModuleException
setIOPortByte in interface AddressablesetIOPortByte in class ModuleMotherboardModuleExceptionAddressable
public byte[] getIOPortWord(int portAddress)
throws ModuleException
getIOPortWord in interface AddressablegetIOPortWord in class ModuleMotherboardModuleExceptionAddressable
public void setIOPortWord(int portAddress,
byte[] dataWord)
throws ModuleException
setIOPortWord in interface AddressablesetIOPortWord in class ModuleMotherboardModuleExceptionAddressable
public byte[] getIOPortDoubleWord(int portAddress)
throws ModuleException
getIOPortDoubleWord in interface AddressablegetIOPortDoubleWord in class ModuleMotherboardModuleExceptionAddressable
public void setIOPortDoubleWord(int portAddress,
byte[] dataDoubleWord)
throws ModuleException
setIOPortDoubleWord in interface AddressablesetIOPortDoubleWord in class ModuleMotherboardModuleExceptionAddressablepublic boolean getA20()
getA20 in class ModuleMotherboardModuleMotherboardpublic void setA20(boolean a20)
setA20 in class ModuleMotherboarda20 - true to set, false to clearModuleMotherboardpublic long getCurrentInstructionNumber()
getCurrentInstructionNumber in class ModuleMotherboardModuleMotherboard
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||