Guides:Mail Writer C (JP): Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 3:
The Mail writer is an arbitrary code execution program that allows the user to quickly and accurately write and execute arbitrary code payloads of up to a maximum size of 428 bytes. Payloads are written from wOtPartyCount onward, where enemy trainer's parties are usually buffered.
 
This guide is applicable to the Japanese versions of Crystal only. It is part of the [[Guides:TimoVM's_gen_2_ACE_setups|TimoVM's genGen 2 ACE setups]] set of guides.
 
'''Using the Mail writer requires an ACE setup, like the [[User:TimoVM/TMless 0x1500 ACE (JP)|one described here]], that redirects execution to the start of box names.'''
 
If you encounter any issues when going through this guide or would like to provide feedback, please contact TimoVM on the [https://discord.gg/EA7jxJ6 Glitch City Research Institute Discord].
 
=Verifying that the Mail Writer is correctly installed=
 
In the [[User:TimoVM/TMless 0x1500 ACE (JP)|previous guide]], you should've already executed 0x1500 ACE and installed the RAM writer. If this was performed correctly, you should be able to see the following:
* The first item in the main item pocket has changed to a TM15.
* Your box name list should have been changed to fit the following:
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
|
[[File:Box Japanese C After Setup.png]]
|}
 
'''If this is the case, you can now simply use TM15 at any time to start up the Mail Writer, regardless of your location or the pokémon in your party.'''
 
If the setup either wasn't successful or the Mail Writer doesn't properly work anymore, you can find instructions on how to (re)preform the setup within the addendum at the bottom of the page.
 
=How the mail writer works=
Line 17 ⟶ 31:
* If the player has chosen to write a new mail, the Mail writer will open a new mail entry screen. The new mail is then also converted into a 16 byte lond line of code and placed right after the code written by the previous mail(s), allowing the player to write arbitrarily long payloads.
 
=Using the Mail writer=
=Installation=
 
The mail writer will open a screen that asks you to write the contents of a mail. This is where you'll need to enter mail codes. Once done, use the "END" option to finish the mail.
For the Japanese versions of Crystal, the mail writer can easily be installed as a set of box name codes and a new mail.
 
This will cause the mail writer to convert the newly written code into assembly. It will also '''print a checksum''' (sum of all written values) on the lower left corner of the screen. This can be used to verify if a code was entered correctly.
 
Assembly can easily be converted to mail codes using [https://scotteh.me/ace/mail/ Scotteh's mail writer tool]. Simply paste the assembly of the code you wish to enter here, press "run" and the converter will automatically generate mail codes requiring the least amount of button presses to write. A list of ready-to-use codes will be provided at the end of the guide.
 
Assembly can easily be converted to mail codes using [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]. Simply paste the assembly of the code you wish to enter here, press "run" and the converter will automatically generate mail codes requiring the least amount of button presses to write.
 
==Controls==
 
Between entering mail codes, the mail writer will ask for user input.
* '''Press A''' to open a new mail and continue writing data.
* '''Press B''' to immediately jump to and start executing the newly written program. '''Only use this when you've finished every mail.'''
* '''Press any other button''' to go back one byte at a time to correct errors. '''If the printed checksum doesn't match the expected checksum, press DOWN 16 times to retry the last mail.''' This will also overwrite the printed checksum with the value at the currently selected address, giving you a method to check how far back you're going.
 
'''Due to space limitations, it is not possible to exit the Mail Writer without executing the newly written code. If you accidentally start the Mail Writer, you can safely exit by writing a mail with the contents "セス" and execute it.'''
 
=What to do with the Mail writer=
 
The Mail writer allows you to easily write and execute arbitrary payloads. Aside from writing your own codes, we recommend the following:
* [[User:TimoVM/Mail Writer Codes|Mail codes]]: this page contains a collection of assembly for mail codes that can be used for a variety of common purposes such as editing pokémon, obtaining items, etc..
* [[User:TimoVM/RAM Writer|RAM writer]]: (recommended for more experienced users) this page contains the assembly for a large one-size-fits all program that allows you to edit any value in RAM with a user-friendly GUI. It will also fix the side effects of the ACE setup when you first run it.
 
=Addendum: repairing the Mail Writer=
 
If anything happens that causes the Mail Writer to no longer function correctly, you will need to perform the setup once more. You can do this by following the process described here:
 
==Preparation==
Line 38 ⟶ 77:
[[File:Box Japanese C Setup.png]]
|}
 
==Using 0x1500 Control Code ACE==
 
Line 56 ⟶ 96:
 
'''From this point onward you can simply use TM15 at any time, regardless of what party pokémon you have, to use the Mail writer.'''
 
=Using the Mail writer=
 
The mail writer will open a screen that asks you to write the contents of a mail. This is where you'll need to enter mail codes. Once done, use the "END" option to finish the mail.
 
This will cause the mail writer to convert the newly written code into assembly. It will also '''print a checksum''' (sum of all written values) on the lower left corner of the screen. This can be used to verify if a code was entered correctly.
 
Assembly can easily be converted to mail codes using [https://scotteh.me/ace/mail/ Scotteh's mail writer tool]. Simply paste the assembly of the code you wish to enter here, press "run" and the converter will automatically generate mail codes requiring the least amount of button presses to write. A list of ready-to-use codes will be provided at the end of the guide.
 
Assembly can easily be converted to mail codes using [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]. Simply paste the assembly of the code you wish to enter here, press "run" and the converter will automatically generate mail codes requiring the least amount of button presses to write.
 
==Controls==
 
Between entering mail codes, the mail writer will ask for user input.
* '''Press A''' to open a new mail and continue writing data.
* '''Press B''' to immediately jump to and start executing the newly written program. '''Only use this when you've finished every mail.'''
* '''Press any other button''' to go back one byte at a time to correct errors. '''If the printed checksum doesn't match the expected checksum, press DOWN 16 times to retry the last mail.''' This will also overwrite the printed checksum with the value at the currently selected address, giving you a method to check how far back you're going.
 
=What to do with the Mail writer=
 
The Mail writer allows you to easily write and execute arbitrary payloads. Aside from writing your own codes, we recommend the following:
* [[User:TimoVM/Mail Writer Codes|Mail codes]]: this page contains a collection of assembly for mail codes that can be used for a variety of common purposes such as editing pokémon, obtaining items, etc..
* [[User:TimoVM/RAM Writer|RAM writer]]: (recommended for more experienced users) this page contains the assembly for a large one-size-fits all program that allows you to edit any value in RAM with a user-friendly GUI. It will also fix the side effects of the ACE setup when you first run it.
 
=Appendix: in-depth explanation of the setup=
1,540

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu