notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
32x: a hack for dealing with pwm inaccuracy
[picodrive.git]
/
pico
/
state.c
diff --git
a/pico/state.c
b/pico/state.c
index
cb34069
..
761b64c
100644
(file)
--- a/
pico/state.c
+++ b/
pico/state.c
@@
-174,6
+174,7
@@
typedef enum {
CHUNK_SDRAM,
\r
CHUNK_DRAM,
\r
CHUNK_32XPAL,
\r
CHUNK_SDRAM,
\r
CHUNK_DRAM,
\r
CHUNK_32XPAL,
\r
+ CHUNK_32X_EVT,
\r
//
\r
CHUNK_DEFAULT_COUNT,
\r
CHUNK_CARTHW_ = CHUNK_CARTHW, // defined in PicoInt
\r
//
\r
CHUNK_DEFAULT_COUNT,
\r
CHUNK_CARTHW_ = CHUNK_CARTHW, // defined in PicoInt
\r
@@
-222,6
+223,7
@@
static const char * const chunk_names[] = {
"SDRAM",
\r
"DRAM",
\r
"PAL",
\r
"SDRAM",
\r
"DRAM",
\r
"PAL",
\r
+ "events",
\r
};
\r
\r
static int write_chunk(chunk_name_e name, int len, void *data, void *file)
\r
};
\r
\r
static int write_chunk(chunk_name_e name, int len, void *data, void *file)
\r
@@
-333,6
+335,10
@@
static int state_save(void *file)
CHECKED_WRITE_BUFF(CHUNK_SDRAM, Pico32xMem->sdram);
\r
CHECKED_WRITE_BUFF(CHUNK_DRAM, Pico32xMem->dram);
\r
CHECKED_WRITE_BUFF(CHUNK_32XPAL, Pico32xMem->pal);
\r
CHECKED_WRITE_BUFF(CHUNK_SDRAM, Pico32xMem->sdram);
\r
CHECKED_WRITE_BUFF(CHUNK_DRAM, Pico32xMem->dram);
\r
CHECKED_WRITE_BUFF(CHUNK_32XPAL, Pico32xMem->pal);
\r
+
\r
+ memset(buff, 0, 0x40);
\r
+ memcpy(buff, event_times, sizeof(event_times));
\r
+ CHECKED_WRITE(CHUNK_32X_EVT, 0x40, buff);
\r
}
\r
#endif
\r
\r
}
\r
#endif
\r
\r
@@
-382,6
+388,7
@@
static int state_load(void *file)
unsigned char buff_m68k[0x60], buff_s68k[0x60];
\r
unsigned char buff_z80[Z80_STATE_SIZE];
\r
unsigned char buff_sh2[SH2_STATE_SIZE];
\r
unsigned char buff_m68k[0x60], buff_s68k[0x60];
\r
unsigned char buff_z80[Z80_STATE_SIZE];
\r
unsigned char buff_sh2[SH2_STATE_SIZE];
\r
+ unsigned char buff[0x40];
\r
unsigned char chunk;
\r
void *ym2612_regs;
\r
char header[8];
\r
unsigned char chunk;
\r
void *ym2612_regs;
\r
char header[8];
\r
@@
-476,6
+483,11
@@
static int state_load(void *file)
case CHUNK_SDRAM: CHECKED_READ_BUFF(Pico32xMem->sdram); break;
\r
case CHUNK_DRAM: CHECKED_READ_BUFF(Pico32xMem->dram); break;
\r
case CHUNK_32XPAL: CHECKED_READ_BUFF(Pico32xMem->pal); break;
\r
case CHUNK_SDRAM: CHECKED_READ_BUFF(Pico32xMem->sdram); break;
\r
case CHUNK_DRAM: CHECKED_READ_BUFF(Pico32xMem->dram); break;
\r
case CHUNK_32XPAL: CHECKED_READ_BUFF(Pico32xMem->pal); break;
\r
+
\r
+ case CHUNK_32X_EVT:
\r
+ CHECKED_READ_BUFF(buff);
\r
+ memcpy(event_times, buff, sizeof(event_times));
\r
+ break;
\r
#endif
\r
default:
\r
if (carthw_chunks != NULL)
\r
#endif
\r
default:
\r
if (carthw_chunks != NULL)
\r
@@
-690,4
+702,4
@@
void PicoTmpStateRestore(void *data)
#endif
\r
}
\r
\r
#endif
\r
}
\r
\r
-// vim:shiftwidth=2:expandtab
\r
+// vim:shiftwidth=2:
ts=2:
expandtab
\r