Language…
9 users online:  AmperSam, Cristian Cardoso, CroNo, Dan2point5, Hayashi Neru, JeepySol, JPhanto, Maw, random_box - Guests: 257 - Bots: 352
Users: 64,795 (2,377 active)
Latest user: mathew

Small Insignificant Data

Is it okay to post "small insignificant data" from other games here, too? Because I found something rather odd in Super Mario All-Stars: There seems to be some graphics for a SMW-style Koopa in the ROM. They're at $3DB000, or x1EB200.

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
No, this is the SMW Data Repository. Posting SMAS stuff here would just confuse people. Post it here instead.
<blm> zsnes users are the flatearthers of emulation
The RAM map has data telling you what Mario's OAM ram addresses are but not how they work so I thought I'd post this thing I've had since forever.

$0310 = X position
$0311 = Y position
$0312 = Tile
$0313 = YXPPCCCT
is for Mario's upper tile

$0314 = X position
$0315 = Y position
$0316 = Tile
$0317 = YXPPCCCT
is for Mario's lower tile.

$0200-$041F is the entire OAM

$0420-$04BF determines the size of the sprite's tile
Bit 0 = Offscreen Flag
Bit 1 = If set, 16x16 Tile
Bit 2 =
Bit 3 =
Bit 4 =
Bit 5 =
Bit 6 =
Bit 7 =
I own a community of TF2 servers!

ASMT - A new revolutionary ASM system, aka 65c816 ASseMbly Thing
SMWCP - SMW Central Presents a Product- tion long name

frog

http://esolangs.org/wiki/MarioLANG
Originally posted by Fakescaper
$0420-$04BF determines the size of the sprite's tile
Bit 0 = Offscreen Flag
Bit 1 = If set, 16x16 Tile
Bit 2 =
Bit 3 =
Bit 4 =
Bit 5 =
Bit 6 =
Bit 7 =

Bits 2 through 7 are "do not use, they'll either have no effect or mess up other tiles nearby". Check $008494 in all.log for details.
<blm> zsnes users are the flatearthers of emulation
This is an interesting thing I discovered that was originally a problem I posted in General Hacking Help. It's actually a good fact for people making layer 2 smash levels, as well as any other non-autoscroll layer 2 levels that Mario can interact with.

If you are in a layer 2 smash room, and a smashing layer 2 object passes close to or over Mario's Y position, he will die if he enters a door leading to a room with moving layer 2 above Mario's X position.

Let's say you're in room 1D0. There is a flat ledge floor you're on, and to your right, there is a visible giant downward spike. Also in sight is a door. Enter that door when you see the spike's solid part cover the ledge you're standing on.

Let's say the destination room is DC. (SMW's default Layer 2 On/off room) Since there is a spiky ceiling above Mario, and he entered while layer 2 in the previous room would have come down on him if he stayed there, Mario dies.

This may be due to the game's positioning trigger, and this effect would be the same as being directly crushed by an incoming layer 2 object. Even though Mario wasn't in immediate danger when exiting the room and entering the new one, the Y position of the first room, and the X position of the new room's layer 2 may have been 'overlapped' in a way that Mario would die if the object crushed him. (contacting Mario's exact position, X and Y)
bbbbbbbbbVVbb
__D_M________ (b=Blank Space, _=Ground, D=Door, M=Mario, VV=Layer 2 spike)

__E______VV__ (_=Ground, E=Exiting, VV=Layer 2 spike on identical Y position)

-------------
VVVVVVVVVVVVV
bbbbbbbbbbbbb
bbbbbbbbbbbbb
_________E___ (-=Solid Surface, b=Blank Space, _=Ground, E=Entering, VV's=Spiked Ceiling on identical X position)

Simple diagram showing how the X and Y positions of the two rooms' layer 2 overlap and kill Mario.

---

So if you plan on making back-to-back Layer 2 levels that in some way harm Mario, make sure that if you can exit while layer 2 is smashing down beside you, that there isn't a layer 2 solid/harmful object above where Mario comes out.
(No current projects, lost them all.....)

DeviantArt Account: http://artsyambassadorart.deviantart.com/


I thought that that was pretty well known already? Assuming you're talking about this.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Is it because Mario's Layer 2 positioning is faulty here?
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Sprite F3 is not quite what we think it is. Lunar Magic says that its Y position controls its speed, but actually, it is supposed to be used only at Y=0. The medium and fast auto-scroll sprites technically just pull garbage values, as seen here:

Code
DATA_05BFFD:                      .db $00,$00,$02,$00

DATA_05C001:                      .db $80,$00,$00,$01

CODE_05C005:        9C 11 14      STZ.W $1411               
CODE_05C008:        AD 40 14      LDA.W $1440               
CODE_05C00B:        0A            ASL                       
CODE_05C00C:        A8            TAY                       
CODE_05C00D:        C2 20         REP #$20                  ; Accum (16 bit) 
CODE_05C00F:        B9 FD BF      LDA.W DATA_05BFFD,Y     

$1440 is --yyyyee, where ee are the extra bits and yyyy is the sprite's Y position in tiles. And since it is multiplied by 2 before being used as an index, then the lowest index you can get with a Y position that is not 0 is 8. An index of 8 skips right past DATA_05BFFD and DATA_05C001 and reads starting at $05C005, which is code, not data. You'll notice SMW never used any other setting besides slow.

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Where does it pul the garbage values from? I mean, does it pull from the code of another sprite, or a block, or even the physics?
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
It's part of the scroll sprite code.

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
imamelia, that's quite an interesting find! Funny how it works well even though it's completely unintentional.
Koopa Kid Layer 1 tile destinations
(by positions of Layer 1 path tiles)

1st assigned tile- 12, 1C
2nd assigned tile- -0.5, -0.5
3rd assigned tile- 18,1D
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Okay, apparently the berry tiles are hardcoded; LM's Map16 hack doesn't do anything to change them, and you can't copy them to anywhere else. Which means the berry routine only loads if the tile has an invisible marker over it or something, which would explain why they don't work correctly in vertical levels.

EDIT: When a level loads, the game places a special "marker" over all instances of the default tiles in the level. The marker is misplaced in vertical levels, and is only removed if the tile under it is a berry(???). The berries themselves actually do nothing whatsoever, like tile 25.

EDIT2: Look at this video. Notice the offset in the berries is five tiles, same as the difference in subscreen heights in a vertical level. That can't be coincidence.

EDIT3: Also, LM doesn't display the Yoshi Eggs correctly; they're flipped in game
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Originally posted by Wiimeiser
Okay, apparently the berry tiles are hardcoded, and you can't copy them to anywhere else.

Do you mean the Acts Like setting does nothing?
If yes, you're right. The darkberry patch will give results similar to what you want, but Acts Like still won't have any effect.
The same bug happens with line guides.

Quote
Which means the berry routine only loads if the tile has an invisible marker over it or something, [...]

EDIT: When a level loads, the game places a special "marker" over all instances of the default tiles in the level. The marker is misplaced in vertical levels, and is only removed if the tile under it is a berry(???). The berries themselves actually do nothing whatsoever, like tile 25.

Nonsense. All RAM, except some 20-byte holes that are too small to contain this, is documented. There is only $7xC800, and it contains only tile numbers. There are no "is this a berry" flags except the tile numbers.

Quote
EDIT2: Look at this video. Notice the offset in the berries is five tiles, same as the difference in subscreen heights in a vertical level. That can't be coincidence.

I fail to see how those bugs are related. Yoshi just uses a crappy code to find the tile numbers.

Quote
EDIT3: Also, LM doesn't display the Yoshi Eggs correctly; they're flipped in game

That, however, is a legitime bug. Send an email to FuSoYa.
<blm> zsnes users are the flatearthers of emulation
My bad. I thought I actually discovered something. Oh well.
And the reason i discovered the thing with the egg was because the berry test level I made had the Switch Palace sprite tileset. I'm surprised it went unnoticed for so long because the egg tiles aren't actually identical.
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Even if it was identical in the clean ROM, it's still a bug. We can edit the graphics until it's not identical.
And yeah, a lot of stuff has been wrong in LM. Here's some more examples:
Originally posted by LM changelog
Version 1.80 September 24, 2010 (10 year Anniversary of Lunar Magic!!)

-updated sprite A5 so it displays in LM the way it does in the game when used in sprite tilesets it was not originally intended for. Thanks goes out to Alcaro for reporting this.
-corrected sprite 7F to use the correct palette in LM. Thanks goes out to imamelia for pointing this out.
-corrected part of sprite 9B to use the correct palette in LM. Thanks goes out to EL santo for finding this.


Version 1.71 April 17, 2010

-updated object 3B and extended objects 49,80,84, and 85 to break up when near or on screen boundaries like the game does. Also removed some junk subobjects from the list for object 3A. Thanks goes out to Alcaro for reporting this.


Version 1.65 October 1, 2009

-updated extended object 46 (midway point bar) to break up on screen boundaries like the game does. Thanks goes out to TRS for noticing this.


Version 1.64 September 24, 2009 (9 year Anniversary of Lunar Magic!)

-adjusted a slope object in LM to emulate a game bug that causes the slope to break up on screen boundaries in some cases. Thanks goes out to Alex99 for noticing this.
-corrected tileset info for Thwomp and Thwimp, reported by Noobish Noobsicle.
-fixed the animation of the wave tile in the overworld editor so it moves in the correct direction. Thanks goes out to Sukasa for finding this.

It's far from unlikely that new errors may be found, even if we don't count this one.
Are you going to send him an email, or should I do it?
<blm> zsnes users are the flatearthers of emulation
I think I'll leave that to you. I don't know exactly how to describe the problem... Not one of my strong points.
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Hmm, interesting. Remember how the Boo Ceiling, Big Boo Boss and sprites carried into the level have the same position in memory, causing one to teleport to the other? Well, this is also true of one of Bowser's Mechakoopas, the one he throws to the right it seems... Zeldara said only the sprites he throws can hit him...

EDIT: Interestingly, with the Big Boo Boss, he still throws both mechakoopas. Strange...
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
http://bin.smwcentral.net/u/5541/Notes.png

Taking a look at this, also, the "safe zone" is Y=4-23, 3 and higher glitches (the balloon) and 24+ causes a different glitch...

EDIT: Happens anywhere past screen 0.5 in vertical levels. Also, judging by the pattern and my glitching it seems the unused RAM isn't unused after all.
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Originally posted by Wiimeiser
http://bin.smwcentral.net/u/5541/Notes.png

Taking a look at this, also, the "safe zone" is Y=4-23, 3 and higher glitches (the balloon) and 24+ causes a different glitch...

EDIT: Happens anywhere past screen 0.5 in vertical levels. Also, judging by the pattern and my glitching it seems the unused RAM isn't unused after all.


Are you saying $13F2 is used? Because I can say with rather high confidence it is unused in SMW. If you want to state otherwise, point to some code or at least make a claim as to what it does.