- [NEW] stubs de debug en subsistemes - [NEW] [debugger] ruta de branches visibles en el desensamblat - [NEW] informació completa sobre opcodes, instruccions... en 6502_opcodes
42 lines
956 B
C++
42 lines
956 B
C++
#include "mem.h"
|
|
#include "rom.h"
|
|
#include "tia.h"
|
|
#include "pia.h"
|
|
|
|
namespace mem
|
|
{
|
|
void reset()
|
|
{
|
|
|
|
}
|
|
|
|
uint8_t read(uint16_t address)
|
|
{
|
|
address &= 0x1fff;
|
|
|
|
if (address & 0x1000) return rom::read(address);
|
|
if (address & 0x0080) return pia::read(address);
|
|
return tia::read(address);
|
|
}
|
|
|
|
void write(uint16_t address, uint8_t value)
|
|
{
|
|
address &= 0x1fff;
|
|
|
|
if (address & 0x1000) { rom::write(address, value); return; }
|
|
if (address & 0x0080) { pia::write(address, value); return; }
|
|
tia::write(address, value);
|
|
}
|
|
|
|
namespace debug
|
|
{
|
|
const memDebugInfo getInfo(uint16_t address)
|
|
{
|
|
const uint16_t masked = address & 0x1fff;
|
|
if (masked & 0x1000) return rom::debug::getInfo(address);
|
|
if (masked & 0x0080) return pia::debug::getInfo(address);
|
|
return tia::debug::getInfo(address);
|
|
}
|
|
}
|
|
|
|
} |