It is currently Fri Mar 24, 2017 10:57 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 30 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Fri Dec 16, 2016 2:25 am 
Offline

Joined: Thu Feb 18, 2016 3:20 am
Posts: 32
Quote:
In particular, look at how the game reads from RAM and what's different in the RAM it reads from.

I have two RAM dump from the Action 52 and from the game. Differences a bunch. What to do with these differences, where to implement?

_________________
See my hacks on Romhacking.net


Top
 Profile  
 
PostPosted: Fri Dec 16, 2016 3:20 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 9411
Location: Rio de Janeiro - Brazil
Wanna do it the easy way? Log all the RAM and register states from right before the game is called, save all of that into the ROM anywhere you can fit 2K+ bytes (if you can't find that much free space, you can expand the ROM through bankswitching) and hack in a small piece of code to set all the RAM and registers to those logged values.

If you only want to restore what's actually necessary, as opposed to the whole 2K+ bytes, then you'll probably have to do what rainwarrior suggested and compare execution logs, to see when exactly the standalone program behaves differently from the normal version and why, and fix each condition that causes a difference.


Top
 Profile  
 
PostPosted: Fri Dec 16, 2016 4:01 am 
Offline

Joined: Thu Feb 18, 2016 3:20 am
Posts: 32
tokumaru wrote:
Wanna do it the easy way? Log all the RAM and register states from right before the game is called, save all of that into the ROM anywhere you can fit 2K+ bytes (if you can't find that much free space, you can expand the ROM through bankswitching) and hack in a small piece of code to set all the RAM and registers to those logged values.

If you only want to restore what's actually necessary, as opposed to the whole 2K+ bytes, then you'll probably have to do what rainwarrior suggested and compare execution logs, to see when exactly the standalone program behaves differently from the normal version and why, and fix each condition that causes a difference.

"Log all the RAM"... Mmm... How to do that? I've never done it. :(

_________________
See my hacks on Romhacking.net


Top
 Profile  
 
PostPosted: Fri Dec 16, 2016 7:11 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 9411
Location: Rio de Janeiro - Brazil
Dump the RAM to a file that you can include as a data table in the ROM. Trace the program until it calls the game in question, and then, with the emulator still paused, dump the RAM to a file.


Top
 Profile  
 
PostPosted: Fri Dec 16, 2016 7:38 am 
Offline

Joined: Thu Feb 18, 2016 3:20 am
Posts: 32
tokumaru wrote:
Dump the RAM to a file that you can include as a data table in the ROM. Trace the program until it calls the game in question, and then, with the emulator still paused, dump the RAM to a file.

But how I trace a broken rom? It stuck after loading 0 level.
And second. Register... is a $8000-$ffff? How I can find this registers?

_________________
See my hacks on Romhacking.net


Top
 Profile  
 
PostPosted: Fri Dec 16, 2016 9:01 am 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1415
Location: DIGDUG
It's not a RAM state set by the loader. Ooze erases the entire RAM at the start of the game, except for 700-7ff, which is entirely filled with zeros anyway, and 200-2ff, which is the OAM mirror...and is immediately filled with $f8...so, not that either.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Fri Dec 16, 2016 9:16 am 
Offline

Joined: Thu Feb 18, 2016 3:20 am
Posts: 32
dougeff wrote:
It's not a RAM state set by the loader. Ooze erases the entire RAM at the start of the game, except for 700-7ff, which is entirely filled with zeros anyway, and 200-2ff, which is the OAM mirror...and is immediately filled with $f8...so, not that either.

And if I make a patch with the usual and Rev A version of this game? It in any way clarify the situation?..

_________________
See my hacks on Romhacking.net


Top
 Profile  
 
PostPosted: Sun Dec 18, 2016 7:08 pm 
Online
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 3789
I used to rip out games with a hex editor, and even Nesticle would run them fine. Maybe you aren't ripping them correctly.

_________________
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!


Top
 Profile  
 
PostPosted: Mon Dec 19, 2016 2:59 am 
Offline

Joined: Thu Feb 18, 2016 3:20 am
Posts: 32
Dwedit wrote:
I used to rip out games with a hex editor, and even Nesticle would run them fine. Maybe you aren't ripping them correctly.

I'm sure I have correctly rip the games. But some of them work well only in the multicard, and without it - switch to another game. I found the game to these bytes: 4C 12 80 EA EA EA 4C. They are every 8000 bytes. How did you do it and what is tested?

_________________
See my hacks on Romhacking.net


Top
 Profile  
 
PostPosted: Mon Dec 19, 2016 7:27 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3192
Location: Mountain View, CA, USA
lancuster wrote:
I'm sure I have correctly rip the games. But some of them work well only in the multicard, and without it - switch to another game. I found the game to these bytes: 4C 12 80 EA EA EA 4C. They are every 8000 bytes. How did you do it and what is tested?

You've already said this, and it's already been debunked.


Top
 Profile  
 
PostPosted: Mon Dec 19, 2016 7:56 am 
Offline

Joined: Thu Feb 18, 2016 3:20 am
Posts: 32
Quote:
You've already said this, and it's already been debunked.

What??? How about the fact that this is the beginning of each game in the multicard?

_________________
See my hacks on Romhacking.net


Top
 Profile  
 
PostPosted: Mon Dec 19, 2016 8:29 am 
Online

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 17974
Location: NE Indiana, USA (NTSC)
I think others are claiming that the mere "fact that this is the beginning of each game in the multicard" is by itself irrelevant.


Top
 Profile  
 
PostPosted: Mon Dec 19, 2016 9:27 am 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 342
Location: Gothenburg, Sweden
Side note: Anybody else tried playing a52 on a pal unit? it loads incorrecly all over. It's a short-lived amusement.

_________________
http://www.frankengraphics.com - personal NES blog


Top
 Profile  
 
PostPosted: Mon Dec 19, 2016 10:04 am 
Offline

Joined: Thu Feb 18, 2016 3:20 am
Posts: 32
I played European version. Almost the same thing, but with non-working Alfredo and Jigsaw.


Top
 Profile  
 
PostPosted: Wed Mar 08, 2017 2:32 pm 
Offline

Joined: Thu Feb 18, 2016 3:20 am
Posts: 32
dougeff wrote:
It's not a RAM state set by the loader. Ooze erases the entire RAM at the start of the game, except for 700-7ff, which is entirely filled with zeros anyway, and 200-2ff, which is the OAM mirror...and is immediately filled with $f8...so, not that either.

I found a way out. It turns out that it was necessary to replace D0 19 with D0 16 in the Rev A version of the game. ROM no longer freezes after the second level, but is interrupted after level 6 by a congratulatory message, and level 8 is unavailable without a serious hacking.
And in Bubblgum Rosy it was necessary to replace 8D 38 03 with AD 38 03 at address 117, so that after losing at level 2 there was no incorrect loading of data.

_________________
See my hacks on Romhacking.net


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 30 posts ]  Go to page Previous  1, 2

All times are UTC - 7 hours


Who is online

Users browsing this forum: tepples and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group