Language…
19 users online: anonimzwx,  Atari2.0, codfish1002, Domokun007,  Donut, Green Jerry, Heitor Porfirio, hhuxy, iamtheratio, Metal-Yoshi94, monkey03297,  nycvega, PMH,  Saphros,  Segment1Zone2, steelrain859, wye, xMANGRAVYx, ZachJamesGames - Guests: 277 - Bots: 367
Users: 64,795 (2,375 active)
Latest user: mathew

Small Insignificant Data

Find anything that's way too small to be it's own thread, or that you might think that everyone knows already? Post it here!

Mario's graphics are dynamic, like a dynamic sprite. This means only one of his tiles are ever seen, or are ever in the gfx file (GFX00). Also, Mario's oam addresses for the two 16x16 tiles never change, the same thing is always stored for mario's sprite to always read from the same spot. A sprite that animates without DMA uses a table to read from two different spots in a gfx file. If you write to mario's tile oam you can change it though. But to change his actual gfx tiles in gfx00 where it's DMA'd too, you'd need to DMA it yourself.

It's up to the mods if small insignificant data includes glitches such as the ability to quintuple grab spring boards.
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
Yeah, I guess most people knew that. (Though the actual discovery of that wasn't done that long ago, actually.)

Anyway, I'll contribute to this topic a bit.
A couple of months ago, I found out about the position of overworld sprite loading data (the tables that make the sprite be loaded on its appropiate position on the overworld).
I found it by sheer chance (just like with cluster sprites), because I was actually searching for a way to fix (not avoid) the bug that occurs on the titlescreen, where a cloud tile shows while the titlescreen is loading.

I found out that the overworld sprite data is in fact loaded only once in the entire game - and that's at titlescreen load-up, much unlike what you'd expect. No trace of this routine being called on the main overworld.
The fact that it is called in the titlescreen also delivers the bug. So I NOP'd the call out back then, and thought I fixed the bug. Turns out I had no OW sprites in my hack anymore. :P

My theory is that, in the beta, Nintendo originally intended to show overworld sprites on the titlescreen too. If I don't remember incorrectly, then the titlescreen's background looked a bit like the overworld back then - it was nothing like the final titlescreen at least. That's the only argument I can give in favour of my theory, though.
--------> Don't follow "Find Roy's Dignity", my hack. Because it's pretty outdated. <--------
I found it by sheer chance (just like with cluster sprites), because I was actually searching for a way to fix (not avoid) the bug that occurs on the titlescreen, where a cloud tile shows while the titlescreen is loading.


You can make sure no sprites are in the top left (or maybe it was bottom) corner on the OW. I think that was a fix. Or something.
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
You can make sure no sprites are in the top left (or maybe it was bottom) corner on the OW. I think that was a fix. Or something.

It's the bottom left, in the Yoshi's Island and lower Donut Plains area.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Originally posted by Fakescaper
I found it by sheer chance (just like with cluster sprites), because I was actually searching for a way to fix (not avoid) the bug that occurs on the titlescreen, where a cloud tile shows while the titlescreen is loading.


You can make sure no sprites are in the top left (or maybe it was bottom) corner on the OW. I think that was a fix. Or something.

He said fix not avoid, that's an avoidance, not a fix.
Here's a picture which shows where not to put overworld sprites. It's also the 'bug' Roy is talking about:



It only happens with the bird, cloud and ghost if I remember correctly.
Bypass Level C7's SP1? Because that's where it's loading from...
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
wat




Anyway, to contribute:


The midway point flag is only cleared when you beat a level. So, if you wanted, you could set the midway point in LM's overworld editor for a level, and the "normal" entrance (from the player's perspective) would be the midway entrance.

The benefit of this? Once you beat the level, you'd use the true normal entrance. With some creativity, you could make a level change after beating it.
Oh, that's nifty Kaijuu, I bet that's how they did the castle in SMW TKO...
In my quest to figure out how to disable the screen-edge walls, I was looking at address $1B96, since those walls are disabled during side-exits, and found something interesting: there is only a single save and load to $1B96! Therefore, that address cannot handle the lack of walls... what does then?

To answer this, I used Snes9x's cheat finder, to interesting results: apparently, $1939-$193D are all set to 01 when in a level with side-exit enabled, but there is not a single save or load to any of those addresses in the entire ROM! (verified with ctrl+f in transhexlation)

This is... interesting, to say the least.


EDIT: Maybe not. Upon using the debugger on a ROM, I found that the save/load to this address are performed from the sprite loading routine. Shocked, I went back to the RAM map and then suddenly realized my mistake: $1938 is 128 bytes long. :P

/me continues searching

EDIT2: Alright, I was sort of wrong... $1B96 actually does control the lack of barriers. The routine at CODE_00E9A1, and the side-exit routine branches to CODE_00E9FB. Mystery solved!
Now with extra girl and extra hacker
SMW's normal cluster sprites don't have those uhhh oam hook things.

What I mean is, this is why you can see torpedo ted's smoke at the top of the screen sometimes and for anyone who has the japanese sprite "Invincibro's" and got it working, the sparkles will also appear at the top of the screen.


for example...


top of screen
_________
bottom of screen (where the bro is spawning sparkles)

if you go to the top of the screen with the invcibro completely offscreen and not visible, you can stlil see the sparkles in the same position but at the top of the screen.
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
To improve on your terminology, those are not cluster sprites but smoke images. (Look up on $17C0.)

Anyway, you can undo this nuisance by making the sprite not spawn these sparkles when it's off-screen.
--------> Don't follow "Find Roy's Dignity", my hack. Because it's pretty outdated. <--------
:D

Why didn't I think of that.

error
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
If you have a song that's huge on ADSR stuff, if you pause right at the start of some ADSR parts of a song you can make it play while the game is paused. The note will stretch and keep playing. I found this using Carol's addmusic listening to Porky's Theme.

error
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
Just noticed that the original smw's positioning of yoshi's house is supposedly meant to be on a hill.
Your layout has been removed.
Whoever submitted $01D6FA and $01D701 to the ROM map - it's really a great discovery you made there. (Changing $01D6F4 to 80 would've worked too, I guess.)

So I investigated those while moderating them, because those hex edits enable you to actually FIX the line-guided sprites from disappearing when they're placed on even X positions. I think you all know what I mean with this: on one X position, they work, and on the other they never show up. Why is this?

Well, ladies and gentlemen, it's because of this one, single, stupid code:

Code
       CODE_01D6F0:        B5 E4         LDA RAM_SpriteXLo,X       
CODE_01D6F2:        29 10         AND.B #$10                
CODE_01D6F4:        D0 11         BNE CODE_01D707           
CODE_01D6F6:        B5 E4         LDA RAM_SpriteXLo,X       
CODE_01D6F8:        38            SEC                       
CODE_01D6F9:        E9 40         SBC.B #$40                
CODE_01D6FB:        95 E4         STA RAM_SpriteXLo,X       
CODE_01D6FD:        BD E0 14      LDA.W RAM_SpriteXHi,X     
CODE_01D700:        E9 01         SBC.B #$01                
CODE_01D702:        9D E0 14      STA.W RAM_SpriteXHi,X     


What does this code do? It's really simple. First, it checks if sprite 65-68 is on an odd or even X position. Odd? Then branch. Even? Run next code.
And what the next code does is... unexplainable. Well, the WHY, not the WHAT.
What this code does is move the sprite $0140 pixels to the left. That virtually makes the sprite off-screen, so it's not a miracle that these line-guided sprites never appear on screen to begin with - they were never meant to be, apparently.

But then we come back at the question: Why? Was it a debug code left in by Nintendo, to test if off-screen codes worked at all? Did they forget to take it out? Or was there some unfixed bug going on with these sprites, when they were activated in the other direction?
It's very well possible we may never know.
--------> Don't follow "Find Roy's Dignity", my hack. Because it's pretty outdated. <--------
  
  
 



I think that might be so that they appear on the left side of the screen when you scroll into the area, so there can be some enemies coming from the left instead of just the right during line-guide sections.


 
 
       

Fluffy video games by me and Raibys!
 
 
   
 
 
They don't seem to go the other direction when you change that, though. They appear, but they don't go right instead of left...unless you do this:

org $01D6F0
db $B5,$E4,$29,$10,$4A,$4A,$4A,$4A,$9D,$7C,$15
db $80,$14,$EA,$EA,$EA,$EA,$EA,$EA,$EA,$EA,$EA,$EA

That way, the sprites start out going right or left depending on their X positions.

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by Azure
I think that might be so that they appear on the left side of the screen when you scroll into the area, so there can be some enemies coming from the left instead of just the right during line-guide sections.


Good point. But this way, I think they're more useful to us hackers than before.

And I didn't see that, imamelia. I guess it's really a feature which they forgot to complete, then.
--------> Don't follow "Find Roy's Dignity", my hack. Because it's pretty outdated. <--------
Hmm, might this code have something to do with the little issue with having sprites 62 and 65 together?
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel