- [NEW] mòdul zx_system per a gestionar la vida i canvi de systemes (48K, 128K...)
41 lines
878 B
C++
41 lines
878 B
C++
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include <stdio.h>
|
|
#include "zx_system.h"
|
|
|
|
#define MEMTAG_NONE 0x00
|
|
#define MEMTAG_DATA 0x01
|
|
#define MEMTAG_INST 0x02
|
|
#define MEMTAG_CODE 0x04
|
|
#define MEMTAG_IGNORE 0x08
|
|
#define MEMTAG_TDATA 0x10
|
|
#define MEMTAG_TINST 0x20
|
|
#define MEMTAG_TREPEAT 0x40
|
|
#define MEMTAG_MODIFIED 0x80
|
|
|
|
#define MEMTAG_KNOWN 0x07
|
|
#define MEMTAG_TOUCHED 0x70
|
|
|
|
namespace mem
|
|
{
|
|
void init(uint8_t mode);
|
|
void reset();
|
|
|
|
uint8_t readMem(uint16_t address);
|
|
void writeMem(uint16_t address, uint8_t value);
|
|
|
|
void loadMem(uint16_t address, uint16_t len, uint8_t *buffer);
|
|
|
|
uint8_t getTag(uint16_t address);
|
|
void setTag(uint16_t address, uint8_t value);
|
|
|
|
void saveState(FILE* f);
|
|
void loadState(FILE* f);
|
|
|
|
uint32_t getSize();
|
|
|
|
uint8_t *rawPtr(uint32_t address);
|
|
uint8_t *rawTagPtr(uint32_t address);
|
|
}
|