mirror of
https://github.com/libretro/px68k-libretro.git
synced 2026-11-07 04:25:57 -10:00
merge with libretro repo
This commit is contained in:
1 parent
cf47e34490
commit
d241ebc579
8 files changed
+318
-466
No files matched your search
@@ -1,133 +1 @@
|
||||
include version.txt
|
||||
|
||||
CC = gcc
|
||||
CXX = c++
|
||||
CXXLINK = $(CXX)
|
||||
RM = rm -f
|
||||
TAGS = etags
|
||||
DEPEND = gccmakedep
|
||||
DEPEND_DEFINES =
|
||||
|
||||
# for debug
|
||||
CDEBUGFLAGS = -g -O0 -fno-strict-aliasing
|
||||
|
||||
#
|
||||
# enable SDL_gfx
|
||||
#
|
||||
CDEBUGFLAGS+= -DUSE_SDLGFX
|
||||
|
||||
#
|
||||
# disable sound
|
||||
#
|
||||
#CDEBUGFLAGS+= -DNO_SOUND
|
||||
|
||||
#
|
||||
# disable mercury unit
|
||||
#
|
||||
CDEBUGFLAGS+= -DNO_MERCURY
|
||||
|
||||
#
|
||||
# enable RFMDRV
|
||||
#
|
||||
#CDEBUGFLAGS+= -DRFMDRV
|
||||
|
||||
#
|
||||
# for Opt.
|
||||
#
|
||||
# CDEBUGFLAGS= -O3
|
||||
# CDEBUGFLAGS+= -funroll-loops
|
||||
# CDEBUGFLAGS+= -fomit-frame-pointer
|
||||
# CDEBUGFLAGS+= -ffast-math
|
||||
|
||||
# CDEBUGFLAGS+= -march=pentium-m
|
||||
# CDEBUGFLAGS+= -msse -mfpmath=sse
|
||||
|
||||
#
|
||||
# for DEBUG
|
||||
#
|
||||
# CDEBUGFLAGS= -O0
|
||||
# CDEBUGFLAGS+= -g
|
||||
# CDEBUGFLAGS+= -W -Wall -Wuninitialized
|
||||
# CDEBUGFLAGS+= -Wunused
|
||||
# CDEBUGFLAGS+= -Werror
|
||||
# CDEBUGFLAGS+= -DINLINE=
|
||||
# CDEBUGFLAGS+= -DUSE_GAS
|
||||
|
||||
CDEBUGFLAGS+=-DPX68K_VERSION=$(PX68K_VERSION)
|
||||
|
||||
ifdef SDL2
|
||||
# SDL 2.0
|
||||
SDL_CONFIG?= sdl2-config
|
||||
else
|
||||
# SDL 1.2
|
||||
SDL_CONFIG?= sdl-config
|
||||
endif
|
||||
|
||||
SDL_INCLUDE= `$(SDL_CONFIG) --cflags`
|
||||
ifdef SDL2
|
||||
SDL_LIB= `$(SDL_CONFIG) --libs` -lSDL2_gfx
|
||||
else
|
||||
SDL_LIB= `$(SDL_CONFIG) --libs` -lSDL_gfx
|
||||
endif
|
||||
|
||||
ifeq ($(shell uname -m),armv6l)
|
||||
MOPT=
|
||||
else
|
||||
MOPT= -m32
|
||||
endif
|
||||
|
||||
LDLIBS = -lm
|
||||
|
||||
EXTRA_INCLUDES= -I./x11 -I./x68k -I./fmgen -I./win32api $(SDL_INCLUDE)
|
||||
|
||||
CXXDEBUGFLAGS= $(CDEBUGFLAGS)
|
||||
|
||||
CFLAGS= $(MOPT) $(CDEBUGFLAGS) $(EXTRA_INCLUDES)
|
||||
CXXFLAGS= $(MOPT) $(CXXDEBUGFLAGS) $(EXTRA_INCLUDES)
|
||||
CXXLDOPTIONS= $(CXXDEBUGFLAGS)
|
||||
|
||||
CPUOBJS= x68k/d68k.o m68000/c68k.o m68000/m68000.o
|
||||
|
||||
X68KOBJS= x68k/adpcm.o x68k/bg.o x68k/crtc.o x68k/dmac.o x68k/fdc.o x68k/fdd.o x68k/disk_d88.o x68k/disk_dim.o x68k/disk_xdf.o x68k/gvram.o x68k/ioc.o x68k/irqh.o x68k/mem_wrap.o x68k/mercury.o x68k/mfp.o x68k/palette.o x68k/midi.o x68k/pia.o x68k/rtc.o x68k/sasi.o x68k/scc.o x68k/scsi.o x68k/sram.o x68k/sysport.o x68k/tvram.o
|
||||
|
||||
FMGENOBJS= fmgen/fmgen.o fmgen/fmg_wrap.o fmgen/file.o fmgen/fmtimer.o fmgen/opm.o fmgen/opna.o fmgen/psg.o
|
||||
|
||||
X11OBJS= x11/joystick.o x11/juliet.o x11/keyboard.o x11/mouse.o x11/prop.o x11/status.o x11/timer.o x11/dswin.o x11/windraw.o x11/winui.o x11/about.o x11/common.o
|
||||
|
||||
X11CXXOBJS= x11/winx68k.o
|
||||
|
||||
WIN32APIOBJS= win32api/dosio.o win32api/fake.o win32api/peace.o
|
||||
|
||||
COBJS= $(X68KOBJS) $(X11OBJS) $(WIN32APIOBJS) $(CPUOBJS)
|
||||
CXXOBJS= $(FMGENOBJS) $(X11CXXOBJS)
|
||||
OBJS= $(COBJS) $(CXXOBJS)
|
||||
|
||||
CSRCS= $(COBJS:.o=.c)
|
||||
CXXSRCS= $(CXXOBJS:.o=.cpp)
|
||||
SRCS= $(CSRCS) $(CXXSRCS)
|
||||
|
||||
.SUFFIXES: .c .cpp
|
||||
|
||||
.c.o:
|
||||
$(CC) -o $@ $(CFLAGS) -c $*.c
|
||||
|
||||
.cpp.o:
|
||||
$(CXX) -o $@ $(CXXFLAGS) -c $*.cpp
|
||||
|
||||
all:: px68k
|
||||
|
||||
px68k: $(OBJS)
|
||||
$(RM) $@
|
||||
$(CXXLINK) $(MOPT) -o $@ $(CXXLDOPTIONS) $(OBJS) $(SDL_LIB) $(LDLIBS)
|
||||
|
||||
depend::
|
||||
$(DEPEND) -- $(CXXFLAGS) $(DEPEND_DEFINES) -- $(SRCS)
|
||||
|
||||
clean::
|
||||
$(RM) px68k
|
||||
$(RM) $(OBJS)
|
||||
$(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut "#"*
|
||||
|
||||
tags::
|
||||
find . -name "*.h" -o -name "*.c" -o -name "*.cpp" | $(TAGS) -
|
||||
|
||||
include Makefile.libretro
|
||||
@@ -0,0 +1,69 @@
|
||||
INCFLAGS := -I$(CORE_DIR) \
|
||||
-I$(CORE_DIR)/libretro \
|
||||
-I$(CORE_DIR)/x68k \
|
||||
-I$(CORE_DIR)/fmgen \
|
||||
-I$(CORE_DIR)/win32api
|
||||
|
||||
SOURCES_C := $(CORE_DIR)/x68k/d68k.c \
|
||||
$(CORE_DIR)/m68000/m68000.c
|
||||
|
||||
ifdef CYCLONE
|
||||
SOURCES_S := \
|
||||
$(CORE_DIR)/m68000/cyclone.s
|
||||
else
|
||||
SOURCES_C += \
|
||||
$(CORE_DIR)/m68000/c68k/c68k.c \
|
||||
$(CORE_DIR)/m68000/c68k/c68kexec.c
|
||||
endif
|
||||
|
||||
SOURCES_C += \
|
||||
$(CORE_DIR)/x68k/adpcm.c \
|
||||
$(CORE_DIR)/x68k/bg.c \
|
||||
$(CORE_DIR)/x68k/crtc.c \
|
||||
$(CORE_DIR)/x68k/dmac.c \
|
||||
$(CORE_DIR)/x68k/fdc.c \
|
||||
$(CORE_DIR)/x68k/fdd.c \
|
||||
$(CORE_DIR)/x68k/disk_d88.c \
|
||||
$(CORE_DIR)/x68k/disk_dim.c \
|
||||
$(CORE_DIR)/x68k/disk_xdf.c \
|
||||
$(CORE_DIR)/x68k/gvram.c \
|
||||
$(CORE_DIR)/x68k/ioc.c \
|
||||
$(CORE_DIR)/x68k/irqh.c \
|
||||
$(CORE_DIR)/x68k/mem_wrap.c \
|
||||
$(CORE_DIR)/x68k/mercury.c \
|
||||
$(CORE_DIR)/x68k/mfp.c \
|
||||
$(CORE_DIR)/x68k/palette.c \
|
||||
$(CORE_DIR)/x68k/midi.c \
|
||||
$(CORE_DIR)/x68k/pia.c \
|
||||
$(CORE_DIR)/x68k/rtc.c \
|
||||
$(CORE_DIR)/x68k/sasi.c \
|
||||
$(CORE_DIR)/x68k/scc.c \
|
||||
$(CORE_DIR)/x68k/scsi.c \
|
||||
$(CORE_DIR)/x68k/sram.c \
|
||||
$(CORE_DIR)/x68k/sysport.c \
|
||||
$(CORE_DIR)/x68k/tvram.c \
|
||||
$(CORE_DIR)/libretro/joystick.c \
|
||||
$(CORE_DIR)/libretro/juliet.c \
|
||||
$(CORE_DIR)/libretro/keyboard.c \
|
||||
$(CORE_DIR)/libretro/mouse.c \
|
||||
$(CORE_DIR)/libretro/prop.c \
|
||||
$(CORE_DIR)/libretro/status.c \
|
||||
$(CORE_DIR)/libretro/timer.c \
|
||||
$(CORE_DIR)/libretro/dswin.c \
|
||||
$(CORE_DIR)/libretro/windraw.c \
|
||||
$(CORE_DIR)/libretro/winui.c \
|
||||
$(CORE_DIR)/libretro/about.c \
|
||||
$(CORE_DIR)/libretro/common.c \
|
||||
$(CORE_DIR)/win32api/dosio.c \
|
||||
$(CORE_DIR)/win32api/fake.c \
|
||||
$(CORE_DIR)/win32api/peace.c \
|
||||
$(CORE_DIR)/libretro.c
|
||||
|
||||
SOURCES_CXX := $(CORE_DIR)/fmgen/file.cpp \
|
||||
$(CORE_DIR)/fmgen/fmg_wrap.cpp \
|
||||
$(CORE_DIR)/fmgen/fmgen.cpp \
|
||||
$(CORE_DIR)/fmgen/fmtimer.cpp \
|
||||
$(CORE_DIR)/fmgen/opm.cpp \
|
||||
$(CORE_DIR)/fmgen/opna.cpp \
|
||||
$(CORE_DIR)/fmgen/psg.cpp \
|
||||
$(CORE_DIR)/libretro/winx68k.cpp
|
||||
+70
-46
@@ -5,42 +5,81 @@ ifeq ($(platform),)
|
||||
platform = unix
|
||||
ifeq ($(shell uname -a),)
|
||||
platform = win
|
||||
else ifneq ($(findstring MINGW,$(shell uname -a)),)
|
||||
platform = win
|
||||
else ifneq ($(findstring Darwin,$(shell uname -a)),)
|
||||
platform = osx
|
||||
else ifneq ($(findstring MINGW,$(shell uname -a)),)
|
||||
else ifneq ($(findstring win,$(shell uname -a)),)
|
||||
platform = win
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef CYCLONE
|
||||
CFLAGS += -DCYCLONE
|
||||
CXXFLAGS += -DCYCLONE
|
||||
# system platform
|
||||
system_platform = unix
|
||||
ifeq ($(shell uname -a),)
|
||||
EXE_EXT = .exe
|
||||
system_platform = win
|
||||
else ifneq ($(findstring Darwin,$(shell uname -a)),)
|
||||
system_platform = osx
|
||||
arch = intel
|
||||
ifeq ($(shell uname -p),powerpc)
|
||||
arch = ppc
|
||||
endif
|
||||
else ifneq ($(findstring MINGW,$(shell uname -a)),)
|
||||
system_platform = win
|
||||
endif
|
||||
|
||||
ifeq ($(platform), win)
|
||||
INCLUDES += -I Windows
|
||||
endif
|
||||
|
||||
TARGET_NAME := px68k
|
||||
ENDIANNESS_DEFINES :=
|
||||
CORE_DIR := .
|
||||
|
||||
ifeq ($(platform), unix)
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
CFLAGS = -g -O2
|
||||
CXXFLAGS = -g -O2 -fno-merge-constants
|
||||
TARGET := $(TARGET_NAME)_libretro.so
|
||||
fpic := -fPIC
|
||||
SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
FLAGS += -D__LINUX__
|
||||
# android arm
|
||||
else ifneq (,$(findstring osx,$(platform)))
|
||||
TARGET := $(TARGET_NAME)_libretro.dylib
|
||||
fpic = -fPIC
|
||||
SHARED := -dynamiclib
|
||||
|
||||
else ifneq (,$(findstring ios,$(platform)))
|
||||
TARGET := $(TARGET_NAME)_libretro_ios.dylib
|
||||
fpic = -fPIC
|
||||
SHARED := -dynamiclib
|
||||
|
||||
ifeq ($(IOSSDK),)
|
||||
IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path)
|
||||
endif
|
||||
|
||||
DEFINES := -DIOS
|
||||
CC = cc -arch armv7 -isysroot $(IOSSDK)
|
||||
CXX = c++ -arch armv7 -isysroot $(IOSSDK)
|
||||
ifeq ($(platform),ios9)
|
||||
CC += -miphoneos-version-min=8.0
|
||||
CXXFLAGS += -miphoneos-version-min=8.0
|
||||
else
|
||||
CC += -miphoneos-version-min=5.0
|
||||
CXXFLAGS += -miphoneos-version-min=5.0
|
||||
endif
|
||||
|
||||
# android arm
|
||||
else ifneq (,$(findstring android,$(platform)))
|
||||
TARGET := $(TARGET_NAME)_libretro_android.so
|
||||
fpic = -fPIC
|
||||
SHARED := -lstdc++ -llog -shared -Wl,--version-script=link.T -Wl,--no-undefined
|
||||
TARGET := $(TARGET_NAME)_libretro_android.so
|
||||
fpic = -fPIC
|
||||
SHARED := -lstdc++ -llog -shared -Wl,--version-script=link.T -Wl,--no-undefined
|
||||
CFLAGS += -g -O2
|
||||
CXXFLAGS = -g -O2 -fno-merge-constants
|
||||
CC = arm-linux-androideabi-gcc
|
||||
CXX = arm-linux-androideabi-g++
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
CXXFLAGS = -g -O2 -fno-merge-constants
|
||||
CC = arm-linux-androideabi-gcc
|
||||
CXX = arm-linux-androideabi-g++
|
||||
FLAGS += -D__LINUX__ -DARM -marm
|
||||
# crosspi arm
|
||||
# crosspi arm
|
||||
else ifneq (,$(findstring crosspi,$(platform)))
|
||||
CC = arm-linux-gnueabihf-gcc
|
||||
CXX = arm-linux-gnueabihf-g++
|
||||
@@ -51,9 +90,8 @@ CPU_FLAGS += -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard
|
||||
TARGET := $(TARGET_NAME)_libretro.so
|
||||
fpic := -fPIC
|
||||
SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
FLAGS += -D__LINUX__ -DARM -marm
|
||||
# cross Windows
|
||||
# cross Windows
|
||||
else ifeq ($(platform), wincross64)
|
||||
TARGET := $(TARGET_NAME)_libretro.dll
|
||||
AR = x86_64-w64-mingw32-ar
|
||||
@@ -61,43 +99,23 @@ else ifeq ($(platform), wincross64)
|
||||
CXX = x86_64-w64-mingw32-g++
|
||||
SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
|
||||
LDFLAGS += -static-libgcc -static-libstdc++
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
FLAGS +=
|
||||
EXTRA_LDF := -lwinmm -Wl,--export-all-symbols
|
||||
else
|
||||
TARGET := $(TARGET_NAME)_retro.dll
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
|
||||
LDFLAGS += -static-libgcc -static-libstdc++
|
||||
ENDIANNESS_DEFINES := -DLSB_FIRST
|
||||
FLAGS +=
|
||||
TARGET := $(TARGET_NAME)_libretro.dll
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
|
||||
LDFLAGS += -static-libgcc -static-libstdc++
|
||||
EXTRA_LDF = -lwinmm -Wl,--export-all-symbols
|
||||
endif
|
||||
|
||||
CDEBUGFLAGS+= -DNO_MERCURY
|
||||
CDEBUGFLAGS+=-DPX68K_VERSION=0.15
|
||||
EXTRA_INCLUDES= -I./libretro -I./x68k -I./fmgen -I./win32api
|
||||
FLAGS += $(CDEBUGFLAGS)
|
||||
|
||||
C68KOBJS= m68000/c68k/c68k.o m68000/c68k/c68kexec.o
|
||||
CYCLONEOBJS = m68000/cyclone.o
|
||||
include $(CORE_DIR)/Makefile.common
|
||||
|
||||
ifdef CYCLONE
|
||||
CPUOBJS= x68k/d68k.o m68000/m68000.o $(CYCLONEOBJS)
|
||||
else
|
||||
CPUOBJS= x68k/d68k.o m68000/m68000.o $(C68KOBJS)
|
||||
endif
|
||||
|
||||
X68KOBJS= x68k/adpcm.o x68k/bg.o x68k/crtc.o x68k/dmac.o x68k/fdc.o x68k/fdd.o x68k/disk_d88.o x68k/disk_dim.o x68k/disk_xdf.o x68k/gvram.o x68k/ioc.o x68k/irqh.o x68k/mem_wrap.o x68k/mercury.o x68k/mfp.o x68k/palette.o x68k/midi.o x68k/pia.o x68k/rtc.o x68k/sasi.o x68k/scc.o x68k/scsi.o x68k/sram.o x68k/sysport.o x68k/tvram.o
|
||||
FMGENOBJS= fmgen/fmgen.o fmgen/fmg_wrap.o fmgen/file.o fmgen/fmtimer.o fmgen/opm.o fmgen/opna.o fmgen/psg.o
|
||||
RETROCOBJS= libretro/joystick.o libretro/juliet.o libretro/keyboard.o libretro/mouse.o libretro/prop.o libretro/status.o libretro/timer.o libretro/dswin.o libretro/windraw.o libretro/winui.o libretro/about.o libretro/common.o
|
||||
RETROCXXOBJS= libretro/winx68k.o
|
||||
WIN32APIOBJS= win32api/dosio.o win32api/fake.o win32api/peace.o
|
||||
|
||||
OBJECTS := $(X68KOBJS) $(RETROCOBJS) $(WIN32APIOBJS) $(CPUOBJS) $(FMGENOBJS) $(RETROCXXOBJS) libretro.o
|
||||
|
||||
#$(C68KOBJS)
|
||||
OBJECTS := $(SOURCES_CXX:.cpp=.o) $(SOURCES_C:.c=.o) $(SOURCES_S:.s=.o)
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
@@ -108,7 +126,8 @@ else
|
||||
endif
|
||||
|
||||
LDFLAGS += $(fpic) $(SHARED) $(EXTRA_LDF)
|
||||
FLAGS += -I. -I.. $(EXTRA_INCLUDES)
|
||||
FLAGS += $(INCFLAGS)
|
||||
#FLAGS += -DC68K_NO_JUMP_TABLE
|
||||
|
||||
WARNINGS :=
|
||||
|
||||
@@ -117,6 +136,11 @@ FLAGS += -D__LIBRETRO__ $(ENDIANNESS_DEFINES) $(WARNINGS) $(fpic)
|
||||
CXXFLAGS += $(FLAGS) -fpermissive $(CPU_FLAGS)
|
||||
CFLAGS += $(FLAGS) -std=gnu99 $(CPU_FLAGS)
|
||||
|
||||
ifdef CYCLONE
|
||||
CFLAGS += -DCYCLONE
|
||||
CXXFLAGS += -DCYCLONE
|
||||
endif
|
||||
|
||||
$(TARGET): $(OBJECTS)
|
||||
$(CXX) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
include version.txt
|
||||
|
||||
#if defined(NO_SOUND)
|
||||
EXTRA_DEFINES+= -DNOSOUND
|
||||
#endif
|
||||
|
||||
#if defined(NO_MERCURY)
|
||||
EXTRA_DEFINES+= -DNO_MERCURY
|
||||
#endif
|
||||
|
||||
EXTRA_INCLUDES= -I./x11 -I./x68k -I./fmgen -I./win32api \
|
||||
$(GTK_INCLUDE) $(SDL_INCLUDE)
|
||||
|
||||
CXXEXTRA_INCLUDES= $(EXTRA_INCLUDES)
|
||||
CXXEXTRA_DEFINES= $(EXTRA_DEFINES)
|
||||
CXXDEBUGFLAGS= $(CDEBUGFLAGS)
|
||||
|
||||
LOCAL_LIBRARIES= $(XLIB) $(GTK_LIB) $(SDL_LIB)
|
||||
|
||||
#define PassCDebugFlags
|
||||
|
||||
|
||||
CPUOBJS= x68k/d68k.o m68000/c68k.o m68000/m68000.o
|
||||
|
||||
X68KOBJS= \
|
||||
x68k/adpcm.o x68k/bg.o x68k/crtc.o x68k/dmac.o x68k/fdc.o \
|
||||
x68k/fdd.o x68k/disk_d88.o x68k/disk_dim.o x68k/disk_xdf.o \
|
||||
x68k/gvram.o x68k/ioc.o x68k/irqh.o x68k/mem_wrap.o x68k/mercury.o \
|
||||
x68k/mfp.o x68k/palette.o x68k/midi.o x68k/pia.o x68k/rtc.o \
|
||||
x68k/sasi.o x68k/scc.o x68k/scsi.o x68k/sram.o x68k/sysport.o \
|
||||
x68k/tvram.o
|
||||
FMGENOBJS= \
|
||||
fmgen/fmgen.o fmgen/fmg_wrap.o fmgen/file.o fmgen/fmtimer.o \
|
||||
fmgen/opm.o fmgen/opna.o fmgen/psg.o
|
||||
|
||||
X11OBJS= \
|
||||
x11/joystick.o x11/juliet.o x11/keyboard.o x11/mouse.o x11/prop.o \
|
||||
x11/status.o x11/timer.o \
|
||||
x11/dswin.o x11/windraw.o x11/winui.o \
|
||||
x11/about.o x11/common.o
|
||||
|
||||
X11CXXOBJS= x11/winx68k.o
|
||||
|
||||
WIN32APIOBJS= win32api/dosio.o win32api/fake.o win32api/peace.o
|
||||
|
||||
COBJS= $(X68KOBJS) $(X11OBJS) $(WIN32APIOBJS) $(CPUOBJS)
|
||||
CXXOBJS= $(FMGENOBJS) $(X11CXXOBJS)
|
||||
OBJS= $(COBJS) $(CXXOBJS)
|
||||
|
||||
TARGET = px68k
|
||||
#OBJS = cube.o logo.o ../common/callbacks.o ../common/vram.o
|
||||
|
||||
# for psplink
|
||||
#BUILD_PRX = 1
|
||||
|
||||
PSPDEV = $(shell psp-config -d)
|
||||
PSPBIN = $(PSPDEV)/psp/bin
|
||||
SDL_CONFIG = $(PSPBIN)/sdl-config
|
||||
|
||||
SDL_INCLUDE= `$(SDL_CONFIG) --cflags`
|
||||
SDL_LIB= `$(SDL_CONFIG) --libs`
|
||||
|
||||
INCDIR = ./x11 ./x68k ./fmgen ./win32api
|
||||
CFLAGS = -G0 -O2 -Wall $(SDL_INCLUDE) -DPX68K_VERSION=$(PX68K_VERSION)
|
||||
# for debugging
|
||||
#CFLAGS = -g -G0 -Wall $(SDL_INCLUDE)
|
||||
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm -lstdc++ $(SDL_LIB)
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = PX68K for PSP ver.$(PX68K_VERSION)
|
||||
PSP_EBOOT_ICON = psp_logo.png
|
||||
|
||||
PSPSDK=$(shell psp-config --pspsdk-path)
|
||||
include $(PSPSDK)/lib/build.mak
|
||||
+76
-92
@@ -1,19 +1,17 @@
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "libretro.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
char slash = '\\';
|
||||
char slash = '\\';
|
||||
#else
|
||||
char slash = '/';
|
||||
char slash = '/';
|
||||
#endif
|
||||
|
||||
#define LOGI printf
|
||||
#define RENDER16B 1
|
||||
|
||||
#define SOUNDRATE 44100.0
|
||||
#define SNDSZ 795
|
||||
|
||||
@@ -54,24 +52,22 @@ void retro_set_audio_sample_batch(retro_audio_sample_batch_t cb) { audio_batch_c
|
||||
void retro_set_input_poll(retro_input_poll_t cb) { input_poll_cb = cb; }
|
||||
void retro_set_input_state(retro_input_state_t cb) { input_state_cb = cb; }
|
||||
|
||||
#define LOGI printf
|
||||
|
||||
static char CMDFILE[512];
|
||||
|
||||
int loadcmdfile(char *argv)
|
||||
{
|
||||
int res=0;
|
||||
int res=0;
|
||||
|
||||
FILE *fp = fopen(argv,"r");
|
||||
FILE *fp = fopen(argv,"r");
|
||||
|
||||
if( fp != NULL )
|
||||
{
|
||||
if ( fgets (CMDFILE , 512 , fp) != NULL )
|
||||
res=1;
|
||||
fclose (fp);
|
||||
}
|
||||
if( fp != NULL )
|
||||
{
|
||||
if ( fgets (CMDFILE , 512 , fp) != NULL )
|
||||
res=1;
|
||||
fclose (fp);
|
||||
}
|
||||
|
||||
return res;
|
||||
return res;
|
||||
}
|
||||
|
||||
int HandleExtension(char *path,char *ext)
|
||||
@@ -123,16 +119,13 @@ int pre_main(const char *argv)
|
||||
if (strlen(argv) > strlen("cmd"))
|
||||
{
|
||||
if( HandleExtension((char*)argv,"cmd") || HandleExtension((char*)argv,"CMD"))
|
||||
i=loadcmdfile((char*)argv);
|
||||
i=loadcmdfile((char*)argv);
|
||||
}
|
||||
|
||||
if(i==1)
|
||||
{
|
||||
parse_cmdline(CMDFILE);
|
||||
LOGI("Starting game from command line :%s\n",CMDFILE);
|
||||
}
|
||||
else
|
||||
parse_cmdline(argv);
|
||||
parse_cmdline(argv);
|
||||
|
||||
Only1Arg = (strcmp(ARGUV[0],"px68k") == 0) ? 0 : 1;
|
||||
|
||||
@@ -147,16 +140,17 @@ int pre_main(const char *argv)
|
||||
Add_Option("px68k");
|
||||
|
||||
if (strlen(RPATH) >= strlen("hdf")){
|
||||
if(!strcasecmp(&RPATH[strlen(RPATH)-strlen("hdf")], "hdf")){
|
||||
Add_Option("-h");
|
||||
cfgload=1;
|
||||
}
|
||||
if(!strcasecmp(&RPATH[strlen(RPATH)-strlen("hdf")], "hdf")){
|
||||
Add_Option("-h");
|
||||
cfgload=1;
|
||||
}
|
||||
}
|
||||
|
||||
if(cfgload==0) {
|
||||
//Add_Option("-verbose");
|
||||
//Add_Option(retro_system_tos);
|
||||
//Add_Option("-8");
|
||||
if(cfgload==0)
|
||||
{
|
||||
//Add_Option("-verbose");
|
||||
//Add_Option(retro_system_tos);
|
||||
//Add_Option("-8");
|
||||
}
|
||||
|
||||
Add_Option(RPATH);
|
||||
@@ -170,7 +164,6 @@ int pre_main(const char *argv)
|
||||
for (i = 0; i < PARAMCOUNT; i++)
|
||||
{
|
||||
xargv_cmd[i] = (char*)(XARGV[i]);
|
||||
LOGI("%2d %s\n",i,XARGV[i]);
|
||||
}
|
||||
|
||||
pmain(PARAMCOUNT,( char **)xargv_cmd);
|
||||
@@ -182,15 +175,15 @@ int pre_main(const char *argv)
|
||||
|
||||
void parse_cmdline(const char *argv)
|
||||
{
|
||||
char *p,*p2,*start_of_word;
|
||||
int c,c2;
|
||||
static char buffer[512*4];
|
||||
enum states { DULL, IN_WORD, IN_STRING } state = DULL;
|
||||
|
||||
strcpy(buffer,argv);
|
||||
strcat(buffer," \0");
|
||||
char *p,*p2,*start_of_word;
|
||||
int c,c2;
|
||||
static char buffer[512*4];
|
||||
enum states { DULL, IN_WORD, IN_STRING } state = DULL;
|
||||
|
||||
for (p = buffer; *p != '\0'; p++)
|
||||
strcpy(buffer,argv);
|
||||
strcat(buffer," \0");
|
||||
|
||||
for (p = buffer; *p != '\0'; p++)
|
||||
{
|
||||
c = (unsigned char) *p; /* convert to unsigned char for is* functions */
|
||||
switch (state)
|
||||
@@ -238,18 +231,15 @@ void parse_cmdline(const char *argv)
|
||||
}
|
||||
}
|
||||
|
||||
void texture_init(){
|
||||
memset(videoBuffer, 0, sizeof(videoBuffer));
|
||||
void texture_init(void)
|
||||
{
|
||||
memset(videoBuffer, 0, sizeof(*videoBuffer));
|
||||
}
|
||||
|
||||
void retro_set_environment(retro_environment_t cb)
|
||||
{
|
||||
// bool no_rom = true;
|
||||
|
||||
environ_cb = cb;
|
||||
|
||||
// cb(RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME, &no_rom);
|
||||
|
||||
struct retro_variable variables[] = {
|
||||
{
|
||||
"px68k_analog","Use Analog; OFF|ON",
|
||||
@@ -265,24 +255,23 @@ static void update_variables(void)
|
||||
{
|
||||
struct retro_variable var = {0};
|
||||
|
||||
|
||||
|
||||
var.key = "px68k_analog";
|
||||
var.value = NULL;
|
||||
|
||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
||||
{
|
||||
fprintf(stderr, "value: %s\n", var.value);
|
||||
if (strcmp(var.value, "OFF") == 0)
|
||||
if (!strcmp(var.value, "OFF"))
|
||||
opt_analog = false;
|
||||
if (strcmp(var.value, "ON") == 0)
|
||||
if (!strcmp(var.value, "ON"))
|
||||
opt_analog = true;
|
||||
|
||||
fprintf(stderr, "[libretro-test]: Analog: %s.\n",opt_analog?"ON":"OFF");
|
||||
fprintf(stderr, "[libretro-test]: Analog: %s.\n",opt_analog?"ON":"OFF");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void update_input()
|
||||
void update_input(void)
|
||||
{
|
||||
input_poll_cb();
|
||||
}
|
||||
@@ -302,17 +291,17 @@ static void keyboard_cb(bool down, unsigned keycode, uint32_t character, uint16_
|
||||
|
||||
void retro_get_system_info(struct retro_system_info *info)
|
||||
{
|
||||
memset(info, 0, sizeof(*info));
|
||||
info->library_name = "px68k";
|
||||
info->library_version = "0.15+";
|
||||
info->need_fullpath = true;
|
||||
info->valid_extensions = "dim|zip|img|d88|88d|hdm|dup|2hd|xdf|hdf";
|
||||
memset(info, 0, sizeof(*info));
|
||||
info->library_name = "px68k";
|
||||
info->library_version = "0.15+";
|
||||
info->need_fullpath = true;
|
||||
info->valid_extensions = "dim|zip|img|d88|88d|hdm|dup|2hd|xdf|hdf|cmd";
|
||||
}
|
||||
|
||||
|
||||
void retro_get_system_av_info(struct retro_system_av_info *info)
|
||||
{
|
||||
//FIXME handle vice PAL/NTSC
|
||||
/* FIXME handle PAL/NTSC */
|
||||
struct retro_game_geometry geom = { retrow, retroh,800, 600 ,4.0 / 3.0 };
|
||||
struct retro_system_timing timing = { 55.45, SOUNDRATE };
|
||||
|
||||
@@ -320,7 +309,7 @@ void retro_get_system_av_info(struct retro_system_av_info *info)
|
||||
info->timing = timing;
|
||||
}
|
||||
|
||||
void update_geometry()
|
||||
void update_geometry(void)
|
||||
{
|
||||
struct retro_system_av_info system_av_info;
|
||||
system_av_info.geometry.base_width = retrow;
|
||||
@@ -362,17 +351,16 @@ void retro_cheat_set(unsigned index, bool enabled, const char *code)
|
||||
}
|
||||
|
||||
bool retro_load_game(const struct retro_game_info *info)
|
||||
{
|
||||
{
|
||||
const char *full_path;
|
||||
|
||||
const char *full_path;
|
||||
full_path = info->path;
|
||||
|
||||
full_path = info->path;
|
||||
strcpy(RPATH,full_path);
|
||||
|
||||
strcpy(RPATH,full_path);
|
||||
printf("LOAD EMU\n");
|
||||
|
||||
printf("LOAD EMU\n");
|
||||
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool retro_load_game_special(unsigned game_type, const struct retro_game_info *info, size_t num_info)
|
||||
@@ -444,11 +432,8 @@ void retro_init(void)
|
||||
|
||||
sprintf(retro_system_conf, "%s%ckeropi\0",RETRO_DIR,slash);
|
||||
|
||||
LOGI("Retro SYSTEM_DIRECTORY %s\n",retro_system_directory);
|
||||
LOGI("Retro SAVE_DIRECTORY %s\n",retro_save_directory);
|
||||
LOGI("Retro CONTENT_DIRECTORY %s\n",retro_content_directory);
|
||||
|
||||
enum retro_pixel_format fmt = RETRO_PIXEL_FORMAT_RGB565;
|
||||
|
||||
if (!environ_cb(RETRO_ENVIRONMENT_SET_PIXEL_FORMAT, &fmt))
|
||||
{
|
||||
fprintf(stderr, "RGB565 is not supported.\n");
|
||||
@@ -487,8 +472,8 @@ void retro_init(void)
|
||||
|
||||
void retro_deinit(void)
|
||||
{
|
||||
end_loop_retro();
|
||||
printf("Retro DeInit\n");
|
||||
end_loop_retro();
|
||||
printf("Retro DeInit\n");
|
||||
}
|
||||
|
||||
void retro_reset(void)
|
||||
@@ -499,32 +484,31 @@ static int firstcall=1;
|
||||
|
||||
void retro_run(void)
|
||||
{
|
||||
if(firstcall)
|
||||
{
|
||||
pre_main(RPATH);
|
||||
firstcall=0;
|
||||
printf("INIT done\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if(firstcall){
|
||||
pre_main(RPATH);
|
||||
firstcall=0;
|
||||
printf("INIT done\n");
|
||||
return;
|
||||
}
|
||||
if (CHANGEAV == 1)
|
||||
{
|
||||
update_geometry();
|
||||
printf("w:%d h:%d a:%f\n",retrow,retroh,(float)(4/3));
|
||||
CHANGEAV=0;
|
||||
}
|
||||
|
||||
if (CHANGEAV == 1){
|
||||
update_geometry();
|
||||
printf("w:%d h:%d a:%f\n",retrow,retroh,(float)(4/3));
|
||||
CHANGEAV=0;
|
||||
}
|
||||
update_input();
|
||||
|
||||
if(pauseg!=-1)
|
||||
{
|
||||
}
|
||||
|
||||
update_input();
|
||||
exec_app_retro();
|
||||
|
||||
if(pauseg!=-1){
|
||||
|
||||
}
|
||||
|
||||
exec_app_retro();
|
||||
|
||||
raudio_callback(NULL, NULL,SNDSZ*4);
|
||||
|
||||
video_cb(videoBuffer, retrow, retroh, /*retrow*/ 800 << 1/*2*/);
|
||||
raudio_callback(NULL, NULL,SNDSZ*4);
|
||||
|
||||
video_cb(videoBuffer, retrow, retroh, /*retrow*/ 800 << 1/*2*/);
|
||||
}
|
||||
|
||||
+83
-97
@@ -49,21 +49,20 @@ BYTE rsndbuf[PCMBUF_SIZE];
|
||||
|
||||
int audio_fd = 1;
|
||||
|
||||
void raudio_callback(void *userdata, unsigned char *stream, int len);
|
||||
void raudio_callback(void *userdata, unsigned char *stream, int len);
|
||||
|
||||
#ifndef NOSOUND
|
||||
|
||||
|
||||
int
|
||||
DSound_Init(unsigned long rate, unsigned long buflen)
|
||||
{
|
||||
DWORD samples;
|
||||
|
||||
if (playing) {
|
||||
if (playing)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (rate == 0) {
|
||||
if (rate == 0)
|
||||
{
|
||||
audio_fd = -1;
|
||||
return TRUE;
|
||||
}
|
||||
@@ -79,45 +78,39 @@ DSound_Init(unsigned long rate, unsigned long buflen)
|
||||
void
|
||||
DSound_Play(void)
|
||||
{
|
||||
// if (audio_fd >= 0);
|
||||
|
||||
// if (audio_fd >= 0);
|
||||
}
|
||||
|
||||
void
|
||||
DSound_Stop(void)
|
||||
{
|
||||
// if (audio_fd >= 0);
|
||||
|
||||
// if (audio_fd >= 0);
|
||||
}
|
||||
|
||||
int
|
||||
DSound_Cleanup(void)
|
||||
{
|
||||
playing = FALSE;
|
||||
if (audio_fd >= 0) {
|
||||
|
||||
if (audio_fd >= 0)
|
||||
audio_fd = -1;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void sound_send(int length)
|
||||
{
|
||||
int rate;
|
||||
int rate = 0;
|
||||
|
||||
rate = 0;
|
||||
|
||||
ADPCM_Update((short *)pbwp, length, rate, pbsp, pbep);
|
||||
OPM_Update((short *)pbwp, length, rate, pbsp, pbep);
|
||||
ADPCM_Update((short *)pbwp, length, rate, pbsp, pbep);
|
||||
OPM_Update((short *)pbwp, length, rate, pbsp, pbep);
|
||||
#ifndef NO_MERCURY
|
||||
//Mcry_Update((short *)pcmbufp, length);
|
||||
//Mcry_Update((short *)pcmbufp, length);
|
||||
#endif
|
||||
|
||||
pbwp += length * sizeof(WORD) * 2;
|
||||
if (pbwp >= pbep) {
|
||||
pbwp = pbsp + (pbwp - pbep);
|
||||
}
|
||||
|
||||
pbwp += length * sizeof(WORD) * 2;
|
||||
if (pbwp >= pbep)
|
||||
pbwp = pbsp + (pbwp - pbep);
|
||||
}
|
||||
|
||||
void FASTCALL DSound_Send0(long clock)
|
||||
@@ -125,18 +118,20 @@ void FASTCALL DSound_Send0(long clock)
|
||||
int length = 0;
|
||||
int rate;
|
||||
|
||||
if (audio_fd < 0) {
|
||||
if (audio_fd < 0)
|
||||
return;
|
||||
}
|
||||
|
||||
DSound_PreCounter += (ratebase * clock);
|
||||
while (DSound_PreCounter >= 10000000L) {
|
||||
|
||||
while (DSound_PreCounter >= 10000000L)
|
||||
{
|
||||
length++;
|
||||
DSound_PreCounter -= 10000000L;
|
||||
}
|
||||
if (length == 0) {
|
||||
|
||||
if (length == 0)
|
||||
return;
|
||||
}
|
||||
|
||||
sound_send(length);
|
||||
}
|
||||
|
||||
@@ -144,98 +139,89 @@ static void FASTCALL DSound_Send(int length)
|
||||
{
|
||||
int rate;
|
||||
|
||||
if (audio_fd < 0) {
|
||||
if (audio_fd < 0)
|
||||
return;
|
||||
}
|
||||
sound_send(length);
|
||||
}
|
||||
|
||||
void
|
||||
raudio_callback(void *userdata, unsigned char *stream, int len)
|
||||
{
|
||||
int lena, lenb, datalen, rate;
|
||||
BYTE *buf;
|
||||
static DWORD bef;
|
||||
DWORD now;
|
||||
int lena, lenb, datalen, rate;
|
||||
BYTE *buf;
|
||||
|
||||
now = timeGetTime();
|
||||
|
||||
//p6logd("tdiff %4d : len %d ", now - bef, len);
|
||||
|
||||
//printf("tdiff %4d : len %d \n", now - bef, len);
|
||||
cb_start:
|
||||
if (pbrp <= pbwp) {
|
||||
// pcmbuffer
|
||||
// +---------+-------------+----------+
|
||||
// | |/////////////| |
|
||||
// +---------+-------------+----------+
|
||||
// A A<--datalen-->A A
|
||||
// | | | |
|
||||
// pbsp pbrp pbwp pbep
|
||||
if (pbrp <= pbwp)
|
||||
{
|
||||
// pcmbuffer
|
||||
// +---------+-------------+----------+
|
||||
// | |/////////////| |
|
||||
// +---------+-------------+----------+
|
||||
// A A<--datalen-->A A
|
||||
// | | | |
|
||||
// pbsp pbrp pbwp pbep
|
||||
|
||||
datalen = pbwp - pbrp;
|
||||
if (datalen < len) {
|
||||
// needs more data
|
||||
datalen = pbwp - pbrp;
|
||||
|
||||
DSound_Send((len - datalen) / 4);
|
||||
// needs more data
|
||||
if (datalen < len)
|
||||
DSound_Send((len - datalen) / 4);
|
||||
|
||||
}
|
||||
#if 0
|
||||
datalen = pbwp - pbrp;
|
||||
if (datalen < len) {
|
||||
printf("xxxxx not enough sound data xxxxx\n");
|
||||
}
|
||||
datalen = pbwp - pbrp;
|
||||
if (datalen < len)
|
||||
printf("xxxxx not enough sound data xxxxx\n");
|
||||
#endif
|
||||
if (pbrp > pbwp) {
|
||||
// chage to TYPEC or TYPED
|
||||
goto cb_start;
|
||||
}
|
||||
|
||||
buf = pbrp;
|
||||
pbrp += len;
|
||||
//printf("TYPEA: ");
|
||||
// change to TYPEC or TYPED
|
||||
if (pbrp > pbwp)
|
||||
goto cb_start;
|
||||
|
||||
} else {
|
||||
// pcmbuffer
|
||||
// +---------+-------------+----------+
|
||||
// |/////////| |//////////|
|
||||
// +------+--+-------------+----------+
|
||||
// <-lenb-> A <---lena--->
|
||||
// A | A A
|
||||
// | | | |
|
||||
// pbsp pbwp pbrp pbep
|
||||
buf = pbrp;
|
||||
pbrp += len;
|
||||
//printf("TYPEA: ");
|
||||
}
|
||||
else
|
||||
{
|
||||
// pcmbuffer
|
||||
// +---------+-------------+----------+
|
||||
// |/////////| |//////////|
|
||||
// +------+--+-------------+----------+
|
||||
// <-lenb-> A <---lena--->
|
||||
// A | A A
|
||||
// | | | |
|
||||
// pbsp pbwp pbrp pbep
|
||||
|
||||
lena = pbep - pbrp;
|
||||
if (lena >= len) {
|
||||
buf = pbrp;
|
||||
pbrp += len;
|
||||
//printf("TYPEC: ");
|
||||
} else {
|
||||
lenb = len - lena;
|
||||
if (pbwp - pbsp < lenb) {
|
||||
lena = pbep - pbrp;
|
||||
if (lena >= len)
|
||||
{
|
||||
buf = pbrp;
|
||||
pbrp += len;
|
||||
//printf("TYPEC: ");
|
||||
}
|
||||
else
|
||||
{
|
||||
lenb = len - lena;
|
||||
|
||||
DSound_Send((lenb - (pbwp - pbsp)) / 4);
|
||||
if (pbwp - pbsp < lenb)
|
||||
DSound_Send((lenb - (pbwp - pbsp)) / 4);
|
||||
|
||||
}
|
||||
#if 0
|
||||
if (pbwp - pbsp < lenb) {
|
||||
printf("xxxxx not enough sound data xxxxx\n");
|
||||
}
|
||||
if (pbwp - pbsp < lenb)
|
||||
printf("xxxxx not enough sound data xxxxx\n");
|
||||
#endif
|
||||
memcpy(rsndbuf, pbrp, lena);
|
||||
memcpy(&rsndbuf[lena], pbsp, lenb);
|
||||
buf = rsndbuf;
|
||||
pbrp = pbsp + lenb;
|
||||
//printf("TYPED: ");
|
||||
}
|
||||
}
|
||||
memcpy(rsndbuf, pbrp, lena);
|
||||
memcpy(&rsndbuf[lena], pbsp, lenb);
|
||||
buf = rsndbuf;
|
||||
pbrp = pbsp + lenb;
|
||||
//printf("TYPED: ");
|
||||
}
|
||||
}
|
||||
|
||||
signed short int *ptr=(signed short int *)buf;
|
||||
memcpy(&soundbuf[0],buf,len);
|
||||
audio_batch_cb(soundbuf,len/4);
|
||||
|
||||
//printf("%d %d \n",len,lena+lenb);
|
||||
// _MixAudio(stream, buf, len, _MIX_MAXVOLUME);
|
||||
signed short int *ptr=(signed short int *)buf;
|
||||
memcpy(&soundbuf[0],buf,len);
|
||||
audio_batch_cb(soundbuf,len/4);
|
||||
bef = now;
|
||||
}
|
||||
|
||||
#else /* NOSOUND */
|
||||
|
||||
+18
-19
@@ -915,29 +915,28 @@ extern "C" void exec_app_retro(){
|
||||
//}
|
||||
}
|
||||
|
||||
extern "C" void end_loop_retro(){
|
||||
//end_loop:
|
||||
Memory_WriteB(0xe8e00d, 0x31); // SRAMœñ€¹þ€ßµö²Ä
|
||||
Memory_WriteD(0xed0040, Memory_ReadD(0xed0040)+1); // ÀÑ»»²ÔƯ»þŽÖ(min.)
|
||||
Memory_WriteD(0xed0044, Memory_ReadD(0xed0044)+1); // ÀÑ»»µ¯Æ°²ó¿ô
|
||||
extern "C" void end_loop_retro(void)
|
||||
{
|
||||
//end_loop:
|
||||
Memory_WriteB(0xe8e00d, 0x31); // SRAMœñ€¹þ€ßµö²Ä
|
||||
Memory_WriteD(0xed0040, Memory_ReadD(0xed0040)+1); // ÀÑ»»²ÔƯ»þŽÖ(min.)
|
||||
Memory_WriteD(0xed0044, Memory_ReadD(0xed0044)+1); // ÀÑ»»µ¯Æ°²ó¿ô
|
||||
|
||||
OPM_Cleanup();
|
||||
OPM_Cleanup();
|
||||
#ifndef NO_MERCURY
|
||||
Mcry_Cleanup();
|
||||
Mcry_Cleanup();
|
||||
#endif
|
||||
|
||||
Joystick_Cleanup();
|
||||
SRAM_Cleanup();
|
||||
FDD_Cleanup();
|
||||
//CDROM_Cleanup();
|
||||
MIDI_Cleanup();
|
||||
DSound_Cleanup();
|
||||
WinX68k_Cleanup();
|
||||
WinDraw_Cleanup();
|
||||
WinDraw_CleanupScreen();
|
||||
Joystick_Cleanup();
|
||||
SRAM_Cleanup();
|
||||
FDD_Cleanup();
|
||||
//CDROM_Cleanup();
|
||||
MIDI_Cleanup();
|
||||
DSound_Cleanup();
|
||||
WinX68k_Cleanup();
|
||||
WinDraw_Cleanup();
|
||||
WinDraw_CleanupScreen();
|
||||
|
||||
SaveConfig();
|
||||
|
||||
return 0;
|
||||
SaveConfig();
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
#ifndef _winx68k_memory
|
||||
#define _winx68k_memory
|
||||
|
||||
#include "../x11/common.h"
|
||||
#include "../libretro/common.h"
|
||||
|
||||
#define Memory_ReadB cpu_readmem24
|
||||
#define Memory_ReadW cpu_readmem24_word
|
||||
|
||||
Reference in new issue
Block a user