notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
handle 32x+cd
[picodrive.git]
/
pico
/
pico_int.h
diff --git
a/pico/pico_int.h
b/pico/pico_int.h
index
6096e13
..
38676cf
100644
(file)
--- a/
pico/pico_int.h
+++ b/
pico/pico_int.h
@@
-51,6
+51,9
@@
extern struct Cyclone PicoCpuCM68k, PicoCpuCS68k;
#define SekIsStoppedS68k() (PicoCpuCS68k.state_flags&1)
\r
#define SekShouldInterrupt() (PicoCpuCM68k.irq > (PicoCpuCM68k.srh&7))
\r
\r
#define SekIsStoppedS68k() (PicoCpuCS68k.state_flags&1)
\r
#define SekShouldInterrupt() (PicoCpuCM68k.irq > (PicoCpuCM68k.srh&7))
\r
\r
+#define SekNotPolling PicoCpuCM68k.not_pol
\r
+#define SekNotPollingS68k PicoCpuCS68k.not_pol
\r
+
\r
#define SekInterrupt(i) PicoCpuCM68k.irq=i
\r
#define SekIrqLevel PicoCpuCM68k.irq
\r
\r
#define SekInterrupt(i) PicoCpuCM68k.irq=i
\r
#define SekIrqLevel PicoCpuCM68k.irq
\r
\r
@@
-79,6
+82,9
@@
extern M68K_CONTEXT PicoCpuFM68k, PicoCpuFS68k;
#define SekIsStoppedS68k() (PicoCpuFS68k.execinfo&FM68K_HALTED)
\r
#define SekShouldInterrupt() fm68k_would_interrupt()
\r
\r
#define SekIsStoppedS68k() (PicoCpuFS68k.execinfo&FM68K_HALTED)
\r
#define SekShouldInterrupt() fm68k_would_interrupt()
\r
\r
+#define SekNotPolling PicoCpuFM68k.not_polling
\r
+#define SekNotPollingS68k PicoCpuFS68k.not_polling
\r
+
\r
#define SekInterrupt(irq) PicoCpuFM68k.interrupts[0]=irq
\r
#define SekIrqLevel PicoCpuFM68k.interrupts[0]
\r
\r
#define SekInterrupt(irq) PicoCpuFM68k.interrupts[0]=irq
\r
#define SekIrqLevel PicoCpuFM68k.interrupts[0]
\r
\r
@@
-108,6
+114,9
@@
extern m68ki_cpu_core PicoCpuMM68k, PicoCpuMS68k;
#define SekIsStoppedS68k() (PicoCpuMS68k.stopped==STOP_LEVEL_STOP)
\r
#define SekShouldInterrupt() (CPU_INT_LEVEL > FLAG_INT_MASK)
\r
\r
#define SekIsStoppedS68k() (PicoCpuMS68k.stopped==STOP_LEVEL_STOP)
\r
#define SekShouldInterrupt() (CPU_INT_LEVEL > FLAG_INT_MASK)
\r
\r
+#define SekNotPolling PicoCpuMM68k.not_polling
\r
+#define SekNotPollingS68k PicoCpuMS68k.not_polling
\r
+
\r
#define SekInterrupt(irq) { \
\r
void *oldcontext = m68ki_cpu_p; \
\r
m68k_set_context(&PicoCpuMM68k); \
\r
#define SekInterrupt(irq) { \
\r
void *oldcontext = m68ki_cpu_p; \
\r
m68k_set_context(&PicoCpuMM68k); \
\r
@@
-298,7
+307,7
@@
struct PicoMisc
unsigned char sram_reg; // 09 SRAM reg. See SRR_* below
\r
unsigned short z80_bank68k; // 0a
\r
unsigned short pad0;
\r
unsigned char sram_reg; // 09 SRAM reg. See SRR_* below
\r
unsigned short z80_bank68k; // 0a
\r
unsigned short pad0;
\r
- unsigned char
pad1;
\r
+ unsigned char
ncart_in; // 0e !cart_in
\r
unsigned char z80_reset; // 0f z80 reset held
\r
unsigned char padDelay[2]; // 10 gamepad phase time outs, so we count a delay
\r
unsigned short eeprom_addr; // EEPROM address register
\r
unsigned char z80_reset; // 0f z80 reset held
\r
unsigned char padDelay[2]; // 10 gamepad phase time outs, so we count a delay
\r
unsigned short eeprom_addr; // EEPROM address register
\r
@@
-443,6
+452,7
@@
typedef struct
\r
// 32X
\r
#define P32XS_FM (1<<15)
\r
\r
// 32X
\r
#define P32XS_FM (1<<15)
\r
+#define P32XS_nCART (1<< 8)
\r
#define P32XS_REN (1<< 7)
\r
#define P32XS_nRES (1<< 1)
\r
#define P32XS_ADEN (1<< 0)
\r
#define P32XS_REN (1<< 7)
\r
#define P32XS_nRES (1<< 1)
\r
#define P32XS_ADEN (1<< 0)
\r
@@
-598,6
+608,10
@@
PICO_INTERNAL void PicoMemSetupPico(void);
\r
// cd/memory.c
\r
PICO_INTERNAL void PicoMemSetupCD(void);
\r
\r
// cd/memory.c
\r
PICO_INTERNAL void PicoMemSetupCD(void);
\r
+unsigned int PicoRead8_mcd_io(unsigned int a);
\r
+unsigned int PicoRead16_mcd_io(unsigned int a);
\r
+void PicoWrite8_mcd_io(unsigned int a, unsigned int d);
\r
+void PicoWrite16_mcd_io(unsigned int a, unsigned int d);
\r
void pcd_state_loaded_mem(void);
\r
\r
// pico.c
\r
void pcd_state_loaded_mem(void);
\r
\r
// pico.c
\r
@@
-638,6
+652,7
@@
void pcd_event_schedule(unsigned int now, enum pcd_event event, int after);
void pcd_event_schedule_s68k(enum pcd_event event, int after);
\r
unsigned int pcd_cycles_m68k_to_s68k(unsigned int c);
\r
int pcd_sync_s68k(unsigned int m68k_target, int m68k_poll_sync);
\r
void pcd_event_schedule_s68k(enum pcd_event event, int after);
\r
unsigned int pcd_cycles_m68k_to_s68k(unsigned int c);
\r
int pcd_sync_s68k(unsigned int m68k_target, int m68k_poll_sync);
\r
+void pcd_run_cpus(int m68k_cycles);
\r
void pcd_state_loaded(void);
\r
\r
// pico/pico.c
\r
void pcd_state_loaded(void);
\r
\r
// pico/pico.c
\r