DĂ©veloppement PSX : Psy-Q, compilation d'un exemple de Cellshading par Lameguy64
En-train d'Ă©tudier l'exemple de code Psy-Q suivant (par LameGuy64): .
Makefile
Voici un makefile modifié pour compiler sous Linux, basé sur celui fournis par LameGuy64 :
Vous aurez peut-être à changer les chemins d'exécutables en début de script.
# Run this makefile in GNU/Linux.
WORKING_DIR = TMDCEL
# 16-bits DOS exes run in Dosbox
RSDLINK = "C:PSYQBINRSDLINK.EXE"
DMPSX = "C:PSYQBINDMPSX.EXE"
CPE2X = "C:PSYQBINCPE2X.EXE"
TARGET = main ADDRESS = 0x80010000
CFLAGS = -O3 -Wall
all:
## Convert suzanne RSD to TMD
echo @echo on > dosbox.bat
echo D: >> dosbox.bat
echo cd "D:$(WORKING_DIR)" >> dosbox.bat
echo $(RSDLINK) -s 30.0 -o "SUZANNESUZANNE.TMD" "SUZANNESUZANNE.RSD" >> dosbox.bat
echo exit >> dosbox.bat
dosbox -c "D:$(WORKING_DIR)DOSBOX"
rm dosbox.bat
## Convert TMD to C
bin2h.exe suzanne/suzanne.tmd suzanne/suzanne.c tmd_suzanne -nosize
## build tmdcel.obj
CCPSX.EXE $(CFLAGS) -c tmdcel.c
## Pre-process tmdcel.obj with dmpsx
echo @echo on > dosbox.bat
echo D: >> dosbox.bat
echo cd "D:$(WORKING_DIR)" >> dosbox.bat
echo $(DMPSX) tmdcel.obj >> dosbox.bat
echo exit >> dosbox.bat
dosbox -c "D:$(WORKING_DIR)DOSBOX"
rm dosbox.bat
##build CPE and SYM
CCPSX.EXE -Xo$(ADDRESS) $(CFLAGS) main.c loadtim.c tmdcel.obj suzanne/suzanne.c celmap.c -o$(TARGET).cpe,$(TARGET).sym
## Convert CPE to PSX EXE
echo @echo on > dosbox.bat
echo D: >> dosbox.bat
echo cd "D:$(WORKING_DIR)" >> dosbox.bat
echo $(CPE2X) MAIN.CPE >> dosbox.bat
echo exit >> dosbox.bat
dosbox -c "D:$(WORKING_DIR)DOSBOX"
rm dosbox.bat
Configuration
Psy-Q Wine & Dosbox
Psy-Q est configuré comme indiqué ici :
https://arthus.net/pico/?programming_for_the_playstation_on_linux_psyq_with_wine
ou here :
https://github.com/electrobs/PSYQ_Examples
Il faut également récupérer bin2h.exe
ici : https://github.com/apiraino/psx_tapper/blob/master/tools/bin2h.exe
et le placer dans le dossier ~/.wine/drive_c/psyq/bin
.