Language…
10 users online: Alewx_, Chris75, DasFueller, Eggroll27, figuiDOS, Golden Yoshi,  Lazy, MaxtonChao, Rykon-V73, sholmes - Guests: 186 - Bots: 126
Users: 70,820 (2,365 active)
Latest user: marcus.1791

[Source Code] Super Mario World

Other

Alot of updates this time! I wanted to release something to show that progress is being made again. The entire ram map is defined, along with numerous other cleanups, fixups, etc.. Keep in mind that this is a pre-release. The batch files may contain bugs and such, and there is a lack of documentation. Enjoy guys!

Edit: remember to update your notepad++ syntax.

DOWNLOAD - C conversion POC (link removed)
DOWNLOAD - 8/28/16 PASSWORD IS: beta_only
DOWNLOAD - 7/31/15 Asar Legacy (link removed)
Super Mario World Source Code
As much as that is pretty awesome of a thing I'll have to remove the link for now seeing as it can in fact make a rom file.
Originally posted by ninja boy
As much as that is pretty awesome of a thing I'll have to remove the link for now seeing as it can in fact make a rom file.

I'd hope you made sure to nab the files before removing the link for purposes of study and/or education, no?
I've become very grumpy these last few years, and have been biting my tongue here in SMWC's forums quite a bit. I just want to let you all know that if ever I come off as harsh, I still care about you all. You guys are great.

(Avatar by http://reyleias.tumblr.com/, butchered by me)
Yes I do in fact have a back up of it.
Originally posted by ninja boy
As much as that is pretty awesome of a thing I'll have to remove the link for now seeing as it can in fact make a rom file.

Don't we host all.log which is basically the same thing for another assembler?
all.log isn't compile ready but in a sense yes this would be pretty much the same thing.

though seeing as this is compile ready it falls into the rom category sadly.
Well, one could try to create a rom annotation file format, which contains label names, comments and so on and which specifies if a certain location in the rom is either data or code, and if the latter, what the current processor flags would be. In the end, it would just contain the "layout" of the rom and no byte of it. A program could then be used to recreate an assembly file from a rom image and the annotation.

If anyone is interested, we could try to create such a file format and an corresponding program.

Another problem would be to create such an annoation file from this all.log (or any other). Maybe a custom assembler is needed for this.
Your layout has been removed.
Leaving the legal implications (or lack thereof) aside for a moment, let me just say this is amazing work.

I don't think I'll be giving away top secret info when I say that the staff had also considered starting an SMW disassembly project at one point. It was to be a community effort that would lead up to, well, pretty much exactly this - and you pulled it off single-handedly in three months. Hats off to you.

This deserves a bucket of respect, and a resumption of the whole "are disassemblies allowed" discussion. Don't let the temporary removal discourage you; I'm sure every ASM person on here appreciates what you've done.


 
luckily i got it before it was removed
you should put warnpc's at the end of banks in case people want to use this as a modding base

grea8 job otherwise
Originally posted by Kieran Menor
As I believe I've said in the past, I don't mind links to or even hosting disassemblies.


With that I have returned your link in your first post, feel free to double check that I got the right one and update as needed.
Originally posted by WhiteYoshiEgg
Leaving the legal implications...


I'm worried that we might gunna have a lawsuits against us because since the game are Nintendo's property, the code can also be protected. And because the entire game is made up of codes, this "re-assembly" can be assembled to create the SMW rom easily could be illegal. I hope this is protected by fair use or if there is other limitations in the copyright law.

The reason why I'm not worried when the smwdisc/all.log first came out is because it isn't possible to re-assemble the code to create the rom, thus isn't even a rom (asar throws errors).
Give thanks to RPG hacker for working on Asar.
Originally posted by GreenHammerBro
post


Originally posted by ninja boy
Originally posted by Kieran Menor
As I believe I've said in the past, I don't mind links to or even hosting disassemblies.


Also who seriously cares? Honestly, I doubt even Nintendo would care if they knew that disassemblies for documentation purposes in hacking could be used to build ROMs from scratch, assuming they even knew it existed.
Originally posted by GreenHammerBro
Originally posted by WhiteYoshiEgg
Leaving the legal implications...
post


Looking at it this way, there are many rom sites that nintendo hasn't bothered to file for. Not too long ago they sent one site an infringement warning so they removed all nintendo roms. That was because the site had newer stuff like 3ds roms and wii roms. They don't necessarily bother with roms/src for the old stuff sold on the virtual console.

And to top it off, my source code came from all.log. They basically contain the same "copyrighted" set of instructions. Anyone without a rom can grab all.log and turn it into a rom. Just not as easily as my source...

Next update on the source code should be within a week. I have been working on some experimental macros and whatnot.
Super Mario World Source Code
Anyway, later on if you are done, are you gunna release it to the documents section?
Give thanks to RPG hacker for working on Asar.
Well although this is easier to read than all.log, I actually recommend using all.log if your studying the code because most comments were removed from the source.

The purpose of this wasn't for study but rather to help asm developers. For my hack I wanted to rewrite the game, not just hack it. Having access to all the code gives you more than any utility can. Once I finish cleaning up the banks, I want to put it on github or the like so everyone can start contributing. A lot of code is a lot of work, but with a bunch of people we can turn this into an easily editable base for hackers/programmers.
Super Mario World Source Code
Originally posted by galaxyhaxz
I want to put it on github or the like so everyone can start contributing. A lot of code is a lot of work, but with a bunch of people we can turn this into an easily editable base for hackers/programmers.

Are you gunna a also release it here also?
Give thanks to RPG hacker for working on Asar.
Github is just a tool that allows for easier collaborative work on code like that, galaxy probably didn't plan to 'release' it there, there's barely an audience for it there anyway.
Your layout has been removed.
Originally posted by leod
Github is just a tool that allows for easier collaborative work on code like that, galaxy probably didn't plan to 'release' it there, there's barely an audience for it there anyway.

Kinda reminds me of eitherpad used to support the all.log.
Give thanks to RPG hacker for working on Asar.
I don't want to release it here until it's had more work done. Something like this works better on github anyway, because there is so much code that there will need to be constant updates, commentary, etc...

So I was thinking about converting the code to wla-dx instead. Yes or no? Wla has nice features that suit this better than asar. The only problem is I don't believe wla has arch for spc/super fx like asar does...

EDIT: Or better yet, even though this would be tough, what about converting the game to c? WDC finally sent me the link and I got the wdc tools. They seem pretty good, I can see the future now...

Code
void KillMario()
{
	SpritesLocked=1;
	PlayMusic(MARIO_DIED);
	if(MarioStatus == STATUS_FROZEN)
	{
		MarioStatus++;
	}
	MarioAnim=ANIM_DEATH;
	for(i=0; i<DeathTimer; i++)
	{
		if(i >= 60) break;
	}
	EndLevel(0, DEATH);
	Return;
}

int Lava(int x, int y, PAL *col)
{
	SetPalette(col);
	GenerateTile(x, y);
	if(MarioXPos == x || MarioYPos == Y)
	{
		KillMario();
	}
	Return 0;
}

Super Mario World Source Code
Seems rather pointless if you ask me. Pure ASM will undoubtedly see more use.

What would we do with SMW written in C, by the way? I'm kind of wondering what you have in mind.

Other