notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
s68k-side Silpheed hack (needed for EU version)
[picodrive.git]
/
pico
/
pico_int.h
diff --git
a/pico/pico_int.h
b/pico/pico_int.h
index
1c95c56
..
e5bbffd
100644
(file)
--- a/
pico/pico_int.h
+++ b/
pico/pico_int.h
@@
-42,6
+42,7
@@
extern struct Cyclone PicoCpuCM68k, PicoCpuCS68k;
#define SekCyclesLeftS68k \
\r
((PicoOpt & POPT_EN_MCD_PSYNC) ? (SekCycleAimS68k-SekCycleCntS68k) : PicoCpuCS68k.cycles)
\r
#define SekEndTimeslice(after) PicoCpuCM68k.cycles=after
\r
#define SekCyclesLeftS68k \
\r
((PicoOpt & POPT_EN_MCD_PSYNC) ? (SekCycleAimS68k-SekCycleCntS68k) : PicoCpuCS68k.cycles)
\r
#define SekEndTimeslice(after) PicoCpuCM68k.cycles=after
\r
+#define SekEndTimesliceS68k(after) PicoCpuCS68k.cycles=after
\r
#define SekPc (PicoCpuCM68k.pc-PicoCpuCM68k.membase)
\r
#define SekPcS68k (PicoCpuCS68k.pc-PicoCpuCS68k.membase)
\r
#define SekSetStop(x) { PicoCpuCM68k.state_flags&=~1; if (x) { PicoCpuCM68k.state_flags|=1; PicoCpuCM68k.cycles=0; } }
\r
#define SekPc (PicoCpuCM68k.pc-PicoCpuCM68k.membase)
\r
#define SekPcS68k (PicoCpuCS68k.pc-PicoCpuCS68k.membase)
\r
#define SekSetStop(x) { PicoCpuCM68k.state_flags&=~1; if (x) { PicoCpuCM68k.state_flags|=1; PicoCpuCM68k.cycles=0; } }
\r
@@
-65,6
+66,7
@@
extern M68K_CONTEXT PicoCpuFM68k, PicoCpuFS68k;
#define SekCyclesLeftS68k \
\r
((PicoOpt & POPT_EN_MCD_PSYNC) ? (SekCycleAimS68k-SekCycleCntS68k) : PicoCpuFS68k.io_cycle_counter)
\r
#define SekEndTimeslice(after) PicoCpuFM68k.io_cycle_counter=after
\r
#define SekCyclesLeftS68k \
\r
((PicoOpt & POPT_EN_MCD_PSYNC) ? (SekCycleAimS68k-SekCycleCntS68k) : PicoCpuFS68k.io_cycle_counter)
\r
#define SekEndTimeslice(after) PicoCpuFM68k.io_cycle_counter=after
\r
+#define SekEndTimesliceS68k(after) PicoCpuFS68k.io_cycle_counter=after
\r
#define SekPc fm68k_get_pc(&PicoCpuFM68k)
\r
#define SekPcS68k fm68k_get_pc(&PicoCpuFS68k)
\r
#define SekSetStop(x) { \
\r
#define SekPc fm68k_get_pc(&PicoCpuFM68k)
\r
#define SekPcS68k fm68k_get_pc(&PicoCpuFS68k)
\r
#define SekSetStop(x) { \
\r
@@
-95,6
+97,7
@@
extern m68ki_cpu_core PicoCpuMM68k, PicoCpuMS68k;
#define SekCyclesLeftS68k \
\r
((PicoOpt & POPT_EN_MCD_PSYNC) ? (SekCycleAimS68k-SekCycleCntS68k) : PicoCpuMS68k.cyc_remaining_cycles)
\r
#define SekEndTimeslice(after) SET_CYCLES(after)
\r
#define SekCyclesLeftS68k \
\r
((PicoOpt & POPT_EN_MCD_PSYNC) ? (SekCycleAimS68k-SekCycleCntS68k) : PicoCpuMS68k.cyc_remaining_cycles)
\r
#define SekEndTimeslice(after) SET_CYCLES(after)
\r
+#define SekEndTimesliceS68k(after) PicoCpuMS68k.cyc_remaining_cycles=after
\r
#define SekPc m68k_get_reg(&PicoCpuMM68k, M68K_REG_PC)
\r
#define SekPcS68k m68k_get_reg(&PicoCpuMS68k, M68K_REG_PC)
\r
#define SekSetStop(x) { \
\r
#define SekPc m68k_get_reg(&PicoCpuMM68k, M68K_REG_PC)
\r
#define SekPcS68k m68k_get_reg(&PicoCpuMS68k, M68K_REG_PC)
\r
#define SekSetStop(x) { \
\r
@@
-137,6
+140,12
@@
extern unsigned int SekCycleCntT; // total cycle counter, updated once per frame
SekEndTimeslice(after); \
\r
}
\r
\r
SekEndTimeslice(after); \
\r
}
\r
\r
+#define SekEndRunS68k(after) { \
\r
+ SekCycleCntS68k -= SekCyclesLeftS68k - (after); \
\r
+ if (SekCycleCntS68k < 0) SekCycleCntS68k = 0; \
\r
+ SekEndTimesliceS68k(after); \
\r
+}
\r
+
\r
extern int SekCycleCntS68k;
\r
extern int SekCycleAimS68k;
\r
\r
extern int SekCycleCntS68k;
\r
extern int SekCycleAimS68k;
\r
\r