NBA Jam TE Walrus Edition Hack

Let's hack NBA Jam Tournament Edition 1.01 Public Beta

malenko

Established Member
So if you're on the discord you already know about this, but I'm trying to document the Saturn version of NBA Jam Tournament Edition so that we can edit it like people have done with the SNES and PSX versions. There are a lot of similarities between the PSX version and the Saturn version but a lot of differences as well, especially in file names.

I have already figured out a lot in a short amount of time, thanks mostly to Mattrizzle and eskayelle / Double Z's documentation of the Playstation version.
The major things left to sort out are getting the exact palette for the heads out. I tried saving the VDP2 CRAM and using CRAM2PAL and that spits out what *LOOKS* like the correct palette but its not after editing sprites.
I used this as a base:
1641261799290.png

then made some changes and there were really dark spots and stuff, so I just need to figure out why, or have someone smarter than me help.
1641261881788.png

Those brown dots are a dark blue in the head sprite data.

I used HUGE head mode to magnify the ugly:
1641261102841.png

These are the sprites from the data:
1641261170826.png

They are placeholders as I and C Nguyen cobbled together some money to pay a real artist to make protato sprites, they do however work in game as expected.
He doesn't look too terrible in regular head mode:
1641261393477.png


The other issue is sorting out the audio, both replacing what is in game and figuring out how the game assigns the audio clips to specific players. I played a few games and never heard Tim Kitzrow say a single player's name.

Replacing the portraits involves decompressing the RNC'ed files, editing, re-compressing them, then I pasted the data back in with a hex editor then padded the difference with zeroes. It seems to have worked just fine.
1641261471564.png


Editing the features screen and pretty much all the other text has been figured out as well.
1641261577974.png



This is the work in progress Google Doc:
 

malenko

Established Member
So as a proof of concept I took double Z's PSX hack and pulled the data from Reptile and put it into the Saturn version:
1641848900931.png

1641848920518.png


Which means the tools they developed for the PSX hacks will work for the Saturn hacks as well. Its just the data locations are different along with the file names. Shadowmask was kind enough to insert the "Reptile" sound bye from MKII to replace Larry bird, which is the data I over wrote to put Reptile in the game.

Sonic is pretty much done, just need to change his portrait
1641858297242.png

Huge head FTW!
 
Last edited:

slinga

Established Member
Anyway to make the hidden characters the default ones? That sounds more fun than having to punch in codes to unlock them.
 
It's really cool to see this come full circle - the work Nick did on interviewing the developers, finding out the Saturn and PSX versions shared a lot of code/assets, and then see it turned around into a brand new hack using tools and knowledge developed for the PSX!
 

malenko

Established Member
Anyway to make the hidden characters the default ones? That sounds more fun than having to punch in codes to unlock them.
Yes, replacing a normal character is basically the same as replacing a hidden one. The only caveat of that is when you replace say, Tony Kukoc with Scorpion, when you play against the Bulls you'll play against Pippen and Scorpion.

It's really cool to see this come full circle - the work Nick did on interviewing the developers, finding out the Saturn and PSX versions shared a lot of code/assets, and then see it turned around into a brand new hack using tools and knowledge developed for the PSX!
The tool used (that I finally used just to generate the palette of Sonic) is actually a tool used for the Super NES called ASAR, primarily for Super Mario World. I did use the script developed for the PSX version of Jam and there are actually 2 scripts that should speed up the process. 1 Script takes the head sprites and generates a palette and bin file (used with CrystalTile and the like) and another that makes the portrait file.

While the documentation of the PSX version has been extremely helpful, you can't just use the PSX guide and edit the Saturn version. I've learned a ton from @Knight0fDragon and applied that to figuring this stuff out, and also bugging the shit out of him for new stuff as well. Dude is a fucking rock star.

Again , my goal for this isn't just to release a hack, but to provide the information and tools so that anyone can.
 

malenko

Established Member
So I took the time to break down the entire Names.bin file and it helped me figure out how the game knew what name to say.
Before the name of the player there is a string of 4 values. FF FF FF FF means the player gets no name called (literally only Brooks Thompson has this value as a regular Character, and only Crunch as a hidden character) the rest line up before the players first name to tell Kitzrow what voice to yell out.

Ironically(?) enough Kitzrow has a player data entry, and a voice call out but no head or portrait.



I also did my best to document the "0" file
 
Last edited:

malenko

Established Member
I'll look into maybe adding Razor Ramon, he was my favorite in that game.

So I got the head and portrait tool for the PSX version working, but there's a bit of a bug that makes me do extra work.

So I make the head sprite strip 32x wide and 480x tall save it as a 256 color windows bmp named input.bmp (requirement of the tool)
and it goes from this:
1642857870524.png

to this:
1642857909259.png


but in game it looks like this:
1642857931028.png


Well if you save the CRAM, use CRAM2PAL and then open the sprite section in crystal tile then load up the palette (in this case its always the 6th pal) it looks like this: (transparent color changed to pink)
1642857980005.png


So basically I copy the sheet out of crystal tile, into photoshop and swap the pink and the black, then paste it back into crystaltile and it works:

1642858058751.png


Portraits do a similar thing, with the same fix, but its a little more of a pain because you have to RNC compress the portrait , but Scorpion is 100% in the game and playable:
1642858123467.png
 

malenko

Established Member
Public release soon (still waiting on the Stadler Sprites) but just so no one has to ask, and I wont forget the codes for the hidden players are as follows:

Craig Stadler : CRS June 2nd (replaced Crunch)
Sub Zero : SUB Dec 5 (replaced Hillary Clinton)
Reptile : RPT Nov 11 (replaced Larry Bird)
Scorpion : SCO July 6 (replaced Blaze)
Sonic : SNC Jan 1 (replaced Hugo Hornet)

These codes match the arcade codes, Stadler's is his actual initials and birthday. Sonic's might get changed.
YOU MUST HOLD L&R WHEN ENTERING INITIALS

EDIT:
Finally got around to making and adding the SHIRO! , Sega Lord X, and PandaMonium ads to the scorers tables
1642989246051.png
 
Last edited:
Its available for download!


View attachment 7235

View attachment 7234
So I downloaded the Walrus NBA Jam .ssp file, patched it to a copy of NBA Jam tournament edition for the Sega Saturn (it said success), loaded the .cue newly created patch file, and entered the initials of SNC Jan 1. "No record found". I entered the code for Hugo Hornet and Secret Player was found (so I know I'm entering codes correctly), and I could play as the Hornet.

Can someone confirm this file is working, or let me know what I may be doing wrong? Thanks
 

malenko

Established Member
There may have been an issue with the SSP patch, I was pretty crummy at making them. If Hugo loaded then the patch didnt work. I'll try to get a new version up tonight for ya.
 

malenko

Established Member
a week later......

I started changing things and figured I'd finish those changes before uploading a new version. Sorry about the wait, shouldn't be much longer.
 
Nice work  malenko!
Can you create a hack more "vanilla", that just adds Michael Jordan and Gary Payton? There are exclusive NBA Jam Arcade cabinets that were made for these players that couldn't appear because of licensing agreements with Nike, etc.

Read the article:

If you need stats to balance the players, take a look in these website links:

Michael Jordan vs Gary Payton

Michael Jordan (Bulls)

Gary Payton (Supersonics)

They could be added as secret characters or maybe replace lesser known characters like Harper from Bulls for Michael Jordan.

Here there's a list of all players from NBA Jam (Some different characters were available between consoles):


PS: I think MJ is already available in the PSX Hack of NBA Jam TE.
Edit: ohh it seems Saturn already has Payton.

Congrats and keep it up!
 
Last edited:

malenko

Established Member
garfield has his place in nbajam TE
You just need to get me the required heads, I'd love to put him in Jam.

PS: I think MJ is already available in the PSX Hack of NBA Jam TE.
I thought about porting the PSX hack, but its a ton of work. I might update a few rosters for this patch, though I really just wanted to update the hidden players as they dont impact regular game play as much.

The only real issue with Jordan on the Bulls is Jordan and Pippen are sort of an OP team.
 
Top