mirror of https://github.com/bsnes-emu/bsnes.git
32 lines
632 B
C++
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;
|
|
};
|
|
|
|
}
|