return ym2612.OPN.ST.status;\r
}\r
\r
+// legacy code, only used for GP2X\r
void ym2612_pack_state_old(void)\r
{\r
// timers are saved as tick counts, in 16.16 int format\r
- int tac, tat = 0, tbc, tbt = 0, busy = 0;\r
+ int tat = 0, tbt = 0, busy = 0;\r
+ u8 buf[16];\r
+ size_t b = 0;\r
\r
- tac = 1024 - ym2612.OPN.ST.TA;\r
- tbc = 256 - ym2612.OPN.ST.TB;\r
- if (Pico.t.ym2612_busy > 0)\r
- busy = cycles_z80_to_68k(Pico.t.ym2612_busy);\r
- if (Pico.t.timer_a_next_oflow != TIMER_NO_OFLOW)\r
- tat = ((Pico.t.timer_a_step - Pico.t.timer_a_next_oflow) * ((1LL<<32)/TIMER_A_TICK_ZCYCLES+1))>>16;\r
- if (Pico.t.timer_b_next_oflow != TIMER_NO_OFLOW)\r
- tbt = ((Pico.t.timer_b_step - Pico.t.timer_b_next_oflow) * ((1LL<<32)/TIMER_B_TICK_ZCYCLES+1))>>16;\r
- elprintf(EL_YMTIMER, "save: timer a %i/%i", tat >> 16, tac);\r
- elprintf(EL_YMTIMER, "save: timer b %i/%i", tbt >> 16, tbc);\r
+ ym2612_pack_timers(buf, sizeof(buf));\r
+ load_u16(buf, &b), load_u16(buf, &b);\r
+ tat = load_u32(buf, &b);\r
+ tbt = load_u32(buf, &b);\r
+ busy = load_u32(buf, &b);\r
\r
#ifdef __GP2X__\r
if (PicoIn.opt & POPT_EXT_FM)\r
// timers are saved as tick counts, in 16.16 int format\r
int tac, tat = 0, tbc, tbt = 0, busy = 0;\r
size_t b = 0;\r
+\r
tac = 1024 - ym2612.OPN.ST.TA;\r
tbc = 256 - ym2612.OPN.ST.TB;\r
if (Pico.t.ym2612_busy > 0)\r
return b;\r
}\r
\r
+// legacy code, only used for GP2X\r
void ym2612_unpack_state_old(void)\r
{\r
int i, ret, tat, tbt, busy = 0;\r