jmce - 1_02

jmce.z80pack
Class Timer

java.lang.Object
  extended by jmce.sim.AbstractHardware
      extended by jmce.sim.AbstractPeripheral
          extended by jmce.z80pack.Timer
All Implemented Interfaces:
Hardware, MemoryReadListener, MemoryWriteListener, Peripheral, ResetListener, TimerListener, Z80PackConstants

public class Timer
extends AbstractPeripheral
implements Z80PackConstants, MemoryReadListener, MemoryWriteListener, ResetListener, TimerListener

This class implements a 10 ms interrupt timer.

Generate one interrupt every 10 ms. The register TIMER_CTRL control the timer if a value different from 0 is written the timer is enabled otherwise the timer is disabled.

Version:
1.01
Author:
Mario Viara

Field Summary
 
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
Timer()
           
 
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.
 void reset(CPU cpu)
           
 void timerExpired()
           
 void writeMemory(Memory m, int address, int value, int oldValue)
          Called when a memory write event occours.
 
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, toString
 
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
 

Constructor Detail

Timer

public Timer()
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

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

reset

public void reset(CPU cpu)
           throws SIMException
Specified by:
reset in interface ResetListener
Throws:
SIMException

timerExpired

public void timerExpired()
                  throws SIMException
Specified by:
timerExpired in interface TimerListener
Throws:
SIMException

jmce - 1_02