Jump to content

comradesean

Member
  • Posts

    16
  • Joined

  • Last visited

Reputation

10 Good

About comradesean

  • Birthday 01/09/1987
  1. afaik Leaf Green and Fire Red are interchangeable as long as it's not v1.0 to v1.1.
  2. Works coming along conceptually. I've just been getting distracted by some other projects. Will try to get something out soon. Also in regards to the versions with the current release, Unless someone can provide me with legitimate tickets for all versions then it will end up being a generated fake in the end.
  3. I think I know the cause. Let me take a look. edit: Actually, quick question. Are you using v1.0 or v1.1 of the rom? If you're not sure, can you provide me the checksum of the rom?
  4. Been a little distracted by some other projects I've been working on. So basically I followed morpheo's example up until the part where he left you hanging with wrong information. I then used a debug version of no$gba to figure out the real starting seed and Tab file. My application does have support for custom Wonder Cards, but you're only going to be able to select between official cards I've been given so far. Japanese saves are not supported yet and will probably become corrupted http://www.mediafire.com/download/3q7i6tzddq2ikh3/Sean%27s_Mystery_Gift_Injector.7z On that note, Does anyone know if there are any flags I can use to determine whether a save is Japanese or not?
  5. Does anyone have a complete set unicode font for Pokemon Gen III? I've been screwing around with WindHex and it's Table Maker, but it doesn't support all fonts (Spanish characters) and I'd rather not be stuck with it's clunky interface.
  6. I thought that IV spread was generally pure RNG and the PID was generated from the spread itself?
  7. I'm completely out of the loop with this process. Did you just place your cart into a device and the pokémon was injected into an empty party slot? Was there any sort of process on your end to execute this? edit: Was there any flag to prevent you from getting more than one on your cart?
  8. I could be wrong, but weren't 10ANIV pokemon pre-generated trades?
  9. I think you might be trying this on an English rom. It's an injection and the save structures are different. You need to create a save using the Japanese rom and then drop the new save into the software. I'm not sure after that, but I think you have to talk to the DeliveryMan before loading your save on the English rom. That probably destroys the WonderCard data?
  10. It's injecting a Wonder Card. Make sure that you're using both the Master and Anti-DMA code. When you insert the Wonder Card code itself make sure you only do two blocks at a time, load your game, and then save. Continue until you run out of blocks. It's all there in the instructions. I think the only quirk is that you need the latest VBA (not vba-link) and make sure Wireless is enabled.
  11. The Wonder Card is just a delivery device. The ticket is yours for good after you've used the Wonder Card by talking to the DeliveryMan. There's only one Wonder Card per game and Morfeo's code will overwrite whatever is there with the new one.
  12. Got it. https://www.mediafire.com/?s4aenh9h66p7069 Unfinished Checksum Code //Read the TAB file into memory. BinaryReader TAB_reader = new BinaryReader(new FileStream(@"tab.bin", FileMode.Open, FileAccess.Read, FileShare.None)); byte[] TAB_data = TAB_reader.ReadBytes(0x200); // Read 512 bytes into an array TAB_reader.Close(); //Read the WonderCard into memory BinaryReader WC_reader = new BinaryReader(new FileStream(@"WonderCard.bin", FileMode.Open, FileAccess.Read, FileShare.None)); byte[] WC_data = WC_reader.ReadBytes(0x14D); // Read 332 bytes into an array WC_reader.Close(); //BinaryReader WC_reader = new BinaryReader(new FileStream(@"GMScript.bin", FileMode.Open, FileAccess.Read, FileShare.None)); //byte[] WC_data = WC_reader.ReadBytes(0x3E8); // Read 1000 bytes into an array //WC_reader.Close(); Int32 iSeed = 0x8530; Int32 tabNum; Int32 tabVal; foreach (byte curByte in WC_data) { tabNum = (iSeed ^ curByte) & 0xFF; tabVal = TAB_data[(tabNum * 2) + 1] << 8 | TAB_data[tabNum * 2]; byte upper = (byte)(iSeed >> 8); iSeed = tabVal ^ upper; } iSeed = ~iSeed & 0x0000FFFF; Console.WriteLine("Hexwise result: {0:x}", iSeed); Console.WriteLine("Bitwise result: {0}", Convert.ToString(iSeed, 2)); Console.ReadLine(); Here's the code for checksum validation. This is only up to the last step in Morfeo's example so it's not providing accurate results yet. When I get home from work, I'll debug Emerald and see exactly what it's doing with the checksum validation.
  13. I'm unable to reproduce any of your work. 1) I created a fresh Emerald save and activated Mystery Gift. 2) Using the provided Emerald Save on page 1, I moved 332 bytes from 0x2570 to 0x26bb over to my save. 3) Moved WonderCard checksum at 0x256C-0x256D over to my save. 4) Then I set 0x26C6 and 0x26C7 to 0xFF for Icon. 5) After that, I moved 1000 bytes from 0x28AC to 0x2C93 over to my save. 6) Moved Green Man Script checksum at 0x28A8-0x28A9 over to my save. 7) After injection, I opened and saved my save file with A-Save to repair the checksum. Loaded up my game and nothing changed. Then I just tried grabbing the whole chunk from 0x256C to 0x2FF3 and copying it over and still nothing....
  14. Did lostaddict explain to anyone how he resolved the checksum issue?
  15. Is there a single document with dumps of all the official events and the mystery gift checksum logic explained? I can whip up an injection application if someone can explain the manual process to me.
×
×
  • Create New...