jmce - 1_02

jmce.altair
Class Altair

java.lang.Object
  extended by jmce.sim.AbstractHardware
      extended by jmce.sim.cpu.AbstractCPU
          extended by jmce.intel.i8080.I8080
              extended by jmce.zilog.z80.Z80
                  extended by jmce.altair.Altair
All Implemented Interfaces:
java.lang.Runnable, AltairConstants, I8080Constants, BreakPointListener, CPU, Hardware, InterruptManager, MemoryReadListener

public class Altair
extends Z80
implements MemoryReadListener, AltairConstants

Altair 8800 system.

Implements the Altair main class.

The original Alteir 8800 is completly supported the SIMH implementation is only partially supported and not all software run correctly.

Supported peripheral

Version:
1.00
Author:
Mario Viara

Field Summary
 
Fields inherited from class jmce.zilog.z80.Z80
I, IX, IY, R
 
Fields inherited from class jmce.intel.i8080.I8080
A, BC, booleanTable, DE, F, HL, iff1, iff2, parityTable, PC, SP
 
Fields inherited from class jmce.sim.cpu.AbstractCPU
interrupts, io, memory, NS100MS, NS1MS
 
Fields inherited from interface jmce.altair.AltairConstants
CTRL, CTRL_STEP_IN, CTRL_STEP_OUT, DATA, RESET_ADDRESS, SELECT
 
Fields inherited from interface jmce.intel.i8080.I8080Constants
FLAG_3, FLAG_5, FLAG_C, FLAG_H, FLAG_N, FLAG_PV, FLAG_S, FLAG_Z
 
Fields inherited from interface jmce.sim.CPU
BIG_ENDIAN, IO_MEMORY, LITTLE_ENDIAN, MAIN_MEMORY
 
Constructor Summary
Altair()
           
 
Method Summary
 int getSR()
           
protected  void initMemories()
          Initialize all required memories.
protected  void initPeripherals()
          Initialize all peripherals.
 int readMemory(Memory m, int address, int value)
          Called when the memory is readed.
 void setSR(int sr)
           
 
Methods inherited from class jmce.zilog.z80.Z80
bit, cpd, cpi, cpSpecial, ex_af_af1, exx, I, im, im, ind, ini, initOpcodes, initRegisters, ldd, ldi, outd, outi, res, resetRegisters, set, sla, sll, sra, srl
 
Methods inherited from class jmce.intel.i8080.I8080
adc16, adc8, add16, add8, af, af, and, b, c, ccf, cp, cpl, d, daa, dec, e, f, fireISR, fireNMI, FLAG_3, FLAG_3, FLAG_5, FLAG_5, FLAG_C, FLAG_C, FLAG_H, FLAG_H, FLAG_N, FLAG_N, FLAG_S, FLAG_S, FLAG_V, FLAG_V, FLAG_Z, FLAG_Z, getCCC, getFlagCCC, getPortHI, getPP, getQQ, getRRR, getValuePP, getValueQQ, getValueRRR, getWord, h, in, inc, init, initOpcodeDecoder, isInterruptEnabled, l, or, out, pc, pc, pop, push, rl, rla, rlc, rlca, rr, rra, rrc, rrca, sbc16, sbc8, scf, setValuePP, setValueQQ, setValueRRR, setWord, sub8, xor
 
Methods inherited from class jmce.sim.cpu.AbstractCPU
abort, addCycleListener, addDecoder, addExceptionListener, addExecBreakPoint, addInterrupt, addIOReadListener, addIOReadListener, addIOWriteListener, addIOWriteListener, addLoader, addMemoryWriteListener, addOffset, addReadBreakPoint, addRegister, addResetListener, addTimerCycle, addTimerMs, addTraceListener, addWriteBreakPoint, bit0, bit7, breakPointEvent, createRuntime, decodeAt, destroy, dumpStatistics, dumpStatistics, dumpTitle, dumpValue, dumpValue, fetch, formatFrequence, getBreakPointAt, getBreakPointCount, getByte, getCallListener, getClock, getClockPerCycle, getCycle, getCycleMillis, getDecoderAt, getDecoderCount, getEndian, getExceptionListenerAt, getExceptionListenerCount, getExecStatistics, getInterruptCount, getInterruptCounter, getInterruptName, getIOByte, getLenghtAt, getMemory, getMemoryAt, getMemoryCount, getMemoryForName, getOpcodeAt, getOpcodes, getRealTime, getRegisterAt, getRegisterCount, getRegisterForName, getResetAddress, getUsage, getUsageDesc, getWordBig, getWordLittle, halt, idle, isBigEndian, isLittleEndian, isRunning, load, load, notifyInterrupt, removeBreakPoint, removeBreakPoint, removeExceptionListener, removeTraceListener, reset, run, run0, setByte, setCallListener, setClock, setClockPerCycle, setEndian, setIO, setIOByte, setMemory, setOpcode, setRealTime, setResetAddress, setStatusLine, setTill, start, step, step0, stepNoBreak, stop
 
Methods inherited from class jmce.sim.AbstractHardware
addHardware, createFrame, getHardware, getHardware, getHardware, getHardware, getHardware, getHardwareCount, getHardwareForName, getHardwareInstances, getHardwareTree, getName, getParent, initSwing, removeHardware, removeHardware, 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, getHardware, getHardware, getHardware, getHardware, getHardwareCount, getHardwareInstances, getHardwareTree, getName, getParent, initSwing, removeHardware, removeHardware, setHardware, setHardware, setName
 

Constructor Detail

Altair

public Altair()
Method Detail

initMemories

protected void initMemories()
Description copied from class: I8080
Initialize all required memories.

Add the MAIN_MEMORY and the IO_MEMORY if sub class override this method to change the type of memory must first add the required memories and then call the parent method.

Overrides:
initMemories in class I8080

initPeripherals

protected void initPeripherals()
                        throws SIMException
Description copied from class: I8080
Initialize all peripherals.

This method do nothing because the Intel 8080 do not have any internal peripheral.

Overrides:
initPeripherals in class I8080
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

setSR

public void setSR(int sr)

getSR

public int getSR()

jmce - 1_02