bsnes/higan/processor/v30mz/v30mz.hpp

32 lines
632 B
C++

//NEC V30MZ
#pragma once
namespace Processor {
struct V30MZ {
virtual auto step(uint clocks) -> void = 0;
virtual auto read(uint32 addr) -> uint8 = 0;
virtual auto write(uint32 addr, uint8 data) -> void = 0;
auto exec() -> void;
auto power() -> void;
struct Registers {
struct { uint16 ax; uint8 order_lsb2(al, ah); };
struct { uint16 cx; uint8 order_lsb2(cl, ch); };
struct { uint16 dx; uint8 order_lsb2(dl, dh); };
struct { uint16 bx; uint8 order_lsb2(bl, bh); };
uint16 sp;
uint16 bp;
uint16 si;
uint16 di;
uint16 es;
uint16 cs;
uint16 ss;
uint16 ds;
} r;
};
}