public class CPUforScreenEmulation extends MC68000Cpu
addr_regs, currentInstructionAddress, cutOff, data_regs, disasmBuffer, externalInterruptHandlersList, i_table, ieh, INTERRUPT_FLAGS_MASK, interruptLevel, interruptSignaled, mainMemory, nbrOfInterruptHandlers, newInterruptGenerated, pc_reg, pcs, ramSize, randomNumber, reg_sr, reg_ssp, reg_usp, screen, screenStart, screenStop, stopNow, SUPERVISOR_FLAG, totMemSize, totRamSize, totRamSizeForLong, totRamSizeForWord, TRACE_FLAG, trapDispatcher
Constructor and Description |
---|
CPUforScreenEmulation(int size,
inifile.IniFile iniFile,
int romSize,
int videoRamSize)
Creates the object.
|
CPUforScreenEmulation(int size,
int romSize,
int videoRamSize)
Creates the "naked" object, this isn't really useful except for testing.
|
CPUforScreenEmulation(int size,
Screen screen,
inifile.IniFile iniFile,
int romSize)
Creates the object.
|
Modifier and Type | Method and Description |
---|---|
protected int |
readFromBuffer(int address,
int nbrOfBytes,
java.nio.ByteBuffer buffer,
int startInBuffer,
boolean specialRead)
Reads bytes from a ByteBuffer and writes them into memory.
|
void |
setCopyScreen(int QLScreenMode,
int origins)
This switches QL screen emulation on or off.
|
void |
writeMemoryByte(int address,
int value)
Writes a byte to memory.
|
void |
writeMemoryLong(int address,
int value)
Writes a long to the memory.
|
void |
writeMemoryShort(int address,
short value)
Writes a short to memory.
|
void |
writeMemoryWord(int address,
int value)
Writes a word to memory.
|
addInstruction, clearInterruptHandlers, combineBlocks, disassembleDstEA, disassembleEA, disassembleSrcEA, execute, executeContinuous, findInMemory, findInMemory, findInMemory, generateInterrupt, generateInterrupt, getDisplacement, getInifile, getInstructionFor, getLinkageBlock, getMemory, getRomFile, getScreen, getScreenAddresses, isRomLoadedOk, isSupervisorMode, loadRomImage, memBoundsOK, moveBlock, raiseException, raiseSRException, readableSize, readFromBuffer, readFromFile, readMemoryByte, readMemoryByteSigned, readMemoryLong, readMemoryLongPC, readMemoryLongPCinc, readMemoryShort, readMemoryWord, readMemoryWordPC, readMemoryWordPCInc, readMemoryWordPCSigned, readMemoryWordPCSignedInc, readMemoryWordSigned, readSmsqeString, registerInterruptHandler, registerInterruptHandler, removeKeyrow, reset, setEmuScreenMode, setKeyrow, setScreenMode, setSR, setTrapDispatcher, setupSMSQE, signExtendByte, signExtendWord, testTrace, writeSmsqeString, writeSmsqeString, writeToBuffer, writeToBuffer, writeToBuffer, writeToFile
public CPUforScreenEmulation(int size, Screen screen, inifile.IniFile iniFile, int romSize)
size
- the size of ram in bytes.screen
- the screen to use.iniFile
- my .ini file with options to set.romSize
- the size of the ROM image. Loaded after the RAM image.public CPUforScreenEmulation(int size, inifile.IniFile iniFile, int romSize, int videoRamSize)
size
- the size of ram in bytes.iniFile
- my .ini file with options to set.romSize
- the size of the ROM image. Loaded after the RAM image.videoRamSize
- size,in bytes, of screen memory to be allocated here.public CPUforScreenEmulation(int size, int romSize, int videoRamSize)
size
- the size of ram in bytes. This is allocated when the object is created.romSize
- the size of the ROM image. Loaded after the RAM image.videoRamSize
- size,in bytes, of screen memory to be allocated here.public final void writeMemoryByte(int address, int value)
writeMemoryByte
in class MC68000Cpu
address
- where to write to.value
- the byte to write (in the LSB of the int).public final void writeMemoryWord(int address, int value)
writeMemoryWord
in class MC68000Cpu
address
- where to write to.value
- the word to write (in the LSW of the int).public final void writeMemoryShort(int address, short value)
writeMemoryShort
in class MC68000Cpu
address
- where to write to.value
- the short to write.public final void writeMemoryLong(int address, int value)
writeMemoryLong
in class MC68000Cpu
address
- the address where to write to.value
- the value to write.public void setCopyScreen(int QLScreenMode, int origins)
setCopyScreen
in class MC68000Cpu
origins
- origins in y screen which should correspond to (0,0) in QL screen.QLScreenMode
- the screen mode the QL screen is supposed to be in.protected int readFromBuffer(int address, int nbrOfBytes, java.nio.ByteBuffer buffer, int startInBuffer, boolean specialRead)
readFromBuffer
in class MC68000Cpu
address
- where to read to.nbrOfBytes
- how many bytes are to be read.buffer
- the buffer to read from.startInBuffer
- where in the buffer to start reading from.specialRead
- =true
ONLY when loading the OS, must be false
at all other times!