Move flag regs to unserialized area

This is only used in x86 (mips and arm use native regs and never spill)
This commit is contained in:
David Guillen Fandos 2021-08-28 17:50:25 +02:00
parent d649fe96cb
commit 55c6a69ccd
5 changed files with 30 additions and 31 deletions

View File

@ -30,15 +30,14 @@ _##symbol:
#define REG_SP (13 * 4)
#define REG_LR (14 * 4)
#define REG_PC (15 * 4)
#define REG_CPSR (16 * 4)
#define CPU_MODE (17 * 4)
#define CPU_HALT_STATE (18 * 4)
#define REG_N_FLAG (16 * 4)
#define REG_Z_FLAG (17 * 4)
#define REG_C_FLAG (18 * 4)
#define REG_V_FLAG (19 * 4)
#define REG_CPSR (20 * 4)
#define CPU_MODE (21 * 4)
#define CPU_HALT_STATE (22 * 4)
#define REG_N_FLAG (20 * 4)
#define REG_Z_FLAG (21 * 4)
#define REG_C_FLAG (22 * 4)
#define REG_V_FLAG (23 * 4)
#define CHANGED_PC_STATUS (24 * 4)
#define COMPLETED_FRAME (25 * 4)
#define OAM_UPDATED (26 * 4)

16
cpu.h
View File

@ -74,17 +74,17 @@ typedef enum
REG_SP = 13,
REG_LR = 14,
REG_PC = 15,
REG_N_FLAG = 16,
REG_Z_FLAG = 17,
REG_C_FLAG = 18,
REG_V_FLAG = 19,
REG_CPSR = 20,
CPU_MODE = 21,
CPU_HALT_STATE = 22,
REG_IGNORE = 23,
REG_CPSR = 16,
CPU_MODE = 17,
CPU_HALT_STATE = 18,
REG_IGNORE = 19,
// Dynarec signaling and spilling
// (Not really part of the CPU state)
REG_N_FLAG = 20,
REG_Z_FLAG = 21,
REG_C_FLAG = 22,
REG_V_FLAG = 23,
CHANGED_PC_STATUS = 24,
COMPLETED_FRAME = 25,
OAM_UPDATED = 26,

View File

@ -95,14 +95,14 @@ symbol:
.equ REG_R13, (13 * 4)
.equ REG_R14, (14 * 4)
.equ REG_PC, (15 * 4)
.equ REG_N_FLAG, (16 * 4)
.equ REG_Z_FLAG, (17 * 4)
.equ REG_C_FLAG, (18 * 4)
.equ REG_V_FLAG, (19 * 4)
.equ REG_CPSR, (20 * 4)
.equ CPU_MODE, (21 * 4)
.equ CPU_HALT_STATE, (22 * 4)
.equ REG_CPSR, (16 * 4)
.equ CPU_MODE, (17 * 4)
.equ CPU_HALT_STATE, (18 * 4)
.equ REG_N_FLAG, (20 * 4)
.equ REG_Z_FLAG, (21 * 4)
.equ REG_C_FLAG, (22 * 4)
.equ REG_V_FLAG, (23 * 4)
.equ CHANGED_PC_STATUS, (24 * 4)
.equ COMPLETED_FRAME, (25 * 4)
.equ OAM_UPDATED, (26 * 4)

View File

@ -67,7 +67,7 @@ bool bson_read_bytes(const u8 *srcp, const char *key, void* buffer, unsigned cnt
/* this is an upper limit, leave room for future (?) stuff */
#define GBA_STATE_MEM_SIZE (416*1024)
#define GBA_STATE_MAGIC 0x06BAC0DE
#define GBA_STATE_VERSION 0x00010000
#define GBA_STATE_VERSION 0x00010001
bool gba_load_state(const void *src);
void gba_save_state(void *dst);

View File

@ -47,14 +47,14 @@ _##symbol:
.equ REG_SP, (13 * 4)
.equ REG_LR, (14 * 4)
.equ REG_PC, (15 * 4)
.equ REG_N_FLAG, (16 * 4)
.equ REG_Z_FLAG, (17 * 4)
.equ REG_C_FLAG, (18 * 4)
.equ REG_V_FLAG, (19 * 4)
.equ REG_CPSR, (20 * 4)
.equ CPU_MODE, (21 * 4)
.equ CPU_HALT_STATE, (22 * 4)
.equ REG_CPSR, (16 * 4)
.equ CPU_MODE, (17 * 4)
.equ CPU_HALT_STATE, (18 * 4)
.equ REG_N_FLAG, (20 * 4)
.equ REG_Z_FLAG, (21 * 4)
.equ REG_C_FLAG, (22 * 4)
.equ REG_V_FLAG, (23 * 4)
.equ CHANGED_PC_STATUS, (24 * 4)
.equ COMPLETED_FRAME, (25 * 4)
.equ OAM_UPDATED, (26 * 4)