bsnes/processor/upd96050/upd96050.hpp

41 lines
739 B
C++
Raw Normal View History

#ifndef PROCESSOR_UPD96050_HPP
#define PROCESSOR_UPD96050_HPP
namespace Processor {
//NEC uPD7720 (not supported)
//NEC uPD7725
//NEC uPD96050
struct uPD96050 {
enum class Revision : unsigned { uPD7725, uPD96050 } revision;
uint24 programROM[16384];
uint16 dataROM[2048];
uint16 dataRAM[2048];
#include "registers.hpp"
void power();
void exec();
void serialize(serializer&);
void exec_op(uint24 opcode);
void exec_rt(uint24 opcode);
void exec_jp(uint24 opcode);
void exec_ld(uint24 opcode);
uint8 sr_read();
void sr_write(uint8 data);
uint8 dr_read();
void dr_write(uint8 data);
uint8 dp_read(uint12 addr);
void dp_write(uint12 addr, uint8 data);
string disassemble(uint14 ip);
};
}
#endif