Pages: « 123456 »
Posted on 06-02-13, 01:44 am (rev. 1 by  Dirbaio on 06-02-13, 01:45 am)
Super Mario
( ͡° ͜ʖ ͡°)

Karma: 9979
Posts: 3356/4456
Since: 06-08-11
Yeah...
It crashes because the OS_Panic() call at loadOverlay() (see LR adress)
It is trying to load overlay 28 (see R10). Overlay 28 is sprite set 1-7, which I assume you've choosen in your level...
And it can't load it because there's another overlay in that address... And there's no way to know which by looking at the registers in the exact moment OS_Panic() is called. I guess it's another sprite set overlay that's being force-loaded by the MvsL code.

Could you get the crash again, then open the RAM viewer by pressing Start (or Select, I don't remember), then go to the address 02085D0C using the arrow keys, then take a pic? (Only top screen is needed)

Thanks!

Also if you're wondering how I get all that info, it's by looking at the NSMB IDB. If the crash is caused by a call to OS_Panic(), LR contains the address that called it. Otherwise it's PC. And then you look that address up, and have a look at what register is what. I maybe should make a tutorial on how to do it.
Posted on 06-02-13, 07:56 am (rev. 2 by RicBent on 06-02-13, 08:30 am)
Mariomaster

Karma: 8528
Posts: 257/1681
Since: 06-09-12
This?


_________________________
GitHub - Kuribo64 - YouTube
Posted on 06-02-13, 03:09 pm (rev. 2 by  Dirbaio on 06-02-13, 03:14 pm)
Super Mario
( ͡° ͜ʖ ͡°)

Karma: 9979
Posts: 3357/4456
Since: 06-08-11
Yup, that's what I thought :|
See the second line. Overlay 22 (0x16) is loaded. And it can't be loaded at the same time than overlay 28. Merp.

I think the used sprite sets in MvsL mode is hardcoded somewhere :|
And it's not in the IDB because it's in another overlay...


EDIT: Put this code in:

repl_02009568:
        cmp r0, #22
        ADDEQ     SP, SP, #0x4C
        LDMEQFD   SP!, {R4-R11,PC}
        MOV R9, #0
        bx lr


What it does is ignore the request to load overlay 22 (Similar to what we did in Coop experiment: Getting 1-1 into multiplayer).
So now the other overlay will load. But it's still a temporary ugly hack. It will disable overlay 22 to be used from anywhere.
Posted on 06-03-13, 02:16 pm (rev. 3 by RicBent on 06-03-13, 02:33 pm)
Mariomaster

Karma: 8528
Posts: 260/1681
Since: 06-09-12
Yea it worked !



But let me explain what happens during the Bowser Jr. Fight: At first the Fight is like in Singleplayer, but Jr. is chasing BOTH players. But when you defeat him Mario says the same thing as in Singleplayer and Mario & Luigi stand still and get diconected it looks like they were waiting for Jr. to jump out of the arena. When you try to walk it is only shown on the other DS. You aren't able to get back to the Level-Select-Screen.

Sine Bowser Jr. chases both players he seems to be programmed for Multiplayer. I'll try the Mega-Goomba today (or tomorrow if I havn't enough time)

EDIT:
Nope: Mega-Goomba isn't working (Maybe another Overlay bug?)
_________________________
GitHub - Kuribo64 - YouTube
Posted on 06-03-13, 03:06 pm
Super Mario
( ͡° ͜ʖ ͡°)

Karma: 9979
Posts: 3364/4456
Since: 06-08-11
Post the crash screen and the ram viewer at the same address than before. We can maybe get it working.

But I think it will be hard, because bosses need the particle effects which are only loaded in their levels, its hardcoded. We'll probably have to fix that.
Posted on 06-03-13, 03:08 pm (rev. 1 by RicBent on 06-03-13, 03:17 pm)
Mariomaster

Karma: 8528
Posts: 261/1681
Since: 06-09-12
It isn't crashing. Its like I posted.

The Players get desynced. And you are no longer able to move. (Only the other player is able to see what you're doing and inversed)
_________________________
GitHub - Kuribo64 - YouTube
Posted on 06-03-13, 03:15 pm
Super Mario
( ͡° ͜ʖ ͡°)

Karma: 9979
Posts: 3365/4456
Since: 06-08-11
Ohhhh, so the boss fight itself works?

Its weird, considering that in single player putting a boss in another level other than its original makes the game crash.

Wtf
Posted on 06-03-13, 03:17 pm
Birdo


Karma: 2754
Posts: 564/2091
Since: 06-26-11
Try activating the boss without the boss activator, which might help with the de-syncing.
Could you also post a video.
Posted on 06-03-13, 03:18 pm (rev. 3 by RicBent on 06-03-13, 03:25 pm)
Mariomaster

Karma: 8528
Posts: 262/1681
Since: 06-09-12
Sorry for posting unclear! I tought you meaned the Jr. fight

Sorry <_<


_________________________
GitHub - Kuribo64 - YouTube
Posted on 06-03-13, 05:57 pm
Super Mario
( ͡° ͜ʖ ͡°)

Karma: 9979
Posts: 3368/4456
Since: 06-08-11
Yay. Now the troublecauser is Overlay 20

So here's the code that forbids both overlay 20 and 22.

repl_02009568:
        cmp r0, #22
        cmpne r0, #20
        ADDEQ     SP, SP, #0x4C
        LDMEQFD   SP!, {R4-R11,PC}
        MOV R9, #0
        bx lr



If it still fails, try putting in the code from Coop experiment: Getting 1-1 into multiplayer:

repl_02009568:
        cmp r0, #22
        cmpne r0, #20
        ADDEQ     SP, SP, #0x4C
        LDMEQFD   SP!, {R4-R11,PC}
        MOV R9, #0
        bx lr

repl_020AF9EC:
        mov R0, #0

repl_020B39C8:
repl_0209C4E0:
repl_02020738:
repl_020AE018:
repl_020AE070:
repl_020AE184:
repl_020AE1B8:
repl_020B39C8:
repl_020B3A80:
repl_020B3C4C:
        bx lr


It may or may not help. We'll see
Posted on 06-03-13, 07:28 pm (rev. 1 by RicBent on 06-03-13, 07:31 pm)
Mariomaster

Karma: 8528
Posts: 263/1681
Since: 06-09-12
Yea Ill try tomorrow

Thanks for the ASM-Code!

I think all the MvsL Stuff becomes slowly realy epic
_________________________
GitHub - Kuribo64 - YouTube
Posted on 06-03-13, 07:36 pm
Super Mario
( ͡° ͜ʖ ͡°)

Karma: 9979
Posts: 3370/4456
Since: 06-08-11
Yup

The cool thing would be to be able to add true coop gameplay to the game. That would mean fixing all the sprites that are broken due to lack of multiplayer support though :|

But yeah, we're on the right track
Posted on 06-03-13, 07:53 pm
Mariomaster

Karma: 8528
Posts: 264/1681
Since: 06-09-12
Maybe I could make a list of all Sprites, wich are working.
(Obvious with all ASM-Hacks of you )
So we could try to get arround many crashes and get the most important sprites to work.
_________________________
GitHub - Kuribo64 - YouTube
Posted on 06-03-13, 10:05 pm
Flurry


Karma: 724
Posts: 189/258
Since: 10-14-11
Once a couple of sprites are working, the next thing that needs to be tested is loading the over-world.

Is that as straight forward as disabling a couple of overlays or is it far more complex?
I'd say it would be far more complex.
Posted on 06-03-13, 10:12 pm
Super Mario
( ͡° ͜ʖ ͡°)

Karma: 9979
Posts: 3371/4456
Since: 06-08-11
I think that will be far more complex. Or maybe not. I have no idea.
I guess it could be tested out. I can make a hack that puts you in the overworld when pressing Select, and try to enter it while from MvsL mode.

But I see nothing but crashes and more crashes coming :|
Posted on 06-03-13, 11:06 pm
☭ coffee and cream


Karma: 10398
Posts: 960/2766
Since: 06-26-11
Not to mention that the overworld stuff was coded after the coop stuff was scrapped. There is likely no multiplayer support at all in there, and it'd all have to be coded from scratch.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 06-04-13, 01:53 pm (rev. 1 by RicBent on 06-04-13, 01:54 pm)
Mariomaster

Karma: 8528
Posts: 265/1681
Since: 06-09-12
The first doesn't work and the game crafhes after the "Ready"-Screen.

The second one crashes the game after selecting "Complete with an other NSMB-Owner"

(RAM-Viewer-Screens?)
_________________________
GitHub - Kuribo64 - YouTube
Posted on 06-04-13, 03:24 pm
Flurry


Karma: 724
Posts: 190/258
Since: 10-14-11
RicBent could you post a video of the working Bowser Jr fight?
Posted on 06-04-13, 03:29 pm (rev. 5 by RicBent on 06-06-13, 02:10 pm)
Mariomaster

Karma: 8528
Posts: 267/1681
Since: 06-09-12
Yea  Shadey! Wait a little bit please

EDIT: When the Overlay 20 isn't loaded all MvsL-Levels will crash! So is there an other way to get the Mega-Goomba to work?

EDIT 2: Found another wiered bug: When you press <Sart> and then <Quit> the game will crash!

EDIT 3:
_________________________
GitHub - Kuribo64 - YouTube
Posted on 06-06-13, 06:33 pm
Super Mario
( ͡° ͜ʖ ͡°)

Karma: 9979
Posts: 3380/4456
Since: 06-08-11
LOL of course it crashes when disabling Overlay 20! It's the overlay for sprite set 16-9, which is the one that contains the VS Battle Starts. The game tries to spawn battle stars and crashes.

So we can't get both battle stars AND bosses to work on MvsL, lol. If you remove all the battle stars, it'll maybe work.

About the crash on exiting, that's pretty obvious too. It's trying to unload some overlays that aren't laoded because we hacked it not to load them :|

With the new IDA Pro DB we can look at the code for all overlays, and I found the code that loads these hardcoded overlays. So now it's easier to remove it and will cause less crashes.

I'll try to put together the code sometime later next week. I'm really busy with finals now :|
Pages: « 123456 »