Language…
16 users online: CroNo, DanMario24YT, Dennsen86, Hammerer, Inflagrandy, KaptainAhab,  MarioFanGamer,  MarkAlarm, mikeeeeee83, Nayfal, oliver1, playagmes169,  Segment1Zone2, signature_steve, Sweetdude, TheXander - Guests: 318 - Bots: 390
Users: 64,795 (2,371 active)
Latest user: mathew

Tutorials Forum Revamping!

Link Thread Closed
SMW hacking has come a long way over the years, and our Tutorials forum has been left behind a bit. There's a bunch of great tutorials there, but quite a few outdated ones too.

So, we need your help. We've recently been spending some time going through the forum/the List of Essential Tutorials thread, identifying where we can (with our knowledge) what tutorials are outdated, and what's all good and up to date. But our knowledge inside the staff team is nothing compared to what you guys know. Once we've got a handle on what needs updating, then we will move onto updating and creating new tutorials! Right now, we're not quite there yet.

Below is a big ol' list of every tutorial from the List of Essential Tutorials thread, compiled into a table with its current status and some notes (compiled by Ninja Boy, here's done all the hard work here).

Good - means to the best of our knowledge, this tutorial is up to date and is fine as-is
Outdated - means that this tutorial contains outdated info, and requires updating (see its notes)
Missing - means that this tutorial was at one point planned in the List of Essential Tutorials thread, but was never created
Not Checked - means that this tutorial has not been checked and/or that we are unsure if this requires updating.





So, what we need from you is...

- Have we correctly marked as Good up to date? Do you agree with their status? Or is there further updating required on something we missed?
- The tutorials marked as Missing, is this a tutorial you would like to see? Or is it a tutorial you would be willing to write yourself / contribute to the tutorials forum? We don't need anything writing just yet, but it would be great to know if you're interested in helping in the near future.

And the biggest thing is:

- If you're knowledgeable on this topic, can you help us identify if the tutorials marked as Not Checked need are outdated, or up to date? They're the more specialist, niche topics. If they do require updating, just like the above point: are you interested in helping to update them?


That's what we're asking! We would really appreciate your feedback on this to ensure that the forum is providing you with the best and most up to date SMW hacking knowledge. If you're able to take the time to glance over some tutorials, whether it's just a couple of all of them, and drop us some feedback/notes in a reply to this thread that would be great. Especially if you're super-smart, and understand the complex things like SuperFX and MSU-1!
As for the AMM/AM4 to AMK tutorial, I think it'll still be useful as some people will have a bunch of ports that were originally made with those old Addmusics.

As for the SPC to MIDI tutorial, I think the various tools linked there are toppled by VGMTrans (free free to correct me ASAP). However, NintSPC exclusively has the ability to generate near-perfect MML files from SPCs ripped from games using the N-SPC chip, as the name suggests.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Not sure if this is the place to put it, but I've been working on a very comprehensive level design tutorial for the past few weeks. I'm hoping to having it done within the next month or so. The current level design tutorial is solid, but definitely could use some updating given that it's 7 years old.

As the author of the kaizo tutorial, I'd say it's a bit on the dated side. I would personally hope that someone comes along and updates it, since kaizo has changed a ton over the past couple years and the tutorial doesn't really address modern kaizo. I'm not sure if I'd 100% mark it as good. It's not terrible, but I think many kaizo people would agree that it could use a serious update. I'm not sure if I'd be the one to do it lol, but maybe someone else has one already. If any kaizo/twitch people know of some already-created modern kaizo tutorials, that'd be helpful to have here to replace this one.

And as the author of the unfinished VLDC tips/tricks tutorial, I have no plans in the future to finish that. Sorry lol.

As far as missing tutorials go, an OW editor tutorial would be great. I'd love for a more advanced OW tutorial, given that I believe most people here know the basics (how to place levels, how to place tiles) but, like myself, are pretty stumped on how to go about advanced things. In addition, something that covers OW design would be nice.
Originally posted by AnasMario130
As for the AMM/AM4 to AMK tutorial, I think it'll still be useful as some people will have a bunch of ports that were originally made with those old Addmusics.


No tutorials will be scrapped just moved to the legacy section and dropped from the list or just removed from the essentials list itself. The tutorial might useful but is it essential?
I can definitely say the ExAnimations Tutorial by MolSno is Good
Just a heads up about Wakana's big music tutorial, listed as "midi to mml conversion" on your side.

It says 'not checked". I don't consider myself expert enough to review it entirely, but I believe we've talked numerous times on the music discord, that it was a bit oddly-crafted, and some features of addmusic were missing.

Actually this tut has done pretty good on me since I've started porting last october, but I indeed feel it could go deeper in the offered info.

I think the part that's most widely reviewed as weird is the ADSR part, that's explained using sonic examples and no visuals, which seem to be preferred.

I'm personally waiting for the Lunar Magic editor, Overworld Editor, Layer 3 bypass and some more lvele design tips.

I also believe it would be great to roll with a tutorial that explains in detail sprite memory, sprite motion, screen scrolling and such, with the goal of letting everyone experiment proper sprite spawning. I know doing trial-and-error on this topic is sometimes hard, especially in vertical levels.

Good luck!
Quote
The one hosted on the site is slightly outdated with a newer rev hosted on Gitbook

I'd like to mention that the Gitbook version is *pretty much* complete, but it still misses a few bits and pieces from the document version of my ASM tutorial. I intended to work on it this week, but time isn't on my side it seems.

Definitely intending to finish up the Gitbook version around mid-fall to begin-winter, though. But for now, my document can stay there as it's still useable. Maybe one day I'll update it with a txt file linking to the Gitbook version or something #ab{>_>} once I think the Gitbook version is ready enough

@ my other tutorial with SMW being the focus: if it's determined to be not usable enough, let me know and I'll gladly update it. I don't intend to put that in Gitbook, though, as you're basically supposed to read the tutorial from top to bottom.
My blog. I could post stuff now and then

My Assembly for the SNES tutorial (it's actually finished now!)
Kaijyuu's HDMA tutorial does explains HDMA on brightness, fixed colour, background scroll offsets but it also glosses over certain other points (most notably windowing which is explained in a confusing manner). It also doesn't effect and how IRQ can mess up the timing.

Relatedly, Windowing/Mask Registers can be put in the same tutorial or alternatively, put in a colour maths tutorial as there are some advanced effects which you can create with colour maths and windowing.

Super FX tutorial is basic but it certainly serves an introduction to someone new to GSU programming.
Edit: It doesn't really go too in-depth, though.

The ExAnimation tutorial is fine as it is. In fact, it's generally a good idea to introduce to palette animations first and then go to tiles due to the former's simplicity.
It is missing triggers, though, and those should be added soon.

Custom Objects should get an update.
Edit: I forgot to specify the reason: The idea is that the current tutorial is about ObjecTool 0.4 but the current version, ObjecTool 0.5, has added a couple more objects. It is still a good tutorial for existing routines, though.


I certainly would have created some tutorial a but I don't want to have a monopol for every important tutorial. This is the primary reason why I don't want to write an UberASM tutorial even though I have the knowledge and can explain it very well.
I could give the graphics ripping tutorial a go-over. I mostly just need to re-educate myself on bitmap-pasting, and compare against using the other options. Honestly I think there's room for all the tools, I still think that the online ripper's palette rearrangement feature is super useful compared to YY-CHR/8x8/etc color remapping.

I also might take a look at the YY-CHR one, since honestly the functionality is still mostly the same, so it probably doesn't need -too much- of a do-over.
The SPC ASM tutorial file (why is it a file, not a thread?) contains some errors, despite being listed as good:
  • BRK sets the Break flag and pushes PC and PSW and jumps to [$FFDE] (the pushing happens before the Break flag gets set; spcplay will actually push PSW after it has already set the Break flag, which is erroneous)
  • DIV does not store the result in YA and the remainder in X; it stores the result in A and the remainder in Y.
  • Nitpicking, but XCN doesn't do A = (A>>4) | (A<<4), it does A = ((A>>4) | (A<<4)) & 0xFF. I know, I know, but still.
  • DAA and DAS are not explained properly. Yes they are strange, but they deserve explaining, for they are part of the normal instruction set.
    • If DAA is used, A += 0x60 if the high nybble is A-F or the Carry flag is set, and A += 0x6 if the low nybble is A-F or the Half-Carry flag is set.
    • If DAS is used, the same as DAA will happen, except -= instead of +=.
  • TCALL is not used with a hex parameter, but with a number parameter 0-15.
  • TSET and TCLR set the Negative and Zero flags with A - (!a).
  • The example engine code provided uses "org 0" which is dangerous, as the zero page is used for variable storage, and page $01 is where the stack lives. For that matter, nowhere does this document explain this. It also says "just trust me, you must do this" without explanation, which is bad enough in its own right for a tutorial, but it says that about setting the Echo Start Address to $01, which, again, is where the stack lives. Yikes.


In looking over the SPC Hijacking tutorial, I would like to address that it's really bizarre to me to recommend people to learn 65816 before they even think of tackling SPC700. You got a lot more stuff to learn, not to mention more complex stuff, if you start with 65816 right away, which is fine, but I just want to point out that it's weird to have people shy away from SPC700 like that. Usefulness going forward is a completely separate argument.

The SPC Hijacking tutorial is from 2011. It contains old, dead links to Romhacking.net documents. It contains info regarding Sample Tool and Romi's Addmusic, and I quote, "AddmusicM is the future". Old. As such, the N-SPC ARAM Map is outdated too. With some time I can definitely rewrite the latter, but someone more well-versed in / comfortable with 65816 would have to cover AMK's hijacks.

Some other stuff of note about the SPC Hijacking tutorial:
  • It mentions using spcas as assembler, while we have Asar nowadays.
  • While much less complete on that front, this thread explains some stuff that the SPC ASM tutorial explains, but better. It is also a thread instead of a file, and it's much less verbose, making for easier learning. It also covers the SNES->SPC side of things instead of purely the SPC->SNES side. I suggest some form of merge of the two.
  • It says "coming soon" at the bottom.
This tutorial is not listed, and is in "Old Tutorials", Can you give me a reason, and if it's valid, please add into the list above?
Originally posted by Hamtaro126
This tutorial is not listed, and is in "Old Tutorials", Can you give me a reason, and if it's valid, please add into the list above?

It's not an essential tutorial at all (and it's as single-handed as it can get), so what relevance does it have, though?
Windowless ride, feeling alive
Are you alive or just breathing?
Ohhhhhhh ok!!! I feel so dumb now, Thanks for your time!!!
I'm surprised you think my blocks tutorial is good! I'm a bit embarrassed of the Power Instinct reference I added for the memes, but I guess it adds flavour.

The Windowing tutorial is kind of pretty bad. It just describes the registers using copypasted words from Anomie's regs.txt and then some basic example codes with barebones comments. I feel like it and DMA/HDMA could be bundled together as a lot of indepth windowing usage comes from using HDMA to manipulate it. Probably have some step by step guides showing how to recreate RPG spell effects to help get hackers accustomed to messing around with HDMA to power their windows, like Magus' spells from Chrono, the triangle one is basically complex windowing made to give the illusion of 3D.

The Mode 7 tutorial could also be extended into a general alternate background modes tutorial. Mode 0 and 7 are the big ones, but having some tutorials on Hi-Res mode, offset per tile, interlacing...

Some translations into other languages would also be supremely beneficial to hackers. Portuguese ones especially, due to the amount of Brazilians in the community, but also Korean, Japanese, Chinese, German, French, Spanish... While this is an English speaking site, we have to remember that not everyone speaks and reads English fluently and accessibility is important.

I would gladly help on the UberASM tutorial but I don't really know where to start considering you can do almost anything with it.

Originally posted by MarioFanGamer
I certainly would have created some tutorial a but I don't want to have a monopol for every important tutorial. This is the primary reason why I don't want to write an UberASM tutorial even though I have the knowledge and can explain it very well.

You should really do it anyway. Not having a tutorial just makes it less accessible for new hackers. Who cares about monopolies, this isn't business, it's not unethical.
HackPortsASM"Uploader"

Originally posted by lion
I'm surprised you think my blocks tutorial is good! I'm a bit embarrassed of the Power Instinct reference I added for the memes, but I guess it adds flavour.

Personally, it needs some updates, particularily about the offsets as their explainations are incorrect (and presumably can be shown best with an image) and some other parts are glossed over.

Originally posted by lion
Originally posted by MarioFanGamer
I certainly would have created some tutorial a but I don't want to have a monopol for every important tutorial. This is the primary reason why I don't want to write an UberASM tutorial even though I have the knowledge and can explain it very well.

You should really do it anyway. Not having a tutorial just makes it less accessible for new hackers. Who cares about monopolies, this isn't business, it's not unethical.

I know but I want to encourage others to write tutorials also.

By the way, my tutorial isn't finished. I still have yet to create the part about custom bosses to finish part three. In addition, it's still missing other explainations of coding regular sprites and cluster sprites alongside extended sprites are low priority right now (unless you somehow finds cluster sprites more important than important features to regular sprites?).
The MIDI to MML Conversions tutorial could find some work here and there. I wouldn't say it's good, since some parts could be covered better (ADSR to mention one). Theory itself should be up to date, so I don't know if "outdated" would be the right word for it: I mean, this is just one of the many ways you can port a song, and I don't know if there are better/faster/easier methods than going trough the whole midi manually. I'm aware everyone has its own way to tackle ports though.

The How to use .brr for SFX may be outdated, but the method itself still works (I recently helped a friend with it, still works on amk 1.0.6). The SFX MML part could maybe find some work though; plus, after peeking Pinci's new SFX making, I'm not sure if some steps can be skipped or not.

For SPC to Midi tutorial, I vaguely remember using it for making a .mid out of an .spc, though I stopped there, and didn't go forward with the next steps. Not sure, though it should still be a valid method to get midis from spc files.
I'm actually currently working on a tutorial that explains porting + creating samples in one single swoop. I don't know what the rules are on multiple tutorials on the same topic. Wakana's version has every right to exist as far as I'm concerned.
I would like to thank everyone for their feedback and for the time being this thread will be closed however any and all feedback is still appreciated but moving forward if there's any thing else that anyone would like to add please send me a PM with the details.

Once there's some more staff discussion on how to tackle some of these Tutorials we will most likely be approaching individuals who have shown interest in writing or are currently writing Tutorials along with asking for help in writing ones we may not be knowledgeable on.
Link Thread Closed