40 lines
805 B
C++
40 lines
805 B
C++
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
namespace sm83
|
|
{
|
|
#define SM83_OPTION_STOP_ON_INVALID 0
|
|
#define SM83_OPTION_BREAK_ON_INTERRUPT 1
|
|
#define SM83_OPTION_BREAK_ON_RET 2
|
|
#define SM83_NUM_OPTIONS 3
|
|
|
|
void reset();
|
|
|
|
void setClock(uint32_t freq);
|
|
uint32_t getClock();
|
|
|
|
void interrupt();
|
|
|
|
uint32_t step();
|
|
|
|
uint8_t *getRegs();
|
|
|
|
uint16_t getAF(const bool alt=false);
|
|
uint16_t getBC(const bool alt=false);
|
|
uint16_t getDE(const bool alt=false);
|
|
uint16_t getHL(const bool alt=false);
|
|
|
|
uint16_t getSP();
|
|
uint16_t getPC();
|
|
|
|
uint8_t getI();
|
|
uint8_t getR();
|
|
|
|
|
|
void setPC(const uint16_t addr);
|
|
|
|
const bool getOption(const int option);
|
|
void setOption(const int option, const bool value);
|
|
void toggleOption(const int option);
|
|
} |