AceKard All-In-One (AK-AIO) v1.4.1
----------------------------------

Credits
-------
AKAIO:
By Normmatt (http://normmatt.com), normmatt234 \AT/ gmail \DOT/ com
By Smiths of Emuholic (http://www.emuholic.com), smiths \AT/ emuholic \DOT/ com
By gelu (http://code.google.com/p/acekard-3in1/)

Based off of AKBBS' source contributions from the above and following authors:
Moogle
bliss (http://bliss.hanirc.org/blog)
kzat3 (http://kzat3.cocolog-nifty.com/blog/)

Special Thanks:
bd2rae (http://bbs.yyjoy.com/thread-45884-1-1.html)

What is This?
--------------
AKBBS has been usurped thanks to amazing efforts of Normmatt in merging firmwares!
AK-AIO is custom system software for *BOTH* the AceKard RPG and AK2 (and preliminary AK+ support), using all the features from the latest release of AKBBS(1.99) as a base. One file, two cards... with hopefully a third fully supported soon enough.

Base features
-------------
For those unfamiliar with all the additions the AKBBS (now AIO) software has in comparison to the stock firmware, here's a sampling of the bigger changes:

* Cheat Improvements - R4/XML Cheat File processing, online updating
* Plug-ins for TXT/MP3/etc.
* "Future Adaptable" Multi-loader support (AK2)
* Multiple Save Slots per title - with copying between slots
* Slot-2 Integration - EZ3in1 (w/GBA Patching) and older FlashAdvance Pro carts
* Shortcut tweaks
* Multi-page Start Menu
* Filetype-based external icon support
* Per-Rom settings for soft-reset/download play/cheats
* Copying/Cutting/Deleting SAV files along with NDS files
* Several improvements to 2byte language support
* SAV backup/restore from within GUI (.SAV<->.BAK)
* Wifi updating of Cheat Database and Loaders

Version History
---------------
AK-AIO 1.4.1
NOTE: It's recommended you delete your optionlist.bin file in the __aio folder when updating to this release as the file structure has changed.
+ Soft reset Improvements.
+ Fixed corrupt Language files (Italian, German and Japanese).
+ Added missing font needed for chinese.
+ Added setting for Hide Extensions to the settings window.
+ Fix optionlist.bin corruption.
+ Spin boxes wrap around.
+ Game Fixes (Quicksave Mode):
  - Princess Maker 4
  - Club House Games
  - Mario and Luigi RPG 3
  - Rune Factory A Fantasy Harvest Moon
  - Animal Crossing (Currently cannot be run in this mode, force usage of DMA mode).
  - Hidamari Sketch Dokodemo Sugoroku x 365
+ Game Fixes:
  - Grand Theft Auto Chinatown Wars (U) Thanks gelu.
  - Mario and Luigi RPG 3 (J) (new patch, thanks gelu).
  - Layton 3 (J) (new patch, thanks gelu).
  - Animal Crossing
+ Updated French language (jp33).
+ Fix backlight always enabled on DS Phat.
+ Fix the Per-File icon problem if you have similar games (e.g. - Golden Sun.gba and Golden Sun 2.gba)
  - In blissland, GOLDEN~1 is the same as GOLDEN~5
+ Wifi Updater has lots of fixes relating to GBATemp's new, crappy, server and its timeouts
  - We appreciate the hosting, but seriously... everything needed to be rewritten to adapt to the crap speeds
NOTE: DMA-Save mode is now default so DMA mode (red loading text) is now enabled by holding X during loading.

AK-AIO 1.4
+ Settings window uses tabs now, merging Settings, Advanced Settings, and Patches options (Thanks Gelu)
  - Use L/R to cycle through tabs
+ Misc cleanup of the gui.
+ 3in1 options now have FAS1 settings merged (detects 3in1/FA at selection, displays options accordingly)
+ Language files have some addition "title" additions/changes
+ Leapyear code fixed because the DS sucks at reporting variables nicely.
+ Updated German language (moviecut).
+ Reset more of arm7 before runing a game (Thanks Gelu).
+ 3in1+ Fix for Opera (Untested, Thanks cory1492).
+ Game fixes:
  - 3369 Mario and Luigi RPG 3 (J) fixed.

AK-AIO 1.3.5 (Unreleased)
+ Game fixes:
  - 0645/0777 Star Trek Tactical Assault
  - General save fixes. (Thanks Gelu for noticing a silly bug).
+ New Patching Mode hold X while launching a rom.
  - Fixes video and sound glitches which occur in old patching modes.
  - NOTE: This is still experiental so it isn't default.
+ Folders now show their size in the Info window.
+ Soft Reset fixes.

AK-AIO 1.3.1 (Unreleased)
+ Game fixes:
  - 1752/2314 My Spanish Coach fixed.
  - 2243/2412 Pokemon Mystery Dungeon Explorers of Darkness fixed.
  - 2385 Daigasso Band Brothers DX fixed.
  - 2906/2971 Star Wars The Clone Wars Jedi Alliance fixed.
+ Unnecessary Guru Meditation screens on the AKRPG is fixed.
+ Soft Reset fixes.
+ Copying files should work better.
+ Game icons that rely on the nds firmware's background will display properly (Thanks Gelu).
+ Misc cleanup.

AK-AIO 1.3
+ AK2i support (options that could potentially harm AK2i are disabled)
+ Loaders are now external and can be updated separately to the GUI.
  - Updated Wirelessly! (choose Loader Update in Wifi Update option of Start Menu)
  - Small changelog, download, update all possible
  - Loaders only updated for card being used (e.g. - AK2 users only download ak2loader)
  - Resume supported
  - Many loaders are beta, know this and shut up
  - Manual download page @ http://akaio.gbatemp.net/loaders/
+ Wifi Cheat Update has resume support!
  - Prompts after confirming you wish to "Try Again"
+ Files are now sorted alphabetically (Forced at the moment, sorry).
+ Added Some of Gelu's patches:
  - Faster Directory Listing.
  - New List mode - Internal nds names.
  - Lots of Soft Reset Fixes for the AKRPG.
  - new DMA mode and BBDX save fix for the AKRPG.
  - font system (fully supports unicode now :D).
  - New FIFO IPC System (Behind the scenes stuff).
  - Massive amount of soft reset fixes mainly for the AKRPG.
  - Game fixes (Brain Age 2 (K), Chrono Trigger (U/J),...).
  - Added a few game related fixes (Think Kids, Tropix, Bleach 2).
  NOTE: because of new font system, language files now need to be utf8. Some have been converted such as English and Japanese but others will need to be saved as utf8 to work properly.
+ Japanese games now show Japanese characters in rom info window when language isnt set to Japanese
+ Added a few game related fixes (Yoshi's Island, Star Trek, NSMB).
+ Files are now sorted alphabetically (Forced at the moment, sorry).
+ Pokemon Diamond/Pearl/Platinum can now read saves for R/S/E/FR/LG from ewin and 3in1 (AK2 Only for now).
+ Cheat engine fixes. (AK2 and AKRPG only for now).
+ Optimizations all round (Shouldn't have any lag in GUI anymore, also shouldn't experience any lag while saving).
+ Italian language added, language updates for English
+ New 3in1 options window.
+ Show GBA internal name in Internal view mode.
+ 3in1 internal GBA rom header stuff and work on Save/Load prompts in 3in1 options window.
  - Enable/Disable saving 3in1 SRAM on startup (Enabled by default)
  - Enable/Disable prompting before saving/loading SAV<->SRAM (recommended!)
  - Enable/Disable the Universal Sleep Hack for GBA games
  - Blank NOR button added for quick erase
  - Dump SRAM button will manually dump the SRAM to a timestamped .sav file in the root
  - 3in1+ support (untested, but routines and discovery are in, Opera and Rumble sources not available yet)
  - Thanks to all donators!
+ Fixed some issues with the cheat window.
  - Folders that only allow one cheat selected now function properly
  - Separate icon for skinners for single-select folders (see included skins)
+ Animal Crossing cheats on AK2. (Use the v1.1 rom as v1.0 will not work anymore).
+ Unicode font loads on a per-ROM basis
  - Default font is "kochi-mincho-subst.pcf" in /__aio/fonts directory, old unicode font removed (was 2x the size)
  - Skinners may add their own custom font to their ui's directory
  - New line in uisettings.ini "customUnicodeFont = xxxxxx.pcf" will load that font instead of default
+ Ability to hide extensions by manually adding "hideExtension = 1" to globalsettings.ini
+ DMA mode on AK2 (Hold A while loading a game to use non-DMA mode: Red text = DMA / Blue text = non-DMA).
+ New Super Mario Brothers Minigames on AK2: If they don't work, set Download Play to "Disabled" and boot in non-DMA mode (hold down A while loading)
+ Misc bug fixes (Too many to list).

AK-AIO 1.2
+ New AKRPG/AK2 Detection Routine which has proven to be much better
+ Cheat Update functions run from plugin, giving full memory access to it and allowing updates without full AKAIO updates
  - Can choose to download USRCHEAT.DAT or CHEATS.XML and whether or not to display "Whats New" before launching
  - Should be much more stable, perhaps a teeny bit faster
  - Third option in "which cheat file to download" box displays the setting window at plugin launch, can be used for future expansion
+ Uses gelu's latest fixes for BBDX on the RPG (only works from MicroSD) - excellent work, gelu!
  - Also has some other fixes gelu's put in for 3in1 NOR erasing, etc.
  - gelu = the AKRPG master.
+ Preliminary AK+ Support. Very preliminary. As in, no help offered but know it's still being worked on (See: AK+ SUPPORT)
+ New Experimental Cheat engine for AK2 and AKRPG, please report any bugs
+ EZIV compatiblity fixed without need for special line in globalsettings.ini
+ Scrolling Non-unicode Cheats/Notes, toggle in Advanced Options (default: on)
  - Can also call cheat window in ROM Properties with SELECT (if button is visible)
+ Simple Internal Text Reader
  - System Settings -> TXT Viewer
  - Parses text, add bookmarks with X, scroll between bookmarks with L/R Buttons
  - Not as fast as native TXT plugin due to pre-processing of text files, perhaps if we had the TXT Plugin source things could be done, but that would make sense.
+ Per ROM rumble settings, ROM Options window
+ Listview mode remembered
+ 3in1 Support should be fixed, with thanks to cory1492 for testing
+ GBA Frame issue with Slot-2 booting from main list fixed
+ Asian languages should be better supported, since we're compiling the menu with DevKitARM 21
+ Variable Height Scrollbars and clickable arrows in cheat window/internal TXT viewer. 3 new BMPs for skinning: scrollbar_t.bmp/scrollbar_m.bmp/scrollbar_b.bmp
+ Super awesome hidden poweroff button in help window, add your own "poweroff.bmp" to "__aio" for fun


AK-AIO 1.1
+ USRCHEAT.DAT wifi updating support from within shell
  - Connects to Narin's GBATemp site, displays WhatsNew.txt, downloads, unzips, replaces in one step
  - UpdateDB option in Start Menu -> More -> UpdateDB
  - zlib thanks to GPF (http://gpf.dcemu.co.uk/)
  - Download speed limited by DS routine IPStack
+ (AK2) Alternate loader support, place loader(s) in "__aio/ak2loader/"
  - ROM options window, select the AK2 loader to use to launch ROM
  - Compatible with AceKard official loaders
+ (RPG) uses gelu's latest 4.09e13 softreset routines
  - Updated 3in1 routines to all of gelu's latest
+ Fixed Dragon Quest 5 (AK2/AKRPG)
  - Can now get off the ship and save file wont be rolled back
+ Can change save file extension (.nds.sav or .sav)
  - Extension conversion: .SAV file Info Window, press "Save Ext." button
  - Will convert all Save Slot SAV files as well
+ Scans for cheats on ROM Info Window (.DAT only), if exist "Cheat" button displays
+ Per file icon support (32x32x15bpp)
  - place BMP with same name in same dir as file (eg: nesDS.bmp for nesDS.nds)
+ (Source) Variable spinbox width/General cheatlist cleanups/Scrolling Messageboxes
+ (Source) Minor changes to the cheat window
+ Fixed save size problems
  - Shouldn't have any more problems with save sizes
+ Misc Skinning fixes
  - Fixed problem with Adv.Evo skin
  - Form titles moved up 1 pixel
+ SAV<->BAK routines now use native AK functions

AK-AIO 1.0
+ Runs on both AK2 and AKRPG
+ Uses gelu's latest AKRPG rom loader
+ Uses latest AK2 4.07a16 rom loader
+ Contains everything from AKBBS1.99
+ Future support for larger than 4mbit save types (only supports 64mbit at the moment)
+ Applied Bliss' AR Engine fixes to the AKRPG
+ Hopefully fixed most of the soft reset issues with the AKRPG

Special Notes
-------------
Seeing as this release has experimental support for saves ranging all then way up to 128mbit, please err on the side of caution and backup your saves before using this firmware.
The "__RPG" and "__AK2" directory is now simply called "__AIO"
Existing users should make sure to rename their system directory, and update globalsettings.ini to reflect the new hidden directory.

AK+ SUPPORT
---------
AK+ support is very experimental. It has been reported you need to download the software from the following URL:
http://www.acekard.com/download/ak+/akmenu_4.07_for_akplus.zip
and extract the "akmenu2_fat.nds" to the root of your SD card to even attempt to get things to load.
AK+ support is constantly being worked on, but know it's not really "supported" yet.

Known Bugs
----------
Plugins have not been fully tested on both cards. Potentially could be broken.
Detection routine sometimes has problems with some SDHC cards (Detects AK2 as RPG). With no SDHC cards to test, we're working blind on fixing this
Sometimes, some games on an RPG (Mario Kart, Final Fantasy) have errors in detection in the latest USRCheat.DAT files.  This should be fixed since we're compiling with an older DevkitARM, but just in case, you can change what the downloader downloads (usrcheat.dat/cheats.xml) before running the plugin.

ToDo
----
* Keep working on Acekard+ support
* Fix any bugs that crop up

Also
----
Cheats included are from Rayder's awesome compilation at GBATemp, now maintained by Narin, and are current as of the date of this release.
For the most up-to-date files, check GBATemp's release site (http://cheats.gbatemp.net/), either via PC or by using the "UpdateDB" option in the start menu.
