psp memhandlers, vsync, stuff
[picodrive.git] / platform / psp / Makefile
index 769f3ed..49f9f7b 100644 (file)
@@ -3,17 +3,17 @@
 PSPSDK = $(shell psp-config --pspsdk-path)\r
 \r
 # settings\r
-use_musashi = 1\r
-use_mz80 = 1\r
+#use_musashi = 1\r
+#use_mz80 = 1\r
 amalgamate = 0\r
 #profile = 1\r
 #up = 1\r
 \r
 \r
-CFLAGS += -I../.. -I. -D_UNZIP_SUPPORT -DNO_SYNC # -DBENCHMARK\r
-CFLAGS += -Wall -Winline\r
+CFLAGS += -I../.. -I. -DNO_SYNC\r
+CFLAGS += -Wall -Winline -G0\r
 ifeq ($(DEBUG),)\r
-CFLAGS += -O2 -G0 -ftracer -fstrength-reduce -fomit-frame-pointer -fstrict-aliasing -ffast-math\r
+CFLAGS += -O2 -ftracer -fstrength-reduce -ffast-math\r
 else\r
 CFLAGS += -ggdb\r
 endif\r
@@ -37,7 +37,7 @@ OBJS += ../../PicoAll.o
 else\r
 OBJS += ../../Pico/Area.o ../../Pico/Cart.o ../../Pico/Memory.o ../../Pico/Misc.o \\r
                ../../Pico/Pico.o ../../Pico/Sek.o ../../Pico/VideoPort.o ../../Pico/Draw2.o ../../Pico/Draw.o \\r
-               ../../Pico/Patch.o\r
+               ../../Pico/Patch.o ../../Pico/Draw_amips.o ../../Pico/Memory_amips.o\r
 # Pico - CD\r
 OBJS += ../../Pico/cd/Pico.o ../../Pico/cd/Memory.o ../../Pico/cd/Sek.o ../../Pico/cd/LC89510.o \\r
                ../../Pico/cd/cd_sys.o ../../Pico/cd/cd_file.o ../../Pico/cd/gfx_cd.o \\r
@@ -52,53 +52,82 @@ OBJS += ../../Pico/sound/mix.o
 OBJS += ../../Pico/sound/sn76496.o ../../Pico/sound/ym2612.o\r
 # zlib (hacked)\r
 OBJS += ../../zlib/gzio.o ../../zlib/inffast.o ../../zlib/inflate.o ../../zlib/inftrees.o ../../zlib/trees.o \\r
-       ../../zlib/deflate.o ../../zlib/crc32.o ../../zlib/adler32.o ../../zlib/zutil.o ../../zlib/compress.o\r
+       ../../zlib/deflate.o ../../zlib/crc32.o ../../zlib/adler32.o ../../zlib/zutil.o ../../zlib/compress.o \\r
+       ../../zlib/uncompr.o\r
 # unzip\r
 OBJS += ../../unzip/unzip.o ../../unzip/unzip_stream.o\r
 # CPU cores\r
 ifeq "$(use_musashi)" "1"\r
 CFLAGS += -DEMU_M68K\r
 OBJS += ../../cpu/musashi/m68kops.o ../../cpu/musashi/m68kcpu.o\r
+else\r
+CFLAGS += -DEMU_F68K\r
+OBJS += ../../cpu/fame/famec.o\r
 endif\r
 # z80\r
 ifeq "$(use_mz80)" "1"\r
 CFLAGS += -D_USE_MZ80\r
 OBJS += ../../cpu/mz80/mz80.o\r
 else\r
-$(error nothing here!)\r
+CFLAGS += -D_USE_CZ80\r
+OBJS += ../../cpu/cz80/cz80.o\r
 endif\r
+# bg images\r
+OBJS += data/bg32.o data/bg40.o\r
 \r
 \r
-LIBS += -lpng -lm -lpspgu # -lpspaudio -lpspgu -lpsppower -lpsphprm -lz -lm -lstdc++\r
+LIBS += -lpng -lm -lpspgu -lpsppower -Wl,-Map=PicoDrive.map -lpspaudio\r
 \r
 # target\r
 TARGET = PicoDrive\r
 EXTRA_TARGETS = EBOOT.PBP\r
 PSP_EBOOT_TITLE = PICODRIVE\r
-#PSP_EBOOT_ICON = .png\r
+PSP_EBOOT_ICON = data/icon.png\r
 #PSP_EBOOT_PIC1 = .png\r
 \r
 CUSTOM_CLEAN = myclean\r
 \r
 include $(PSPSDK)/lib/build.mak\r
 \r
-\r
 # some additional rules\r
 .c.o:\r
        @echo ">>>" $<\r
        $(CC) $(CFLAGS) -c $< -o $@\r
 \r
+AS := psp-as\r
+\r
+.s.o:\r
+       @echo ">>>" $<\r
+       $(AS) -march=allegrex -mtune=allegrex $< -o $@\r
+\r
 ../../cpu/musashi/m68kops.c :\r
        make -C ../../cpu/musashi\r
 \r
+../../cpu/fame/famec.o : ../../cpu/fame/famec.c\r
+       @echo ">>>" $<\r
+       $(CC) $(CFLAGS) -Wno-unused -c $< -o $@\r
+\r
+../../Pico/Memory.o : ../../Pico/Memory.c\r
+       @echo ">>>" $<\r
+       $(CC) $(CFLAGS) -c $< -o $@ -D_ASM_MEMORY_C -D_ASM_MEMORY_C_AMIPS\r
+\r
+../../Pico/Draw.o : ../../Pico/Draw.c\r
+       @echo ">>>" $<\r
+       $(CC) $(CFLAGS) -c $< -o $@ -D_ASM_DRAW_C_MIPS\r
+\r
 readme.txt: ../../tools/textfilter ../base_readme.txt\r
        ../../tools/textfilter ../base_readme.txt $@ PSP\r
 \r
 ../../tools/textfilter: ../../tools/textfilter.c\r
        make -C ../../tools/ textfilter\r
 \r
+data/bg32.o: data/bg32.bin\r
+       bin2o -i $< $@ bgdatac32\r
 \r
-# ?\r
+data/bg40.o: data/bg40.bin\r
+       bin2o -i $< $@ bgdatac40\r
+\r
+#\r
 up: EBOOT.PBP\r
        @cp -v $^ /media/disk/PSP/GAME/PicoDrive/\r
 \r