Author Topic: Interesting find in the Lemmings 3D Saturn level codes.  (Read 2824 times)

0 Members and 1 Guest are viewing this topic.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Interesting find in the Lemmings 3D Saturn level codes.
« on: May 31, 2019, 03:05:33 AM »
Now - a foreword; this is all going on the assumption that the level codes at GameFAQs are accurate. I cannot find another source either confirming or disproving that assumption (though I didn't look super hard). I do notice two codes are an extra character long; these might be typos, or errors in the game.

But there's some interesting messages in the codes, for sure.

First, here's the list of codes, in actual level order (GameFAQs uses alphabetical order, which is slightly wrong here):

Spoiler (click to show/hide)

Of particular interest are:
21, 41, 61: TRISTART TAXSTART MAYSTART - note these are the first levels of Tricky, Taxing and Mayhem respectively (hm, wonder if the unlisted code for level 01 is "FUNSTART"...)
39 and 40: THANKSTO BIERHAUS
46 to 50: CHEAPGAG THINKYOU PROBABLY CANTREAD NEXTONES

51 to 59, these need to be arranged vertically:
TSTDFWTO
HOHOOHHF
EMAWROAT
SETNTETH
ECRWHNSA
AOEAOJON
RDARSORG
EEDDEYTX
XSXSXXXX


Reading this top-to-bottom, left-to-right, and dropping the X's, this reads: "these are some codes that read downwards for those who enjoy that sort of thang" [sic]

Also, code 72 is WHEEEEEE. Not so much of an easter egg in and of itself, but both myself and GigaLem found this highly amusing.

I couldn't find any mention of this anywhere with a quick Google search. Is this known?
My Lemmings projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)

Offline ccexplore

  • Posts: 5311
    • View Profile
Re: Interesting find in the Lemmings 3D Saturn level codes.
« Reply #1 on: May 31, 2019, 04:26:53 AM »
This reminds me of some of the hidden messages found in the Acorn Lemmings/ONML codes (see Crazy 12 to Wild 2 for example, and Wicked 1 to 12).

I think it's easy to miss because even if you are writing down the codes on paper to look up later, as a player you will usually just go look for the most recent code so you can resume playing, rather than carefully reading through a sequence of them.

As for Google, well now that you have this thread created, maybe future Googlers looking for mentions of this will be directed here. ;)

Offline Pooty

  • Posts: 359
    • View Profile
Re: Interesting find in the Lemmings 3D Saturn level codes.
« Reply #2 on: May 31, 2019, 05:12:09 AM »
I've extracted the game data from the Saturn disc, and I found a string of text that matches up with the password list.

Spoiler (click to show/hide)
  • SPACEXXX, EGYPTXXX, ARMYXXXX and MAZEXXXX play the FMVs that play when you beat the Fun, Tricky, Taxing and Mayhem difficulties respectively.
  • KRAUTROK is the level select password.
  • TOECHEEZ and PASSWORD are accepted as passwords, but I don't know if they do anything.
« Last Edit: May 31, 2019, 07:22:22 AM by Pooty »
SEGA Master System version
100% on 110/120 levels (92%). Other levels [Lemmings lost]:
Fun 03 [3], 06 [2], 18 [5]   
Taxing 19 [5], 27 [1], 28 [3]
Tricky 15 [5], 17 [2]
Mayhem 19 [7], 26 [10]

Offline 607

  • Posts: 468
    • View Profile
Re: Interesting find in the Lemmings 3D Saturn level codes.
« Reply #3 on: May 31, 2019, 09:45:29 AM »
Cool. :D

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Interesting find in the Lemmings 3D Saturn level codes.
« Reply #4 on: May 31, 2019, 09:14:06 PM »
So, as I mentioned in Discord - the fact that this lead us to closer examine the passwords in that version, has lead to us discovering a level select code that went unknown for nearly 24 years since the game's release - even when a level select code was known to exist on PS1. Wow. :O

The next question is whether one also exists in the PC version. Unfortunately, not much luck has been had trying to even find where it stores the passwords.

Also, I made a video of the RASPUTIN cheat in the PC version. Although the cheat has been known for a long time, I couldn't find any existing video footage of it, so I made some.
https://www.youtube.com/watch?v=0H95Zou5bXM
« Last Edit: May 31, 2019, 09:30:51 PM by namida »
My Lemmings projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Interesting find in the Lemmings 3D Saturn level codes.
« Reply #5 on: May 31, 2019, 11:02:19 PM »
In the PC version, near where the password is stored in memory (as in, the one you've entered on the password screen), there are 8 bytes that change depending on the password entered. The first byte will always have the same value, if the first character is the same. Likewise, the second byte will have the same value if the second character is the same. But if the first two characters are the same, the first and second byte will be different. Here's the codes for all 27 strings of one character, including empty (from which any combination can be derived, due to the aforementioned rules):

AAAAAAAA : 1E 1F 0F 07 03 11 08 04
BBBBBBBB : 1F 1E 0E 06 02 10 09 05
CCCCCCCC : 1C 1D 0D 05 01 13 0A 06
DDDDDDDD : 1D 1C 0C 04 00 12 0B 07
EEEEEEEE : 1A 1B 0B 03 07 15 0C 00
FFFFFFFF : 1B 1A 0A 02 06 14 0D 01
GGGGGGGG : 18 19 09 01 05 17 0E 02
HHHHHHHH : 19 18 08 00 04 16 0F 03
IIIIIIII : 16 17 07 0F 0B 19 00 0C
JJJJJJJJ : 17 16 06 0E 0A 18 01 0D
KKKKKKKK : 14 15 05 0D 09 1B 02 0E
LLLLLLLL : 15 14 04 0C 08 1A 03 0F
MMMMMMMM : 12 13 03 0B 0F 1D 04 08
NNNNNNNN : 13 12 02 0A 0E 1C 05 09
OOOOOOOO : 10 11 01 09 0D 1F 06 0A
PPPPPPPP : 11 10 00 08 0C 1E 07 0B
QQQQQQQQ : 0E 0F 1F 17 13 01 18 14
RRRRRRRR : 0F 0E 1E 16 12 00 19 15
SSSSSSSS : 0C 0D 1D 15 11 03 1A 16
TTTTTTTT : 0D 0C 1C 14 10 02 1B 17
UUUUUUUU : 0A 0B 1B 13 17 05 1C 10
VVVVVVVV : 0B 0A 1A 12 16 04 1D 11
WWWWWWWW : 08 09 19 11 15 07 1E 12
XXXXXXXX : 09 08 18 10 14 06 1F 13
YYYYYYYY : 06 07 17 1F 1B 09 10 1C
ZZZZZZZZ : 07 06 16 1E 1A 08 11 1D
(empty)  : 01 00 10 18 1C 0E 17 1B


EDIT: Upon further inspection, this is just using A = 0 (and blank = 31), with the final string XOR'd with 1E 1F 0F 07 03 11 08 04.

There are two more nearby bytes that vary with the password entered. One of these has a value of 0x65 for an invalid password, or 0x54 for a valid one. The other varies from (at least as far as I've seen) 00 to 08. This does not appear to be connected to the password being correct - two correct ones resulted in 0x05, while another gave 0x03. 0x05 has also occurred on an invalid password.

In a memory dump, look for the following. In my memory dumps (DOSBox 0.74 debugger build, via "memdumpbin 0:0 128000"), this starts at offset 0x011844.

XX 0B YY 45 6E 74 65 72 20 50 61 73 73 77 6F 72 64 00 WW WW WW WW WW WW WW WW 00 2E 0B ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ

where:
XX - The byte that's 0x65 or 0x54 depending on password validity
YY - The byte that varies from 0x00 to 0x08
WW - The entered password, in uppercase plain ASCII
ZZ - The 8 bytes with the encoded password

Searches in the EXE file or dumped memory for encoded copies of the correct passwords, including via packing it into 5 bits x 8 characters = 5 bytes, has not produced any useful results; nor has memory searches for packed copies of the entered password.

EDIT: Upon further testing, YY may vary even when entering the same password multiple times - so it's quite possible it simply tracks an animation frame.
EDIT AGAIN: YY's function confirmed. It's a byte that counts down to figure out, after hitting enter, how long until the screen should begin fadeout.
« Last Edit: May 31, 2019, 11:56:39 PM by namida »
My Lemmings projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Interesting find in the Lemmings 3D Saturn level codes.
« Reply #6 on: June 01, 2019, 08:45:41 PM »
Seems no one posted, so update - while we never fully cracked how the PC version stores the codes, we did figure out where it stores them. And just from this alone, we were able to confirm that the PC version doesn't have any secret codes - unless they're more of the RASPUTIN variety, where they're typed in during gameplay rather than at the password screen. It's very interesting though, that the PC version goes to all this trouble to hide the passwords (which would've been just 160 extra bytes to leave in plaintext like they are on other versions), while the other two versions store their passwords in plaintext - especially in the case of PS1, where the passwords are the same as PC (except for the addition of 5 secret ones).

We also confirmed no more unknown codes exist on the PS1 version - just the four FMV ones and "LAMPWICK", which have been known for ages.

Pooty did mention the string "assassinated" (but not any of the postview messages associated with RASPUTIN) appears in the ROM of the Saturn version. I just checked the Playstation version, and the same is true there.
My Lemmings projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)