56 lines
1.2 KiB
C++
56 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
namespace z80
|
|
{
|
|
#define Z80_OPTION_STOP_ON_INVALID 0
|
|
#define Z80_OPTION_BREAK_ON_INTERRUPT 1
|
|
#define Z80_OPTION_BREAK_ON_RET 2
|
|
#define Z80_NUM_OPTIONS 3
|
|
|
|
void reset();
|
|
void setClock(uint32_t freq);
|
|
uint32_t getClock();
|
|
|
|
//void reset(uint8_t* mem);
|
|
void connect_port(int num, int (*in_ptr)(int), void (*out_ptr)(int,int));
|
|
void interrupt();
|
|
|
|
uint32_t step();
|
|
|
|
//uint8_t *getMem();
|
|
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 getIX();
|
|
uint16_t getIY();
|
|
uint16_t getSP();
|
|
uint16_t getPC();
|
|
|
|
uint8_t getI();
|
|
uint8_t getR();
|
|
|
|
|
|
void setPC(const uint16_t addr);
|
|
|
|
/*
|
|
uint8_t getMemTag(const uint16_t addr);
|
|
void setMemTag(const uint16_t addr, const uint8_t value);
|
|
void clearMemTag();
|
|
|
|
uint8_t getMemTouched(const uint16_t addr);
|
|
void clearMemTouched();
|
|
void fixMemTouched();
|
|
*/
|
|
|
|
const bool getOption(const int option);
|
|
void setOption(const int option, const bool value);
|
|
void toggleOption(const int option);
|
|
|
|
void resetStackedCalls();
|
|
} |