11 March 2016 - Forum Rules

Main Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - SaveState

Quote from: Supergamerguy on December 11, 2020, 09:20:06 PM
Is this project still being worked on? I, and I'm sure a great many others, would love to see it finished.

Hey man, I am super excited to get back on this project, as I see that it would be really cool to actually play this game fully in English. However, I am currently serving a two-year mission trip for my church. I do plan on resuming work on this once I return home, but I simply need to focus more on the Lord's work for right now. I hope you guys can understand that :)
Greetings, all! I am now working on a NES translation of everyone's favorite Pokemon game: Pokemon Diamond. Screenshots will come soon. As of now, the game is not completely translated. I started this topic to document my progress and to get some feedback from the community.

I have translated most of the battle system, all Pokemon names, all Items, and many other things, as well as the story up to Jubilife City. I estimate that the overall translation work is about 20% done, and the story is less than 10% done.

Thanks to torridgristle for his awesome help so far, and to lugia2009 for being my inspiration to start this project.

As of right now, I know how to edit text, repoint text, and edit the interfaces of the Bag, the Pokedex, etc.

I do need to know how to edit tilesets (although this information may not actually be necessary), wild Pokemon locations, which Pokemon the trainers have, and the locations and contents of items found on the ground. If anyone could find out how to do any of these, please let me know here ;)

Here is a list of differences I found so far between this game and actual Pokemon Diamond (besides the language of course):

  • No Pokétch in NES
  • In the NES version, the only status effect is poisoning (as far as I know)
  • In the NES version, all attacks that would change attack, defense, etc. stats in other games, poison the opponent instead.
Also, just for those of you who want to know, there are 93 Pokemon in this game. Here is a list of them:
Mime Jr.

And there are the items:
Great Ball
Ultra Ball
Master Ball
Super Potion
Hyper Potion
Max Potion
Paralyz Heal
Ice Heal
Burn Heal
Full Heal
Max Elixir
Rare Candy
Fire Stone
Water Stone
Thunder Stone
Leaf Stone
Moon Stone
The Paralyz Heal, Awakening, Ice Heal, Burn Heal, and (technically) the Full Heal all seem to be useless because the only status effect seems to be poisoning though it acts more like a burn (doesn't hurt Pokémon as you walk).

You can check out the hack here:

Questions, comments, or tips? Put 'em here!

Changelog (Since April 23, 2019):
4-23-19: Translated and repointed all Pokemon names
4-24-19: Translated and repointed all Item names
Quote from: torridgristle on March 22, 2019, 03:25:16 PM
I don't know how much info you've figured out on items and such so I figure I should share what I have on CPU memory hacking for debugging purposes, like full Pokedex and all items and such.

00BB Item Count: Pokeball
00BC Item Count: Great Ball
00BD Item Count: Ultra Ball
00BE Item Count: Master Ball
00BF Item Count: Potion
00C0 Item Count: Super Potion
00C1 Item Count: Hyper Potion
00C2 Item Count: Max Potion
00C3 Item Count: Antidote
00C4 Item Count: Paralysis Heal
00C5 Item Count: Awakening
00C6 Item Count: Ice Heal
00C7 Item Count: Burn Heal
00C8 Item Count: Full Heal
00C9 Item Count: Revive
00CA Item Count: Elixer
00CB Item Count: Max Elixer
00CC Item Count: Rare Candy
00CD Item Count: Fire Stone
00CE Item Count: Water Stone
00CF Item Count: Thunder Stone
00D0 Item Count: Leaf Stone
00D1 Item Count: Moon Stone

0098 Number of Pokemon seen ($5D is max) (Pokedex)

0303 Horizontal Location
0335 Verical Location

044F-045B Pokemon that have been seen (Pokedex)
046F-047B Pokemon that have been caught (Pokedex)

04AF Number of Pokemon in your party

Pokemon in party position 1:
04B0 Party Placement (Leave this alone)
04B6 Pokemon ID Number
04BC Level
04C2 HP Remaining, first byte.
04C8 HP Remaining, second byte.
04CE Experience (Relative), first byte.
04D4 Experience (Relative), second byte.
04DA First Move ID
04E0 Second Move ID
04E6 Third Move ID
04EC Fourth Move ID
04F2 First Move PP Remaining
04F8 Second Move PP Remaining
04FE Third Move PP Remaining
0504 Fourth Move PP Remaining
050A Status Effect (Poison is 01)

Pokemon in party positions 2-6 you add 1 or 2 or 3 etc to the addresses for the Pokemon in party position 1.

Thank you so much for this CPU info! After a week or so of inactivity (sorry!) I just finished repointing all Pokemon names! (I know that the name size limit is 8 characters, so all names longer than that were abbreviated as such.) However, even while using only 0A (instead of 0D 0A) as the text stop byte, I can't fit the last two Pokemon's names, Hippopotas and Hippowdon, in the space designated for Pokemon names in the ROM. I tried repointing the names to somewhere else in the ROM, but that didn't work :'( and their names are left blank when I try to see them (possibly because the names weren't loaded into memory). Is there anything I can do?

Edit: Hey I just figured out how to fix it :P I put their names in the Pokemon Species section of data (Where there is plenty of extra space) and it works fine! ;)

April 23, 2019, 11:08:50 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

Quote from: James5541 on April 20, 2019, 03:28:04 PM
It looks amazing so far! Pokemon Diamond is my personal favourite and I can't wait to see the finished product.

Also, thanks for the support! ;) This kind of stuff is what keeps me going!

April 24, 2019, 11:49:06 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

In the game, there only seems to be Poison as a status effect, and all moves that would change stats only make the opponent poisoned, Is that correct? Doesn't this make the Paralyz Heal, Awakening, Ice Heal, Burn Heal, and Full Heal Obsolete? Is there any way to include the other status effects, or stat-modifying moves?
Hello, guys! I am trying to make a Super Mario Bros. 3 Hack, and I am currently stuck. I started off with a ROM and SMB3 Workshop, but found its limitations to be unsatisfactory. After that, I moved on to editing levels using NoDice. Because this uses the disassembly, it provides the possibility for virtually limitless level sizes. However, I am having a hard time on some things. My main questions are:

  • How do I change a level from plains to hills?
  • How do I add 3-byte or 4-byte objects?
  • How do I edit graphics/palettes in the disassembly?
  • Does anyone happen to know/have the ASM routine for the star coin, the battery use, and the character select routine used in Super Mario Bros. 3Mix, or the routine for infidelity's item slot patch? I don't NEED these, but they would be awesome to have for ASM hacking.
Thanks in advance to anyone who will help me!

April 15, 2019, 11:34:38 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

Okay, so I have figured out most of these, and now I am wondering how to make a custom level available from the world map. Can anyone help with that? (I'm still wondering about gfx editing and asm routines.)
Quote from: Lord Igniz on April 11, 2019, 04:58:10 AM
What is the file size of the ROM? If it's anything like Pokemon Yellow NES it won't run on a flash cart because the file is too large (2MB for Yellow NES) and the mapper (93) was also not supported. Would love to play this on the actual hardware.

This game is actually only 1MB in size (not sure if that's small enough)! Also, I'm not sure what mappers are supported on flashcarts, but this one uses mapper 4 or 224 depending on the level of support the emulator/flashcart has. (It is actually a mapper 224 game, but, as stated above by torridgristle, it was commonly mistaken as a mapper 4 ROM by dumpers, and some emulator developers just included support for it as a mapper 4 game instead of telling everyone to change their ROM to 224.) I hope I helped! :thumbsup:

edit: speaking of ROM sizes, does anyone here know if there's an easy way to take out free space in a ROM such as this one? Correct me if I'm wrong, but the only way to do this is just tons of re-pointing (something I am definitely not willing to do), am I correct?
Newcomer's Board / Re: Introduction Topic
March 26, 2019, 05:40:49 PM
Howdy! I'm SaveState!
I am a very well-balanced fellow, in terms of my achievements so far in life.
I became an Eagle Scout just before turning 14, I am a former gymnast (can do flips), I go to an IB high school, I'm a member of the Church of Jesus Christ of Latter-Day saints (aka a Mormon), and I'm a video game enthusiast!

My ROM Hacking "career" started about 4 years ago, not long after someone introduced me to emulation. Back then, I just did simple little hacks of Pokemon Fire Red, and tried making some large-scale ones, all of which died eventually :'(.
Then, about 2 years ago, I got into the Super Mario Bros. hacking scene, starting my big (currently live) project, Super Rex Dash.
Recently, I started my Pokemon Diamond NES translation, and also got into NES assembly, the latter of which I am not the best at :P.

I absolutely love this site! It is so friendly, and I feel right at home here!
Thanks! I don't really need Google translate and stuff, I just look at the text in an actual Pokemon Diamond Game! This table file will definitely help me when looking for a specific string of text! Thank you so much for helping me out! :thumbsup:

Edit: Sorry I haven't been making super-fast progress. Like I said before, it's kinda hard finding time to do this with school and everything. Nevertheless, I will have a significant update soon.
Quote from: torridgristle on March 22, 2019, 11:27:37 AM
It's ugly but you may have to have an IPS for a NES 2.0 mapper 224 header that makes it work in Mesen and possibly some other emulators, and an IPS for an incorrect but still playable iNES mapper 4 header that makes it work in FCEUX and maybe other FCEUX-based emulators.


Anyway: The text pointers, from what I've seen by relative searching for the offsets of what I believe are string terminators (0D 0A), appear to be the offset (minus 10h from the header since I forget that often) + 8000h. For example, at 0606 these 2-byte pointers exist: 478D,538D,6E8D,9E8D,DD8D,EA8D,338E,3F8E,7C8E,DF8E. They lead to 0D47, 0D53, 0D6E, 0D9E, 0DDD, 0DEA, 0E33, 0E3F, 0E7C, 0EDF if I'm correct. Hope this helps.

Yeah about the separate IPS thing, I thought I was gonna have to do that :( .

Thanks for the info about pointers, I'll look into it! :thumbsup:
Quote from: torridgristle on March 18, 2019, 06:01:53 PM
However if you go ahead and change it to a NES 2.0 header then all the compatibility settings would be saved to the file and it works fine in Mesen with saving and presumably everything.

WOW! Thank you so much for the info! I tried changing the mapper to number 224, and it worked in Mesen! However, it lost compatibility in FCEUX, because mapper 224 isn't supported by FCEUX.

I'm not vary familiar with how NES 2.0 headers work. Could you please tell me what specifics I should set the NES 2.0 header to? (Like the Work RAM, Save RAM, CHR RAM, and CHR Save RAM and stuff?) (Sorry, I probably sound like a noob right now)

Edit: Never mind. I figured it out ;) :P However, it still doesn't have support in FCEUX. Is there any remedy for that?

March 19, 2019, 10:03:09 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

Also, if anyone could figure out how text pointers work, that would be super helpful  :laugh: Also, I'm having trouble fixing which music plays where, and help with that would be appreciated :thumbsup:
ROM Hacking Discussion / Re: Screenshots
March 15, 2019, 04:33:05 PM

So proud of how the castle turned out...  :)
Yes! You're welcome! As of right now, it is only me. :) However, I do think it would be better if someone else would help with things. It's kinda hard trying to do this and school at the same time.  :(
Hey, about that infinite lives trick, I heard that the developers intentionally put that there because it only works with that certain background of the level and it was mentioned in some gaming magazines supported by Nintendo.
When I first started out with ROM hacking, I mostly just edited graphics. I was not very good with computers at ALL back then. I just had patience, and the desire to try and accomplish. Graphics editing can be easily done with yy-chr. It's very easy to do, and creates satisfying results with patience. For other things, there are many tools that allow editing without having to use assembly, such as Super Mario Land level editors.
Xdelta is a type of patch file, which means that it only contains all of the changes between Super Mario Bros. and the 2-Player version. The file you have isn't a ROM of the game in any form, you must patch this file to a Super Mario Bros. (World) NES ROM. (World means the global version, as opposed to Super Mario Bros. (E), which would be the European version.) I cannot tell you where to obtain ROMs, as it is against the rules here. You could use this tool to patch xdelta files: :thumbsup: (Also, if the Super Mario Bros. ROM you download is in a .zip folder, you usually can't patch to a zip folder, you have to move the .nes file out of that folder and patch the file to that)
Using SMB3 Workshop to edit graphics isn't a very good idea. I've ruined a ROM once doing that. This is because there's 4 frames of animation for many of the blocks used in the game, even if the block doesn't appear to change at all! (for example, the pipes in SMB3 use 4 alternating tiles for animation, even though all 4 of those frames are exactly the same.) And SMB3 Workshop has a hard time with that. What I did was edit my graphics in yy-chr, then copy+paste them into the places for the other 3 frames of animation, found just below it in the ROM. This way, its more effective, and you're at less risk of corrupting data. :thumbsup:
ROM Hacking Discussion / SMB NES Hacking help
October 16, 2018, 12:02:37 PM
Hello evrybodee!
I am working on a SMB NES hack, and in it I want to make it so that, as small Mario, you can get a fire flower instead of mushroom, and you stay small with fire colors+powers (skipping the mushroom power). (I already know about the "stay small" Game Genie cheat code, but it isn't helpful because it still requires you to get a mushroom before advancing to fire power.) I've been looking around for a while, and can't seem to find any help. Thanks in advance to anyone who can help me!