jmce - 1_02

jmce.z80pack
Class FDC

java.lang.Object
  extended by jmce.sim.AbstractHardware
      extended by jmce.sim.AbstractPeripheral
          extended by jmce.sim.disk.AbstractDiskController
              extended by 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

Field Summary
protected  int commandResult
           
 
Fields inherited from class jmce.sim.disk.AbstractDiskController
disk, drive, nullDisk
 
Fields inherited from class jmce.sim.AbstractPeripheral
cpu
 
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.disk.AbstractDiskController
addDirDiskCPM, addDirDiskIBM3740, addImageDisk, addImageDiskIBM3740, addNullDisk, getDisk, getDiskCount, getDrive, setDrive
 
Methods inherited from class jmce.sim.AbstractPeripheral
idle, setIdle, setLive
 
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.Peripheral
idle
 
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
 

Field Detail

commandResult

protected int commandResult
Constructor Detail

FDC

public FDC()
Method Detail

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

jmce - 1_02