MSXHawk: cpu work

This commit is contained in:
alyosha-tas 2020-01-19 18:39:56 -05:00
parent c9c2210e91
commit 7d34bdbeb0
3 changed files with 1903 additions and 1705 deletions

View File

@ -15,10 +15,10 @@ namespace MSXHawk
{ {
public: public:
VDP* vdp_pntr; VDP* vdp_pntr = nullptr;
SN76489sms* psg_pntr; SN76489sms* psg_pntr = nullptr;
Z80A* cpu_pntr; Z80A* cpu_pntr = nullptr;
uint8_t* rom; uint8_t* rom = nullptr;
// initialized by core loading, not savestated // initialized by core loading, not savestated
uint32_t rom_size; uint32_t rom_size;
@ -39,8 +39,8 @@ namespace MSXHawk
uint8_t Port3F = 0xFF; uint8_t Port3F = 0xFF;
uint8_t PortDE = 0x00; uint8_t PortDE = 0x00;
uint8_t reg_FFFC, reg_FFFD, reg_FFFE, reg_FFFF; uint8_t reg_FFFC, reg_FFFD, reg_FFFE, reg_FFFF;
uint8_t ram[0x2000]; uint8_t ram[0x2000] = {};
uint8_t cart_ram[0x8000]; uint8_t cart_ram[0x8000] = {};
MemoryManager() MemoryManager()
{ {

View File

@ -11,7 +11,10 @@ namespace MSXHawk
{ {
void Z80A::Memory_Write(uint32_t addr, uint8_t value) void Z80A::Memory_Write(uint32_t addr, uint8_t value)
{ {
mem_ctrl->MemoryWrite(addr, value); if ((addr & 0xFFFF) >= 0xFFFC)
{
mem_ctrl->MemoryWrite(addr, value);
}
} }
void Z80A::HW_Write(uint32_t addr, uint8_t value) void Z80A::HW_Write(uint32_t addr, uint8_t value)

File diff suppressed because it is too large Load Diff