Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,442,613
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-20-24 03:02 PM
Guest: Register | Login

0 users currently in ROM Hacking | 2 guests

Main - ROM Hacking - My Super Mario Bros 3 Hack - ROM Saves Player(s) Progress *UPDATED v7 9-17-14* New thread | New reply

Pages: 1 2 3 4

Drakon
Posted on 03-04-14 04:06 AM (rev. 2 of 03-04-14 04:08 AM) Link | Quote | ID: 155952


Red Paragoomba
Compromised account. Please contact staff for a password reset.
Level: 18

Posts: 57/62
EXP: 29845
Next: 52

Since: 01-26-14
From: Toronto Canada

Last post: 3698 days
Last view: 3381 days
Aaaaaanyway. I've been messing around with this patch. I fixed the n-card glitch. The n-card glitch made it so if you loaded a game it would load one n-card for every 80,000 points you have which was really annoying (imagine loading a game and having 5-6 n-cards appear in a row). I made it stop resetting the sram values that keep track of if it's time for another n-card. I further hacked the game to actually remember where you are in the n-card and reset it appropriately. This took a lot of figuring out the n-card engine. I had to change the code so when you finish a n-card it resets the values immediately. The original code only reset the n-card when you started the next n-card but in terms of saving and loading that wouldn't work.

I'll be playtesting this. If it works then this new version will store everything n-card related in the sram so it's like you never stopped playing.

____________________
http://16bitgamer.forumotion.ca/

infidelity
Posted on 03-04-14 01:02 PM Link | Quote | ID: 155954


Fuzz Ball
Level: 66

Posts: 513/968
EXP: 2366937
Next: 94914

Since: 05-24-07

Last post: 953 days
Last view: 808 days
Excellent work! Yeah that n-card was annoying.

locolol
Posted on 03-04-14 01:03 PM Link | Quote | ID: 155955


Micro-Goomba
Level: 9

Posts: 7/11
EXP: 2697
Next: 465

Since: 05-02-09

Last post: 578 days
Last view: 470 days
Awesome work guys you are very talented , you should both compare notes & stuff to make this hack even better!

Drakon
Posted on 03-04-14 04:23 PM (rev. 9 of 03-04-14 07:06 PM) Link | Quote | ID: 155956


Red Paragoomba
Compromised account. Please contact staff for a password reset.
Level: 18

Posts: 58/62
EXP: 29845
Next: 52

Since: 01-26-14
From: Toronto Canada

Last post: 3698 days
Last view: 3381 days
Posted by infidelity
Excellent work! Yeah that n-card was annoying.


Fixing the n-card bug wasn't so bad. The game was overwriting 7969 and 796A when starting. These values are needed to determine if it's time for another n-card. All I did was make it so it no longer resets these values on startup therefore keeping them stored in sram. I made sure too that the erase data function resets them properly.

I've taken it even further. Now it saves the n-card data so when you load it even remembers how much of it was done. Here's the n-card info:

7E82-7E93 = card data for each slot. the first digit of the hex value represents if the card is covered or flipped "0" is covered "8" is flipped. The second digit is the actual card number. For example "02" is a covered star card and "82" is a star card that has been flipped over.

0741 is set to 00 when the n-card should be reset. The original programming only would reset the n-card after the next n-card is loaded. What I did to avoid having to back this value up in sram is I just jumped to the n-card reset function as soon as the n-card is completed.

0740 = how many card combos have been found. There's 9 possible card combos to get. Once this value hits 09 you've completed the n-card and it resets itself. Unfortunately this I did have to back up to sram otherwise it won't exit when you complete the full n-card because it won't know if you've found all the cards or not without this information. Currently I have this value backed up to 7E81 which is 00 data just before the n-card data. If this sram address is used by anything please let me know.

An easy way to get n-cards to pop up over and over is just set a cheat to address 0715 to 01 which sets a nice high score making n-cards spawn over and over with a new game

Posted by locolol
Awesome work guys you are very talented , you should both compare notes & stuff to make this hack even better!


That's pretty much what we're doing here.

*edit*

Found a flaw. If I flip over one n-card card and reset it's saved the one that was flipped and it becomes impossible to solve the n-card. This n-card thing is a bit annoying. Another possibility is you can just kill the n-card popup completely. Changing 16C5F to 00 disables n-cards popping up. If you disable the n-card then that big chunk of ram the n-cards use can now be used for other things you want to save.

____________________
http://16bitgamer.forumotion.ca/

MiniCompute
Posted on 03-04-14 07:20 PM Link | Quote | ID: 155958


Bubble
Level: 66

Posts: 517/981
EXP: 2420325
Next: 41526

Since: 04-25-07

Last post: 483 days
Last view: 692 days
You ever thought about applying with Nintendo or some other game maker ?
To me it seems like you have enough proogramming knowledge to work or assist with any game maker.

https://nintendo.taleo.net/careersection/10000/jobsearch.ftl?lang=en

Just something for you to think about, not forcing you or anything like that.
Infidel, Dahk and possibly insectduel, would have enough skill and talent to wor for a game maker.
I llke to see one of you apply with a game maker and take your hacks you worked on for so long and see what happens. >


Drakon
Posted on 03-04-14 09:41 PM (rev. 3 of 03-04-14 09:43 PM) Link | Quote | ID: 155962


Red Paragoomba
Compromised account. Please contact staff for a password reset.
Level: 18

Posts: 59/62
EXP: 29845
Next: 52

Since: 01-26-14
From: Toronto Canada

Last post: 3698 days
Last view: 3381 days
Posted by MikeTechno
You ever thought about applying with Nintendo or some other game maker ?
To me it seems like you have enough proogramming knowledge to work or assist with any game maker.

https://nintendo.taleo.net/careersection/10000/jobsearch.ftl?lang=en

Just something for you to think about, not forcing you or anything like that.
Infidel, Dahk and possibly insectduel, would have enough skill and talent to wor for a game maker.
I llke to see one of you apply with a game maker and take your hacks you worked on for so long and see what happens. >




That's really nice of you to say.

Anyway I managed to fix the n-card and make it fully saving compatible. I picked apart the n-card engine and made it so it only updates both cards when you find a match that way if you reset and load with only one card opened it doesn't store that card as being opened since now it updates both cards at once.

Now the n-card data is backed up when you save even if you're in the middle of playing a n-card and nothing bugs out no matter when you save.

I'll still need word if that sram address I used (7E81) is used for anything else, I'm playing through the game currently to see if anything is off.

____________________
http://16bitgamer.forumotion.ca/

ShaneM
Posted on 03-04-14 09:43 PM (rev. 2 of 03-04-14 09:46 PM) Link | Quote | ID: 155963


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 43/285
EXP: 293246
Next: 14864

Since: 02-17-14

Last post: 3131 days
Last view: 2647 days
Posted by Drakon


That's really nice of you to say.

Anyway I managed to fix the n-card and make it fully saving compatible. I picked apart the n-card engine and made it so it only updates both cards when you find a match that way if you reset and load with only one card opened it doesn't store that card as being opened since now it updates both cards at once.


Will you at least be releasing the notes on what you did?

____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

Drakon
Posted on 03-04-14 09:48 PM (rev. 6 of 03-04-14 09:52 PM) Link | Quote | ID: 155964


Red Paragoomba
Compromised account. Please contact staff for a password reset.
Level: 18

Posts: 60/62
EXP: 29845
Next: 52

Since: 01-26-14
From: Toronto Canada

Last post: 3698 days
Last view: 3381 days
Posted by shanem
Posted by Drakon


That's really nice of you to say.

Anyway I managed to fix the n-card and make it fully saving compatible. I picked apart the n-card engine and made it so it only updates both cards when you find a match that way if you reset and load with only one card opened it doesn't store that card as being opened since now it updates both cards at once.


Will you at least be releasing the notes on what you did?


They're a major mess. I'll give you the coles notes of the important n-card ram locations:

0428 = n-card cursor position
0429 = temporary n-card position holder (the position of the first card you opened)
000B = temporary card value (holds the value of the first card you opened in an attempt)

16C5F = n-card load value (set to 00 to make n-cards no longer appear). Set to other values to make other secret items appear when you're supposed to get a n-card such as a coin ship, white mushroom house etc.

set a cheat of storing 01 to 0715 to make n-cards appear after beating a stage or mushroom house for easy testing

memory addresses that hold data the n-card uses to calculate if it's time for another n-card. the values here are the defaults of starting a new game with no score
$7969 = 1F
$796A = 40

0741 = determines if n-card should reset or continue (00 = reset 01 = keep whatever there is)
0740 = how many n-card combos are solved (I reprogrammed the game to store this data at 7E81 so it saves in sram)

7E82-7E93 = n-card data, the data of what the cards contain. remember the first digit determines if the card is covered or flipped, 0x means covered 8x means flipped. x = whatever the card is (0 is mushroom, 1 is flower etc etc). This memory range is already in sram.

____________________
http://16bitgamer.forumotion.ca/

ShaneM
Posted on 03-04-14 09:52 PM (rev. 2 of 03-04-14 09:54 PM) Link | Quote | ID: 155965


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 44/285
EXP: 293246
Next: 14864

Since: 02-17-14

Last post: 3131 days
Last view: 2647 days
@Drakon

Thanks! If you need any of my hacking notes for any of my games, PM me and I'll be glad to assist you!

EDIT: Any game except the Pokemon ones. Since I don't want people hacking those.

____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

Drakon
Posted on 03-04-14 10:20 PM (rev. 3 of 03-04-14 10:21 PM) Link | Quote | ID: 155966


Red Paragoomba
Compromised account. Please contact staff for a password reset.
Level: 18

Posts: 61/62
EXP: 29845
Next: 52

Since: 01-26-14
From: Toronto Canada

Last post: 3698 days
Last view: 3381 days
Posted by shanem
@Drakon

Thanks! If you need any of my hacking notes for any of my games, PM me and I'll be glad to assist you!

EDIT: Any game except the Pokemon ones. Since I don't want people hacking those.


Thanks for the offer. I haven't seen any games you worked on that I'm interested in messing around with yet. Anyway here's a very quick demo of my thang in action:



It doesn't show off everything but it gives the general idea.

____________________
http://16bitgamer.forumotion.ca/

Chaobomr
Posted on 03-05-14 02:50 AM Link | Quote | ID: 155968


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 251/467
EXP: 638330
Next: 21834

Since: 05-07-13
From: The dirty south

Last post: 3474 days
Last view: 3473 days
Posted by shanem
@Drakon

Thanks! If you need any of my hacking notes for any of my games, PM me and I'll be glad to assist you!

EDIT: Any game except the Pokemon ones. Since I don't want people hacking those.
Why not Pokemon?

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

Insectduel
Posted on 03-07-14 09:13 PM (rev. 2 of 03-08-14 12:13 AM) Link | Quote | ID: 156018


Hammer Brother
Level: 68

Posts: 834/1069
EXP: 2686443
Next: 42357

Since: 02-16-08
From: Insectduel's office

Last post: 1251 days
Last view: 1250 days


One of the SRAM glitches I found during gameplay.

EDIT: Whoops! Drakon already fixed it! I didn't see the entire post.

ShaneM
Posted on 04-25-14 08:42 AM (rev. 5 of 04-25-14 09:05 AM) Link | Quote | ID: 156436


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 103/285
EXP: 293246
Next: 14864

Since: 02-17-14

Last post: 3131 days
Last view: 2647 days
I really don't know if you care enough to fix this. I just thought I'd mention it, out of respect for your work. This is what I did to trigger the glitch:

I started a 1 Player game. I then made a score of around 112,000. Next, I did a reset and chose 2 Player mode. Luigi naturally started with a score of 0. Now, during Luigi's turn, I did a vs with Mario (where you go over their tile and battle them). I had Luigi win that battle. Next, immediately upon returning to the main map, I resetted the system and Luigi and Mario switched scores upon starting the save file! Even when going back to one player, Mario would still contain Luigi's score. I'm not sure why they switch scores during that vs battle.

EDIT: This glitch seems to be related to the hack, as even on a real console it would occur. I just wanted to mention this as it is pretty serious when playing with a second person.

____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

infidelity
Posted on 09-07-14 04:34 PM Link | Quote | ID: 158175


Fuzz Ball
Level: 66

Posts: 655/968
EXP: 2366937
Next: 94914

Since: 05-24-07

Last post: 953 days
Last view: 808 days
updated to v7

Direct Link
http://acmlm.kafuka.org/uploader/get.php?id=4691

ShaneM
Posted on 09-08-15 12:57 AM Link | Quote | ID: 161055


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 284/285
EXP: 293246
Next: 14864

Since: 02-17-14

Last post: 3131 days
Last view: 2647 days
infidelity, I fixed the N-Spade Card glitch and I used SRAM $7FAF-$7FB1 to fix it. These seem unused, but I'm not sure if you made use of them or not, please let me know or I will need to use new addresses. Thank. --ShaneM

____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

PKstarship
Posted on 09-08-15 03:27 AM (rev. 2 of 09-08-15 03:29 AM) Link | Quote | ID: 161056


Shyguy
Level: 21

Posts: 32/88
EXP: 46496
Next: 3447

Since: 08-14-15
From: Midgard

Last post: 2438 days
Last view: 2347 days

Hi, is it all right for me to use this patch as a base for a hack? I'm guessing it's okay, but I figured I'd ask first.

____________________
Drive-by, *Puts on sunglasses* Miami style YEEEEEEEAAAAAAAHHHHHH!!!!!!!

krzy
Posted on 01-14-24 11:52 AM (rev. 2 of 01-14-24 11:54 AM) Link | Quote | ID: 168578

Newcomer
Level: 4

Posts: 3/3
EXP: 246
Next: 33

Since: 02-22-18

Last post: 97 days
Last view: 87 days
There is a serious bug in this hack, that I am amazed that nobody has pointed out before: this game crashes instantly, when burned into real cartridge.
This does not only affect this particular hack but all other SMB3 hacks (with battery save feature added), based on this patch.

I was trying to figure out what is going on and reproduce this behavior on emulator, and when WRAM at $6000-$7fff is initialized to all zeros, all FFs or some semi-random values, the game also hangs on emu.

The direct cause of hang is this loop

0C:A818: A9 00 LDA #$00
0C:A81A: 85 10 STA $0010 = #$00
>0C:A81C: A5 10 LDA $0010 = #$00
0C:A81E: 10 FC BPL $A81C

that is never exit because neither NMI nor IRQ changes RAM[$010] to anything.
On emu (and probably flashcarts), when the game is first RUN, there is no savestate file, so the WRAM at $6000-$7fff is probably initialized to:
$6000-$60ff = $60
$6100-$61ff = $61
...
$7f00-$7fff = $$7f
to mimic the open-bus bevaviour, which satisfies the game.

Though on physical cart with battery, initial WRAM content is unpredictable. Even if you first initialize the RAM to the above values with some external cartridge-programmer (like kazzo), when user decides to remove the battery, we still have problem.

I did not analyze the logic of this patch, so I don't know how to fix it. You probably should have some CRC of the WRAM to determine if contains good data and if not - clear it.


Pages: 1 2 3 4


Main - ROM Hacking - My Super Mario Bros 3 Hack - ROM Saves Player(s) Progress *UPDATED v7 9-17-14* New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.029 seconds. (342KB of memory used)
MySQL - queries: 117, rows: 153/154, time: 0.020 seconds.