2011年04月05日


広告


SNES9X最新版をPSPに移植してみる(3)

■makeが通る様にごりごり手直しをする

とりあえず、ごりごりして共通部分のコンパイルは通り、残すはpsp/unix.cppとpsp/x11.cppのコンパイルを残すのみとなった。
まぁ、ここからが本番の様なものですが。

ごりごりした内容としては、

Makefileからzip, png関連を削除
存在しないインクルードファイルに関する修正
ソースの方もちょっと手直し。ただしmovie.cpp内のftruncate()は今後ちゃんと実装しないとだめ。
といったところ。

前回からの差分は

Index: psp/Makefile
===================================================================
--- psp/Makefile (リビジョン 71)
+++ psp/Makefile (作業コピー)
@@ -2,7 +2,7 @@
#S9XZSNESC4=1
#S9XDEBUGGER=1
#S9XNETPLAY=1
-S9XZIP=1
+#S9XZIP=1
S9XJMA=1

# Fairly good and special-char-safe descriptor of the os being built on.
@@ -10,7 +10,7 @@
BUILDDIR = .

OBJECTS = ../apu/apu.o ../apu/SNES_SPC.o ../apu/SNES_SPC_misc.o ../apu/SNES_SPC_state.o ../apu/SPC_DSP.o ../apu/SPC_Filter.o ../bsx.o ../cheats.o ../cheats2.o ../clip.o ../conffile.o ../controls.o ../cpu.o ../cpuexec.o ../cpuops.o ../crosshairs.o ../dma.o ../dsp.o ../dsp1.o ../dsp2.o ../dsp3.o ../dsp4.o ../gfx.o ../globals.o ../logger.o ../memmap.o ../movie.o ../obc1.o ../ppu.o ../reader.o ../sa1.o ../sa1cpu.o ../screenshot.o ../sdd1.o ../sdd1emu.o ../seta.o ../seta010.o ../seta011.o ../seta018.o ../snapshot.o ../snes9x.o ../spc7110.o ../srtc.o ../tile.o ../filter/2xsai.o ../filter/blit.o ../filter/epx.o ../filter/hq2x.o ../filter/snes_ntsc.o unix.o x11.o
-DEFS = -DMITSHM -DCPU_SHUTDOWN -DSPC700_SHUTDOWN -DCORRECT_VRAM_READS
+DEFS = -DMITSHM -DCPU_SHUTDOWN -DSPC700_SHUTDOWN -DCORRECT_VRAM_READS -D__PSP__

ifdef S9XZSNESFX
OBJECTS += ../i386/fxemu2.o ../i386/fxemu2b.o ../i386/fxemu2c.o ../i386/fxtable.o ../i386/sfxproc.o ../i386/zsnes.o
@@ -45,7 +45,7 @@

INCLUDES = -I. -I.. -I../apu/ -I../unzip/ -I../jma/ -I../filter/

-CCFLAGS = -O3 -fomit-frame-pointer -fno-exceptions -fno-rtti -pedantic -Wall -W -Wno-unused-parameter -DJOYSTICK_SUPPORT -DZLIB -DUNZIP_SUPPORT -DJMA_SUPPORT -DHAVE_LIBPNG -DHAVE_MKSTEMP -DHAVE_STRINGS_H -DHAVE_SYS_IOCTL_H -DHAVE_STDINT_H -DRIGHTSHIFT_IS_SAR -DUSE_THREADS $(DEFS)
+CCFLAGS = -O3 -fomit-frame-pointer -fno-exceptions -fno-rtti -pedantic -Wall -W -Wno-unused-parameter -DJOYSTICK_SUPPORT -DJMA_SUPPORT -DHAVE_MKSTEMP -DHAVE_SYS_IOCTL_H -DHAVE_STDINT_H -DRIGHTSHIFT_IS_SAR -DUSE_THREADS $(DEFS)
CFLAGS = $(CCFLAGS)

.SUFFIXES: .o .cpp .c .cc .h .m .i .s .asm .obj
@@ -103,8 +103,5 @@
@echo Compiling $*.s
sh-elf-as -little $*.s -o $@

-.asm.o:
- $(NASM) -f elf -DELF -DJOYSTICK_SUPPORT -DZLIB -DUNZIP_SUPPORT -DJMA_SUPPORT -DHAVE_LIBPNG -DHAVE_MKSTEMP -DHAVE_STRINGS_H -DHAVE_SYS_IOCTL_H -DHAVE_STDINT_H -DRIGHTSHIFT_IS_SAR -DUSE_THREADS -i../i386/ -o $@ $*.asm
-
.obj.o:
cp $*.obj $*.o
Index: movie.cpp
===================================================================
--- movie.cpp (リビジョン 65)
+++ movie.cpp (作業コピー)
@@ -198,6 +198,11 @@
#define ftruncate chsize
#endif

+#ifdef __PSP__
+// xxxxx
+int ftruncate(int fd, off_t length) { return 1; }
+#endif
+
#define SMV_MAGIC 0x1a564d53 // SMV0x1a
#define SMV_VERSION 5
#define SMV_HEADER_SIZE 64
Index: port.h
===================================================================
--- port.h (リビジョン 65)
+++ port.h (作業コピー)
@@ -181,7 +181,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
+#ifndef __PSP__
#include <memory.h>
+#endif
#include <time.h>
#include <string.h>
#ifdef HAVE_STRINGS_H

といった所で、今日はここまで。




タグ:SNES9X PSP
posted by ひっそりぃ at 2011/04/05 01:16 | Comment(0) | TrackBack(0) | SNES9X for PSP | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。