Klasse PLA.SIDBank

java.lang.Object
libsidplay.components.pla.Bank
libsidplay.components.pla.PLA.SIDBank
Umschließende Klasse:
PLA

public static class PLA.SIDBank extends Bank
SID chip memory bank maps reads and writes to the assigned SID chip
  • Feldübersicht

    Felder
    Modifizierer und Typ
    Feld
    Beschreibung
    private final SIDEmu[]
     
    protected SIDListener
    Consumer for SID register writes
    private static final int
    Size 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
    Konstruktor
    Beschreibung
     
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    getSID(int chipNum)
    Get SID chip implementation of a specific SID chip number.
    private boolean
    isUsed(int bankNum)
    Is a specific memory bank in use by SID?
    void
    plugInSID(int chipNum, SIDEmu sidEmu, int address)
    Plug-in SID chip implementation of a specific SID chip number.
    byte
    read(int address)
    SID register read access redirected to a specific SID chip number configured earlier.
    private void
    Reset mapping of memory banks.
    void
     
    void
    unplugSID(int chipNum, SIDEmu sidEmu, int address)
    Un-plug SID chip implementation of a specific SID chip number.
    private void
     
    void
    write(int address, byte value)
    SID register write access redirected to a specific SID chip number configured earlier.

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Felddetails

    • MAPPER_SIZE

      private static final int MAPPER_SIZE
      Size 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[] sidmapper
      SID Mapping table. Maps a SID chip base address to each SID chip number.
    • fastSidmapper

      private final SIDEmu[] fastSidmapper
    • sidemu

      private final SIDEmu[] sidemu
      Contains a SID chip implementation for each SID chip number.
    • sidBankUsed

      private int[] sidBankUsed
      SID assigned to a bank number? Each bit represents the availability of a chip.
    • listener

      protected SIDListener listener
      Consumer for SID register writes
  • Konstruktordetails

    • SIDBank

      public SIDBank()
  • Methodendetails

    • setSIDListener

      public void setSIDListener(SIDListener listener)
    • 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.
      Setzt außer Kraft:
      read in Klasse Bank
      Parameter:
      address - value to read from
      Gibt zurück:
      value at address
    • write

      public void write(int address, byte value)
      SID register write access redirected to a specific SID chip number configured earlier.
      Setzt außer Kraft:
      write in Klasse Bank
      Parameter:
      address - address to write to
      value - value to write
    • getSID

      public SIDEmu getSID(int chipNum)
      Get SID chip implementation of a specific SID chip number.
    • plugInSID

      public void plugInSID(int chipNum, SIDEmu sidEmu, int address)
      Plug-in SID chip implementation of a specific SID chip number.
    • unplugSID

      public void unplugSID(int chipNum, SIDEmu sidEmu, int address)
      Un-plug SID chip implementation of a specific SID chip number.
    • updateFastSidMapper

      private void updateFastSidMapper()