ca.disassembly.invaders
Class I8080

java.lang.Object
  extended by ca.disassembly.invaders.I8080

public abstract class I8080
extends java.lang.Object

Interpreting I8080 CPU emulator.


Field Summary
 int A
           
 int A1
           
 int B
           
 int B1
           
 int C
           
 int C1
           
 int cycles_left
           
 int D
           
 int D1
           
 boolean debugDisabled
           
 int debugFrom
           
 int debugLevel
           
 int debugMemLoc
           
 int debugMemVal
           
 boolean debugSelectMemEqVal
           
 boolean debugSelectStart
           
 int debugSkipped
           
 int debugUntil
           
 int E
           
 int E1
           
 int error
           
 int F
           
 int F1
           
 int H
           
 int H1
           
 int I
           
 int I_Vector
           
 boolean IFF0
           
 boolean IFF1
           
 int ignoreBreakpoint
           
 int IM
           
 boolean IRQ
           
 int L
           
 int L1
           
 java.lang.String logFile
           
 boolean NMI
           
 int PC
           
 int R
           
 int SP
           
 boolean state_HALT
           
 
Constructor Summary
I8080()
          Default constructor debugging disabled Use this constructor for use in applets
 
Method Summary
 void exec(int num_cycles)
          Execute a number of clock cycles
 int getCyclesLeft()
           
 int getDebug()
           
 long getInstruction()
          returns the currently excecuted instruction
 java.lang.String getTag()
           
protected abstract  int inPort(int port)
           
 void interrupt(int type, boolean irq)
           
protected abstract  void outPort(int port, int value)
           
protected  int read16(int address)
           
protected  int read16arg(int address)
           
protected abstract  int read8(int address)
           
protected  int read8arg(int address)
           
protected  int read8opc(int address)
           
 void reset()
          Reset CPU - Only resets the registers
 void setDebug(int debugLevel)
          Sets the required debuglevel (if enabled):
 void setProperty(int property, int value)
           
 void setTag(java.lang.String tag)
           
protected  void write16(int address, int value)
           
protected  void write16fast(int address, int value)
           
protected  void write8fast(int address, int value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

A

public int A

F

public int F

B

public int B

C

public int C

D

public int D

E

public int E

H

public int H

L

public int L

I

public int I

R

public int R

A1

public int A1

F1

public int F1

B1

public int B1

C1

public int C1

D1

public int D1

E1

public int E1

H1

public int H1

L1

public int L1

PC

public int PC

SP

public int SP

state_HALT

public boolean state_HALT

IM

public int IM

IFF0

public boolean IFF0

IFF1

public boolean IFF1

I_Vector

public int I_Vector

IRQ

public boolean IRQ

NMI

public boolean NMI

cycles_left

public int cycles_left

logFile

public java.lang.String logFile

debugLevel

public int debugLevel

debugFrom

public int debugFrom

debugSkipped

public int debugSkipped

debugUntil

public int debugUntil

debugMemLoc

public int debugMemLoc

debugMemVal

public int debugMemVal

ignoreBreakpoint

public int ignoreBreakpoint

debugDisabled

public boolean debugDisabled

debugSelectMemEqVal

public boolean debugSelectMemEqVal

debugSelectStart

public boolean debugSelectStart

error

public int error
Constructor Detail

I8080

public I8080()
Default constructor debugging disabled Use this constructor for use in applets

Method Detail

setTag

public void setTag(java.lang.String tag)

getTag

public java.lang.String getTag()

getInstruction

public final long getInstruction()
returns the currently excecuted instruction


interrupt

public final void interrupt(int type,
                            boolean irq)

reset

public final void reset()
Reset CPU - Only resets the registers


exec

public final void exec(int num_cycles)
Execute a number of clock cycles

Parameters:
cycles - number of cycles to be excecuted

setDebug

public final void setDebug(int debugLevel)
Sets the required debuglevel (if enabled):


getDebug

public final int getDebug()

setProperty

public final void setProperty(int property,
                              int value)

getCyclesLeft

public int getCyclesLeft()

read16

protected int read16(int address)

write16

protected void write16(int address,
                       int value)

write8fast

protected void write8fast(int address,
                          int value)

read16arg

protected int read16arg(int address)

read8opc

protected int read8opc(int address)

read8arg

protected int read8arg(int address)

write16fast

protected void write16fast(int address,
                           int value)

read8

protected abstract int read8(int address)

outPort

protected abstract void outPort(int port,
                                int value)

inPort

protected abstract int inPort(int port)