Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - The Tomato Watcher

Pages: [1] 2 3 ... 8
Tech & Research / Amstrad CPC Lemmings Data Observations
« on: July 14, 2022, 10:19:01 PM »
I've recently learned how to watch RAM among other things, and I recently tried to use that to better understand the cursor glitch in CPC Lemmings (a quick video of it in case you aren't sure of what I'm talking about: I found out some interesting stuff, including some things that aren't directly related to the glitch, and I thought I would share these. I'll share more as time goes on. This post is 100% inspired by Gronkling's update in the Genesis Lemmings data topic.

At this point, all observations are of the disk release of the game, not the buggier tape release. Values prefixed with a $ are in hexadecimal.


The data for the current level is loaded into RAM from disk starting from address $2470. I don't know exactly where the level data ends, but as far as I can tell, it's only terrain data from very early on all the way to the end.

$2470: Current level's number, starting from 1 at JUST DIG! and counting up 1 by 1 independent of difficulty rank going up to 60 at the last level.

$2471: Total number of lemmings in the level. Capped at 20 ($14) under normal circumstances.

$2472: Minimum release rate. Values above 99 are slower than 1, similar to other versions.

$2473-$2475: Position of the hatch in the level.
Format... (click to show/hide)

$2476: The time (in minutes) - 1 that you have to beat the level. $00 would correspond to 1 minute, $01 to 2, etc.

$2477-$247E: The number of each skill, in the standard order.


$2480: Save requirement.

$2481-$2483: Position of the exit in the level. Format is identical to the hatch data.

$2484: UNKNOWN

$2485-$24A4: Current level's title in ASCII, starting from the very left side of the screen going to the very right. The SPACE character is used to center the text.

$2485 onwards: Seems to be all terrain data, with each byte corresponding to two adjacent pixels.

Addresses near $0000 in RAM appear to be used as video memory of sorts? I would not know the full details on that. Higher up on the screen corresponds to a lower RAM address. When the cursor glitch is performed, the cursor is forced past the top of the screen and its graphics data underflows to ~$4000 in RAM, which is right in the middle of terrain data. This corrupts the terrain data, and when you move the cursor's ghost image to the very top of the screen, it then affects the other level data sitting above the terrain data in RAM, and now that I know what all is stored right there with the level, the effects of the cursor glitch make a lot more sense. A lot of weird effects are due to data about the lemmings themselves overflowing into other data in RAM, since there are way more in the level than are normally supposed to be there. Speaking of...


The lemmings' data is split into 17-byte chunks (yes, 17!) for each lemming. The data starts at address $F540.

BYTE 1: Lower 5 bits are the lemming's current state. Upper 3 bits used for flags.
States... (click to show/hide)
Flags... (click to show/hide)

BYTE 2: UNKNOWN, set to $FF on every single frame that the lemming exists and never seems to get overwritten.

BYTE 3: X-position relative to the camera

BYTES 4-5: X-position relative to level. Byte 4 is the low byte and byte 5 is the high byte.

BYTE 6: Y-position. A value of above $7F instantly kills the lemming. A value below ~$10 may cause the lemming's graphics to corrupt the terrain data, much like the cursor glitch, but won't kill the lemming.

BYTES 7-8: Cursor offset for lemming lock-on feature. Byte 7 is x and 8 is y.

BYTE 9: Direction. $00 (and all even numbers) means left and $FF (and all odd numbers) means right.

BYTE 10: Builder bricks remaining.

BYTES 11-12: Bomber countdown timer. Byte 11 is set to 13 and decrements every physics cycle, while byte 12 is set to 5. When byte 11 reaches 0, it is immediately reset to 13, while byte 12 is decremented. Byte 12 reflects the number on screen. When byte 12 reaches 0, the lemming becomes an Oh-noer.

BYTE 13: Fall distance counter.

BYTES 14-17: Determine the animation of the lemming.
Details... (click to show/hide)

It looks like some sort of video memory (or perhaps a mirror of it) sits below this data, which explains the mild graphical glitches when you spawn too many lemmings on the disk version, and why some lemmings seem to disappear, as their data gets overwritten by video data. This is speculation on my part, so please correct me if I'm wrong on that.

I don't know if I'm ready for the tape version ;P

NeoLemmix Styles / Re: Style updates topic
« on: June 24, 2022, 12:01:10 AM »
Updating my Lemmings Tribes Medieval style because it appears that I initially screwed up the NXMO for the dragon trap.

General Discussion / Re: Lemmings Forums on Youtube
« on: June 16, 2022, 08:37:37 PM »
I made a quick video explaining why my content has been a bit... sporadic lately. I felt I should share it here, in case any of you were concerned and since it's kinda important to the channel.


R1 (click to show/hide)

R2 (click to show/hide)

R3 (click to show/hide)

General Discussion / Re: Lemmings Forums on Youtube
« on: May 29, 2022, 09:17:29 AM »
I've started uploading oscilloscope deconstructions of some Lemmings tunes, and I plan to upload a bunch more, primarily the FM synth ones (AdLib, Genesis, and maybe some other I'm forgetting), and not just L1. I've seen these done for other games (especially Sonic games) and I wanted to see how Lemmings tunes would fare under this treatment. If that interests you, here's a couple links.

Lemming 1 (AdLib):

Lemming 3 (Genesis):

Patronizingly Happy (AdLib):

I figured this was just about significant enough to post here.

Some more replays! These ones had me stumped for a while. :forehead:

Armani's "Underwater Hijackers" (click to show/hide)

4 more levels solved + a re-solve! I don't smell any backroutes here. :D

Apjjm's "Roiling Clouds" (click to show/hide)

Armani's "Tightrope Planet" (click to show/hide)

DireKrow's "Ancient Lemmarine" (click to show/hide)

@The Tomato Watcher

I think you're on an old version. V3 has been released which automatically breaks your solution! :P

I realized that, but I checked the version numbers on page 1 of this thread and it matched the version I had. But uh... that was pretty dumb and lazy of me... oops. :(

A hodgepodge of replays; a couple of them are most definitely backroutes.

DireKrow's "Infiltration" (click to show/hide)

@Apjjm Perfectly acceptable, and actually decently close to my original solution. :thumbsup:

I'm pretty happy with this level being somewhat open-ended, especially since (so far) it seems that no matter the route, all skills must be used; it's just where they're used that changes. And I think that's pretty cool. ;)

Tech & Research / Re: graphics from the PSP and Vita Lemmings?
« on: April 17, 2022, 09:26:53 PM »
Here's the folder where all the level images are stored in PS3 Lemmings. They are still in their original format because, well, I don't know what I'm doing. If anyone here does know what they're doing or if you think you can figure it out, here you go.

And, even though you can find them online already, here are the PSP Lemmings voice clips (and other SFX too), except these are taken from the PlayStation Mobile release of L1. Why? Because the voice clips, as they are stored in the PlayStation games, are a little messed up, with some very noticeable pops and cracks in a few of them. The PSM Lemmings files are completely clean. Plus, the PSM files are in CD quality, while the PSP clips are stored at half of that. I don't really care about that part, but there are certainly people who do. So here you go. (PS3 Lemmings has no unique voice clips, just a few additional sound effects, which aren't included here because I'm lazy.)

@Armani Second replay is indeed intended. Apparently I didn't test every possible pixel to assign the Builder on. V5 is out and should hopefully enforce all the tricks I want. :evil:

Contests / Re: Level Design Contest #25 - Playing Phase (Update Topic)
« on: April 14, 2022, 12:33:26 PM »

V2 - Terrain changes to prevent a somewhat precise backroute.


V2 - Upper terrain lowered to block a cheeky Platformer. :P

V3 - Terrain nudged around slightly to enforce use of all needed skills, and water cleaned up a bit for aesthetic purposes.

V4 - Starting terrain moved upwards to prevent bashing through it, terrain piece swapped for another, traps added, and a superfluous Climber removed.

V5 - Starting terrain moved upwards a bit more because I didn't test every single pixel. :forehead:

@Armani Still not quite. Your solution misses a few of the things I wanted you to do, and as a whole, it stems from a dumb oversight on my part. :forehead:

V4 is out now. I shifted and swapped some terrain around, and I removed one of the Climbers. My original intended solution used both, but I now realize that from V1, the second Climber is completely unnecessary, and there's no good way to enforce its usage without drastically modifying the level or adding an unnecessarily strict time limit. So it's gone! This was a much less easy fix than V2, let me tell you. :P

Tech & Research / Re: graphics from the PSP and Vita Lemmings?
« on: April 10, 2022, 09:04:38 PM »
Sorry for not putting these here sooner GigaLem! I hadn't seen this topic until literally today, and your comment on an earlier version of my Lemmings Voice Clips video had slipped my mind. I know whatever you were going to use them for has probably long since passed, but maybe you'll still find them useful. I went ahead and extracted all the sound effects from the game, which includes all the normal and mischievous lemming voices. Well, looking at the big container file in Notepad, I think there's like 3 or 4 missing because the program I used is far from perfect, but none of them are voice clips and two of them are reused from PSP Lemmings, so it's not a big deal.

Pages: [1] 2 3 ... 8