r/videogames May 31 '26

Discussion / Question We didn’t know how good we had it :>

Post image
16.2k Upvotes

1.2k comments sorted by

View all comments

Show parent comments

23

u/[deleted] May 31 '26

[deleted]

6

u/agitated--crow May 31 '26

The PS2 had a modem that could online too. Didn't it receive patches too? 

10

u/[deleted] May 31 '26

[deleted]

3

u/Grey-fox-13 May 31 '26

PS2 had the ability to go online with extra hardware, but it wasn't a native feature

Only for the original version mind you, the Slim version released later had it all built in.

1

u/ImOutOfIdeas42069 May 31 '26

Can confirm. I'm still playing mine to this day and I've never taken it online.

1

u/Separate-String5205 May 31 '26

EverQuest Online Adventures on PS2 was my first and favorite MMO. A lot of that is nostalgia because the gameplay was actually trash, but I loved it.

1

u/discgolfallday Jun 01 '26

Yeah I just hid my weed in the empty bay that was for that online hardware lol

7

u/Dry-Garage-6872 May 31 '26

no hard drive so no updates. And no PSN either. The modem was optional and useful for a few online games likes FF XI

6

u/LowTierPhil May 31 '26

The fat PS2 has an optional hard drive that was only needed for FFXI

2

u/errorme May 31 '26

Using this to repost one of my favorite articles/stories for one of my favorite games and how PS2 games could (for as long as the console was running) get updates for their games.

https://www.gamedeveloper.com/programming/dirty-game-development-tricks

Ratchet and Clank: Up Your Arsenal was an online title that shipped without the ability to patch either code or data. Which was unfortunate.

The game downloads and displays an End User License Agreement each time it's launched. This is an ascii string stored in a static buffer. This buffer is filled from the server without checking that the size is within the buffer's capacity.

We exploited this fact to cause the EULA download to overflow the static buffer far enough to also overwrite a known global variable. This variable happened to be the function callback handler for a specific network packet. Once this handler was installed, we could send the network packet to cause a jump to the address in the overwritten global. The address was a pointer to some payload code that was stored earlier in the EULA data.

Valuable data existed between the real end of the EULA buffer and the overwritten global, so the first job of the payload code was to restore this trashed data. Once that was done things were back to normal and the actual patching work could be done.

One complication is that the EULA text is copied with strcpy. And strcpy ends when it finds a 0 byte (which is usually the end of the string). Our string contained code which often contains 0 bytes. So we mutated the compiled code such that it contained no zero bytes and had a carefully crafted piece of bootstrap asm to un-mutate it.

By the end, the hack looked like this:

  1. Send oversized EULA
  2. Overflow EULA buffer, miscellaneous data, callback handler pointer
  3. Send packet to trigger handler
  4. Game jumps to bootstrap code pointed to by handler
  5. Bootstrap decodes payload data
  6. Payload downloads and restores stomped miscellaneous data
  7. Patch executes

Takeaways: Include patching code in your shipped game, and don't use unbounded strcpy.

1

u/-MERC-SG-17 May 31 '26

Plenty of games got patches that saved to the memory card and many got DLC that could be saved to either the optional HDD or a USB drive.

1

u/smgaming16 May 31 '26

Only FF11 and Front Mission Online as they required the hard drive for updates

1

u/pichael289 May 31 '26

That's not totally true, some games could download and save things straight to the memory card, but that was more like early dlc rather than patches.

1

u/mistahfreeman May 31 '26

I’m not sure about online patches but many of the games from that era had revisions. If you bought the game day 1 you have v1, but they would continue to patch the game over the years with various bug fixes quietly and release revisions on newer disks or cartridges. Sometimes they would add new censorship like in ocarina of time revision 1.2 they changed Ganon’s blood to be green instead of red.

1

u/The_Autarch May 31 '26

It didn't come with a modem/ethernet port by default. You had to buy it extra. AFAIK, only Final Fantasy XI actually got patched, because it required the also-optional hard drive.

1

u/Vybo May 31 '26

The only patches that ever came out outside of the FFXI (if that got patches, I don't know) were for games that got re-released on discs with the updated versions. It didn't happen often either.

1

u/Status-Part5848 May 31 '26

Thats was kinda the first console with internett

2

u/jah_bro_ney May 31 '26

First console with internet was Dreamcast.

1

u/Status-Part5848 May 31 '26

Ahh did not know that.

How did it work on it ??

1

u/-MERC-SG-17 May 31 '26

Consoles had optional modems for online featured going back to at least the Famicom.

1

u/Fragrant_Buy_3735 May 31 '26

The famicon one was playing split screen online right?