cuu / Pcsx

pcsx rearmed for GameShell
https://forum.clockworkpi.com/
12 stars 1 forks source link

关于在gameshell上编译pcsx的问题 #1

Closed 333mhz closed 4 years ago

333mhz commented 4 years ago

你好,cuu。 我这边自己编译了pcsx rearm的执行文件, 我有几个问题想向您请教。

第一,运行起来fps非常低,请问是什么原因造成的。 第二.游戏启动进入的bios画面没有正确显示在320*240的屏幕上,而是显示在屏幕左上1/4 第三.实际gameshell上用esc退出pcsx在x桌面显示的app是怎么实现的?

谢谢!

333mhz commented 4 years ago

另外附上makefile TARGET = pcsx PORT = sdl

Using 'gpulib' adapted from PCSX Rearmed is default, specify

USE_GPULIB=0 as param to 'make' when building to disable it.

USE_GPULIB ?= 1

GPU = gpu_dfxvideo

GPU = gpu_drhell

GPU = gpu_null

GPU = gpu_unai

SPU = spu_pcsxrearmed

RM = rm -f MD = mkdir CC = gcc CXX = g++ LD = g++ NASM = nasm

SYSROOT := $(shell $(CC) --print-sysroot) SDL_CONFIG := $(SYSROOT)/usr/bin/sdl-config SDL_CFLAGS := $(shell $(SDL_CONFIG) --cflags) SDL_LIBS := $(shell $(SDL_CONFIG) --libs)

CFLAGS = -g3 -O0 -march=native \ -Wall -Wextra -Wunused -Wpointer-arith \ -Wno-sign-compare -Wno-cast-align \ -Isrc -Isrc/spu/$(SPU) -D$(SPU) -Isrc/gpu/$(GPU) \ -Isrc/port/$(PORT) -Isrc/port/common \ -Isrc/plugin_lib \ -DXA_HACK \ -DINLINE="static inline" -Dasm="asm volatile" \ $(SDL_CFLAGS)

CFLAGS += -DHW_SCALE -DCHEAT_UNZIP -DHAVE_ALSA

Convert plugin names to uppercase and make them CFLAG defines

CFLAGS += -D$(shell echo $(GPU) | tr a-z A-Z) CFLAGS += -D$(shell echo $(SPU) | tr a-z A-Z)

LDFLAGS = $(SDL_LIBS) -lpthread -lz

OBJDIRS = \ obj obj/gpu obj/gpu/$(GPU) obj/spu obj/spu/$(SPU) \ obj/port obj/port/$(PORT) \ obj/plugin_lib obj/port/common obj/external_lib

all: maketree $(TARGET)

OBJS = \ obj/r3000a.o obj/misc.o obj/plugins.o obj/psxmem.o obj/psxhw.o \ obj/psxcounters.o obj/psxdma.o obj/psxbios.o obj/psxhle.o obj/psxevents.o \ obj/psxcommon.o \ obj/plugin_lib/plugin_lib.o obj/plugin_lib/pl_sshot.o \ obj/psxinterpreter.o \ obj/mdec.o obj/decode_xa.o \ obj/cdriso.o obj/cdrom.o obj/ppf.o \ obj/sio.o obj/pad.o \ obj/external_lib/ioapi.o obj/external_lib/unzip.o

######################################################################

GPULIB from PCSX Rearmed:

Fixes many game incompatibilities and centralizes/improves many

things that once were the responsibility of individual GPU plugins.

NOTE: For now, only GPU Unai has been adapted.

ifeq ($(USE_GPULIB),1) CFLAGS += -DUSE_GPULIB OBJDIRS += obj/gpu/gpulib OBJS += obj/gpu/$(GPU)/gpu_arm.o OBJS += obj/gpu/$(GPU)/gpulib_if.o OBJS += obj/gpu/gpulib/gpu.o obj/gpu/gpulib/vout_port.o else OBJS += obj/gpu/$(GPU)/gpu.o endif ######################################################################

OBJS += obj/gte.o obj/cheat.o OBJS += obj/spu/$(SPU)/arm_utils.o OBJS += obj/spu/$(SPU)/spu.o

OBJS += obj/port/common/cdrom_hacks.o obj/port/common/frontend.o

OBJS += obj/port/$(PORT)/port.o OBJS += obj/plugin_lib/perfmon.o

**

spu_pcsxrearmed section BEGIN

**

ifeq ($(SPU),spu_pcsxrearmed)

Specify which audio backend to use:

SOUND_DRIVERS=sdl

SOUND_DRIVERS=alsa

SOUND_DRIVERS=oss

SOUND_DRIVERS=pulseaudio

Note: obj/spu/spu_pcsxrearmed/spu.o will already have been added to OBJS

list previously in Makefile

OBJS += obj/spu/spu_pcsxrearmed/dma.o obj/spu/spu_pcsxrearmed/freeze.o \ obj/spu/spu_pcsxrearmed/out.o obj/spu/spu_pcsxrearmed/nullsnd.o \ obj/spu/spu_pcsxrearmed/registers.o ifeq "$(ARCH)" "arm" OBJS += obj/spu/spu_pcsxrearmed/arm_utils.o endif ifeq "$(HAVE_C64_TOOLS)" "1" obj/spu/spu_pcsxrearmed/spu.o: CFLAGS += -DC64X_DSP obj/spu/spu_pcsxrearmed/spu.o: obj/spu/spu_pcsxrearmed/spu_c64x.c frontend/menu.o: CFLAGS += -DC64X_DSP endif ifneq ($(findstring oss,$(SOUND_DRIVERS)),) obj/spu/spu_pcsxrearmed/out.o: CFLAGS += -DHAVE_OSS OBJS += obj/spu/spu_pcsxrearmed/oss.o endif ifneq ($(findstring alsa,$(SOUND_DRIVERS)),) obj/spu/spu_pcsxrearmed/out.o: CFLAGS += -DHAVE_ALSA OBJS += obj/spu/spu_pcsxrearmed/alsa.o LDFLAGS += -lasound endif ifneq ($(findstring sdl,$(SOUND_DRIVERS)),) obj/spu/spu_pcsxrearmed/out.o: CFLAGS += -DHAVE_SDL OBJS += obj/spu/spu_pcsxrearmed/sdl.o endif ifneq ($(findstring pulseaudio,$(SOUND_DRIVERS)),) obj/spu/spu_pcsxrearmed/out.o: CFLAGS += -DHAVE_PULSE OBJS += obj/spu/spu_pcsxrearmed/pulseaudio.o endif ifneq ($(findstring libretro,$(SOUND_DRIVERS)),) obj/spu/spu_pcsxrearmed/out.o: CFLAGS += -DHAVE_LIBRETRO endif

endif

**

spu_pcsxrearmed END

**

CXXFLAGS := $(CFLAGS) -fno-rtti

If V=1 was passed to 'make', do not hide commands:

ifdef V HIDECMD:= else HIDECMD:=@ endif

$(TARGET): $(OBJS) @echo Linking $(TARGET)... $(HIDECMD)$(LD) $(OBJS) $(LDFLAGS) -o $@

obj/%.o: src/%.c @echo Compiling $<... $(HIDECMD)$(CC) -std=gnu99 $(CFLAGS) -c $< -o $@

obj/%.o: src/%.cpp @echo Compiling $<... $(HIDECMD)$(CXX) -std=gnu++03 $(CXXFLAGS) -c $< -o $@

obj/%.o: src/%.s @echo Compiling $<... $(HIDECMD)$(CXX) -std=gnu99 $(CFLAGS) -c $< -o $@

obj/%.o: src/%.S @echo Compiling $<... $(HIDECMD)$(CXX) -std=gnu99 $(CFLAGS) -c $< -o $@

$(sort $(OBJDIRS)): $(HIDECMD)$(MD) $@

maketree: $(sort $(OBJDIRS))

clean: $(RM) -r obj $(RM) $(TARGET)

cuu commented 4 years ago

你好 实话说 我从没编绎过pcsx ,这个库是为了launcher安装pcsx而设的

原贴 https://forum.clockworkpi.com/t/gcw-zero-pcsx4all-for-gameshell/433

是早期论坛用户goo 作的,我直接拿来用了 现在不知道 联系的到否

国内有个qq群 565336393 也许还有人知道

333mhz commented 4 years ago

你好 实话说 我从没编绎过pcsx ,这个库是为了launcher安装pcsx而设的

原贴 https://forum.clockworkpi.com/t/gcw-zero-pcsx4all-for-gameshell/433

是早期论坛用户goo 作的,我直接拿来用了 现在不知道 联系的到否

国内有个qq群 565336393 也许还有人知道

可是那个群已经关闭加入了。