mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
32x drc functional on ARM, random adjustments
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@824 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
274f95a9a9
commit
553c3eaa3a
12 changed files with 86 additions and 63 deletions
|
@ -735,7 +735,7 @@ static void PicoWrite8_32x_on(u32 a, u32 d)
|
|||
static void PicoWrite16_32x_on(u32 a, u32 d)
|
||||
{
|
||||
if ((a & 0xfc00) == 0x5000)
|
||||
elprintf(EL_UIO, "m68k 32x w16 [%06x] %04x @%06x", a, d & 0xffff, SekPc);
|
||||
elprintf(EL_32X, "m68k 32x w16 [%06x] %04x @%06x", a, d & 0xffff, SekPc);
|
||||
|
||||
if ((a & 0xffc0) == 0x5100) { // a15100
|
||||
p32x_reg_write16(a, d);
|
||||
|
|
|
@ -35,6 +35,7 @@ void ssp_drc_next_patch(void){}
|
|||
void ssp_drc_end(void){}
|
||||
#endif
|
||||
|
||||
#define COUNT_OP
|
||||
#include "../../../cpu/drc/emit_arm.c"
|
||||
|
||||
// -----------------------------------------------------
|
||||
|
@ -1787,7 +1788,9 @@ void *ssp_translate_block(int pc)
|
|||
exit(0);
|
||||
#endif
|
||||
|
||||
handle_caches();
|
||||
#ifdef ARM
|
||||
cache_flush_d_inval_i(tcache, tcache_ptr);
|
||||
#endif
|
||||
|
||||
return block_start;
|
||||
}
|
||||
|
|
|
@ -957,7 +957,7 @@ static int ym2612_write_local(u32 a, u32 d, int is_from_z80)
|
|||
if (xcycles >= timer_b_next_oflow) \
|
||||
ym2612.OPN.ST.status |= (ym2612.OPN.ST.mode >> 2) & 2
|
||||
|
||||
static u32 MEMH_FUNC ym2612_read_local_z80(void)
|
||||
static u32 ym2612_read_local_z80(void)
|
||||
{
|
||||
int xcycles = z80_cyclesDone() << 8;
|
||||
|
||||
|
@ -1055,14 +1055,14 @@ void ym2612_unpack_state(void)
|
|||
// -----------------------------------------------------------------
|
||||
// z80 memhandlers
|
||||
|
||||
static unsigned char MEMH_FUNC z80_md_vdp_read(unsigned short a)
|
||||
static unsigned char z80_md_vdp_read(unsigned short a)
|
||||
{
|
||||
// TODO?
|
||||
elprintf(EL_ANOMALY, "z80 invalid r8 [%06x] %02x", a, 0xff);
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
static unsigned char MEMH_FUNC z80_md_bank_read(unsigned short a)
|
||||
static unsigned char z80_md_bank_read(unsigned short a)
|
||||
{
|
||||
unsigned int addr68k;
|
||||
unsigned char ret;
|
||||
|
@ -1076,13 +1076,13 @@ static unsigned char MEMH_FUNC z80_md_bank_read(unsigned short a)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void MEMH_FUNC z80_md_ym2612_write(unsigned int a, unsigned char data)
|
||||
static void z80_md_ym2612_write(unsigned int a, unsigned char data)
|
||||
{
|
||||
if (PicoOpt & POPT_EN_FM)
|
||||
emustatus |= ym2612_write_local(a, data, 1) & 1;
|
||||
}
|
||||
|
||||
static void MEMH_FUNC z80_md_vdp_br_write(unsigned int a, unsigned char data)
|
||||
static void z80_md_vdp_br_write(unsigned int a, unsigned char data)
|
||||
{
|
||||
// TODO: allow full VDP access
|
||||
if ((a&0xfff9) == 0x7f11) // 7f11 7f13 7f15 7f17
|
||||
|
@ -1103,7 +1103,7 @@ static void MEMH_FUNC z80_md_vdp_br_write(unsigned int a, unsigned char data)
|
|||
elprintf(EL_ANOMALY, "z80 invalid w8 [%06x] %02x", a, data);
|
||||
}
|
||||
|
||||
static void MEMH_FUNC z80_md_bank_write(unsigned int a, unsigned char data)
|
||||
static void z80_md_bank_write(unsigned int a, unsigned char data)
|
||||
{
|
||||
unsigned int addr68k;
|
||||
|
||||
|
|
|
@ -789,10 +789,10 @@ extern void lprintf(const char *fmt, ...);
|
|||
#define cdprintf(x...)
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 3
|
||||
#define MEMH_FUNC __attribute__((aligned(4)))
|
||||
#ifdef __i386__
|
||||
#define REGPARM(x) __attribute__((regparm(x)))
|
||||
#else
|
||||
#define MEMH_FUNC
|
||||
#define REGPARM(x)
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
|
|
@ -169,7 +169,7 @@ static void write_bank(unsigned short a, unsigned char d)
|
|||
}
|
||||
}
|
||||
|
||||
static void MEMH_FUNC xwrite(unsigned int a, unsigned char d)
|
||||
static void xwrite(unsigned int a, unsigned char d)
|
||||
{
|
||||
elprintf(EL_IO, "z80 write [%04x] %02x", a, d);
|
||||
if (a >= 0xc000)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue