The ASL (Alternate Stage Loader) code was created by Dantarion in early 2009. It allows to load more than one stage when hitting the stage icon in the Stage Selection Screen, similarly to how Mushroomy Kingdom loads 2 different stages from the same slot.
The stages need to be renamed with a letter, resulting in names like these: STGFINAL_A.pac, STGFINAL_B.pac...
If the ASL engine doesn't find one of the letter versions of the stage, it will load the one from the disc. This is important, it will not load STGFINAL.pac from the SD card. So, if you're using a rel file to port stages, and the ASL tries to load something that isn't there, it will most likely freeze the game, or load an incomplete stage.
The original ASL thread is
hereThe code allows you to not only select which stages to apply the ASL to, but the button combinations used for each letter, and each stage. So, you can load STGFINAL_A.pac by hitting A+R in a GC controller, while if you don't hit that combo, it will load randomly STGFINAL_A.pac, STGFINAL_B.pac or STGFINAL_C.pac.
This case would mean that 3 stages would be loaded randomly (A, B and C), and only one would have a button combination (A). If you hit A+R, you will always get the A version of the stage.
Well, editing the code isn't hard, the explanations are in the original thread, and there's even some tool over there (made by MagmarFire) called ASL Code generator, you can get it from
here if interested.
My ASL tool doesn't build the code. Well, it does build it, but not in a txt file, but in an already compiled gct file. With it, you can load the code from the gct, customize it to your will, and save the changes back to the gct file. Well, every change is saved when done, but that's not relevant.
This is how the program looks. I'm now proceding to explain how to use it:
First, you need the ASL code already in your gct file. Place the ASL Tool in the same folder where your RSBE01.gct file is, and run it. If you get 'OK' where says 'ASL code', the code has been found. If not, you can add it to your gct with GCT Fusionizer, another tool of mine. Get
this file, rename it to 'code.gct' and use GCT Fusionizer with it. Now your RSBE01.gct file should have an 'OK' in ASL tool. You can also get that file, rename it as RSBE01.gct and edit the code directly there, and fuse it with your original gct file later. It doesn't matter.
Well, now, let's edit something. If you already have your own ASL code, you will be able to see the first stage you have in your code. Well, the 4 first letters of the stage, without STG. So, if the first one is STGFINAL, you will se FINA. The Button combos number is just the number of button combinations you're using for that stage, and you can't edit it manually. That number and the number of lines below in the code are related, so if you want to increase or decrease the number, you need to hit the + and - buttons. If you hit the - button when the button combos is 0, you will remove that stage. Now, if you want to edit the randoms for that stage, just change the number and press enter.
The 'next' button shows the next stage in your code, and their button and random numbers. If you hit the 'add stage' button, a new stage will be added to your code. You will need to change the name after that, it will show up as 'NEW1'. Just edit the name, write the 4 capital letters after STG in the name of the stage, and press the enter key. You will be able to check the change by pressing the second refresh button, or the 'next' one the times you need.
When you have some button combo for a stage, the 'B' button will be enabled. If you click on there, you will get into the second menu (second picture).
You can select which of the combinations for that stage to edit, by changing the number and hitting 'enter', or switching with the 'next' button. Below, you can see all the possible button activators, and in the top-right corner, the letter of the stage to load. They don't need to be A, B, C..., they can be X, T, the ones you prefer. Only the randoms option loads necessarily the letters in order.
Check or uncheck the buttons, change the letter, and hit 'apply'. Go to the next button activator to edit, edit it, and apply. That's all.
I guess this is all. You can edit the hexadecimal values for each combo, and update by clicking 'enter' too.
If you use the program wisely, you should get no errors. It's been only 1 day of work, and has been fun to make. I hope it doesn't need any revision to fix anything.
Enjoy