Package libsidplay
Klasse C64.ZeroRAMBank
java.lang.Object
libsidplay.components.pla.Bank
libsidplay.C64.ZeroRAMBank
- Umschließende Klasse:
C64
Area backed by RAM, including cpu port addresses 0 and 1.
This is bit of a fake. We know that the CPU port is an internal detail of the
CPU, and therefore CPU should simply pay the price for reading/writing to
0/1.
However, that would slow down all accesses, which is suboptimal. Therefore we
install this little hook to the 4k 0 region to deal with this.
- Autor:
- Antti Lankila
-
Feldübersicht
FelderModifizierer und TypFeldBeschreibungprivate static final long$01 bits 6 and 7 fall-off cycles (1->0), average is about 350 msecprivate byteprivate booleanindicated if the unused bits are in the process of falling off.private booleanprivate byteState of processor port pins.private byteValue read from processor port.private booleanindicates if the unused bits of the data port are still valid or should be read as 0, 1 = unused bits valid, 0 = unused bits should be 0private booleanprivate longcycle that should invalidate the unused bits of the data port.private longprivate byteValue written to processor port.private byteTape motor status.private byteTape write line status. -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
-
Felddetails
-
dir
private byte dirValue written to processor port. -
data
private byte data -
dataRead
private byte dataReadValue read from processor port. -
dataOut
private byte dataOutState of processor port pins. -
C64_CPU_DATA_PORT_FALL_OFF_CYCLES
private static final long C64_CPU_DATA_PORT_FALL_OFF_CYCLES$01 bits 6 and 7 fall-off cycles (1->0), average is about 350 msec- Siehe auch:
-
dataSetClkBit6
private long dataSetClkBit6cycle that should invalidate the unused bits of the data port. -
dataSetClkBit7
private long dataSetClkBit7 -
dataSetBit6
private boolean dataSetBit6indicates if the unused bits of the data port are still valid or should be read as 0, 1 = unused bits valid, 0 = unused bits should be 0 -
dataSetBit7
private boolean dataSetBit7 -
dataFalloffBit6
private boolean dataFalloffBit6indicated if the unused bits are in the process of falling off. -
dataFalloffBit7
private boolean dataFalloffBit7 -
oldPortDataOut
private byte oldPortDataOutTape motor status. -
oldPortWriteBit
private byte oldPortWriteBitTape write line status.
-
-
Konstruktordetails
-
ZeroRAMBank
protected ZeroRAMBank()
-
-
Methodendetails
-
reset
public void reset() -
updateCpuPort
private void updateCpuPort() -
read
public byte read(int address) Beschreibung aus Klasse kopiert:BankBank read. Default throws a RuntimeException, so you probably should override this method, except if the Bank is only used in write context. -
write
public void write(int address, byte value) Beschreibung aus Klasse kopiert:BankBank write. Default throws a RuntimException. Override this method if you expect write operations on your bank. Leave unimplemented if it's logically/operationally impossible for writes to ever arrive to bank.
-