libsidplayfp::ZeroRAMBank Class Referencefinal

`#include <ZeroRAMBank.h>`

Inheritance diagram for libsidplayfp::ZeroRAMBank:

## Public Member Functions

| ZeroRAMBank (PLA &pla, SystemRAMBank &ramBank)
void | reset ()
uint8_t | peek (uint_least16_t address) override
void | poke (uint_least16_t address, uint8_t value) override

## Detailed Description

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 $00/$01.

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.

Implementation based on VICE code.

## Member Function Documentation

## peek()

uint8_t libsidplayfp::ZeroRAMBank::peek | ( | uint_least16_t | address | ) |

inline override virtual

Bank read. You probably should override this method, except if the Bank is only used in write context.

Parameters

  address | value to read from

Returns
  value at address

Implements libsidplayfp::Bank.

## poke()

void libsidplayfp::ZeroRAMBank::poke | ( | uint_least16_t | address,
|  | uint8_t | value
| ) |  |

inline override virtual

Bank write.

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.

Parameters

  address | address to write to
  value | value to write

Implements libsidplayfp::Bank.

The documentation for this class was generated from the following file:

- ZeroRAMBank.h