En-train d'étudier l'exemple de code Psy-Q suivant (par LameGuy64): http://www.psxdev.net/forum/viewtopic.php?f=64&t=775.
Voici un makefile modifié pour compiler sous Linux, basé sur celui fournis par LameGuy64 :
# Run this makefile in GNU/Linux.
WORKING_DIR = TMDCEL
#16-bits DOS exes run in Dosbox
RSDLINK = "C:\PSYQ\BIN\RSDLINK.EXE"
DMPSX = "C:\PSYQ\BIN\DMPSX.EXE"
CPE2X = "C:\PSYQ\BIN\CPE2X.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 "SUZANNE\SUZANNE.TMD" "SUZANNE\SUZANNE.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
Psy-Q est configuré comme indiqué ici : Programmer pour la Playstation sous Linux : PsyQ + Wine & Dosbox (en Anglais : 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
.