Author Topic: Space Station Silicon Valley Fix Patch  (Read 23990 times)

0 Members and 1 Guest are viewing this topic.

Offline Kerr Avon

  • Hero Member
  • *****
  • Posts: 1529
  • Karma: +153/-3
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #30 on: February 06, 2018, 05:00 PM »
Hi, sorry if this sounds kind of rude, I found this forum by mere chance and saw that someone managed to fix the souvenir glitch, so I downloaded the patch, but.. no matter which version of the patch, rom and patcher I use it never works, the patcher always says error, sometimes saying that it's for a different game, can I possbly get a prepatched rom? if this can't be done it's ok

As Aroenai says, your rom is probably in the wrong Endian format. I've uploaded my folder of N64 patching tools. Download it from https://mega.nz/#!PFklgLxC!dnrfo3Y-jGq9f-OyqtAbsUqsIKbViN61_NFSWiv2jGU , unzip it, and run the program:


tool64.exe

which is in the folder

Tool64_v1.11 - Big and Small Endian Switcher

and open the game rom, then highlight the rom in the program window, and click the left to right arrow, which will make the rom 'Big endian', or the right to left arrow to make it 'Little Endian', whichever you need.

I've also sent you a pm with more information.

Offline ozidual

  • Hero Member
  • *****
  • Posts: 553
  • Karma: +52/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #31 on: October 16, 2018, 09:24 PM »
I learned a week ago that there were two versions of Space Station: Silicon Valley released in the US.  One or two of you may have noticed I updated the main post then to avoid confusion.  Today I finally got ahold of that 2nd version.  It's still very hard to find online (don't worry about that, read further to find out why), but now I have some patches/gameshark codes for when it does.

The patch to add Language Select and the Fat Bear Mountain Fix for NTSC 1.1 is: Here

Gameshark codes (NTSC-U 1.1):
803AD423 0015 (FBM Fix)
80130937 0002 (Language Select)
8013098B 0001 (Language Select)
80130993 0001 (Language Select)
8023F2CE 00xx* (Language Select)

      *01 - Dutch, 02 - English, 03 - French, 04 - German,
        05 - Italian, 06 - Japanese***, 07 - Portuguese, 08 - Spanish

I can confirm that the Expansion Pak fix is on this cart because this NTSC-U 1.1 cart is only 2-bytes different from the PAL cart.  I'd worry that this was a fake, but there's a picture of the cart and board in the zip file with the rom that shows the original cart and the stamp on the back showing it is revision A.  So it makes me think it's legit, but better safe than sorry.

Now's where I need your help.  If you have the ability to dump an N64 cart and you own a copy of Space Station: Silicon Valley, please check the back of that cart.  There should be a stamp that will either be two numbers or two numbers followed by the letter A.  If you have the letter A on there, could you please dump your cart?  Load that rom dump into a hex viewer like HxD (you can google that to find it).  Then compare the first 4 lines to what's below.  The bytes in blue are the checksum.  That will tell you that most of the cart is the same.  The bytes in red will confirm that you definitely have an NTSC-U 1.1 cart.  They're also the only 2 bytes that are different from the PAL cart.  So, if you can't find the 1.1 cart online, you can create one by slightly editing the PAL cart.

80371240 0000000F 80125900 00001449
FC70E272 08FFE7AA 00000000 00000000
53696C69 636F6E20 56616C6C 65792020
20202020 00000000 0000004E 53564501

If you really want to get fancy, check one of the following against your rom:

CRC32:  E32D9E7B
MD5:      F1F1C5E2B895DB63348BC738C0CDC645
SHA1:    C968BBA6A90DB9ECBD957E910684A80726B0497D

You can always PM me if you need help verifying.

EDIT: Fixed the checksum in the bytes above - I used the wrong one (had too many games open at once).
« Last Edit: October 17, 2018, 04:18 AM by ozidual »
Projects: Zelda OoT GCtoN64, Doshin the Giant, SSSV, Sim City 64, Getter Love, Shiren
Flash Carts: EverDrive64 2.5, EverDrive N8, SD2SNES

Offline skaman

  • Full Member
  • ***
  • Posts: 108
  • Karma: +13/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #32 on: October 23, 2018, 08:52 AM »
SSSV (U) (Rev A) confirmed. ;)

Offline ozidual

  • Hero Member
  • *****
  • Posts: 553
  • Karma: +52/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #33 on: October 23, 2018, 06:57 PM »
Thanks for checking that skaman!

Since the NTSC v1.1 is rare right now and it's basically the PAL rom, here's a patch that converts the PAL rom to the NTSC v1.1 rom.  It does not include any of my changes, it just creates a vanilla NTSC v1.1 rom.  Here's the patch

I'll update romhacking later today too.
« Last Edit: October 23, 2018, 07:08 PM by ozidual »
Projects: Zelda OoT GCtoN64, Doshin the Giant, SSSV, Sim City 64, Getter Love, Shiren
Flash Carts: EverDrive64 2.5, EverDrive N8, SD2SNES

Offline skaman

  • Full Member
  • ***
  • Posts: 108
  • Karma: +13/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #34 on: October 24, 2018, 09:03 AM »
These patches are now released on romhacking.  The 19 year anniversary for the Space Station Silicon Valley's release was Saturday (21 October 1998), so I decided to release the patch early.  If anyone finds any issues with the patches I'll update both places.

Almost exactly 20 years after the original release we find and dump the Rev A.

Offline JCreazy

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #35 on: June 10, 2019, 07:32 AM »
Sorry to bring this post back up but I just found out about this patch and am getting an odd result and wondered if it were normal.

After I apply the patch (which says it was successful) I get the language select screen in the game in Project 64. When the actual game starts, there are graphics missing.  For example the ship during the cut scene is gone, and so is the earth.  The original ROM doesn't have this problem.  Was there an error when patching the ROM? Does this only happen on Project 64?  Thank you for any insight you may have.

Offline ozidual

  • Hero Member
  • *****
  • Posts: 553
  • Karma: +52/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #36 on: June 12, 2019, 07:07 AM »
First off, thank you for testing it out and digging into it.  I cannot tell you how much I appreciate each and every person who tests out my patches and tells me about bugs they find.  Those are two separate things that I both really do appreciate.

That said, try it on hardware and see what happens.  I'd offer to do it, but I'm negative sleep tonight to make progress on something finally :)

Here's the deal with PJ64 - it has built-in settings for games to make sure they look good/work properly.  Those settings are tied to the checksum.  Unfortunately, the checksum changes as soon as you hack the game.  There are ways to copy those settings over to the hack and I'll try to post those sometime when I get a chance.  I'll try to test it out too, but I wouldn't hold my breath on that happening soon.

Still - thank you for looking into it, and I will add this to my list of things to check into.
Projects: Zelda OoT GCtoN64, Doshin the Giant, SSSV, Sim City 64, Getter Love, Shiren
Flash Carts: EverDrive64 2.5, EverDrive N8, SD2SNES

Offline JCreazy

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #37 on: June 12, 2019, 07:18 AM »
Thank you for the quick response.  I'm unable to test it on hardware because I have yet to buy an Everdrive.  I was just in the process of getting my files ready and wanted to patch SSSV so I can 100% it. I'm patching the dump that I created from the cartridge in my collection but it shouldn't make a difference because the CRC matched a verified rip from no-intro.

Offline JCreazy

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #38 on: June 19, 2019, 04:49 AM »
Just wanted to follow up. I got my Everdrive in today and the patched ROM looks just fine. Thanks for the patch, now I'll be able to 100% it.

Offline ozidual

  • Hero Member
  • *****
  • Posts: 553
  • Karma: +52/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #39 on: June 20, 2019, 02:54 AM »
Just wanted to follow up. I got my Everdrive in today and the patched ROM looks just fine. Thanks for the patch, now I'll be able to 100% it.

Awesome!  Thank you for confirming that!  Enjoy the ED64!
Projects: Zelda OoT GCtoN64, Doshin the Giant, SSSV, Sim City 64, Getter Love, Shiren
Flash Carts: EverDrive64 2.5, EverDrive N8, SD2SNES

Offline JCreazy

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #40 on: July 04, 2019, 09:59 PM »
I have a kind of off topic but you seem to know how patching N64 games works. Do you know how someone could patch the black cartridge variant of Turok Rage wars to match the fixed gray variant? I looked to see but it doesn't look like anyone has ever made one.

Offline nuu

  • Hero Member
  • *****
  • Posts: 1517
  • Karma: +74/-2
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #41 on: July 04, 2019, 11:53 PM »
I'm not sure what you mean.

You can make an IPS patch with the differences of the two roms (google for an IPS patch maker) if you really need the differences to be in a patch. You of course needs both roms to make it. This has nothing to do with N64 games. You can make an IPS patch with any file.

You can't patch the rom in the cartridge and write back to the cartridge, it's read-only.

Offline JCreazy

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #42 on: July 05, 2019, 03:00 AM »
I dump all my N64 cartridges and play them on my Everdrive.  Sure, I can download the fixed ROM off the internet but I like the idea of playing my exact dumps.  What I was wondering if I can dump a cart of Rage Wars and just patch it so it is still my dump if that makes sense.  Sounds like it is possible to create a patch using the fixed ROM.  I will look into it.  Thank you for the information.

Offline ozidual

  • Hero Member
  • *****
  • Posts: 553
  • Karma: +52/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #43 on: September 27, 2019, 09:20 PM »
For my 500th post, I thought I'd do something different.  Here are some of my notes from working on Space Station Silicon Valley.  These notes are mostly for the NTSC 1.0 ROM since that's what I did a lot of work on.  Since the data is pretty much the same between all the ROMs, a quick search will find the same locations in the other ROMs.  As for RAM, the difference between PAL and NTSC is 0x30 bytes, so you can find these RAM addresses in the PAL ROM just by adding 0x20 - 0x30 to the number.

First up, the in-game Cheat Codes (https://www.gamespot.com/space-station-silicon-valley/cheats/) are stored here:

ROM: 0x7D1170
RAM: 0x803BFAC0

57495A44   495A5745   00000000   5544495A
44555A44   00000000   55445A49   44455A44
00000000   5544495A   44575A44   00000000
5544495A   444C5A44   00000000   5544495A
44525A44   00000000   44555A49   444C5A44
00000000   55495A44   4C5A4455   00000000
49445A49   4455494C   00000000   5A445549
52494C52   00000000   4C525A49   4C5A524C
00000000   44414E49   53494C00   00000000

a new cheat code starts every 0xC bytes.  Here's the key to what each byte means:

DPad   
Down 44
Left     4C
Right  52
Up      55
   
C-Button
Down  53
Left     57
Right   45
Up      4E
   
L   49
R   54
A   41
B   42
Z   5A

I found all of this by watching 0x803F6410, where it keeps track of the last 20 button presses.


Next up, the EEPROM data:

ROM (*.eep save file)
RAM: stored oddly, but the line below is at 0x8023F2A0

The part I worked on is located at 0x100 in the EEPROM file.  Here's an example of what it looks like

00000219 0CF76F7E 00000000 10100300

Right now I can tell you that it is set for French.  The 0x03 located at 0xE (aka 0x10E) tells you that. 

00   gibberish/spanish
01   Dutch
02   English
03   French
04   German
05   Italian
06   Japanese
07   Portuguese
08   Spanish

If a PAL ROM loads up (or one of my patched NTSC ROMs) and 0x10E is 0x14, then the Language Select screen loads up at the beginning.  Make a copy of your save file before testing that since I can't remember if there is a checksum.


The broken Expansion Pak function:

NTSC 1.0 ROM: 0x802B75CC
PAL ROM: 0x802B75EC

The part of this function that is broken in NTSC is:

802B7604: LH V0, 0x0114 (A0)
..
802B7610: SLL T6, V0, 0x2
..
802B761C: ADDU S5, S5, T6
802B7620: LW S5 0xAA10 (S5)

The game loads V0, does some math with it that ends up becoming a pointer called S5 that points to a table of pointers.  This then loads a new pointer into S5.  V0 is usually a smaller number which points inside the table.  Occasionally v0 is 0x7FFF which points into the Expansion Pak instead.  This is OK if there is no Expansion Pak because then it returns 0x00 (and then the function exits).  If there is an Expansion Pak, S5 can load anything from there.  If S5 is not 0x00 or a pointer (e.g. 0x80hhhhhh, 0xA0hhhhhh), then when the game uses it to try to load data, the game will crash.

Here's what the PAL/NTSC 1.1 ROMs did to fix this:

LH V0 0x0114 A0
ADDIU AT, R0, 0x7FFF
..
BNE V0, AT, 0x(3 lines ahead)
SLL T6, V0, 0x2
B 0x(End of Function)
Or V0 R0 R0

The game loads V0, then sets AT=0x7FFF.  It compares V0 and AT, and if V0 does not equal AT (0x7FFF), then the function continues.  If V0 equals AT (0x7FFF), then v0 = 0x00 and the rest of the function is skipped.  I shifted some code around and was able to use this function in my patch.

Originally, I fixed this problem by writing 0x00 to the whole Expansion Pak (if it was installed).  I left this code in the final patch because it's better to initialize all the space available anyway.


Finally, the Fat Bear Mountain Fix:

I spiralled between three different tables before finding the answer.  Looking at my notes, I had stuff mostly in my head as I was trying to track this down, so my notes are very sparse.

The first table is objects that can be interacted with. I think this includes creatures and items.  The best way to find this table is to go to the table of pointers that point to each interactable object.  This is located at 0x80203D1C.  Since the table is rarely full, this is the best place to start.  Each object is 0x270 bytes long, so this is a huge table when you make it one object per line.

The second table is creatures, including the creature you inhabit and dead creatures.  It is located somewhere around 0x801DE80.  Its hard to pinpoint this table because data isn't fixed.  I have multiple dumps of the RAM in Fat Bear Mountain, but each one has the data in different places here, but all in that 0x801DE80 area.  I used this to manually kill off the creatures and boost my health as needed.

The third table has all of the objects in the game (not just in the area you are in).
ROM: 0x7BC970
RAM: 0x803A8520

Each item seems to take up 0xB0 bytes.  This is where the GameShark code points and where I manually edited the FBM trophy to have a hit box.  I did not explore any of these tables in depth.
Projects: Zelda OoT GCtoN64, Doshin the Giant, SSSV, Sim City 64, Getter Love, Shiren
Flash Carts: EverDrive64 2.5, EverDrive N8, SD2SNES

Online rlstine

  • Newbie
  • *
  • Posts: 45
  • Karma: +4/-0
    • View Profile
Re: Space Station Silicon Valley Fix Patch
« Reply #44 on: August 16, 2020, 03:08 AM »
Hey ozidual thanks so much for putting this information together, and for these patches! My ED64 arrived just yesterday and I can't get SSS Valley to work. It boots, but then freezes at the first logo animation (as described in your first post). I'm going to try and patch it with the NTSC 1.0 you linked, but where can I find the NTSC-U FBM/ExpansionPak patch you mentioned?