From 2270612aa7ee7d04549e95c2ab4d72f6aa67fa8d Mon Sep 17 00:00:00 2001 From: notaz Date: Fri, 13 Jul 2007 13:43:56 +0000 Subject: [PATCH] adjustments for CPU core changes git-svn-id: file:///home/notaz/opt/svn/PicoDrive@190 be3aeb3a-fb24-0410-a615-afba39da0efa --- Pico/Memory.c | 6 ++++++ Pico/PicoInt.h | 2 +- Pico/_cyclone_debug.c | 17 ++++++++++------- platform/gp2x/Makefile | 15 ++++++++++----- 4 files changed, 27 insertions(+), 13 deletions(-) diff --git a/Pico/Memory.c b/Pico/Memory.c index 48f1fed..daec623 100644 --- a/Pico/Memory.c +++ b/Pico/Memory.c @@ -504,7 +504,9 @@ static unsigned int m68k_read_8 (unsigned int a, int do_fake) { a&=0xffffff; if(PicoMCD&1) return m68k_read_pcrelative_CD8(a); if(a= 0x01000000) - { - PicoCpu.a[7] = m68ki_cpu.dar[15] = 0xff8000; - } pppc = SekPc; ppop = m68k_read_disassembler_16(pppc); memcpy(old_regs, PicoCpu.d, 4*16); old_sr = CycloneGetSr(&PicoCpu); - //if (Pico.m.frame_count > 1400) - // dprintf("---"); + /* + dprintf("---"); { char buff[128]; dprintf("---"); m68k_disassemble(buff, pppc, M68K_CPU_TYPE_68000); dprintf("PC: %06x: %04x: %s", pppc, ppop, buff); } + */ PicoCpu.cycles=1; CycloneRun(&PicoCpu); @@ -137,7 +134,7 @@ int CM_compareRun(int cyc) // OSP/USP if(PicoCpu.osp != m68ki_cpu.sp[((mu_sr>>11)&4)^4]) { - dprintf("OSP: %06x vs %06x", PicoCpu.osp, m68ki_cpu.sp[0]); + dprintf("OSP: %06x vs %06x", PicoCpu.osp, m68ki_cpu.sp[((mu_sr>>11)&4)^4]); err=1; } @@ -149,6 +146,12 @@ int CM_compareRun(int cyc) if(err) dumpPCandExit(); +/* + if (PicoCpu.a[7] < 0x00ff0000 || PicoCpu.a[7] >= 0x01000000) + { + PicoCpu.a[7] = m68ki_cpu.dar[15] = 0xff8000; + } +*/ #if 0 m68k_set_reg(M68K_REG_SR, ((mu_sr-1)&~0x2000)|(mu_sr&0x2000)); // broken CycloneSetSr(&PicoCpu, ((mu_sr-1)&~0x2000)|(mu_sr&0x2000)); diff --git a/platform/gp2x/Makefile b/platform/gp2x/Makefile index 1654dfa..377ea11 100644 --- a/platform/gp2x/Makefile +++ b/platform/gp2x/Makefile @@ -21,10 +21,12 @@ asm_cdmemory = 1 ifeq "$(debug_cyclone)" "1" use_cyclone = 1 use_musashi = 1 +endif +ifeq "$(use_musashi)" "1" +asm_cdpico = 0 asm_memory = 0 asm_cdmemory = 0 -endif -ifneq "$(use_musashi)" "1" +else use_cyclone = 1 endif @@ -99,8 +101,7 @@ endif # CPU cores ifeq "$(use_musashi)" "1" DEFINC += -DEMU_M68K -OBJS += ../../cpu/musashi/m68kcpu.o ../../cpu/musashi/m68kopac.o ../../cpu/musashi/m68kopdm.o -OBJS += ../../cpu/musashi/m68kopnz.o ../../cpu/musashi/m68kops.o +OBJS += ../../cpu/musashi/m68kops.o ../../cpu/musashi/m68kcpu.o endif ifeq "$(use_cyclone)" "1" DEFINC += -DEMU_C68K @@ -179,7 +180,11 @@ testrefr.gpe : test.o gp2x.o asmutils.o # build Cyclone ../../cpu/Cyclone/proj/Cyclone.s : @echo building Cyclone... - @make -C ../../cpu/Cyclone/proj -f Makefile.linux + @make -C ../../cpu/Cyclone/proj + +../../cpu/musashi/m68kops.c : + @make -C ../../cpu/musashi + # build helix libs helix/helix_mp3.a: -- 2.39.2