mirror of https://github.com/bsnes-emu/bsnes.git
41 lines
739 B
C++
41 lines
739 B
C++
|
#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
|