ROLAND
0.70
Amstrad Emulator based on Caprice Source rewritten in C++.
|
#include <memman.h>
Public Types | |
enum | Error : tUBYTE { ErrRamSize =1, ErrMemory =2, ErrCpcRom =4, ErrAmsdos =8 } |
Public Member Functions | |
MemMan (Z80 *z80=nullptr, GateArray *gatearray=nullptr, const tSTRING &cpcrom="", const tSTRING &amsdos="") | |
int | init (tUWORD ramsize=128, const tSTRING &cpcrom="", const tSTRING &amsdos="") |
int | init (Z80 *z80, GateArray *gatearray) |
void | initBanking () |
void | memoryManager () |
void | toggleLowerRom () |
void | toggleUpperRom () |
tUBYTE * | memBankConfig (tUBYTE bank, tUBYTE seg) |
tUBYTE * | rom (int bank) |
tUBYTE * | upperRom () |
tUBYTE * | lowerRom () |
tUBYTE * | base () |
bool | openRom (int idx, const tSTRING &filename) |
bool | openCpcRom (const tSTRING &filename) |
Private Attributes | |
GateArray * | mGateArray |
Z80 * | mZ80 |
tUBYTE * | mRam |
tUBYTE * | mRom [256] |
tUBYTE | mCpcRom [2 *16384] |
tUBYTE * | mMemBankConfig [8][4] |
tUBYTE * | mUpperRom |
tUBYTE * | mLowerRom |
int | mRamSize |
MemMan | ( | Z80 * | z80 = nullptr , |
GateArray * | gatearray = nullptr , |
||
const tSTRING & | cpcrom = "" , |
||
const tSTRING & | amsdos = "" |
||
) |
|
inline |
References MemMan::mMemBankConfig, MemMan::openCpcRom(), and MemMan::openRom().
Referenced by MemMan::init().
|
inline |
References MemMan::mGateArray, MemMan::mMemBankConfig, MemMan::mRam, and GateArray::ramBank().
Referenced by MemMan::init(), and MemMan::memoryManager().
|
inline |
References MemMan::mLowerRom.
References MemMan::mMemBankConfig.
void memoryManager | ( | ) |
References MemMan::initBanking(), MemMan::mGateArray, MemMan::mMemBankConfig, MemMan::mRamSize, MemMan::mZ80, GateArray::ramConfig(), Z80::setMembank_read(), Z80::setMembank_write(), GateArray::setRamBank(), GateArray::setRamConfig(), MemMan::toggleLowerRom(), and MemMan::toggleUpperRom().
Referenced by Cpc::z80_out_handler().
bool openCpcRom | ( | const tSTRING & | filename | ) |
Referenced by MemMan::base(), and MemMan::init().
bool openRom | ( | int | idx, |
const tSTRING & | filename | ||
) |
Referenced by MemMan::base(), and MemMan::init().
|
inline |
References MemMan::mRom.
|
inline |
References MemMan::mGateArray, MemMan::mLowerRom, MemMan::mZ80, GateArray::romConfig(), and Z80::setMembank_read().
Referenced by MemMan::memoryManager().
|
inline |
References MemMan::mGateArray, MemMan::mRom, MemMan::mUpperRom, MemMan::mZ80, GateArray::romConfig(), Z80::setMembank_read(), and GateArray::upperRom().
Referenced by MemMan::memoryManager(), and Cpc::z80_out_handler().
|
inline |
References MemMan::mUpperRom.
|
private |
Referenced by MemMan::init().
|
private |
Referenced by MemMan::init(), MemMan::initBanking(), MemMan::memoryManager(), MemMan::toggleLowerRom(), and MemMan::toggleUpperRom().
|
private |
Referenced by MemMan::lowerRom(), and MemMan::toggleLowerRom().
|
private |
Referenced by MemMan::base(), MemMan::initBanking(), MemMan::memBankConfig(), and MemMan::memoryManager().
|
private |
Referenced by MemMan::init(), and MemMan::initBanking().
|
private |
Referenced by MemMan::init(), and MemMan::memoryManager().
|
private |
Referenced by MemMan::init(), MemMan::rom(), and MemMan::toggleUpperRom().
|
private |
Referenced by MemMan::toggleUpperRom(), and MemMan::upperRom().
|
private |
Referenced by MemMan::init(), MemMan::memoryManager(), MemMan::toggleLowerRom(), and MemMan::toggleUpperRom().