Files
z80/z80.h
Raimon Zamora c9aceeb387 - [NEW] Més opcions de control del etiquetat de la memòria
- [FIX] Les instruccions DD34 i DD35 no pillaven un byte signed, sino unsigned. Han de haber-ne més. REPASAR.
- [ONGOING] Preparant el analyzer per a tindre diverses visualitzacions de la memòria
- [NEW] El debugger ara mostra el etiquetat de la memòria en el desensamblador
- [FIX] El cursor ja se torna a vore en el debugger
2024-12-13 13:52:41 +01:00

54 lines
1.3 KiB
C++

#pragma once
#include <stdint.h>
namespace z80
{
#define MEMTAG_NONE 0
#define MEMTAG_INST 1
#define MEMTAG_CODE 2
#define MEMTAG_DATA 3
#define MEMTAG_REPEAT 4
#define MEMTAG_MIXED 5
#define MEMTAG_IGNORE 6
#define Z80_OPTION_STOP_ON_INVALID 0
#define Z80_OPTION_BREAK_ON_INTERRUPT 1
#define Z80_NUM_OPTIONS 2
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);
}