PSYLINK Directory Problem *SOLVED*

General help for the PSY-Q SDK, such as setting the SDK up, compiling correctly, linking and debugging
Post Reply
User avatar
t0rxe
C Programming Expert
C Programming Expert
Posts: 139
Joined: Dec 19, 2012
Motto: /\OX[]
PlayStation Model: SCPH-5502
Location: Australia

PSYLINK Directory Problem *SOLVED*

Post by t0rxe » May 28th, 2013, 5:56 pm

Anyone know why the Psy-Q linker is going to C:\psx\lib and not C:\psyq\psx\lib?

For now I have moved the 'C:\psx' directory to 'C:\', but is there an INI file I have to edit, or is it hard coded in psylink.exe? If so, the PSXDEV.net help files will need to be updated, and people will need to know there is a problem with their Psy-Q file structure if they followed the install guide from it!

Code: Select all

PsyMake version 1.14  copyright SN Systems Software Ltd 1993
C:\psyq\bin\psylink.exe  /m /g @main.lnk,main.cpe,main.sym,main.map

PSYLINK version 2.82

Error : Could not open file 'c:\psx\lib\libAPI.LIB'
Error : Could not open file 'c:\psx\lib\libGPU.LIB'
Error : Could not open file 'c:\psx\lib\libGTE.LIB'
Error : Could not open file 'c:\psx\lib\libETC.LIB'
Error : Could not open file 'c:\psx\lib\libCD.LIB'
Error : Could not open file 'c:\psx\lib\libDS.LIB'
Error : Could not open file 'c:\psx\lib\libPRESS.LIB'
Error : Could not open file 'c:\psx\lib\libC.LIB'
Error : Could not open file 'c:\psx\lib\libSPU.LIB'
Error : Could not open file 'c:\psx\lib\libSND.LIB'
Error : Could not open file 'c:\psx\lib\libGS.LIB'
Error : Could not open file 'c:\psx\lib\libSN.LIB'
Errors during pass 1 - pass 2 aborted
Linking completed.
12 error(s) in 0.2 seconds
Bad return code - make aborted
"Nostalgia isn't a big enough word to describe the PlayStation from my eyes"

Orion_
Verified
Legendary Programmer
Legendary Programmer
Posts: 240
Joined: Aug 13, 2012
I am a: Programmer
PlayStation Model: Net Yaroze
Location: France
Contact:

Post by Orion_ » May 28th, 2013, 8:54 pm

You have to edit psyq.ini in the bin directory:
Image
You have a psylink path at the bottom
But I don't use psylink, I use ccpsx
ccpsx -Xo%address% %prog%.c -o%prog%.cpe,,%prog%.map
Retro game development on Playstation and other consoles http://orionsoft.free.fr/

User avatar
t0rxe
C Programming Expert
C Programming Expert
Posts: 139
Joined: Dec 19, 2012
Motto: /\OX[]
PlayStation Model: SCPH-5502
Location: Australia

Post by t0rxe » May 28th, 2013, 9:04 pm

Weird. All I have in my PSYQ.INI is:

Code: Select all

[ccpsx]
stdlib=libgs.lib libgte.lib libgpu.lib libspu.lib libsnd.lib libetc.lib libapi.lib libsn.lib libc.lib libcd.lib libcard.lib libmath.lib

compiler_path=C:\psyq\bin
assembler_path=C:\psyq\bin
linker_path=C:\psyq\bin
library_path=C:\psyq\lib
c_include_path=C:\psyq\include
cplus_include_path=C:\psyq\include
I must be using an older version or something...
Anyway, the path 'library_path=' has been changed to point to C:\psyq\psx\lib and it now works fine.

Thank you Orion_ :)
"Nostalgia isn't a big enough word to describe the PlayStation from my eyes"

User avatar
t0rxe
C Programming Expert
C Programming Expert
Posts: 139
Joined: Dec 19, 2012
Motto: /\OX[]
PlayStation Model: SCPH-5502
Location: Australia

Post by t0rxe » June 8th, 2013, 6:46 pm

Okay, I figured more out to this little problem. It turns out that psylink will use a file called main.lnk. However, Windows does not like this file for some weird reason, and it appears as a shortcut. Opening it with any text editor will reveal it's secrets.

Code: Select all

        org     $80010000

text    group                           ; main text group
bss     group   bss                     ; main data group


	section .rdata,text     	; main sections
	section .text,text
	section .data,text
	section .sdata,text
	section .sbss,bss
	section .bss,bss


	inclib  "c:\psx\lib\libapi.lib"
	inclib  "c:\psx\lib\libgpu.lib"
	inclib  "c:\psx\lib\libgte.lib"
	inclib  "c:\psx\lib\libetc.lib"
	inclib  "c:\psx\lib\libcd.lib"
	inclib  "c:\psx\lib\libds.lib"
	inclib  "c:\psx\lib\libpress.lib"
	inclib  "c:\psx\lib\libc.lib"
	inclib  "c:\psx\lib\libspu.lib"
	inclib  "c:\psx\lib\libsnd.lib"
	inclib  "c:\psx\lib\libgs.lib"

; Use libsn.lib for development and None2.lib for child.
	inclib  "c:\psx\lib\libsn.lib"

        include main.obj
        include SCEEcd.obj
        include control.obj
        include timview.obj
        include movie.obj
        include datafile.obj

	regs    pc=__SN_ENTRY_POINT     ; entry point

And that's where my problem was :)

The psyq\psx directory has OLD libs! They are not 4.6!!
Copying PRINTVER.exe from psyq\psx\libs to psyq\libs and checking on a library (such as libsn.lib) will prove this.

Keep the Psy-Q ini/pspaths.bat file the same as it appears here:
Image

I suggest you change yours back Orion_ and edit your *.lnk file, because it means you're using the old libs :?
"Nostalgia isn't a big enough word to describe the PlayStation from my eyes"

Orion_
Verified
Legendary Programmer
Legendary Programmer
Posts: 240
Joined: Aug 13, 2012
I am a: Programmer
PlayStation Model: Net Yaroze
Location: France
Contact:

Post by Orion_ » June 8th, 2013, 8:06 pm

As already said, I am not using psylink, I only use this command
set prog=main
set address=$80100000
ccpsx -Xo%address% %prog%.c -o%prog%.cpe,,%prog%.map

and my sdk is psyq 4.6
Retro game development on Playstation and other consoles http://orionsoft.free.fr/

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests