32x: drc: first implementation finished, no more interpreter dep

git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@832 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2009-11-12 16:42:42 +00:00
parent fcf58ef66e
commit b0e318f7f0
4 changed files with 95 additions and 121 deletions

78
common/common.mak Normal file
View file

@ -0,0 +1,78 @@
# === CPU cores ===
# --- M68k ---
ifeq "$(use_musashi)" "1"
DEFINES += EMU_M68K
OBJS += cpu/musashi/m68kops.o cpu/musashi/m68kcpu.o
#OBJS += cpu/musashi/m68kdasm.o
endif
ifeq "$(use_cyclone)" "1"
DEFINES += EMU_C68K
OBJS += pico/m68kif_cyclone.o cpu/Cyclone/proj/Cyclone.o cpu/Cyclone/tools/idle.o
endif
ifeq "$(use_fame)" "1"
DEFINES += EMU_F68K
OBJS += cpu/fame/famec.o
endif
# --- Z80 ---
ifeq "$(use_mz80)" "1"
DEFINES += _USE_MZ80
OBJS += cpu/mz80/mz80.o
endif
#
ifeq "$(use_drz80)" "1"
DEFINES += _USE_DRZ80
OBJS += cpu/DrZ80/drz80.o
endif
#
ifeq "$(use_cz80)" "1"
DEFINES += _USE_CZ80
OBJS += cpu/cz80/cz80.o
endif
# --- SH2 ---
OBJS += cpu/sh2/sh2.o
OBJS += cpu/drc/cmn.o
#
ifeq "$(use_sh2drc)" "1"
DEFINES += DRC_SH2
OBJS += cpu/sh2/compiler.o
OBJS += cpu/sh2/stub_$(ARCH).o
ifdef drc_debug
DEFINES += DRC_DEBUG=$(drc_debug)
OBJS += cpu/sh2/mame/sh2dasm.o
OBJS += platform/linux/host_dasm.o
LDFLAGS += -lbfd -lopcodes -liberty
endif
ifeq "$(drc_debug_interp)" "1"
DEFINES += DRC_DEBUG_INTERP
use_sh2mame = 1
endif
endif
#
ifeq "$(use_sh2mame)" "1"
OBJS += cpu/sh2/mame/sh2pico.o
endif
# random deps
pico/carthw/svp/compiler.o : ../../cpu/drc/emit_$(ARCH).c
cpu/sh2/compiler.o : ../../cpu/drc/emit_$(ARCH).c
cpu/sh2/mame/sh2pico.o : ../../cpu/sh2/mame/sh2.c
pico/pico.o pico/cd/pico.o : ../../pico/pico_cmn.c ../../pico/pico_int.h
pico/memory.o pico/cd/memory.o : ../../pico/pico_int.h ../../pico/memory.h
../../cpu/musashi/m68kops.c :
@make -C ../../cpu/musashi
../../cpu/mz80/mz80.asm :
@make -C ../../cpu/mz80/
cpu/fame/famec.o : ../../cpu/fame/famec.c ../../cpu/fame/famec_opcodes.h
@echo ">>>" $<
$(CC) $(CFLAGS) -Wno-unused -c $< -o $@
../../cpu/Cyclone/proj/Cyclone.s:
@echo building Cyclone...
@make -C ../../cpu/Cyclone/proj CONFIG_FILE=config_pico.h

View file

@ -45,20 +45,6 @@ clean_prof:
mkdirs: mkdirs:
mkdir -p $(DIRS) mkdir -p $(DIRS)
# some deps
pico/carthw/svp/compiler.o : ../../pico/carthw/svp/ssp16.o ../../cpu/drc/emit_arm.c
cpu/sh2/compiler.o : ../../cpu/drc/emit_arm.c
pico/pico.o pico/cd/pico.o : ../../pico/pico_cmn.c ../../pico/pico_int.h
pico/memory.o pico/cd/memory.o : ../../pico/pico_int.h ../../pico/memory.h
# build Cyclone
../../cpu/Cyclone/proj/Cyclone.s:
@echo building Cyclone...
@make -C ../../cpu/Cyclone/proj CONFIG_FILE=config_pico.h
../../cpu/musashi/m68kops.c :
@make -C ../../cpu/musashi
# build helix libs # build helix libs
../common/helix/$(CROSS)helix-mp3.a: ../common/helix/$(CROSS)helix-mp3.a:
make -C ../common/helix clean all make -C ../common/helix clean all

View file

@ -1,8 +1,12 @@
export CROSS = arm-linux- CROSS ?= arm-linux-
# settings # settings
#mz80 = 1 use_cyclone = 1
#debug_cyclone = 1 #use_musashi = 1
use_drz80 = 1
use_sh2drc = 1
#use_sh2mame = 1
asm_memory = 1 asm_memory = 1
asm_render = 1 asm_render = 1
asm_ym2612 = 1 asm_ym2612 = 1
@ -11,8 +15,6 @@ asm_cdpico = 1
asm_cdmemory = 1 asm_cdmemory = 1
amalgamate = 0 amalgamate = 0
#profile = 1 #profile = 1
#use_musashi = 1
use_sh2drc = 1
#drc_debug = 3 #drc_debug = 3
-include Makefile.local -include Makefile.local
@ -25,10 +27,9 @@ ifeq "$(use_musashi)" "1"
# due to CPU stop flag acces # due to CPU stop flag acces
asm_cdpico = 0 asm_cdpico = 0
asm_cdmemory = 0 asm_cdmemory = 0
else
use_cyclone = 1
endif endif
ARCH = arm
DEFINES += ARM __GP2X__ IN_GP2X IN_EVDEV # BENCHMARK DEFINES += ARM __GP2X__ IN_GP2X IN_EVDEV # BENCHMARK
CFLAGS += -Wall -Winline -I../.. -I. CFLAGS += -Wall -Winline -I../.. -I.
ifeq ($(DEBUG),) ifeq ($(DEBUG),)
@ -94,42 +95,6 @@ OBJS += unzip/unzip.o unzip/unzip_stream.o
# zlib # zlib
OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \ OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o
# debug
ifeq "$(debug_cyclone)" "1"
OBJS += pico/DebugCPU.o cpu/musashi/m68kdasm.o
endif
# CPU cores
ifeq "$(use_musashi)" "1"
DEFINES += EMU_M68K
OBJS += cpu/musashi/m68kops.o cpu/musashi/m68kcpu.o
endif
ifeq "$(use_cyclone)" "1"
DEFINES += EMU_C68K
OBJS += pico/m68kif_cyclone.o cpu/Cyclone/proj/Cyclone.o cpu/Cyclone/tools/idle.o
endif
ifeq "$(mz80)" "1"
DEFINES += _USE_MZ80
OBJS += cpu/mz80/mz80.o
else
DEFINES += _USE_DRZ80
OBJS += cpu/DrZ80/drz80.o
endif
OBJS += cpu/sh2/sh2.o
ifeq "$(use_sh2drc)" "1"
DEFINES += DRC_SH2 DRC_TMP
OBJS += cpu/sh2/mame/sh2pico.o
OBJS += cpu/sh2/compiler.o
OBJS += cpu/sh2/stub_arm.o
ifdef drc_debug
DEFINES += DRC_DEBUG=$(drc_debug)
OBJS += cpu/sh2/mame/sh2dasm.o
OBJS += platform/linux/host_dasm.o
LDFLAGS += -lbfd -lopcodes -liberty
endif
else
OBJS += cpu/sh2/mame/sh2pico.o
endif
OBJS += cpu/drc/cmn.o
CFLAGS += $(addprefix -D,$(DEFINES)) CFLAGS += $(addprefix -D,$(DEFINES))
@ -144,6 +109,7 @@ DIRS = platform platform/gp2x platform/linux platform/common pico pico/cd pico/p
all: mkdirs PicoDrive all: mkdirs PicoDrive
include ../common/common.mak
include ../common/common_arm.mak include ../common/common_arm.mak
include ../common/revision.mak include ../common/revision.mak

View file

@ -1,9 +1,12 @@
# settings # settings
use_musashi = 1 use_musashi = 1
#use_fame = 1 #use_fame = 1
#use_mz80 = 1 use_cz80 = 1
use_sh2drc = 1 use_sh2drc = 1
#use_sh2mame = 1
#drc_debug = 3 #drc_debug = 3
#drc_debug_interp = 1
#profile = 1 #profile = 1
#fake_in_gp2x = 1 #fake_in_gp2x = 1
@ -70,47 +73,6 @@ OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/uncompr.o zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/uncompr.o
# unzip # unzip
OBJS += unzip/unzip.o unzip/unzip_stream.o OBJS += unzip/unzip.o unzip/unzip_stream.o
# CPU cores
ifeq "$(use_musashi)" "1"
DEFINES += EMU_M68K
OBJS += cpu/musashi/m68kops.o cpu/musashi/m68kcpu.o
#OBJS += cpu/musashi/m68kdasm.o
endif
ifeq "$(use_fame)" "1"
DEFINES += EMU_F68K
OBJS += cpu/fame/famec.o
endif
# z80
ifeq "$(use_mz80)" "1"
DEFINES += _USE_MZ80
OBJS += cpu/mz80/mz80.o
else
DEFINES += _USE_CZ80
OBJS += cpu/cz80/cz80.o
endif
# sh2
OBJS += cpu/sh2/sh2.o
ifeq "$(use_sh2drc)" "1"
DEFINES += DRC_SH2 DRC_TMP
OBJS += cpu/sh2/mame/sh2pico.o
OBJS += cpu/sh2/compiler.o
OBJS += cpu/sh2/stub_$(ARCH).o
ifdef drc_debug
DEFINES += DRC_DEBUG=$(drc_debug)
OBJS += cpu/sh2/mame/sh2dasm.o
OBJS += host_dasm.o
LDFLAGS += -lbfd -lopcodes -liberty
endif
else
OBJS += cpu/sh2/mame/sh2pico.o
endif
OBJS += cpu/drc/cmn.o
# misc
ifeq "$(use_fame)" "1"
ifeq "$(use_musashi)" "1"
OBJS += pico/debugCPU.o
endif
endif
CFLAGS += $(addprefix -D,$(DEFINES)) CFLAGS += $(addprefix -D,$(DEFINES))
@ -119,10 +81,13 @@ vpath %.s = ../..
vpath %.S = ../.. vpath %.S = ../..
vpath %.asm = ../.. vpath %.asm = ../..
DIRS = platform platform/gp2x platform/common pico pico/cd pico/pico pico/sound pico/carthw/svp \ DIRS = platform/linux platform/gp2x platform/common pico pico/cd pico/pico pico/sound pico/carthw/svp \
pico/32x zlib unzip cpu cpu/musashi cpu/fame cpu/mz80 cpu/cz80 cpu/sh2/mame cpu/drc pico/32x zlib unzip cpu cpu/musashi cpu/fame cpu/mz80 cpu/cz80 cpu/sh2/mame cpu/drc
all: mkdirs PicoDrive all: mkdirs PicoDrive
include ../common/common.mak
clean: tidy clean: tidy
@$(RM) PicoDrive @$(RM) PicoDrive
tidy: tidy:
@ -139,22 +104,6 @@ mkdirs:
include ../common/revision.mak include ../common/revision.mak
pico/carthw/svp/compiler.o : ../../cpu/drc/emit_arm.c
cpu/sh2/compiler.o : ../../cpu/drc/emit_x86.c
cpu/sh2/mame/sh2pico.o : ../../cpu/sh2/mame/sh2.c
pico/pico.o pico/cd/pico.o : ../../pico/pico_cmn.c ../../pico/pico_int.h
pico/memory.o pico/cd/memory.o : ../../pico/pico_int.h ../../pico/memory.h
../../cpu/musashi/m68kops.c :
@make -C ../../cpu/musashi
cpu/mz80/mz80.o : ../../cpu/mz80/mz80.asm
@echo $@
@nasm -f elf $< -o $@
../../cpu/mz80/mz80.asm :
@make -C ../../cpu/mz80/
.c.o: .c.o:
@echo ">>>" $< @echo ">>>" $<
$(CC) $(CFLAGS) -c $< -o $@ $(CC) $(CFLAGS) -c $< -o $@
@ -165,8 +114,3 @@ cpu/mz80/mz80.o : ../../cpu/mz80/mz80.asm
@echo ">>>" $< @echo ">>>" $<
nasm -f elf $< -o $@ nasm -f elf $< -o $@
cpu/fame/famec.o : ../../cpu/fame/famec.c ../../cpu/fame/famec_opcodes.h
@echo ">>>" $<
$(CC) $(CFLAGS) -Wno-unused -c $< -o $@