News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Kid Icarus, adding SRAM save function  (Read 5990 times)

frsj8112

  • Jr. Member
  • **
  • Posts: 67
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #20 on: January 19, 2016, 04:15:45 am »
Thanks again Disch, i've found the routine that spits out the password and that has now been bypassed.

How would I approach to add more text under Game Saved?

Disch

  • Hero Member
  • *****
  • Posts: 2714
  • NES Junkie
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #21 on: January 19, 2016, 12:44:15 pm »
Find the text in the ROM and change it   :P

There's a number of guides on this site for easy ways to find and change text.  Though if you want to take the ASM approach, you can do exactly what you did to find the password print routine.  Set a PPU breakpoint on wherever the text is being drawn and trace to the code to find the text itself.

Remember that all the code you bypassed for password printing, password input, etc --- all of that is free space now, since the game is no longer using it.  So if you need additional space to hold more text, or if you need to squeeze in a new routine or two... you have a ton of space to work with.

frsj8112

  • Jr. Member
  • **
  • Posts: 67
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #22 on: January 20, 2016, 04:10:22 pm »
Hehe of course ;)

Yes, but I have found the text and the pointer to the string as well. I've moved the string to another location in the ROM and adjusted the pointer, so that is working fine.
But I don't seem to get the line break to work.

There's one string that's appearing just before the last stage (Medusa stage), which says:
"Pit equipped himself
with the 3 treasures"

So there's a line break just after himself, which is in the form FE 25 29. So it's like "himself FE 25 29 with"

But if I add like FE 15 15, the game interprets those as tiles and not a line break. it then looks like this:


Any ideas?

Disch

  • Hero Member
  • *****
  • Posts: 2714
  • NES Junkie
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #23 on: January 20, 2016, 06:24:08 pm »
The drawing routine it's using might not support a line break then.

You'll have to draw a second string.

String drawing usually loads a source pointer and a destination coordinate or address to somewhere in memory, then JSRs to a routine that does the actual drawing.

Since you found the "Game Saved" string, set a read breakpoint on it, and that'll take you right to the drawing routine.  Trace the stack up to see how the game triggers that string draw, and do it again for a different string in a different position.  It'll probably take you right to the same place as the JSR you NOP'd when you removed the password display.

Remember, you have all the free space in the world if you need it.

frsj8112

  • Jr. Member
  • **
  • Posts: 67
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #24 on: January 21, 2016, 06:49:27 pm »
Thanks again Disch, your info is giving my brain a real workout!! ;)

But I managed to make something here:


I broke out the routine that reads the characters into $2007 and when it is done with "Game saved!" it does another check to then go into loading "Push start button" to another PPU adress and then to $2007.

SunGodPortal

  • Hero Member
  • *****
  • Posts: 2921
  • 2 + 2 = 5
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #25 on: January 21, 2016, 07:07:00 pm »
Just want to say that this is really cool. I love hacks like this and would love to see more of them. So many of those old games could really benefit from something like this (Legend of the Mystical Ninja, River City Ransom, The Guardian Legend, etc...).

:thumbsup:
War is Peace. Freedom is Slavery. Ignorance is Strength.

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6882
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #26 on: January 21, 2016, 11:43:28 pm »
Just want to say that this is really cool. I love hacks like this and would love to see more of them. So many of those old games could really benefit from something like this (Legend of the Mystical Ninja, River City Ransom, The Guardian Legend, etc...).

:thumbsup:
Interesting as the Japanese version of RCR should sort of have that already (it didn't use SRAM, but it used a Japanese-only memory card device called ASCII Turbo File. One of only a couple non-ASCII-made games to use it.)
"My watch says 30 chickens" Google, 2018

SunGodPortal

  • Hero Member
  • *****
  • Posts: 2921
  • 2 + 2 = 5
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #27 on: January 22, 2016, 12:03:43 am »
Quote
Interesting as the Japanese version of RCR should sort of have that already (it didn't use SRAM, but it used a Japanese-only memory card device called ASCII Turbo File. One of only a couple non-ASCII-made games to use it.)

Interesting indeed. Sounds like part of the work is already done then. I'd love to do some hacks like this but for the time being I am dedicated almost exclusively to A Link to the Past since there are so few people who are willing to negotiate with Hyrule Magic. We are few and completed ALttP hacks are even fewer.
War is Peace. Freedom is Slavery. Ignorance is Strength.

frsj8112

  • Jr. Member
  • **
  • Posts: 67
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #28 on: January 22, 2016, 03:19:34 am »
Just want to say that this is really cool. I love hacks like this and would love to see more of them. So many of those old games could really benefit from something like this (Legend of the Mystical Ninja, River City Ransom, The Guardian Legend, etc...).

:thumbsup:

Thanks SGP!
And again a big thanks to Disch for pushing me to learn more and more, this has been a blast :)

RyanfaeScotland

  • Sr. Member
  • ****
  • Posts: 361
    • View Profile
    • My Brill Game Site
Re: Kid Icarus, adding SRAM save function
« Reply #29 on: January 22, 2016, 08:31:28 am »
What a great topic. Really enjoyable to read through and see you progressing with your project and skills. Had a look through your past posts as well and the Spy vs Spy one is just as satisfying to read, good effort on sticking in and seeing things through to the end. :)

frsj8112

  • Jr. Member
  • **
  • Posts: 67
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #30 on: January 22, 2016, 09:51:44 am »
Many thanks Ryan, most appreciated!!


dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #31 on: February 23, 2016, 06:33:33 pm »
No public release of this save hack...at all...?

/dACE

February 26, 2016, 05:54:04 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Komigen frsj8112 - dela med dig  ;)

/dACE
« Last Edit: February 26, 2016, 05:54:04 pm by dACE »

frsj8112

  • Jr. Member
  • **
  • Posts: 67
    • View Profile
Re: Kid Icarus, adding SRAM save function
« Reply #32 on: February 28, 2016, 03:34:43 pm »
Maybe, I have to test it through and make sure that all works as it should :)