jmce.z80pack
Class FDC
java.lang.Object
jmce.sim.AbstractHardware
jmce.sim.AbstractPeripheral
jmce.sim.disk.AbstractDiskController
jmce.z80pack.FDC
- All Implemented Interfaces:
- DiskController, Hardware, MemoryReadListener, MemoryWriteListener, Peripheral, Z80PackConstants
public class FDC
- extends AbstractDiskController
- implements Z80PackConstants, MemoryReadListener, MemoryWriteListener
Z80Pack Floppy disk controller.
The interface of the FDC is very simple the register file must be
filled with the desired sector number and
the dma with the desired memory address
then a command can be written in the register FDC_CMD the
status of the operation is than available in the FDC_STATUS.
The status will be 0 if the operation is performed correctly or
contains the error number.
- Version:
- 1.01
- Author:
- Mario Viara
- See Also:
Z80PackConstants
Fields inherited from interface jmce.z80pack.Z80PackConstants |
CONDAT, CONSTA, DELAY_CTRL, FDC_CMD, FDC_CMD_READ, FDC_CMD_WRITE, FDC_DMA_HI, FDC_DMA_LOW, FDC_DRIVE, FDC_SECTOR, FDC_SECTOR_HI, FDC_STATUS, FDC_STATUS_ERROR, FDC_STATUS_SUCCESS, FDC_TRACK, MMU_BANK, MMU_INIT, MMU_SEGMENT, NETWORK_CLIENT_BASE_1, NETWORK_SERVER_BASE_1, NETWORK_SERVER_BASE_2, NETWORK_SERVER_BASE_3, NETWORK_SERVER_BASE_4, PRTDAT, PRTSTA, TERMINATE, TIMER_CTRL |
Constructor Summary |
FDC()
|
Method Summary |
int |
readMemory(Memory m,
int address,
int value)
Called when the memory is readed. |
void |
registerCPU(CPU cpu)
Register a parent CPU for future reference. |
protected void |
setDma(int dma)
Set the DMA address for the next read/write operation |
java.lang.String |
toString()
|
void |
writeMemory(Memory m,
int address,
int value,
int oldValue)
Called when a memory write event occours. |
Methods inherited from class jmce.sim.AbstractHardware |
addHardware, createFrame, destroy, getHardware, getHardware, getHardware, getHardware, getHardware, getHardwareCount, getHardwareForName, getHardwareInstances, getHardwareTree, getName, getParent, init, initSwing, removeHardware, removeHardware, reset, setHardware, setHardware, setName |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface jmce.sim.Hardware |
addHardware, destroy, getHardware, getHardware, getHardware, getHardware, getHardwareCount, getHardwareInstances, getHardwareTree, getName, getParent, init, initSwing, removeHardware, removeHardware, reset, setHardware, setHardware, setName |
commandResult
protected int commandResult
FDC
public FDC()
registerCPU
public void registerCPU(CPU cpu)
throws SIMException
- Description copied from interface:
Peripheral
- Register a parent CPU for future reference.
- Specified by:
registerCPU
in interface Peripheral
- Overrides:
registerCPU
in class AbstractPeripheral
- Throws:
SIMException
setDma
protected void setDma(int dma)
- Set the DMA address for the next read/write operation
readMemory
public int readMemory(Memory m,
int address,
int value)
throws SIMException
- Description copied from interface:
MemoryReadListener
- Called when the memory is readed.
This is method is called to notify a read at the specified
memory loction.
- Specified by:
readMemory
in interface MemoryReadListener
- Parameters:
m
- - Memory readed.address
- - Address where the operation occours.value
- - Value readed from the phisical memory or
from previus installed listener.
- Returns:
- Value readed from the memory.
- Throws:
SIMException
writeMemory
public void writeMemory(Memory m,
int address,
int value,
int oldValue)
throws SIMException
- Description copied from interface:
MemoryWriteListener
- Called when a memory write event occours.
This method is called when a memory write operation occours
in the specified memory.
- Specified by:
writeMemory
in interface MemoryWriteListener
- Parameters:
m
- - Memory involved in the write operation.address
- - Address written.value
- - Value written.oldValue
- - Old value of this memory location.
- Throws:
SIMException
toString
public java.lang.String toString()
- Overrides:
toString
in class AbstractHardware