O2Hawk: debuggable stuff

This commit is contained in:
alyosha-tas 2019-12-29 09:06:39 -05:00
parent f1faf5988a
commit 2d8d8cc1cd
2 changed files with 61 additions and 25 deletions

View File

@ -5,6 +5,10 @@ SHA1:3720DD6B5EE3DC62C5AF2EA9D915A2B83DE9463D Chief Chef O2
SHA1:FEB358E28587DE70D1E89BF0F9A3209CE0B67C57 Haunted House O2 SHA1:FEB358E28587DE70D1E89BF0F9A3209CE0B67C57 Haunted House O2
SHA1:B1D65BEDB56FE7A9CF60AA054A9FD9BB7F65B77C 3D Box O2 SHA1:B1D65BEDB56FE7A9CF60AA054A9FD9BB7F65B77C 3D Box O2
SHA1:0270047E2B1FC07581BF0FF9E55035925CF0EFF0 Guiseppe apr14 O2 SHA1:0270047E2B1FC07581BF0FF9E55035925CF0EFF0 Guiseppe apr14 O2
SHA1:0D6B44E2445DBB3BF70C4E05F222822845C29762 Boob O2
SHA1:DE888B7AA2716C3134CFF812A4E07E86B2479537 Shoot the B O2
SHA1:85A44A99B254D92A7433EE46E4CAA91483D7FEA2 go Sub 2 O2

View File

@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using BizHawk.Emulation.Common; using BizHawk.Emulation.Common;
using BizHawk.Emulation.Common.Components.I8048;
namespace BizHawk.Emulation.Cores.Consoles.O2Hawk namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
{ {
@ -11,21 +12,22 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
{ {
return new Dictionary<string, RegisterValue> return new Dictionary<string, RegisterValue>
{ {
/* ["R0"] = cpu.Regs[0 + cpu.RB],
["A"] = cpu.A, ["R1"] = cpu.Regs[1 + cpu.RB],
["X"] = cpu.X, ["R2"] = cpu.Regs[2 + cpu.RB],
["Y"] = cpu.Y, ["R3"] = cpu.Regs[3 + cpu.RB],
["S"] = cpu.S, ["R4"] = cpu.Regs[4 + cpu.RB],
["PC"] = cpu.PC, ["R5"] = cpu.Regs[5 + cpu.RB],
["R6"] = cpu.Regs[6 + cpu.RB],
["R7"] = cpu.Regs[7 + cpu.RB],
["PC"] = cpu.Regs[I8048.PC],
["Flag C"] = cpu.FlagC, ["Flag C"] = cpu.FlagC,
["Flag Z"] = cpu.FlagZ, ["Flag AC"] = cpu.FlagAC,
["Flag I"] = cpu.FlagI, ["Flag BS"] = cpu.FlagBS,
["Flag D"] = cpu.FlagD, ["Flag F0"] = cpu.FlagF0,
["Flag B"] = cpu.FlagB, ["Flag F1"] = cpu.F1,
["Flag V"] = cpu.FlagV, ["Flag T0"] = cpu.T0,
["Flag N"] = cpu.FlagN, ["Flag T1"] = cpu.T1
["Flag T"] = cpu.FlagT
*/
}; };
} }
@ -35,23 +37,53 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
{ {
default: default:
throw new InvalidOperationException(); throw new InvalidOperationException();
case "A": case "R0":
//cpu.A = (byte)value; cpu.Regs[0 + cpu.RB] = (byte)value;
break; break;
case "X": case "R1":
//cpu.X = (byte)value; cpu.Regs[1 + cpu.RB] = (byte)value;
break; break;
case "Y": case "R2":
//cpu.Y = (byte)value; cpu.Regs[2 + cpu.RB] = (byte)value;
break; ;
case "R3":
cpu.Regs[3 + cpu.RB] = (byte)value;
break; break;
case "S": case "R4":
//cpu.S = (byte)value; cpu.Regs[4 + cpu.RB] = (byte)value;
break;
case "R5":
cpu.Regs[5 + cpu.RB] = (byte)value;
break;
case "R6":
cpu.Regs[6 + cpu.RB] = (byte)value;
break; ;
case "R7":
cpu.Regs[7 + cpu.RB] = (byte)value;
break; break;
case "PC": case "PC":
//cpu.PC = (ushort)value; cpu.Regs[I8048.PC] = (ushort)value;
break; break;
case "Flag I": case "Flag C":
//cpu.FlagI = value > 0; cpu.FlagC = value > 0;
break;
case "Flag AC":
cpu.FlagAC = value > 0;
break;
case "Flag BS":
cpu.FlagBS = value > 0;
break;
case "Flag F0":
cpu.FlagF0 = value > 0;
break;
case "Flag F1":
cpu.F1 = value > 0;
break;
case "Flag T0":
cpu.T0 = value > 0;
break;
case "Flag T1":
cpu.T1 = value > 0;
break; break;
} }
} }