Package libsidplay.components.pla
Klasse PLA.SIDBank
java.lang.Object
libsidplay.components.pla.Bank
libsidplay.components.pla.PLA.SIDBank
- Umschließende Klasse:
PLA
SID chip memory bank maps reads and writes to the assigned SID chip
-
Feldübersicht
FelderModifizierer und TypFeldBeschreibungprivate final SIDEmu[]protected SIDListenerConsumer for SID register writesprivate static final intSize of mapping table.private int[]SID assigned to a bank number?private final SIDEmu[]Contains a SID chip implementation for each SID chip number.private final int[]SID Mapping table. -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibunggetSID(int chipNum) Get SID chip implementation of a specific SID chip number.private booleanisUsed(int bankNum) Is a specific memory bank in use by SID?voidPlug-in SID chip implementation of a specific SID chip number.byteread(int address) SID register read access redirected to a specific SID chip number configured earlier.private voidreset()Reset mapping of memory banks.voidsetSIDListener(SIDListener listener) voidUn-plug SID chip implementation of a specific SID chip number.private voidvoidwrite(int address, byte value) SID register write access redirected to a specific SID chip number configured earlier.
-
Felddetails
-
MAPPER_SIZE
private static final int MAPPER_SIZESize of mapping table. Each 32 bytes another SID chip is possible (it can be assigned to IO range 0xd000-0xdfff: 4096b/32b=128 places).
Note: First possible and default address of a SID in a C64 is 0xd400. Other common places are 0xd400-0xd7ff, 0xde00 and 0xdf00.- Siehe auch:
-
sidmapper
private final int[] sidmapperSID Mapping table. Maps a SID chip base address to each SID chip number. -
fastSidmapper
-
sidemu
Contains a SID chip implementation for each SID chip number. -
sidBankUsed
private int[] sidBankUsedSID assigned to a bank number? Each bit represents the availability of a chip. -
listener
Consumer for SID register writes
-
-
Konstruktordetails
-
SIDBank
public SIDBank()
-
-
Methodendetails
-
setSIDListener
-
reset
private void reset()Reset mapping of memory banks. -
isUsed
private boolean isUsed(int bankNum) Is a specific memory bank in use by SID? -
read
public byte read(int address) SID register read access redirected to a specific SID chip number configured earlier. -
write
public void write(int address, byte value) SID register write access redirected to a specific SID chip number configured earlier. -
getSID
Get SID chip implementation of a specific SID chip number. -
plugInSID
Plug-in SID chip implementation of a specific SID chip number. -
unplugSID
Un-plug SID chip implementation of a specific SID chip number. -
updateFastSidMapper
private void updateFastSidMapper()
-