Klasse AtomicPower

java.lang.Object
libsidplay.components.cart.Cartridge
libsidplay.components.cart.supported.AtomicPower

public class AtomicPower extends Cartridge
This cartridge has a special A000 RAM mode, enabled by setting the Action Replay control byte to 0x22 (ignoring the bank select lines). I believe this is implemented using a bus snooping technique where the cart takes note of R/W and address signals and in that mode updates the RAM whenever a write to 0xa000-0xbfff occurs. It is unknown if the data also goes to the system RAM, or whether the cart enables Ultimax mode to avoid touching the system RAM data. The current implementation updates both the cart RAM and the system RAM.
Autor:
Antti Lankila
  • Felddetails

    • exportA000Ram

      protected boolean exportA000Ram
    • exportRam

      protected boolean exportRam
    • ram

      protected final byte[] ram
    • freezed

      protected boolean freezed
    • currentRomBank

      protected int currentRomBank
      Currently active ROML bank.
    • romLBanks

      protected final byte[][] romLBanks
      ROML banks 0..3 (each of size 0x2000).
    • io1Bank

      protected final Bank io1Bank
    • romlBank

      private final Bank romlBank
    • romhBank

      private final Bank romhBank
    • newCartRomConfig

      private final Event newCartRomConfig
  • Konstruktordetails

  • Methodendetails

    • installBankHooks

      public void installBankHooks(Bank[] cpuReadMap, Bank[] cpuWriteMap)
      Beschreibung aus Klasse kopiert: Cartridge
      If 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:
      installBankHooks in Klasse Cartridge
      Parameter:
      cpuReadMap -
      cpuWriteMap -
    • getRomh

      public Bank getRomh()
      Beschreibung aus Klasse kopiert: Cartridge
      Get currently active ROMH bank.
      Setzt außer Kraft:
      getRomh in Klasse Cartridge
      Gibt zurück:
      ROMH bank
    • getRoml

      public Bank getRoml()
      Beschreibung aus Klasse kopiert: Cartridge
      Get currently active ROML bank.
      Setzt außer Kraft:
      getRoml in Klasse Cartridge
      Gibt zurück:
      ROML bank
    • getIO1

      public Bank getIO1()
      Beschreibung aus Klasse kopiert: Cartridge
      Acquire the IO1 bank
      Setzt außer Kraft:
      getIO1 in Klasse Cartridge
      Gibt zurück:
      The bank responding to IO1 line.
    • getIO2

      public Bank getIO2()
      Beschreibung aus Klasse kopiert: Cartridge
      Acquire the IO2 bank.
      Setzt außer Kraft:
      getIO2 in Klasse Cartridge
      Gibt zurück:
      The bank responding to IO2 line.
    • reset

      public void reset()
      Beschreibung aus Klasse kopiert: Cartridge
      Bring the cart to power-on state. If overridden, remember to call the superclass method.
      Setzt außer Kraft:
      reset in Klasse Cartridge
    • doFreeze

      public void doFreeze()
      Beschreibung aus Klasse kopiert: Cartridge
      Handle pressing of the freeze button.
      Setzt außer Kraft:
      doFreeze in Klasse Cartridge