Metrowerks CodeWarrior for PlayStation, R4 and R5

Downloadable items posted by PSXDEV members are within this forum.
Post Reply
User avatar
pool7
Verified
Curious PSXDEV User
Curious PSXDEV User
Posts: 27
Joined: Jun 27, 2014

Metrowerks CodeWarrior for PlayStation, R4 and R5

Post by pool7 » December 9th, 2017, 1:34 pm

DISCLAIMER: All the information provided below (and above) is for educational and preservation purposes!!!
I will NOT provide assistance with either installation or usage of this!
I am not responsible for anything good or bad that happens to you, your relatives, or your belongs, due to the usage of this.
Use at your own risk.


Mirrors are welcome (my upload speed sucks!); be it web, torrent, usenet, etc

Well, here's a present for the upcoming holidays :)
After some 15 years looking for this, here it is.

CodeWarrior for PlayStation R4 & R5
Exclusive for ASSEMblerGames and PSXDev

Included are:
-Image files of each CD in various formats (just use the one you prefer)
-A scan of each CD
-The corresponding update for each version, as was originally posted in Metrowerk's FTP

Notes:
-R4 includes a Mac-hosted version as well; however this is not the case for R5 (was it a separate disc? or did they drop support?)
-If you want to use this, you'll need to also install the Sony PS1 SDK (Runtime Libraries at least, Technical Reference should be optional).
-R5 includes a new licensing system based on FlexLM which required Devs to request a license.dat file to replace the generic one provided

R5 was the last version released as far as we know

Missing:
-Nothing really missing; these are dumps of the actual CDs :)
-License.dat with valid license key/data (maybe someone can help "bypass"/"fix" this... this link may be of help)

If you download and use it, please let us know your experience!l

Enjoy!

Original:


Mirror:

Code: Select all

CW_PS1_R4_incl_Update.7z
440.669.894 bytes
CRC32: 7BB74436
MD5: 6FBF4F15293E3E2E0D532A05697C5564
SHA-1: 384F33D3DD68B0521F0C910DB75F76771BE6DD77
https://mega.nz/#!XRoTjQbT!UlIyJn4pUSf9lNpT431EOvwUeIdUeiMZzaPKddRoK_g
 
 
 
CW_PS1_R5_incl_Update.7z
314.847.898 bytes
CRC32: 4B2F7960
MD5: 340FE98F05E27650BCDF6E86C55CFD85
SHA-1: 72A2DEB343EF9B5102ACF0DEA466D2B80E2661BE
https://mega.nz/#!2UQl3QjR!OrOiHvckeiVIVwPYs_Pu3aaAqmDEVm3Fm8-e1kVMSVc

User avatar
Administrator
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2689
Joined: Dec 31, 2012
I am a: Shadow
PlayStation Model: H2000/5502

Post by Administrator » December 9th, 2017, 1:52 pm

Wow, thanks pool! I remember we were going to try and get it working based off of the various rips we have laying around, but since finally you've managed to acquire the legitimate disc, that makes everything much easier since it's not one big giant mess of mixed and matched files.

I was working on getting the crack going for it at one stage, but I never managed to finish it off. I think the issue was that the license file used was from R4 and the binaries were copied and pasted from R5. It was one big mess. When we would also try to compile or debug for the PlayStation, it wouldn't work. I'll try to get your R5 direct CD rip cracked however and see if it works, but it means I'll have to reinstall the DECI drivers one again which seems to break the MS-DOS based tools like MESS1, MESS3 and DEBUG.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » March 24th, 2018, 1:48 pm

I was able to install CodeWarrior R4 and getting it to work in both Windows 98 and Windows 2000 with my DTL-H2000 boards. It works differently from the SN tools as it uses the DECI drivers to interface with the boards while SN talks directly to the boards under 9x. SN's WINDEBUG also uses a driver for NT systems but its only compatible with the H2500.

From what I've found so far, CodeWarrior uses a different library format (*.A.LIB and *.O.LIB) and the only CodeWarrior specific libraries I can find are version 4.3 (included in the Programmer's Tool 2.2 CD) which means you'll be limited to that library version until we can find newer ones.

Image
Image

I also tried installing CodeWarrior R5 and you can still use it somewhat but you cannot link your project and debug without a valid license file which means you cannot really do anything with it much. The only differences between R4 and R5 is that the debugger is now integrated into the IDE which now uses an MDI style interface (windows within one big window) and features an additional tool called Sprite Warrior which allows you to dump the contents of VRAM.
You do not have the required permissions to view the files attached to this post.
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

User avatar
pool7
Verified
Curious PSXDEV User
Curious PSXDEV User
Posts: 27
Joined: Jun 27, 2014

Post by pool7 » March 24th, 2018, 3:03 pm

Glad to see someone finally testing/using this! Thank you so much for sharing this!

This should work for the license file:
FEATURE WIN32_PLAYSTATION_MIPS metrowks 1 permanent uncounted 282F5D36CA60 \
HOSTID=ANY

Or you can get the one from the FCN release I shared before.

Here's some CW libs I found for SDK 4.4 and SDK 4.6 (not sure if complete and/or functional):
https://mega.nz/#!BoYSyKDQ!kBHFJfyPB8MH ... sL67xCUz1c

Page 40 of the Targeting PlayStation OS (from CW R5) has instructions to convert the sony libraries to the CW format (not sure if this is evertyhing that's needed to use it/them):
Installing the PlayStation OS Runtime Library

Hope this helps; looking forward to hear back on more experiences using CW for PS1.

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » March 24th, 2018, 4:35 pm

I'll give that license a shot and see if that get CW R5 to work. I was originally going to use a cracked FlexLM dll but perhaps I'll resort to that if the license you provided doesn't work for me.

I checked that download you provided and it does have the A and O files of Runtime Library 4.6 but I'm going to have to convert them to CW format. Do you know where I can find scans of the CW R5 manual?
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

User avatar
pool7
Verified
Curious PSXDEV User
Curious PSXDEV User
Posts: 27
Joined: Jun 27, 2014

Post by pool7 » March 25th, 2018, 4:17 am

All manuals for CW are included in the discs, and should be available as an option during installation.
If you browse the discs, you'll find them in:

Release 4:
CodeWarrior PSX Pro\CodeWarrior Documentation
there's a Quickstart here, and more docs in the subfolders

Release 5:
CodeWarrior for PlayStation\CodeWarrior Documentation\PDF

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » March 27th, 2018, 12:57 am

Well, the key you provided worked wonders and I was able to get R5 working fully. Thanks so much for that!

I was able to convert the Runtime Library 4.6 COFF binaries to LIB format using the PSPro Lib Convert 4.3 example project. MCGUI.A cannot be converted and its even documented by Sony saying you have to download a pre-converted copy of that library from them which you cannot do anymore but MCGUI.A is a pretty minor library for the most part anyway.

Here are some screens of CodeWarrior R5 running on Windows 2000:
Image
Image
Image
Image

R5 also includes more examples including one that tests PC file access through PCDRV. Both R4 and R5 supports PCDRV and it even has function calls that uses SN's syntax in Metrowerks' libraries which is quite nice. It also supports SN's PCDRV protocol so programs that use SN's PCDRV functions and compiled with SN's toolchain will work but SN's pollhost() is not supported and will cause a breakpoint exception but you likely wouldn't have to worry about not being able to use pollhost() as you can still stop a running program anytime and break/trace around your code unlike SN's where the debugger will loose contact with the boards if you don't call pollhost() inside of a long loop (such as a main game loop) and you have to reboot the boards when that happens.

CodeWarrior does not appear to support SN's symbols file format for debugging. You can compile projects using SN's toolchain with it but it does not produce a symbols file by default and you cannot run or debug your project inside the IDE so you'll have to stick with the MIPS compiler that came with CodeWarrior to be able to use it at its fullest.

I will say that I only really recommend PlayStation homebrew developers to use CodeWarrior only if you own a DTL-H2000 development board set as its likely not going to be as convenient to use if you're only running your programs on a emulator. It is also more stable than SN's tools as it talks to the boards through a driver which also allows you to use the boards under NT based operating systems such as Windows NT, 2000 and probably up to XP.
You do not have the required permissions to view the files attached to this post.
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

User avatar
pool7
Verified
Curious PSXDEV User
Curious PSXDEV User
Posts: 27
Joined: Jun 27, 2014

Post by pool7 » March 27th, 2018, 8:47 am

LameGuy64 wrote: March 27th, 2018, 12:57 am Well, the key you provided worked wonders and I was able to get R5 working fully. Thanks so much for that!
Glad it worked, but credits go to FCN as well as windwakr from AssemblerGames
LameGuy64 wrote: March 27th, 2018, 12:57 am I was able to convert the Runtime Library 4.6 COFF binaries to LIB format using the PSPro Lib Convert 4.3 example project. MCGUI.A cannot be converted and its even documented by Sony saying you have to download a pre-converted copy of that library from them which you cannot do anymore but MCGUI.A is a pretty minor library for the most part anyway.
Cool! Hopefully someday some old dev will share a backup of Sony's site for PS1 and PS2 dev stuff :) (I can dream, right?)
LameGuy64 wrote: March 27th, 2018, 12:57 am I will say that I only really recommend PlayStation homebrew developers to use CodeWarrior only if you own a DTL-H2000 development board set as its likely not going to be as convenient to use if you're only running your programs on a emulator. It is also more stable than SN's tools as it talks to the boards through a driver which also allows you to use the boards under NT based operating systems such as Windows NT, 2000 and probably up to XP.
I think it'd be interesting to do some benchmarks:
-compare how long it takes to compile the same app/game under SN vs CW
-compare final exe size under SN vs CW
CW was always praised for its compiler speed and resulting code (in general, not specific to PS1).
I'm not saying you should do this, just throwing the idea out there :)

By the way: thanks for sharing all this info and your screenshots; hopefully it'll get some more people interested in this :)

User avatar
Dedok179
Serious PSXDEV User
Serious PSXDEV User
Posts: 86
Joined: Jun 11, 2015
I am a: Programmer, Beginning reverser
PlayStation Model: SCPH-5502
Discord: Dedok179#2632
Location: Tula,RU

Post by Dedok179 » May 10th, 2019, 5:20 am

How to set it up correctly? Does not see libraries and does not see anything at all.

useretail
What is PSXDEV?
What is PSXDEV?
Posts: 2
Joined: May 23, 2020

Post by useretail » May 23rd, 2020, 1:47 am

pool7 wrote: March 24th, 2018, 3:03 pm Here's some CW libs I found for SDK 4.4 and SDK 4.6 (not sure if complete and/or functional):
https://mega.nz/#!BoYSyKDQ!kBHFJfyPB8MH ... sL67xCUz1c
Can someone re-upload those libs?

User avatar
obmao68
Curious PSXDEV User
Curious PSXDEV User
Posts: 28
Joined: Feb 28, 2021
I am a: Beginner Programmer
Motto: the psx will never die
PlayStation Model: scph 9002

Post by obmao68 » May 6th, 2021, 7:21 pm

Hi I tried to download Metrowerks CodeWarrior, I installed on Win Xp, also I tried but it gives me error in the Lic, I don't know what I have to do to go on, I would like to start programming the PSX, if anyone knows something thanks.
Francis

Shadow wrote: December 9th, 2017, 1:52 pm Wow, thanks pool! I remember we were going to try and get it working based off of the various rips we have laying around, but since finally you've managed to acquire the legitimate disc, that makes everything much easier since it's not one big giant mess of mixed and matched files.

I was working on getting the crack going for it at one stage, but I never managed to finish it off. I think the issue was that the license file used was from R4 and the binaries were copied and pasted from R5. It was one big mess. When we would also try to compile or debug for the PlayStation, it wouldn't work. I'll try to get your R5 direct CD rip cracked however and see if it works, but it means I'll have to reinstall the DECI drivers one again which seems to break the MS-DOS based tools like MESS1, MESS3 and DEBUG.

User avatar
pool7
Verified
Curious PSXDEV User
Curious PSXDEV User
Posts: 27
Joined: Jun 27, 2014

Post by pool7 » May 7th, 2021, 12:56 am

pool7 wrote: March 24th, 2018, 3:03 pm This should work for the license file:
FEATURE WIN32_PLAYSTATION_MIPS metrowks 1 permanent uncounted 282F5D36CA60 \
HOSTID=ANY
Copy and paste the above to a text file, save it as license.dat
I don't remember if CW checks for the license file in a specific location, or if it allows you to choose where you have it... I'll leave that to you to find out (can't check it myself for a while).

useretail
What is PSXDEV?
What is PSXDEV?
Posts: 2
Joined: May 23, 2020

Post by useretail » September 13th, 2022, 1:56 am

pool7
Here's some CW libs I found for SDK 4.4 and SDK 4.6 (not sure if complete and/or functional)
can you re-up them? link is dead

User avatar
gwald
Verified
Net Yaroze Enthusiast
Net Yaroze Enthusiast
Posts: 313
Joined: Sep 18, 2013
I am a: programmer/DBA
PlayStation Model: Net Yaroze
Contact:

Post by gwald » August 20th, 2023, 11:39 am

Just wondering if anyone here knows any old school crackers that has Flex experience?

The R 5 update (5.2) doesn't work... the old key isn't compatible, making this update unusable.

I got in touch with pool7, he wrote:
I was looking a little more into this. FlexLM's license has to have a list of "features" and corresponding serial for each
It seems the 5.2 update added a new such feature for the linker and compiler: Win32_Plugins_MIPS_PlayStation
The other 2 existing features (CodeWarriorIDE and WIN32_PLAYSTATION_MIPS) remain and work, but without adding the new one, it won't compile
Unfortunately I can't get flexgen to create a proper serial (not even for the main features, for which it gives a different serial than the one we have)
I'm happy to paypal a few bucks for it.


Update ----
Thanks to pool7, he got the Code Warrior R5.2 (5.2 is the update from R5) license.dat file (I think it also works with R5)!

The license.dat file should contain:

FEATURE CodeWarriorIDE metrowks 4.0 permanent uncounted D637D7CAC358 \
HOSTID=ANY

FEATURE WIN32_PLAYSTATION_MIPS metrowks 1.000 permanent uncounted \
282F5D36CA60 HOSTID=ANY

FEATURE Win32_Plugins_MIPS_PlayStation metrowks 1 permanent uncounted \
98BDDDF55BBE HOSTID=ANY

User avatar
Cyndanera
What is PSXDEV?
What is PSXDEV?
Posts: 3
Joined: May 19, 2023
I am a: Developer
PlayStation Model: DTL-H2000
Discord: Cyndanera#5617
Contact:

Post by Cyndanera » November 12th, 2023, 7:53 am

Yes thanks to my friend pool7 he was able to patch all the Codewarrior console licenses :)
Development Console: DTL-H2000 with 8MB RAM(WIP)

PlayStation Development PC: Windows 98 SE, AMD Ryzen 3 2200G at 3500MHz, 16GB SDRAM, HHD-1TB

User avatar
New Nova
Active PSXDEV User
Active PSXDEV User
Posts: 69
Joined: Oct 27, 2018
I am a: Collector, developper, artist
Motto: RTFM
PlayStation Model: DTL-H2000
Location: France
Contact:

Post by New Nova » October 29th, 2024, 12:46 am

Hey, I got it somewhat running on Win2000 and the DTL-H2000 ! Unfortunately, I always have problems when I try to compile/run my progs.
If I do a ProC project, it will compile no problem, but at run, it will give me "Machine Exception at 0x80013cf4" on PSComUtil when the graphics function hit (I use the classic hello world, a bit refactored but is working).

I bet it is due to the lib version being 4.3 instead of 4.7.

If I do a ProSN project (same helloworld file), I can compile it, but cannot run it from the IDE. I can run the CPE separately on PSComUtil, but then I can't debug it.

When compiled, since it will use the SN Systems 4.7 libs, I dont have any Machine Exception.

My question is : is it possible to convert the 4.7 libs to work on CodeWarrior R5 with like the converter ? Using the artus psx website, containing a "psyq 4.7 converted" (I used the full version incase I needed it), but the converter tool, even in 4.4, always say that libs aren't valid COFF files.

Is there any way I can make it work on 4.7 or at least without the Machine Exception ?

Thanks !
Development PC : Generic PC, Intel Pentium II 233MHz, 392MB RAM, NVIDIA GeForce4 MX 440 (AGP), Dual-Boot Windows 98 SE (OEM Full) + Windows 2000 Professional SP4 (Retail)
Development Setup : DTL-H2000 board + DTL-H2010 CD-ROM drive + DTL-H2080 Controller Box + DTL-H201A Graphic Artist Board
Retail Unit : SCPH-1002 + XplorerFX + caetla + modchip + activity LED mod

User avatar
nocash
Verified
PSX Aficionado
PSX Aficionado
Posts: 614
Joined: Nov 12, 2012
Contact:

Post by nocash » October 29th, 2024, 7:18 am

That is quite a long post without even telling what opcode is stored at 80013cf4.

User avatar
New Nova
Active PSXDEV User
Active PSXDEV User
Posts: 69
Joined: Oct 27, 2018
I am a: Collector, developper, artist
Motto: RTFM
PlayStation Model: DTL-H2000
Location: France
Contact:

Post by New Nova » October 29th, 2024, 10:11 pm

From CodeWarrior Debugger :

80013CF4: AE220004 sw v0,4(s1)
Development PC : Generic PC, Intel Pentium II 233MHz, 392MB RAM, NVIDIA GeForce4 MX 440 (AGP), Dual-Boot Windows 98 SE (OEM Full) + Windows 2000 Professional SP4 (Retail)
Development Setup : DTL-H2000 board + DTL-H2010 CD-ROM drive + DTL-H2080 Controller Box + DTL-H201A Graphic Artist Board
Retail Unit : SCPH-1002 + XplorerFX + caetla + modchip + activity LED mod

User avatar
Administrator
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2689
Joined: Dec 31, 2012
I am a: Shadow
PlayStation Model: H2000/5502

Post by Administrator » November 9th, 2024, 3:03 am

"sw" is the store word instruction. It writes a 32-bit word from a register into memory, in this case, general purpose register "v0" (which will be the first argument in your C function for example). "4(s1)" is the memory address to store the data. "s1" contains the base address and the 4 is an offset in bytes.

My guess would be that the memory address that it is trying to store the data to is probably invalid hence the exception being triggered. NO$CASH would be able to confirm as he is literally the king of assembly code.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

Post Reply

Who is online

Users browsing this forum: No registered users and 9 guests