Jump to content

suloku

Innovator
  • Posts

    742
  • Joined

  • Last visited

  • Days Won

    26

Posts posted by suloku

  1. Thank you very much!, but you can't link the rom here. Posting the CRC32 should be more than enough if you want people to use the same rom (here it is CRC32: 16974506)

    Btw, won't you happen to have a save dump of the cartridge right before you sent it to nintendo? I didn't realize it would have been very interesting to see what exactly nintendo did to the save by comparing a before and after savegame. Probably it's just the WC data being inserted but still...

  2. Speaking of Berry Fix, how does that one work exactly?

    You say it gets stored into the save file. Where does it get stored? And how come it doesn't get wiped if you erase the save file? (or at least I don't think it does.)

    Also curious about how it actually works, how it acts on the game.

    Berry glitch:

    Game starts at 1 january (year 0)

    When clock reaches 1 january (year 1) it will always report the day as 1 january (year 1) thus game thinks its always 1 januaru (year 1).

    When clock reaches 1 january (year 2) it starts correctly working again.

    Berry fix tweaks in-game data to be at least at 1 january (year 2) afaik.

    eDIT: bulbapedia is more accurate, basically it's because the RTC starts at year 2000 and the game starts at year 2001, so the game adds 0 years to the number of days passed for both 2000 and 2001 RTC reported values.

    What the berry patch does (actually does it via uploading a program to gba):

    "If the Berry glitch has not yet begun, these programs will set the RTC forward by 366 days, which prevents the effects of the glitch. If the game is already affected by the Berry glitch, these programs will set the RTC forward to January 2, 2002, the date at which all effects of the glitch end. If the cartridge battery is replaced and a new game is started, the fix will need to be applied again."

    Here's a program to modify the RTC at will on real carts (useful for battery replacement): http://furlocks-forest.net/wiki/?page=Pokemon_Ruby%2FSapphire_New_Battery_Glitch

    On emulators, this glitch can only happen if you start the game with the emulator (computer) clock set to a day in the year 2000. I guess if you start the game in the year 2001 it won't happen at all.

  3. I just used D5 19 06 10 02 00 because 00 00 04 00 00 00 didn't work, and surprisingly it worked. I have no idea what the meaning of these bytes is, but maybe they have something to do with the card type.

    Thank you! For what I've seen there should be a flag to allow storing in the save file, that might be it.

  4. I guess there's exdata involved in time determination? I never noticed, but I haven't played gen 6 recently, only for events.

    I have a digital and carteidge copy of ruby, that might work to see diferences for the same day passing in the same save file.

  5. In the post I linked above should be the source code for PSavFix, it has the section sizes for RS and FRLG.

    short FLMAP[] = { 0xF24,0xF80,0xF80,0xF80,0xEC0,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0x7D0,0x01C,0x100};
    short RSMAP[] = { 0x890,0xF80,0xF80,0xF80,0xC40,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0x7D0,0xF80,0xF80};

    This one is for Emerald.

    short EMAP[]   = { 0xF2C,0xF80,0xF80,0xF80,0xF08,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0x7D0,0xF80,0xF80 };

    Also, I wanted to ask about these maps. I used the FRLG map and the checksum calculation was non-valid and the save was erased. Are you sure these are correct?

  6. That was quick! Almost all data has been found. Daycare offset is missing too I think

    For pikachu's friendship offset, it should be easy to figure out exploiting the friendship bug, were using a potion on pikachu will increase its friendship by 1 even if its health is full.

    Also, what's the pk1 format structure? I'm asking mostly because even though this is a gen 1 save editor, people might want to import pk1 files into a gen 2 save and I wonder if you mirrorred pikasav's pkm file structure.

    Also, I suggest using jpk1 for japanesse pkm files.

  7. E-card trainer editor is fully done, seems to work well. Aparently you can't make trainer pokemon shiny (I used a-save's pid generation tool to test, male/female pid worked). Everything can be edited.

    The only detail is that the Pokemon and moves words from the easy chat system apparently don't follow the same logic as all the other categories, so those words are basically broken right now.

    Even though the e-Reader doesn't store the Regi Dolls into the save file, you can actually store them there by save hacking.

    Team Fail did this with his tool for e-Reader Trainers [GEN 3] e-Reader Event Injection

    Basically you have to decompress the raw e-Card and extract the VPK from it. Unfortunately his tool doesn't support multi-strip VPKs so it can't be used for the Regi-Dolls.

    I was able to do all that manually, I used his tool for checksum fixing though.

    I attached the Japanese Berryfix as well. Both tested and working!

    Which tool did you use to decompress the raw files? EDIT: ok, nedcenc is the tool

    Could you explain the merge process a little more? Getting raw into savs is really interesting. Also, the regi dolls present probably has the ROM code somewhere in it, meaning it can probably be easily modified for other regions... but for what I've seen what it does is send a script to RS, then it gets executed in the mnistery event screen and kills itself when it's done doing its job.

    Also, I've looked a little into it and the trainer structure is easily found in the decompressed vpk from a trainer card (using Team Fail's tool to extract it). The only difference is that it doesn't have the checksum in the vpk file (I guess it's because the vpk itself has a checksum for its data?).

    With Team Fail's tool making a save with a custom trainer is really easy (still needs hex editing though). I may add a export as decompressed vpk button by using an already decompressed vpk file as "template" to make the process easier. May including a decompressed vpk file in the program infringe copyright?

    Also, for the one asking about conversion to dotcodes: in caithsith page you can read the following:

    - Nintendo E-Reader dotcode bin maker - A tool to make a set of Nintendo E-Reader dotcode bin files, given a vpk file. Source code is included

    - VBA 1.7.2 e-reader: this VBA can load either bin or raw files. When loading bin files you will be prompted to save it as a raw dotcode.

    EDIT: for bin<-> raw conversion there's nedcenc.exe

    As you can see raw dotcodes can already be generated, the process is not as difficult. With a couple batch files it's a matter of drag and drop (compress vpk -> convert to bin -> load in vba to save as raw)

  8. Looking good! Any way we'll be able to convert .ect and .ecb files to dot codes (or at least work them into the DS and GC/Wii injectors)?

    If there is open source dotcode->bin source code, why not.

    Berries are far more complicated than trainers, so a full berry editor will take time.

  9. That's really interesting. I still don't know how to create the scripts... but well, I'm only interested in modifying event scripts to re-create them if necessary, and making a give item, give egg and give pokemon scripts for wondercard usage (configurable in the editor).

    Morfeo's regi dolls script might be interesting too, since the decorations are stored elswere, but it's probably just the command used in-game to give decorations.

    Btw, I've went and added a decoration inventory editor to my tool since a-save didn't have one: http://puu.sh/oF3Bo/93e0c088c1.png

    Current status of editor: http://puu.sh/oF3CV/15c8fb860b.png

    There's an option to fix checksums and another one to enable mistery gift/event flags (for the lazy people).

    I'm gonna work on the .ect (e-Card Trainers) editor.

    It seems the berry one (.ecb for e-Card Berries) will need further investigation, trainer card is all documented so easy to code.

    EDIT: ect editor is progressing fine: http://puu.sh/oFk84/c2cd0ac038.png

    Implementing the easy chat system words was a pain.

  10. Blackshark: ok, I guess the easiest is to find a script in the rom that is at least 0x1000 and inject it there, then extract after using pskv.

    There are, but they use e-reader mode of Mystery Gift which is enabled by default when the Wireless Adapter is not connected.

    Maybe it's because I don't know japanesse.

    In emerald (jap) there are two menu options. Does FRLG jap only have a single option that behaves differently depending on wireless adapter being plugged in? I see the same background as for wondercards while in RS and E mistery event has a black background.

  11. I'm pretty sure that Mystery Event is only in R/S, isn't it? And Japanese Emerald.

    Or do I need to have advanced to a certain point into the game before I can enter the Mystery Event phrase, like in R/S? Because when I tried it, it had no effect.

    But aren't there battle e-cards for Fire Red and Leaf Green? That would require mistery event, not mistery gift:

    http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_Battle_e_FireRed_%26_LeafGreen

  12. Blackshark, are those saves for e-reader? You manually mixed both raw codes into a single vpk for the e-reader? That's great!

    Also, any word about how to view/edit/decompile/recompile scripts?

    Last screen tells you to connect both e-Reader and Ruby/Sapphire via link cable and then choose Mystery Events.

    Did you make sure to have Ruby as P1 and the eReader as P2?

    That was the problem... I feel stupid. I think I've used eon ticket with ereader as P1 though.

    Transfering a regi doll adds a single byte to section 3 0x807. It is probably the decoration inventory, which seems to start at 0x804 and might be 52 bytes long. Gonna do a couple tests. Time to add a checksum fixing button to the tool.

    Also, thanks for the saves, I'll try locating the flag. Should be near mistery gift. But the flag I'm missing is mistery event (link cable), not mistery gift (wifi).

  13. Last screen was supposed to be this: http://puu.sh/oEJqA/a3312fef80.png

    I messed up with the links.

    I didn't think about the bootmode, that might be it! I can't upload the save because it doesn't seem to be stored as a save in the e-reader, or I don't know how to make it save to e-reader. I think it wasn't meant to be stored there.

    BTW, I've noticed that trainer name in JAP is 5 characters + null terminator (0xFF), while USA/EUR are 7 characters + null terminator. That makes 0x08 in section 0 always 0x00 for japanesse saves and 0xFF for USA/EUR saves. Basically, I can autodetect the save region which is nice.

    I've also added a function that enables the mistery gift and mistery event flags in the save for convenience... I'm missing the FRLG JAP mistery event flag though, I don't know it's offset and bit.

    EDIT: also, enabling the flag in a non-jap emerald does not make the mistery event option appear.

  14. I seem to be stuck with the regi dolls promotional card.

    I've tried using this emulator: https://projectpokemon.org/forums/showthread.php?42433-RELEASE-VBA-LINK-E-READER

    E-reader raw code reading works. Cable linking works. But I don't seem to be able to transfer anything to japanesse ruby.

    Here are some screenshots, if someone knows japanesse or can describe how to transfer the dolls:

    Message after scanning the card: http://puu.sh/oEJpA/44e54bb529.png

    After pressing A once: http://puu.sh/oEJq8/a857314ec3.png

    After pressing A again: http://puu.sh/oEJqA/a3312fef80.png

    I thought at the last screen I could connect trough mistery event (japanesse rom and save) to get the doll, but nothing happens.

    BTW, I think I should go step by step, since trainer seems to be easier than berry. I'd also like to auto-detect japanesse saves...but this might be difficult.

  15. I've found the file with the USA e-reader saves + the 4 japanese ones: http://filetrip.net/gba-downloads/game-saves/download-gba-e-reader-cards-for-pokemon-ruby-sapphire-1-0-f30353.html

    Also, from the looks of it, it seems the japanese e-cards dotcodes are dumped, I just can't find any file trough google: https://projectpokemon.org/forums/showthread.php?42433-RELEASE-VBA-LINK-E-READER

    Maybe the dolls and berry cards are there too.

    EDIT: there's a link here with the jap e-cards! https://projectpokemon.org/forums/showthread.php?46216-GEN-3-e-Reader-Event-Injection&p=205898&viewfull=1#post205898

    They are all battle cards for the looks of it. No signs of berry cards or regi dolls cards. Was something else other than trainer e-cards released for the japanesse emerald/FRLG?

    EDIT 2: Google search "no-intro gba e-cards" led me to a file "Nintendo - Game Boy Advance (e-Cards).zip" with a compilation of all dumped e-cards, usa and jap.

    It holds the raw files for "08-O001" promotional card, which corresponds to the doll gift. Japanesse berries are probably also there too. Gonna see if I can scan them trough emulator, I'm not sure how that works (I guess the scan dotcode function to load the raw file is all that's needed).

  16. @HaxAras thank you very much for the saves!

    I've been thinking and I remembered that when a e-card is read, a program is stored in the e-reader, then you use that program to transfer the mistery event to the savefile.

    So, it would be far more interesting to have the saves from the e-reader that have scanned the cards (if you are willing to share them), as that would allows to use vba-link (or my boy in android) to actually enable the event.

    I've checked my files and I have a file with a collection of e-reader saves from the USA e-reader cards, including 48 numbered battle-e trainer cards + 6 more trainers , 6 berries (chilan, drash, eggant, nutpea, pumpkin and strib) and a lot of cards that I think had minigames for the e-reader (aquapolis, expedition and skyridge cards). It also has 4 japanesse trainer saves.

    I don't know if japanesse saves for e-reader are available (probably, but I can't find them); it would be very interesting to have the saves for at least the dolls and japanesse berries.

    EDIT: here are the USA e-reader saves, I don't know were the file I have with 4 japanese cards came from: http://ereader.kiczek.com/

    It's cool. But we would need a save file where the Doll is still unclaimed.

    The point is it seems the dolls don't have any script, the card just puts them in the inventory.

    Morfeo probably made a giveitem script that would check if the dolls were owned as a way to give them only a single time.

  17. Thank you vey much for the information!

    Is the berry also directly added to inventory?

    It would be helpful to have a save dumped right before receiving the dolls/berry and one just after using mistery event. By comparing the before and after we could make sure about how these events modified the save file.

    I already confirmed that all the us eon ticket e-reader does is put in data for the script and item, nothing else is changed in the savefile.

  18. I've been adding mistery event features. It's all done. I've also added a button to enable Eon ticket on emerald (the very same taka's tool does, it also works with eur files since offsets are the same).

    I've been wondering what's the best way to decompile and recompile scripts. I've though of changing the first script in the rom for the one I want to edit, then use pksvui, but is there a tool that allows to decompile/recompile the script without the rom?

    @BlackShark why did you post this?

    E 0x854 - 0xC93 Mystery Event Script

    E 0xC94 - 0xC9B Record Mixing Item

    On my emerald save there's data between 0x854 and 0x8A8, while it's all 0x00 from 0x8A8-0xC9B.

    0x8A8 makes more sense for it to be the correct offset, since 0x854-0xC93 is 4 bytes checksum+ 1000 bytes script, same sizes as WC scripts and RS mistery event script.

    I tried injecting the RS e-reader script to that region (0x8a8) with no luck, neither on the japanesse savegame and rom. Is there any footage of japanesse e-reader berry or dolls receiving? Is it from your father or at another place? Maybe I'm just not enabling the event, or maybe it really starts at 0x854...

  19. I've translated taka tools (except the one that allows modifying the pokemon egg gift (PARPokeEE.exe) with ajxpkm's help. I've attached them to this post.

    Might be useful to someone. I just hex edited the jap strings, so except the strings everything else is intact. Someone uploaded a translation before, but he seems to have used some tool to re-pack the translated program and I prefer to use the untouched thing.

    https://code.google.com/archive/p/savegame-manager/source/default/source

    It deals with both NDS and GBA save backup/restore.

    Thanks, I forgot that tool also works for GBA games! Fortunately PKM games use Flash (save manager doesn't support EEPROM saves). I guess even I can make a NDS app now.

  20. Did you do a save before 00:00 and one after 00:00?

    I'll do one tonight and post the changed offsets.

    Also, can the mirage spot be softreseted if sav was fron the previous day? I don't remember.

    Edit: seems there's a way to softreset mirage spots, that might allow further locating mirage spots

    "Save before you update your Buzznav then update it every time you start your game. You can soft reset for islands like this."

  21. I can make the wii/gc injector, I have experience with wii/gc coding and the program to dump/restore saves is opensource. My original wc injection code is written in C, so making the app is not a problem at all.

    On the other side, a nds homebrew might be more complicated as I don't know if the tools to backup gba saves are open source, but if they are the basis is the same as for gc/wii.

    Also, for that kind of app I'd like to have the wc for all languages, even if they are re-created and embedd them to the program (I'd update the app if we get more legit wc files).

    It'll take time, but will get done.

  22. Edit: I was viewing this video:

    It is obviously a wc hack (even though he claims it is from a legit nintenso event...) that uses the givepkm script command.

    What bothers me is that the card is sent by another trainer, but the received card can't be sent. I wonder if there is some kind of share counter byte or it's simply a part of the video.

    A wc that can be shared only on original device would be great for distribution to other gba trough wireless adapter.

    EDIT2: I've found it: adding 0x40 instead of 0x80 to the color/distribution byte makes it shareable, but receivers can't share the WC.

    Also, I've been wondering how the wc that give pokemon get marked as used, since the ticket ones check for the item and event flag for that.k

    Wonder card news editor is already coded and fully working. It was almost the same code as the normal wc editor, so I thought I might put it already in the editor.

    I guess next comes mistery event for rs/e, would be interesting to see what happens on non-jap emerald when script from r/s is injected (probably nothing as flags are probably different)

    a long time i shared some save files which were prepared to edit the card plus the script not

    That would be the source of the mistik ticket hack probably?

    UPDATE:

    I've been playing a little with WC news and comparing the save before and after sending the news. Some data was written to the 4 bytes that go after the mistery gift survey words (which is stored 0x28 bytes after wc data). I haven't checked this region after sending wondercards, but seems related to this in some way. Maybe it's just some kind of statistics of how many trainers you have connected to.

×
×
  • Create New...