Hello I've recently been looking into hacking Sonic 1 for the SMS, in that time I have noticed that there seems to be a lack of information regarding the solidity data such as "how slopes work", "foreground and background layers" and so forth. Kroc Kamen managed to locate the data and the pointers and I've managed to delve a bit deeper into this. Within the hacking guide on Sonic Retro, it says that the level headers have something called the Solidity Pointer or SP. The SP value is an index which determines whic solidity pointer to use, these are located from addresses $03A65 - $03A74 I have listed these as follows: Code (Text): SP Index Address Description ---------------------------------------------------------- 0 $3A75 - $3B2C Green Hill / End Sequence 1 $3B2D - $3BBC Bridge 2 $3BBD - $3C5C Jungle 3 $3C5D - $3D0C Labyrinth 4 $3D0D - $3DC7 Scrap Brain 5 $3DC8 - $3EA7 Sky Base Exterior 6 $3EA8 - $3F27 Special Stage 7 $3F28 - $3F8F Sky Base Interior A few things I noticed were... The pointers suggest that there should only be 187 blocks opposed to 192, seeing as the data for the other blocks would cross over into the Sky Base Exterior tileset. Sky Base Exterior seems to extend to 224 blocks even though there are only 216. So with the pointer data, we can see that in most cases (except for SBZ and Sky Base Exterior), there is a byte for each block that determines what solidity to use. I have therfore listed all of the types that are used in the game, note that there are many unused byte values, which are actually different solidity types that were unsued. Code (Text): ID Description ---------------------------------------------------------- 00 None 01 Slope Steep Bottom Down 02 Slope Steep Top Down 03 Slope Steep Top Up 04 Slope Steep Bottom Up 05 Slope Shallow Top Down 06 Slope Shallow Middle Down 07 Slope Shallow Bottom Down 08 Slope Shallow Bottom Up 09 Slope Shallow Middle Up 0A Slope Shallow Top Up 0B Floor Divot Bottom 0C Slope Smooth Bottom Down 0D Slope Smooth Bottom Up 0E Slope Smooth Top Down 0F Slope Smooth Top Up 10 Floor Pass Through 11 Ski Jump To Right 12 Floor To Shallow Slope Down 13 Shallow Slope Up To Floor 14 Shallow Slope Down To Floor 15 Floor To Shallow Slope Up 16 Solid 17 Floor Divot Top 18 Shallow Slope Up To Ceiling 19 Ceiling To Shallow Slope Down 1A Ceiling Slope Steep Top Up 1B Ceiling Slope Steep Bottom Up 1C Ceiling Slope Steep Bottom Down 1D Ceiling Slope Steep Top Down 1E Ceiling 1F Ceiling Slope Shallow Top Down 20 Ceiling Slope Shallow Middle Down 21 Ceiling Slope Shallow Bottom Down 22 Ceiling Slope Shallow Bottom Up 23 Ceiling Slope Shallow Middle Up 24 Ceiling Slope Shallow Top Up 25 Shallow Slope Down To Ceiling 26 Ceiling To Shallow Slope Up 27 Floor Solid 28-7F **Undocumented** 80 Area Behind Background 81-8F **Undocumented** 90 Floor Behind Background 91-95 **Undocumented** 96 Solid Foreground 97-9D **Undocumented** 9E Ceiling With Semi Transparent Layer 9F-A6 **Undocumented** A7 Floor With Semi Transparent Layer A8 Raised Floor Platform A9-FF **Undocumented** Apologies for the naming convention for some of these, it can get a bit difficult to name each one individually seeing as they are very similar. I have provided an illustration of Green Hill where you can see the values matching the actual blocks. From this you can see that the solidity data determines the type of ground to stand on or behind. But it doesn't determine which tiles have spikes, water slides, springs, bumpers etc. This is still a mystery and I'm unsure where it could be. Anyhow I'm not sure if anyone will appreciate this seeing as there aren't many people hacking Sonic 1 SMS.