- [NEW] Step by step execution with F6 - [NEW] Memory is tagged as code or data while executing, so later it can be properly disassembled - [NEW] "reg X value" to set the value of X register - [FIX] IX opcode table had errors - [FIX] opcodes with two parameters where printed incorrectly on the disassembler - [FIX] opcodes can't be lager than 4 bytes - [CHG] Berserk mode and fernando martin TAP by default, to help with debugging
33 lines
717 B
C++
33 lines
717 B
C++
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
namespace z80
|
|
{
|
|
#define MEMTAG_NONE 0
|
|
#define MEMTAG_INST 1
|
|
#define MEMTAG_CODE 2
|
|
#define MEMTAG_DATA 3
|
|
|
|
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();
|
|
|
|
void setPC(const uint16_t addr);
|
|
uint8_t getMemTag(const uint16_t addr);
|
|
} |