libsidplayfp  2.0.2
Public Member Functions | List of all members
libsidplayfp::MMU Class Referencefinal

#include <mmu.h>

Inheritance diagram for libsidplayfp::MMU:
Inheritance graph
[legend]
Collaboration diagram for libsidplayfp::MMU:
Collaboration graph
[legend]

Public Member Functions

 MMU (EventScheduler &eventScheduler, IOBank *ioBank)
 
void reset ()
 
void setRoms (const uint8_t *kernal, const uint8_t *basic, const uint8_t *character)
 
uint8_t readMemByte (uint_least16_t addr) override
 
uint_least16_t readMemWord (uint_least16_t addr) override
 
void writeMemByte (uint_least16_t addr, uint8_t value) override
 
void writeMemWord (uint_least16_t addr, uint_least16_t value) override
 
void fillRam (uint_least16_t start, uint8_t value, unsigned int size) override
 
void fillRam (uint_least16_t start, const uint8_t *source, unsigned int size) override
 
void installResetHook (uint_least16_t addr) override
 
void installBasicTrap (uint_least16_t addr) override
 
void setBasicSubtune (uint8_t tune) override
 
uint8_t cpuRead (uint_least16_t addr) const
 
void cpuWrite (uint_least16_t addr, uint8_t data)
 

Detailed Description

The C64 MMU chip.

Member Function Documentation

◆ cpuRead()

uint8_t libsidplayfp::MMU::cpuRead ( uint_least16_t  addr) const
inline

Access memory as seen by CPU.

Parameters
addrthe address where to read from
Returns
value at address

◆ cpuWrite()

void libsidplayfp::MMU::cpuWrite ( uint_least16_t  addr,
uint8_t  data 
)
inline

Access memory as seen by CPU.

Parameters
addrthe address where to write
datathe value to write

◆ fillRam() [1/2]

void libsidplayfp::MMU::fillRam ( uint_least16_t  start,
const uint8_t *  source,
unsigned int  size 
)
inlineoverridevirtual

Copy a buffer into a ram area.

Parameters
startthe start of memory location where to write
sourcethe source buffer
sizethe number of bytes to copy

Implements libsidplayfp::sidmemory.

◆ fillRam() [2/2]

void libsidplayfp::MMU::fillRam ( uint_least16_t  start,
uint8_t  value,
unsigned int  size 
)
inlineoverridevirtual

Fill ram area with a constant value.

Parameters
startthe start of memory location where to write
valuethe value to write
sizethe number of bytes to fill

Implements libsidplayfp::sidmemory.

◆ installBasicTrap()

void libsidplayfp::MMU::installBasicTrap ( uint_least16_t  addr)
inlineoverridevirtual

Set BASIC Warm Start address.

Parameters
addrthe new addres to point to

Implements libsidplayfp::sidmemory.

◆ installResetHook()

void libsidplayfp::MMU::installResetHook ( uint_least16_t  addr)
inlineoverridevirtual

Change the RESET vector.

Parameters
addrthe new addres to point to

Implements libsidplayfp::sidmemory.

◆ readMemByte()

uint8_t libsidplayfp::MMU::readMemByte ( uint_least16_t  addr)
inlineoverridevirtual

Read one byte from memory.

Parameters
addrthe memory location from which to read from

Implements libsidplayfp::sidmemory.

◆ readMemWord()

uint_least16_t libsidplayfp::MMU::readMemWord ( uint_least16_t  addr)
inlineoverridevirtual

Read two contiguous bytes from memory.

Parameters
addrthe memory location from which to read from

Implements libsidplayfp::sidmemory.

◆ setBasicSubtune()

void libsidplayfp::MMU::setBasicSubtune ( uint8_t  tune)
inlineoverridevirtual

Set the start tune.

Parameters
tunethe tune number

Implements libsidplayfp::sidmemory.

◆ writeMemByte()

void libsidplayfp::MMU::writeMemByte ( uint_least16_t  addr,
uint8_t  value 
)
inlineoverridevirtual

Write one byte to memory.

Parameters
addrthe memory location where to write
valuethe value to write

Implements libsidplayfp::sidmemory.

◆ writeMemWord()

void libsidplayfp::MMU::writeMemWord ( uint_least16_t  addr,
uint_least16_t  value 
)
inlineoverridevirtual

Write two contiguous bytes to memory.

Parameters
addrthe memory location where to write
valuethe value to write

Implements libsidplayfp::sidmemory.


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