GBA Auto Trainer Maker (GBAATM) v1.9.9.7.0.0.1

Changelog
------------------------------------------------------------------------------------
Changed the font to be easier to read on larger displays with larger dimensions.


Old releases
v1.9.9.7
------------------------------------------------------------------------------------
Fixed a bug that occurred when some of the found hooks weren't being used causing jumps to the wrong address == CRASH!
Fixed a bug where labeling was being treated as cheat codes with encrypted CB codes

v1.9.9.6
------------------------------------------------------------------------------------
Added to the hooking function to work around a small stack space (uses 0x203FFD8-0x203FFFF)

v1.9.9.5
------------------------------------------------------------------------------------
Fixed support for multiple activator code lines in the same code

v1.9.9.4.2
------------------------------------------------------------------------------------
Fixed a CHT import bug with Non-English labels -- Manually name the codes in English if you are going to be using a menu

v1.9.9.4.1
------------------------------------------------------------------------------------
Fixed a small bug that trashed a register (in Metroid Fusion music, other games possibly)

v1.9.9.4
------------------------------------------------------------------------------------
Added hook detection code added

v1.9.9.3
Changed the method used to hook into the game to a much better method that should prevent any register corruption
Set the default cycles back to 1 to avoid problematic RAM complications

v1.9.9.2
------------------------------------------------------------------------------------
Fixed a bug with some super (type 5) codes that resulted in memory corruption and/or crashes

v1.9.9.1
------------------------------------------------------------------------------------
Automatically pads with FF to the next 16byte offset to avoid problems with erroneous trimming in other software

v1.9.9
------------------------------------------------------------------------------------
Added an option for disabling VBLANK checks which caused the cheats to never be used on some emulators

Changed the default number of execution cycles to 30

v1.9.8.7
------------------------------------------------------------------------------------
The window is now resized automatically for lower res devices (less than 800x600)

v1.9.8.6
------------------------------------------------------------------------------------
Fixed type 5 codes

v1.9.8.5
------------------------------------------------------------------------------------
Fixed a bug with encrypted codes that caused crashes when using a conditonal (7/A/B/C/F) code

v1.9.8.4
------------------------------------------------------------------------------------
Added checks to avoid overwriting *bad* opcodes which would result in crashes or strange behavior

Fixed an offset bug that occurred with games =32M that don't have padding

Fixed a bug with conditional (7/A/B/C/F) codes when using values <=0xff

v1.9.8.3
------------------------------------------------------------------------------------
Fixed a bug with multiple hooks that caused the wrong address to be jumped to

Fixed a bug with VBlank check

v1.9.8.2
------------------------------------------------------------------------------------
Added hook detection code for Advance Wars (and possibly other games)

Fixed a bug with the CB/GSSP Super code (type 5)

v1.9.8.1
------------------------------------------------------------------------------------
Fixed a bug with grouped .CHT code importing

Added more code to prevent problems with malformed .CHTs

Improved the slomo function

v1.9.8
------------------------------------------------------------------------------------
Fixed a bug when a Mastercode is used that could have caused a crash or the first code or two wouldn't work

Added code for the key test functions for enable/disable, slowmo, and cheat joker commands to mask out the key interrupt control

Added a check for .CHT codes at patch time (for codes that are pasted in instead of opened from a file)

Made the cheat line buffer much bigger for long .CHT lines

Added more code to prevent problems with malformed .CHTs

v1.9.7.4
------------------------------------------------------------------------------------
Fixed crashes caused by bad .CHT formatted codes

Made code buffers larger (mostly needed for .CHT format)

Added autodetection of games that will be too large -- Games >32MB are trimmed so that they are exactly 32MB after patching

v1.9.7.3
------------------------------------------------------------------------------------
Added code to force a comma instead of a colon in .CHT codes

Added code for byte runs that was overlooked before (ex: ON=41150,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,F)

v1.9.7.2
------------------------------------------------------------------------------------
Added support for converting codes with multiple modifiers (ex: Mario is always small, big, Cape Mario, Fire Mario)

Fixed a bug with a case insensitive search (only used by .CHT conversion and probably didn't even matter)

v1.9.7.1
------------------------------------------------------------------------------------
Fixed .CHT importing with codes that are 4XXXX,YY (codes that point to memory in 0x3000000+)

Ignores .CHT code type "OFF="

Fixed .CHT importing bug that caused a crash if "[GameInfo]" was not found

Fixed the bug that cut off one character at the end of cheat descriptions in the trainer menu

v1.9.7
------------------------------------------------------------------------------------
Added importing from .CHT (EmuCheat) format codes that converts them to Codebreaker codes

v1.9.6
Changelog
------------------------------------------------------------------------------------
Fixed a bug with CB slide codes (type 4) being ignored

v1.9.5
------------------------------------------------------------------------------------
Made the hooking method smarter to avoid destroying registers that are needed (and causing a crash/hang)

v1.9.4
------------------------------------------------------------------------------------
Changed the register used to jump with to r14 (hopefully it won't cause problems)

v1.9.3
------------------------------------------------------------------------------------
Added another hook type to support more games (or at least Sigma Star Saga)

v1.9.2
------------------------------------------------------------------------------------
Fixed a bug with 'D' codes (keypress joker)

Now ignores partial (m)aster/enable codes

v1.9.1
------------------------------------------------------------------------------------
Fixed a bug with the formatting of decrypted codes

Fixed a bug with slide codes

Fixed some bugs with the text parsing

v1.9
------------------------------------------------------------------------------------
Fixed a bug occuring with cheat codes in the GSSP format (12 characters with no spaces per line)

Fixed a bug when the CB/GSSP Mastercode contains more than just the first line (decryption key)

v1.8.2
------------------------------------------------------------------------------------
Added support in DEADBEEF and menu functions for games that use nonstandard start addresses

v1.8.1
------------------------------------------------------------------------------------
Expanded the binary buffers to prevent crashing on a large amount of codes

v1.8
------------------------------------------------------------------------------------
Changed the hook method to prevent lockups caused by the wrong return address getting pushed onto the stack

Fixed a problem with short labels causing a memory leak

Fixed a problem with multiple returns/non-code lines (labels without a code) at the end of code list

Cheat text in the menu now gets forced to 24 characters per line

v1.7
------------------------------------------------------------------------------------
Fixed the oversight of the enable/mastercode getting added to the trainer menu

Added DEADBEEF padding to aid in finding a free area of RAM for the trainer menu, slowmo, etc

Added the ability to change the RAM to use to anything in the 0x3000000-0x3007FFF area

v1.6
------------------------------------------------------------------------------------
Added support for finding atypical IRQ functions

Changed the hook style to support dynamic IRQs

v1.5
------------------------------------------------------------------------------------
Trainer menu option added

Fixed a bug with RAW codes that made them not work properly

Fixed a bug with the cheat parsing that made some codes get removed erroneously

v1.0
------------------------------------------------------------------------------------
Initial public release

Supports all encrypted and unencrypted Codebreaker Advance/Gameshark v3 (NOT v1 or v2) codes

Supports RAW (VBA) codes

Patching options: Trainer, Slow Motion, Enable/Disable

Settings: Execution counter, RAM to use (needed for Slow Motion, Enable/Disable, Execution counter - not needed for Trainer)
