libsidplayfp  1.8.3
Public Member Functions | List of all members
ZeroRAMBank Class Reference

#include <ZeroRAMBank.h>

Inheritance diagram for ZeroRAMBank:
Bank

Public Member Functions

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

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 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.

Implementation based on VICE code.

Author
Antti Lankila

Member Function Documentation

uint8_t ZeroRAMBank::peek ( uint_least16_t  address)
inlinevirtual

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

Parameters
addressvalue to read from
Returns
value at address

Implements Bank.

void ZeroRAMBank::poke ( uint_least16_t  address,
uint8_t  value 
)
inlinevirtual

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
addressaddress to write to
valuevalue to write

Implements Bank.


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