add h, v regs to snes regs list

This commit is contained in:
nattthebear 2018-05-18 17:35:28 -04:00
parent 2144195bb8
commit ebd6408315
5 changed files with 14 additions and 12 deletions
BizHawk.Emulation.Cores/Consoles/Nintendo/SNES
output/dll
waterbox/libsnes/bsnes
snes/cpu/core/disassembler
target-libsnes

View File

@ -215,6 +215,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
public uint aa, rd;
[FieldOffset(28)]
public byte sp, dp, db, mdr;
[FieldOffset(32)]
public ushort v, h;
}
[StructLayout(LayoutKind.Sequential)]
@ -300,17 +302,14 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
[FieldOffset(176)]
public CPURegs cpuregs;
[FieldOffset(208)]
[FieldOffset(212)]
public LayerEnables layerEnables;
[FieldOffset(220)]
[FieldOffset(224)]
//static configuration-type information which can be grabbed off the core at any time without even needing a QUERY command
public SNES_REGION region;
[FieldOffset(224)]
public SNES_MAPPER mapper;
[FieldOffset(228)]
public int unused;
public SNES_MAPPER mapper;
//utilities
//TODO: make internal, wrap on the API instead of the comm

View File

@ -46,6 +46,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
["Flag I"] = fi,
["Flag Z"] = fz,
["Flag C"] = fc,
["V"] = regs.v,
["H"] = regs.h
};
}

Binary file not shown.

View File

@ -441,7 +441,7 @@ void CPUcore::disassemble_opcode(char *output, uint32 addr) {
strcat(s, t);
strcat(s, " ");
sprintf(t, "V:%3d H:%4d", cpu.vcounter(), cpu.hcounter());
sprintf(t, "V:%3d H:%4d", cpu.vcounter(), cpu.hdot());
strcat(s, t);
}

View File

@ -113,6 +113,7 @@ struct CPURegsComm {
u8 p, nothing;
u32 aa, rd;
u8 sp, dp, db, mdr;
u16 v, h;
}
#ifndef _MSC_VER
__attribute__((__packed__))
@ -174,8 +175,6 @@ struct CommStruct
uint32 region;
uint32 mapper;
int32 padding4;
//===========================================================
//private stuff
@ -537,6 +536,8 @@ void QUERY_peek_cpu_regs() {
comm.cpuregs.vector = SNES::cpu.regs.vector;
comm.cpuregs.p = SNES::cpu.regs.p;
comm.cpuregs.nothing = 0;
comm.cpuregs.v = SNES::cpu.vcounter();
comm.cpuregs.h = SNES::cpu.hdot();
}
void QUERY_peek_set_cdl() {
for (int i = 0; i<eCDLog_AddrType_NUM; i++)
@ -624,9 +625,9 @@ EXPORT void* DllInit()
T(cdl_ptr, 128);
T(cdl_size, 160);
T(cpuregs, 176);
T(layerEnables, 208);
T(region, 220);
T(mapper, 224);
T(layerEnables, 212);
T(region, 224);
T(mapper, 228);
// start of private stuff
T(privbuf, 232);
#undef T