Hey so I've come across tutorials like this one for using SNES9x Debugger: http://smwc.hostzi.com/SMWiki/wiki/Tutorial_Hacking_a_Routine-2.html
Which makes sense to me, but I'm trying to figure out where things would be located within the ROM in order to create a new patch/alter the game.
As you can see in the tutorial, it is saying about JSL. This is the command which will jump to the new code, using a pointer.
What you are trying to do, is actually ASM. This is why you need the Snes9x debugger, to trace the code. I'm not an Asm person myself, but I've seen experts doing it so often, so I know exactly what's happening.
The first thing is the tracing. Once the game is at a certain spot, you need to trace it and make a log file, which will tell you where the code is being loaded, usually as A9 byte in hex or the initial lda.
You need to replace that with a jsl jump (i.e. pointer to any empty location). This is where you can write a new asm code. Probably the biggest problem of them all, since you will need to know the Ram of the game in detail, as well as learn the opcodes.
Similar to this
lda $19 ;
cmp #$02 ;If Mario is Super
STZ $19 ;set Mario to normal ($00)
lda #$29 ;this is the instruction we removed to put the JSL
You want to skip the title screen and the global map. This is not recommended, since there's to much stuff loading, to be able to skip it just like that, since the levels load individually from the overworld. Plus without selecting a slot first, you will have SRAM issues, for it will not know in which slot to save.
But it is doable, by replacing the command which loads Nintendo presents, by load overworld on slot 1 instead. However only people with Asm skills can do this. It is probably doable without the new code, since you need to jump to overworld early (which is loaded by default after the title screen).