BizHawk/ExternalCoreProjects/Virtu/Cpu.Data.cs

118 lines
5.3 KiB
C#

using System;
namespace Jellyfish.Virtu
{
// ReSharper disable once UnusedMember.Global
public partial class Cpu
{
public void Sync(IComponentSerializer ser)
{
ser.Sync(nameof(_is65C02), ref _is65C02);
ser.Sync(nameof(_multiplier), ref _multiplier);
ser.Sync(nameof(_ra), ref _ra);
ser.Sync(nameof(_rx), ref _rx);
ser.Sync(nameof(_ry), ref _ry);
ser.Sync(nameof(_rs), ref _rs);
ser.Sync(nameof(_rp), ref _rp);
ser.Sync(nameof(_rpc), ref _rpc);
ser.Sync(nameof(_ea), ref _ea);
ser.Sync(nameof(_cc), ref _cc);
ser.Sync(nameof(_opCode), ref _opCode);
ser.Sync(nameof(_cycles), ref _cycles);
if (!ser.IsReader)
{
// A way to set the action callback
Is65C02 = _is65C02;
}
}
private Action[] _executeOpCode65N02;
private Action[] _executeOpCode65C02;
private Action[] _executeOpCode;
private bool _is65C02;
private int _multiplier;
private int _ra;
private int _rx;
private int _ry;
private int _rs;
private int _rp;
private int _rpc;
private int _ea;
private int _cc;
private int _opCode;
private long _cycles;
private const int Pc = 0x01;
private const int Pz = 0x02;
private const int Pi = 0x04;
private const int Pd = 0x08;
private const int Pb = 0x10;
private const int Pv = 0x40;
private const int Pn = 0x80;
private static readonly int[] DataPn =
{
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn
};
private static readonly int[] DataPz =
{
Pz, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
};
private static readonly int[] DataPnz =
{
Pz, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn,
Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn, Pn
};
}
}