Klasse REU
java.lang.Object
libsidplay.components.cart.Cartridge
libsidplay.components.cart.supported.REU
16 MB RAM Expansion Unit emulation. No REU of this size was ever produced, but 1541U and VICE nevertheless can emulate one.
The real REUs that were manufactured had the following sizes:
- 1700: 128 kB
- 1750: 512 kB
- 1764: 256 kB
- 1750 XL: 2 MB
We are not emulating the wrap-around features of the REU chips yet. We are emulating a fictional REU with full 8-bit wide BANK register. We do emulate the verify-related bugs.
REU images are pure RAM dumps with no internal structure.
- Autor:
- AL
-
Verschachtelte Klassen - Übersicht
Verschachtelte KlassenModifizierer und TypKlasseBeschreibungprivate static enumprotected classVon Klasse geerbte verschachtelte Klassen/Schnittstellen libsidplay.components.cart.Cartridge
Cartridge.CRTType -
Feldübersicht
FelderModifizierer und TypFeldBeschreibungprotected byteMisc.protected booleanCurrent state of the bus available signalprotected intDMA operation C64 addressprotected byteMisc.protected booleanREU currently actively performing DMAprotected final Eventprotected final Eventprotected final REU.DMAEventprotected shortDMA operation lengthprotected booleanIs FF00 REU DMA trigger enabledprotected byteMisc.private final Bankprotected byte[]REU RAM region (max. 16 MB)protected intDMA operation REU addressprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprotected REU.CommandCurrently active commandprotected intDMA operation C64 addressprotected shortDMA operation lengthprotected intDMA operation REU addressprotected byteMisc.protected static intAND mask depends of the RAM expansion size. -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungprotected voidbeginDma()voidchangedBA(boolean state) Callback to notify cartridge of current state of BA signal on the system bus.getIO2()Acquire the IO2 bank.private StringvoidinstallBankHooks(Bank[] cpuReadMap, Bank[] cpuWriteMap) If the cartridge needs to listen to write activity on specific banks, it can install the requisite hooks into the bank here.protected voidREU interrupt enable/disablevoidreset()Bring the cart to power-on state.toString()Von Klasse geerbte Methoden libsidplay.components.cart.Cartridge
changedIRQ, changedNMI, clock, create, doFreeze, freeze, getIO1, getRomh, getRoml, getSampler, getUltimaxMemory, isCreatingSamples, mixerStart, nullCartridge, read, readCRT, setIRQ, setNMI, setSampler
-
Felddetails
-
REGISTER_STATUS
private static final int REGISTER_STATUS- Siehe auch:
-
REGISTER_COMMAND
private static final int REGISTER_COMMAND- Siehe auch:
-
REGISTER_BASEADDR_LOW
private static final int REGISTER_BASEADDR_LOW- Siehe auch:
-
REGISTER_BASEADDR_HIGH
private static final int REGISTER_BASEADDR_HIGH- Siehe auch:
-
REGISTER_RAMADDR_LOW
private static final int REGISTER_RAMADDR_LOW- Siehe auch:
-
REGISTER_RAMADDR_HIGH
private static final int REGISTER_RAMADDR_HIGH- Siehe auch:
-
REGISTER_BANK
private static final int REGISTER_BANK- Siehe auch:
-
REGISTER_BLOCKLEN_LOW
private static final int REGISTER_BLOCKLEN_LOW- Siehe auch:
-
REGISTER_BLOCKLEN_HIGH
private static final int REGISTER_BLOCKLEN_HIGH- Siehe auch:
-
REGISTER_INTERRUPT
private static final int REGISTER_INTERRUPT- Siehe auch:
-
REGISTER_ADDR_CONTROL
private static final int REGISTER_ADDR_CONTROL- Siehe auch:
-
REGISTER_INTERRUPT_UNUSED
private static final int REGISTER_INTERRUPT_UNUSED- Siehe auch:
-
REGISTER_ADDR_CONTROL_UNUSED
private static final int REGISTER_ADDR_CONTROL_UNUSED- Siehe auch:
-
wrapAround
protected static int wrapAroundAND mask depends of the RAM expansion size. -
dmaActive
protected boolean dmaActiveREU currently actively performing DMA -
ram
protected byte[] ramREU RAM region (max. 16 MB) -
ba
protected boolean baCurrent state of the bus available signal -
ff00
protected boolean ff00Is FF00 REU DMA trigger enabled -
status
protected byte statusMisc. REU register -
command
protected byte commandMisc. REU register -
interrupt
protected byte interruptMisc. REU register -
addrControl
protected byte addrControlMisc. REU register -
baseAddr
protected int baseAddrDMA operation C64 address -
shadowBaseAddr
protected int shadowBaseAddrDMA operation C64 address -
ramAddr
protected int ramAddrDMA operation REU address -
shadowRamAddr
protected int shadowRamAddrDMA operation REU address -
dmaLen
protected short dmaLenDMA operation length -
shadowDmaLen
protected short shadowDmaLenDMA operation length -
reuOperation
Currently active command -
dmaEvent
-
dmaBeginEvent
-
dmaEndEvent
-
io2Bank
-
-
Konstruktordetails
-
REU
- Löst aus:
IOException
-
-
Methodendetails
-
interrupt
protected void interrupt()REU interrupt enable/disable -
getIO2
Beschreibung aus Klasse kopiert:CartridgeAcquire the IO2 bank. -
reset
public void reset()Beschreibung aus Klasse kopiert:CartridgeBring the cart to power-on state. If overridden, remember to call the superclass method. -
changedBA
public void changedBA(boolean state) Beschreibung aus Klasse kopiert:CartridgeCallback to notify cartridge of current state of BA signal on the system bus. The boolean value is active high. -
installBankHooks
Beschreibung aus Klasse kopiert:CartridgeIf the cartridge needs to listen to write activity on specific banks, it can install the requisite hooks into the bank here.- Setzt außer Kraft:
installBankHooksin KlasseCartridge- Parameter:
cpuReadMap-cpuWriteMap-
-
beginDma
protected void beginDma() -
toString
-
getModelName
-