mirror of
https://github.com/RaySollium99/libpicofe.git
synced 2025-09-05 06:47:45 -04:00
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:
parent
fcf58ef66e
commit
b0e318f7f0
4 changed files with 95 additions and 121 deletions
78
common/common.mak
Normal file
78
common/common.mak
Normal 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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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 $@
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue