From WikiTemp, the GBAtemp wiki
m (Third-Party)
(Add EZ-Flash category and nav box)
 
(100 intermediate revisions by 35 users not shown)
Line 1: Line 1:
 
AKA: 3-in-1, 3 in 1, EZ Expansion Pack, EZ-Flash 3-in-1, EZ-Flash 3 in 1, Expansion Pack <BR />
 
AKA: 3-in-1, 3 in 1, EZ Expansion Pack, EZ-Flash 3-in-1, EZ-Flash 3 in 1, Expansion Pack <BR />
 
Manufactured by: [http://www.ezflash.cn EZ-Flash]  
 
Manufactured by: [http://www.ezflash.cn EZ-Flash]  
[[Image:3in1-1.jpg|375px|3 in 1 Expansion Pack|right]]
+
[[Image:3in1-1.jpg|350px|3 in 1 Expansion Pack (Only for DS Lite)|right]]
 +
[[Image:EZ-Flash_3in1_gba_sized.jpg|350px|3 in 1 Expansion Pack (GBA Cartridge Sized)|right]]
  
  
 
== Variants ==
 
== Variants ==
*3 in 1 Expansion Pack for EZ-Flash V for DS Lite (White or Black)
+
*3in1 Expansion Pack for EZ-Flash V for DS Lite (White or Black; there are 3 known board revisions)
*3 in 1 Expansion Pack for EZ-Flash V for DS (AKA DS "Phat" Version or GBA Size)
+
*3in1 Expansion Pack for EZ-Flash V for DS (AKA DS "Phat" Version or GBA Size)
 +
 
 +
 
 +
*Notes:
 +
1st board version ended due to chip supply issues.
 +
 
 +
2nd board version ended due to planned upgrade of NOR capacity.
 +
 
 +
3rd board version of the 3in1 has 512Mbit (64MB capacity) NOR and 128Mbit (16MB) PSRAM.
 +
 
 +
 
 +
*Typo Notes:
 +
The EZ-Team do not use spaces in the name '''3in1''' and is shown as one word.  Other reseller sites used a typo spelling where spaces or dashes where introduced in the name and has come out as '''3 in 1''' or '''3-in-1''' due to the text printed on the box to be formated justified, causing spaces.  Referenced to the correct spelling can be seen on the EZ-Flash product page [http://www.ezflash.cn/products.htm here].
  
 
== General ==
 
== General ==
Line 15: Line 28:
 
== Hardware Features ==
 
== Hardware Features ==
  
* 256 Mb (32 MB) of NOR Flash Memory. This type memory is able to retain data without requiring an uninterrupted current. Overall, it takes a few minutes to write data to it. One typical use includes copying over a GBA ROM, therefore allowing the 3 in 1 to act like real GBA cartridge.
+
* 256 Mb (32 MB) of NOR Flash Memory(512 Mb/64 MB on the third revision). This type of memory is able to retain data without requiring uninterrupted power. Depending on data size, writing may take up to several minutes. One typical use includes copying over a GBA ROM, thereby allowing the 3-in-1 to act like a real GBA cartridge.
* 128 Mb (16 MB) of PSRAM. This memory does not retain data when the power is turned off, but it can be write speeds are much faster than NOR write speeds.
+
* 128 Mb (16 MB) of PSRAM. This memory does not retain data when the power is turned off. However it can be written at speeds much faster than NOR memory.
* 4 Mb (512 KB) of battery powered SRAM. The battery is necessary to retain data.
+
* 4 Mb (512 KB) of battery backed SRAM for save data. The battery is necessary to retain data.
 
* Programmable embedded "rumble pak" (haptic feedback) device
 
* Programmable embedded "rumble pak" (haptic feedback) device
  
Line 28: Line 41:
 
#* Extra RAM necessary for programs like DS Opera Web Browser loaded from Slot-1 device.
 
#* Extra RAM necessary for programs like DS Opera Web Browser loaded from Slot-1 device.
 
# Rumble function:  
 
# Rumble function:  
#* Works with all official rumble enabled NDS games and homebrew stored in Slot-1 device.
+
#* Works with all official rumble enabled NDS games and homebrew loaded from Slot-1 device.
 
#* Rumble can be set to three levels of intensity.
 
#* Rumble can be set to three levels of intensity.
  
 
=== Third-Party ===
 
=== Third-Party ===
The source code necessary to utilize the key features of the expansion pack is readily available to developers. There have already been many successful solutions for third-party slot-1 carts. Currently, the most popular homebrew software utilize the hardware features for their officially intended uses. Additionally, due to the relatively unspecialized nature of the hardware, many creative uses have already started by homebrew developers.
+
The source code necessary to utilize the key hardware features of the expansion pack is readily available to developers. There have already been many successful solutions for third-party slot-1 carts. There are many practical and creative projects openly available in the homebrew scene.
<!-- Should make a table instead -->
+
{| class="wikitable"
*[http://ezflash.sosuke.com/viewtopic.php?t=4749 GBALdr by Cory1492] - A homebrew application run from the DS that will load games directly to NOR memory, load/save .sav files, and can auto-backup the save data currently on the cart when loading a new game.  Due to the fact that it only loads games into NOR memory, it can be painfully slow, taking up to 5 minutes in some cases.   
+
|-
*[http://ezflash.sosuke.com/about5006.html 3in1 ExpPack Tool by Rudolph] - Another homebrew application that runs from the DS.  This is by far one of the best loaders available.  Just as with GBALdr, it can load games to the 3 in 1.  What makes it different than GBALdr is the fact that it can load all ROMS under 16MB directly to the PSRAM on the 3 in 1, making copy time less than a minute in nearly all cases.  Additionally, it can load games to NOR memory if they exceed 16MB.  Two other features that I find to be unique to this tool is the ability to turn the Rumble Pack on and off (for supported DS games) and the ability to switch the cart over to an Expansion Pack for use with the Opera Browser.
+
! Name & Link
*[http://ezflash.sosuke.com/about6317.html NDStation by chuckstudios] - A very interesting approach to loading ROMs on the 3 in 1.  Rather than having a homebrew running on the DS transfer the ROM to the 3 in 1, chuckstudios developed a Windows program (later ported to Linux by dg10050) that packaged the GBA ROM in an .NDS file.  This packaged file, when launched from a Slot 1 card, would backup any existing save on the 3 in 1 and load the ROM onto it.  The aim of the project is to give things a more integrated and unified feel with your Slot 1 cart. Additionally, you can customize the icon of the .nds file, alternatively load the game into the PSRAM, compress the ROM, and include a custom GBA border.
+
! Author
*[http://www009.upp.so-net.ne.jp/rudolph/nds/NDS_Backup/ NDS Backup Tool 3in1 by Rudolph] - Utilizes the NOR Flash Memory and SRAM. This homebrew application can send or backup save information in an original DS game cartridge. Furthermore, NDS Backup Tool 3in1 can backup original carts as ROMs. DS cartridges that contain more than 256 Mb (32MB) of data are compatible with this tool. The software is sophisticated enough to copy data in 256 Mb chunks and then rejoin them later in the slot-1 cartridge memory.
+
! Program Type
 +
! Brief Summary
 +
|-
 +
| [http://ezflash.sosuke.com/viewtopic.php?t=4262 Standalone Browser Patch]
 +
| Triforce, Cory1492
 +
| Patcher
 +
| Patches the DS Browser allowing automatic detection of the 3 in 1 PSRAM
 +
|-
 +
| [http://ezflash.sosuke.com/viewtopic.php?t=4767 Standalone Rumble Patch]
 +
| anonYmous
 +
| Patcher
 +
| Patching tool for DS ROMS that support rumble. This allows automatic detection of the rumble hardware, therefore not requiring any tool to turn on the rumble feature. This is a manual version of the automated patching done by the EZ-Flash V.
 +
|-
 +
| [http://ezflash.sosuke.com/viewtopic.php?t=4749 GBALdr]
 +
| Cory1492
 +
| GBA ROM Loader
 +
| A homebrew application run from the DS that will load games directly to NOR memory, load/save .sav files, and can auto-backup the save data currently on the cart when loading a new game.  Due to the fact that it only loads games into NOR memory, it can be painfully slow, taking up to 5 minutes in some cases.  Cory1492 has recently updated the GBALdr program to fix the problems detecting and running GBA games with newer 3in1 cards which have different hardware components to earlier versions.  Full details of the updated GBALdr can be found [http://nds.cmamod.com/2008/01/27/gbaldr-3in1-01-final-hw-abstraction-update/ here].
 +
|-
 +
| [http://ezflash.sosuke.com/about5006.html 3in1 ExpPack Tool] (Succeeded by GBA ExpLoader)
 +
| Rudolph
 +
| GBA ROM Loader / Hardware Enabling
 +
| Another homebrew application that runs from the DS.  This is by far one of the best loaders available.  Just as with GBALdr, it can load games to the 3 in 1.  What makes it different than GBALdr is the fact that it can load all ROMS under 16MB directly to the PSRAM on the 3 in 1, making copy time less than a minute in nearly all cases.  Additionally, it can load games to NOR memory if they exceed 16MB.  Two other features that I find to be unique to this tool is the ability to turn the Rumble Pack on and off (for supported DS games) and the ability to switch the cart over to an Expansion Pack for use with the Opera Browser. Rudolph recently updated the 3in1 ExpPack software and renamed it to GBA ExpLoader. Compatible with the first chip set. The latest version can be downloaded from [http://blog.so-net.ne.jp/Rudolph/ here]
 +
|-
 +
| [http://kotei.blog.so-net.ne.jp/ GBA ExpLoader] (Successor to 3in1 ExpPack Tool by Rudolph)
 +
| Rudolph
 +
| GBA ROM Loader and Patcher / Hardware Enabling
 +
| Rewrite of the 3in1 ExpPack Tool allowing expanded compatibility with not only the succeeding 3in1 chip set, but also other [[:Category:NDS Slot-2 Carts|slot-2 carts]]. Differences from 3in1 ExpPack Tool: automatic GBA ROM file patching, multiple save mechanism, and extended compatibility with specific save types (for example, ROM 1386 - Famicom Mini Vol 5 Zelda no Densetsu, save type EEPROM_124).
 +
|-
 +
| [http://gbatemp.net/index.php?download=2775 NDS Backup Tool 3in1]
 +
| Rudolph
 +
| Backup Tool
 +
| Utilizes the NOR Flash Memory and SRAM. This homebrew application can send or backup save information stored an original DS game cartridge. Furthermore, NDS Backup Tool 3in1 can backup original carts as ROMs. DS cartridges that contain more than 256 Mb (32MB) of data are compatible with this tool. The software is sophisticated enough to copy data in 256 Mb chunks and then rejoin them later in the slot-1 cartridge memory. Compatible with both chip sets.
 +
|-
 +
| [http://ezflash.sosuke.com/about6317.html NDStation]
 +
| Chuckstudios
 +
| Patcher
 +
| A very interesting approach to loading ROMs on the 3 in 1.  Rather than having a homebrew running on the DS transfer the ROM to the 3 in 1, chuckstudios developed a Windows program (later ported to Linux by dg10050) that packaged the GBA ROM in an .NDS file.  This packaged file, when launched from a Slot 1 card, would backup any existing save on the 3 in 1 and load the ROM onto it.  The aim of the project is to give things a more integrated and unified feel with your Slot 1 cart. Additionally, one can customize the icon of the .nds file, alternatively load the game into the PSRAM, compress the ROM, and include a custom GBA border.
 +
|-
 +
| [http://www.cyclopsds.com/cgi-bin/cyclods/engine.pl?page=support CycloDS Evolution Firmware v1.2 and up]
 +
| Team Cyclops
 +
| Firmware
 +
| The [[CycloDS Evolution]] officially integrates rumble for Nintendo DS games, memory expansion for Opera Browser without any additional ROM patching, and GBA-NDS linking.
 +
|-
 +
| [http://ezflash.sosuke.com/viewtopic.php?t=5342&start=0 Pokepatch for EZ3in1]
 +
| Cory1492
 +
| Patcher
 +
| Patches Pokémon DS versions Diamond and Pearl allowing DS-GBA linkage. The GBA game must be loaded into the NOR. Please read the linked discussion thoroughly.
 +
|-
 +
| [http://www.dslinux.org DSLinux]
 +
| [http://dslinux.org/cgi-bin/moin.cgi/ContactingDevelopers DSLinux Dev Team]
 +
| Operating System
 +
| Provides the Linux operating system more available RAM
 +
|-
 +
| [http://www.snemul.com/ds/ SNEmulDS]
 +
| Archeide
 +
| SNES Emulator
 +
| Provides additional RAM to emulator in order to improve large SNES ROM emulation
 +
|-
 +
| [http://lazyone.drunkencoders.com/wordpress/index.php Mini vMac Port]
 +
| Lazyone
 +
| Legacy Mac OS Emulator
 +
| Provides additional RAM
 +
|-
 +
| [http://lameboy.nutki.com Lameboy]
 +
| Nutki
 +
| Game Boy / Game Boy Color Emulator
 +
| Rumble is supported GB/GBC games
 +
|-
 +
| [http://quake.drunkencoders.com/ Quake 1 and Quake 2 for Nintendo DS]
 +
| Simon Hall
 +
| Quake 1 and Quake 2 Ports for the DS
 +
| Quake 1 uses the additional RAM as an optional enhancement. Quake 2 requires additional RAM from slot-2.
 +
|}
  
 
== Compatibility ==
 
== Compatibility ==
The current compatibility of the 3 in 1 with official games is practically complete. The official EZ-Flash V kernel software is capable of integrating of all the hardware features of the 3 in 1 Expansion Pack. The EZ-Flash team does not ensure hardware compatibility with other slot-1 devices. Compatibility with third-party slot-1 carts have been observed to be as good or better than official hardware and software compatibility.
+
The current compatibility of the 3 in 1 with official games is practically complete. The official EZ-Flash V kernel software is capable of integrating all hardware featured in the 3 in 1 Expansion Pack. The EZ-Flash team does not ensure hardware compatibility with other slot-1 devices. Compatibility with third-party slot-1 carts appear to be just as good.
  
In every case, GBA ROMs that originally use more than 1 Mbit of save space and/or are larger than 128 Mbit must be written to the NOR flash memory. Otherwise, they can be stored in the more volatile PSRAM. The NDS Browser requires additional patching for unofficial slot-1 carts. The rumble feature is currently only available for NDS games.
+
The 3 in 1 is compatible with GBA ROMs [[#When do I need to patch a GBA ROM in regards to the saving function?|properly patched]]. Optional ROM trimming is also available. GBA ROMs can be written to the PSRAM unless the ROM is larger than the 128 Mbit capacity and/or has a save type of 1 Mbit or larger. All GBA ROMs can be written into the 256 Mbit NOR flash memory. The NDS Browser requires additional patching and/or tools for unofficial slot-1 carts in order to recognize the PSRAM. The rumble feature is for NDS games and can be easily coded into homebrew. [[Lameboy]], a slot-1 Game Boy / Game Boy Color emulator, is an example of homebrew that is compatible with 3 in 1 rumble when properly enabled by either official or third-party software.
 +
 
 +
Homebrew applications can use the Expansion Pack as a memory expansion. For example, DSLinux-DLDI uses it to provide extra RAM for their linux port. SNEmulDS utilizes the extra RAM to improve large Nintendo SNES ROM emulation.
  
 
== Review ==
 
== Review ==
Line 71: Line 158:
  
 
==Initial Setup==
 
==Initial Setup==
The following are basic instructions on how to use the Expansion Pack. The open source nature of the 3 in 1 provides users many alternative methods.
+
'''Simply put, the most popular unified third-party program for GBA ROM Loading, RAM Expansion, and Rumble at this time is [http://kotei.blog.so-net.ne.jp/ GBA ExpLoader]. GBA ExpLoader automatically patches GBA ROMs during the ROM loading process.''' The following are fairly generalized instructions.
 
=== GBA ===
 
=== GBA ===
 
EZ-Flash V owners may follow the [http://ezflash.sosuke.com/wiki/index.php?title=EZFlash_V_quickstart_guide Official EZ-Flash V Quickstart Guide]. Other Slot-1 Carts will require a third-party solution.
 
EZ-Flash V owners may follow the [http://ezflash.sosuke.com/wiki/index.php?title=EZFlash_V_quickstart_guide Official EZ-Flash V Quickstart Guide]. Other Slot-1 Carts will require a third-party solution.
#One will need a [[#Third-Party Solutions|Third-Party Loader]] in order to load a GBA ROM from a DLDI compatible Slot 1 cart.
+
==== Automatic Patching Method ====
 +
Third-party applications have become more sophisticated allowing a more streamlined process of initial setup. This method of initial setup does not require manual patching of GBA ROMs.
 +
#One will need a [[#Third-Party|Third-Party Loader]] that supports automatic GBA ROM patching in order to load a GBA ROM from a DLDI compatible Slot 1 cart.
 +
#GBA ROMs can be [[GBAtemp_Glossary#T|trimmed]].
 +
#Once the GBA ROMs and the necessary files for the Third-Party Loader are copied over to the slot-1 memory card, follow the instructions of the homebrew loader accordingly. One typical step is [[DLDI]] patching of the loader, which is usually a file with a .nds extension.
 +
 
 +
==== Original Method ====
 +
The original method requires manual ROM patching. This can be used as a historical reference as third-party applications with automatic ROM patching become more mature.
 +
#One will need a [[#Third-Party|Third-Party Loader]] in order to load a GBA ROM from a DLDI compatible Slot 1 cart.
 +
#GBA ROMs can be [[GBAtemp_Glossary#T|trimmed]].
 
#GBA ROMs must be properly patched in order for the 3 in 1 to save to SRAM.  Two popular tools are known to do this:
 
#GBA ROMs must be properly patched in order for the 3 in 1 to save to SRAM.  Two popular tools are known to do this:
 
#*[http://gbatemp.net/index.php?download=224 GBATA] - GBATA is the most widely accepted tool to use when SRAM patching GBA ROMs.  All you need to do is load up the ROM (click the [...] button), click on the SRAM Patch tab, and click the Patch button.  If the button is grayed out, then the ROM does not need to be patched.
 
#*[http://gbatemp.net/index.php?download=224 GBATA] - GBATA is the most widely accepted tool to use when SRAM patching GBA ROMs.  All you need to do is load up the ROM (click the [...] button), click on the SRAM Patch tab, and click the Patch button.  If the button is grayed out, then the ROM does not need to be patched.
 
#*[http://www.sosuke.com/ezflash/viewtopic.php?t=719 EZ4 Client] - EZ4 Client is an alternative to GBATA.  While it performs a similar function as GBATA, several users have reported lost save files with roms patched with this program.  If you have a GBA ROM that uses a 1mbit save, you must use this program to patch it.
 
#*[http://www.sosuke.com/ezflash/viewtopic.php?t=719 EZ4 Client] - EZ4 Client is an alternative to GBATA.  While it performs a similar function as GBATA, several users have reported lost save files with roms patched with this program.  If you have a GBA ROM that uses a 1mbit save, you must use this program to patch it.
#Once the the GBA roms and the necessary files for the Third-Party Loader are copied over to the slot-1 memory card, follow the instructions of the homebrew loader accordingly
+
#Once the the GBA roms and the necessary files for the Third-Party Loader are copied over to the slot-1 memory card, follow the instructions of the homebrew loader accordingly. One typical step is [[DLDI]] patching of the loader, which is usually a file with a .nds extension.
 +
 
 +
=== Nintendo DS Browser ===
 +
The EZ-Flash V can open a clean Nintendo DS Browser ROM without any additional setup. Other Slot-1 Carts will require a third-party solution in order for the ROM to recognize the 3 in 1 PSRAM.
 +
 
 +
*One working third-party solution that enables other slot-1 carts to use the 3 in 1 with the Nintendo DS Browser ROM would be the GBA ExpLoader by Rudolph.
 +
#Patch the program [[DLDI]] accordingly.
 +
#Switch to the Rumble selection menu.
 +
#Select 'Expansion RAM'.
 +
#Start-up the DS Browser.
  
 
=== Rumble ===
 
=== Rumble ===
According to the Quickstart Guide and Official GBAtemp review, an updated save list is necessary in order to identify NDS ROMs that support rumble when used in conjunction with the EZ-Flash V. Other Slot-1 Carts will require a third-party solution. Rumble is compatible with any game that supports it.
+
According to the Quickstart Guide and Official GBAtemp review, an updated save list is necessary in order to identify NDS ROMs that support rumble when used in conjunction with the EZ-Flash V. Other Slot-1 Carts will require a third-party solution. Rumble is compatible with any NDS game or homebrew program that supports it.
  
*One working third-party solution that enables rumble in other slot-1 carts would be the 3in1 ExpPack Tool by Rudolph.
+
*One working third-party solution that enables rumble in other slot-1 carts would be the GBA ExpLoader by Rudolph.
 
#Patch the program [[DLDI]] accordingly.
 
#Patch the program [[DLDI]] accordingly.
 
#Switch to the Rumble selection menu.
 
#Switch to the Rumble selection menu.
 
#Select the intensity of rumble, and the tool will soft-reset.
 
#Select the intensity of rumble, and the tool will soft-reset.
#Start-up a DS game.
+
#Start-up a DS game or homebrew program.
 +
 
 +
*Due to the recent 3 in 1 expansion pack hardware revision, automatic rumble enabling for slot-1 carts, like EDGE and CycloDS, is broken. This is one workaround:
 +
#Patch one of the games with Standalone 3in1 rumble patcher, for example Metroid Prime Pinball (preferable US version)
 +
#Load the patched game once
 +
#Trigger soft-reset
 +
#Load a different game
  
 
==Frequently asked questions==
 
==Frequently asked questions==
  
 
===Where do I put my ROMs?===
 
===Where do I put my ROMs?===
 
+
Unlike a lot of Slot 2 solutions out there, the 3 in 1 does not have its own removable storage.  This is due to the fact that it was initially designed for use with the EZ-Flash V. ROMs are stored in a permanent fashion on the removable media or internal storage of your Slot 1 device.  Where they are put is determined by which solution you choose from the [[#Third-Party|third-party solutions]] list. A cool feature of the 3 in 1 is treating a GBA ROM loaded in the NOR like a GBA cartridge.
Unlike alot of Slot 2 solutions out there, the 3 in 1 does not have its own removable storage.  This is due to the fact that it was initially designed for use with the EZ-Flash V. ROMs are stored on the removable media or internal storage of your Slot 1 device.  Where they are put is determined by which solution you choose from the [[#Third-Party Solutions|third-party solutions]] list.
+
  
 
===Can the 3 in 1 only hold 1 GBA ROM at a time?===
 
===Can the 3 in 1 only hold 1 GBA ROM at a time?===
 
+
The 3 in 1 can only hold one ROM in its NOR, unless you are running an EZFlash V or V Plus with the 1.8x b2 loader.  Any time you want to play a game 16MB or less, you copy it over to the PSRAM on the cartridge using your loader of choice.  This is standard with all slot 2 cartridges.  Most slot 2s that have firmware (the ones with removable or internal storage have the loader built-in).  The only reason people think otherwise is because most Slot 2s have either removable or internal storage for ROMs, homebrew, etc, which the 3 in 1 does not.  Please read the [[#Initial Setup|initial setup]] section, it will give a more in-depth explanation.
The 3 in 1 can only hold one ROM in its PSRAM.  Any time you want to play a game 16MB or less, you flash it over to the PSRAM on the cartridge using your loader of choice.  This is standard with all slot 2 cartridges.  Most slot 2s that have firmware (the ones with removable or internal storage have the loader built-in).  The only reason people think otherwise is because most Slot 2s have either removable or internal storage for ROMs, homebrew, etc, which the 3 in 1 does not.  Please read the [[#Initial setup|initial setup]] section, it will explain everything perfectly.
+
  
 
===Whenever I load up a game, my save is gone!  What do I do?===
 
===Whenever I load up a game, my save is gone!  What do I do?===
First off, make sure you are SRAM patching your games using one of the two tools listed in the [[#Initial setup|initial setup]] section.  If you are already doing this, make sure you are loading games in either PSRAM or NOR, not both.  From what I have seen, most loaders want you to use one or the other for it to work correctly.  Check the help files of your loader for more information.
+
This kind of issue can only be resolved through troubleshooting. Does the GBA ROM require SRAM patching beforehand? If so, make sure you are SRAM patching your games using one of the two tools listed in the [[#Initial Setup|initial setup]] section.  If you are already doing this, make sure you are loading games in either PSRAM or NOR, not both.  From what I have seen, most loaders want you to use one or the other for it to work correctly. If you’ve tried everything else and your GBA roms still aren’t saving/loading properly then the problem may be that the battery (the thing inside the cartridge with yellow rubber coating) isn’t workingThe save feature will not work without the battery.  Try using GBAExploader, if it asks ”may I set this slot2 expansion pack for GBAExploader” every time you load it up then  the battery is definitely broken. You now have 2 options:
 +
 
 +
1) Get a new ezflash 3-in-1 and hope the battery in that one isn’t stuffed as well
 +
 
 +
2) Replace the battery yourself.  Here’s a good tutorial I’ve found http://gbatemp.net/index.php?showtopic=132872
 +
 
 +
Check the help files of your loader for more information (such as known bugs, proper ROM loading procedure, etc.).
  
 
===When do I need to patch a GBA ROM in regards to the saving function?===
 
===When do I need to patch a GBA ROM in regards to the saving function?===
Check to see if the ROM you are trying to patch isn't already using SRAM. Anything already using up to 512kbit (64KiB) SRAM to begin with shouldn't need to be patched at all. GBA games that originally used EEPROM or FLASH, and/or has over 512Kbit, will need to be patched. It has been suggested that 1024Kbit save types have to be patched with EZ4 client since GBATA has not implemented the concept of SRAM bankswitching. GBATA, for example, will not allow the file to be patched if unnecessary.
+
You will need to patch the ROM if your loader does not feature automatic patching. Furthermore, patching is only necessary if the ROM does not use SRAM for saving. Anything already using up to 512kbit (64KiB) SRAM to begin with shouldn't need to be patched at all. GBA games that originally used EEPROM or FLASH, and/or has over 512Kbit, will need to be patched. 1024Kbit save types have to be patched with EZ4 client since GBATA has not implemented the concept of SRAM bankswitching. GBATA, for example, will not allow the file to be patched if unnecessary.
 +
 
 +
== See Also ==
 +
* [[CycloDS Evolution]]
 +
* [[EZ-Flash II]]
 +
* [[EZ-Flash III]]
 +
* [[EZ-Flash IV]]
 +
* [[EZ-Flash V]]
 +
* [[R4 DS]]
 +
* [[M3 DS Simply]]
  
 
== Useful links ==  
 
== Useful links ==  
  
 +
=== Support ===
 
*[http://www.ezflash.cn Official EZ-Flash website]
 
*[http://www.ezflash.cn Official EZ-Flash website]
 
*[http://ezflash.sosuke.com Official English speaking EZ-Flash community/resource]
 
*[http://ezflash.sosuke.com Official English speaking EZ-Flash community/resource]
 +
*[http://www.monroeworld.com/myfaq/index.php?action=show&cat=8 Monroeworld FAQ on EZ 3-in-1]
 +
 +
=== Homebrew Development (Read thoroughly) ===
 +
*[http://ezflash.sosuke.com/viewtopic.php?t=4171 3 in 1 Sample Code in Action - PSRAM, NOR, Rumble]
 +
*[http://ezflash.sosuke.com/viewtopic.php?f=16&t=11939 New Source Code Notice by EZ Team in Regards to New Chipset]
 +
*[http://forum.gbadev.org/viewtopic.php?t=13023 RAM Unlocking API for Slot-2 Devices]
 +
 +
{{Nav/EZ-Flash}}
  
 +
[[Category:EZ-Flash]]
 
[[Category:NDS Slot-2 Carts]]
 
[[Category:NDS Slot-2 Carts]]
 
[[Category:GBA Flash Carts]]
 
[[Category:GBA Flash Carts]]
  
 
<!-- ders alweighs a more ta do, laddy! yarrrrr -->
 
<!-- ders alweighs a more ta do, laddy! yarrrrr -->

Latest revision as of 06:27, 7 May 2022

AKA: 3-in-1, 3 in 1, EZ Expansion Pack, EZ-Flash 3-in-1, EZ-Flash 3 in 1, Expansion Pack
Manufactured by: EZ-Flash

3 in 1 Expansion Pack (Only for DS Lite)
3 in 1 Expansion Pack (GBA Cartridge Sized)


Variants

  • 3in1 Expansion Pack for EZ-Flash V for DS Lite (White or Black; there are 3 known board revisions)
  • 3in1 Expansion Pack for EZ-Flash V for DS (AKA DS "Phat" Version or GBA Size)


  • Notes:

1st board version ended due to chip supply issues.

2nd board version ended due to planned upgrade of NOR capacity.

3rd board version of the 3in1 has 512Mbit (64MB capacity) NOR and 128Mbit (16MB) PSRAM.


  • Typo Notes:

The EZ-Team do not use spaces in the name 3in1 and is shown as one word. Other reseller sites used a typo spelling where spaces or dashes where introduced in the name and has come out as 3 in 1 or 3-in-1 due to the text printed on the box to be formated justified, causing spaces. Referenced to the correct spelling can be seen on the EZ-Flash product page here.

General

The 3 in 1 Expansion Pack is a NDS Slot-2 Cart that works in conjunction with NDS Slot-1 Carts. The device officially attempts to integrate three distinct solutions. First, the device is capable of loading GBA games stored in slot-1 devices in a manner similar to previous slot-2 solutions created by the EZ-flash team. Secondly, the 3 in 1 is a memory expansion pack. Finally, the device is a competing rumble pak expansion for games that support official DS rumble pack. Furthermore, open third-party access to the hardware features have expanded the capability of the Expansion Pack.

The 3 in 1 Expansion Pack for EZ-Flash V can be officially purchased as a bundle with the EZ-Flash V or separately. The product was specifically designed for EZ-Flash V, but users of other slot-1 cards are able to utilize the Expansion Pack.

Hardware Features

  • 256 Mb (32 MB) of NOR Flash Memory(512 Mb/64 MB on the third revision). This type of memory is able to retain data without requiring uninterrupted power. Depending on data size, writing may take up to several minutes. One typical use includes copying over a GBA ROM, thereby allowing the 3-in-1 to act like a real GBA cartridge.
  • 128 Mb (16 MB) of PSRAM. This memory does not retain data when the power is turned off. However it can be written at speeds much faster than NOR memory.
  • 4 Mb (512 KB) of battery backed SRAM for save data. The battery is necessary to retain data.
  • Programmable embedded "rumble pak" (haptic feedback) device

Software

Official

  1. GBA Loader:
    • GBA ROMs and save data are stored long-term in the Slot-1 device memory
  2. 128 Mb (16 MB) PSRAM Expansion:
    • Extra RAM necessary for programs like DS Opera Web Browser loaded from Slot-1 device.
  3. Rumble function:
    • Works with all official rumble enabled NDS games and homebrew loaded from Slot-1 device.
    • Rumble can be set to three levels of intensity.

Third-Party

The source code necessary to utilize the key hardware features of the expansion pack is readily available to developers. There have already been many successful solutions for third-party slot-1 carts. There are many practical and creative projects openly available in the homebrew scene.

Name & Link Author Program Type Brief Summary
Standalone Browser Patch Triforce, Cory1492 Patcher Patches the DS Browser allowing automatic detection of the 3 in 1 PSRAM
Standalone Rumble Patch anonYmous Patcher Patching tool for DS ROMS that support rumble. This allows automatic detection of the rumble hardware, therefore not requiring any tool to turn on the rumble feature. This is a manual version of the automated patching done by the EZ-Flash V.
GBALdr Cory1492 GBA ROM Loader A homebrew application run from the DS that will load games directly to NOR memory, load/save .sav files, and can auto-backup the save data currently on the cart when loading a new game. Due to the fact that it only loads games into NOR memory, it can be painfully slow, taking up to 5 minutes in some cases. Cory1492 has recently updated the GBALdr program to fix the problems detecting and running GBA games with newer 3in1 cards which have different hardware components to earlier versions. Full details of the updated GBALdr can be found here.
3in1 ExpPack Tool (Succeeded by GBA ExpLoader) Rudolph GBA ROM Loader / Hardware Enabling Another homebrew application that runs from the DS. This is by far one of the best loaders available. Just as with GBALdr, it can load games to the 3 in 1. What makes it different than GBALdr is the fact that it can load all ROMS under 16MB directly to the PSRAM on the 3 in 1, making copy time less than a minute in nearly all cases. Additionally, it can load games to NOR memory if they exceed 16MB. Two other features that I find to be unique to this tool is the ability to turn the Rumble Pack on and off (for supported DS games) and the ability to switch the cart over to an Expansion Pack for use with the Opera Browser. Rudolph recently updated the 3in1 ExpPack software and renamed it to GBA ExpLoader. Compatible with the first chip set. The latest version can be downloaded from here
GBA ExpLoader (Successor to 3in1 ExpPack Tool by Rudolph) Rudolph GBA ROM Loader and Patcher / Hardware Enabling Rewrite of the 3in1 ExpPack Tool allowing expanded compatibility with not only the succeeding 3in1 chip set, but also other slot-2 carts. Differences from 3in1 ExpPack Tool: automatic GBA ROM file patching, multiple save mechanism, and extended compatibility with specific save types (for example, ROM 1386 - Famicom Mini Vol 5 Zelda no Densetsu, save type EEPROM_124).
NDS Backup Tool 3in1 Rudolph Backup Tool Utilizes the NOR Flash Memory and SRAM. This homebrew application can send or backup save information stored an original DS game cartridge. Furthermore, NDS Backup Tool 3in1 can backup original carts as ROMs. DS cartridges that contain more than 256 Mb (32MB) of data are compatible with this tool. The software is sophisticated enough to copy data in 256 Mb chunks and then rejoin them later in the slot-1 cartridge memory. Compatible with both chip sets.
NDStation Chuckstudios Patcher A very interesting approach to loading ROMs on the 3 in 1. Rather than having a homebrew running on the DS transfer the ROM to the 3 in 1, chuckstudios developed a Windows program (later ported to Linux by dg10050) that packaged the GBA ROM in an .NDS file. This packaged file, when launched from a Slot 1 card, would backup any existing save on the 3 in 1 and load the ROM onto it. The aim of the project is to give things a more integrated and unified feel with your Slot 1 cart. Additionally, one can customize the icon of the .nds file, alternatively load the game into the PSRAM, compress the ROM, and include a custom GBA border.
CycloDS Evolution Firmware v1.2 and up Team Cyclops Firmware The CycloDS Evolution officially integrates rumble for Nintendo DS games, memory expansion for Opera Browser without any additional ROM patching, and GBA-NDS linking.
Pokepatch for EZ3in1 Cory1492 Patcher Patches Pokémon DS versions Diamond and Pearl allowing DS-GBA linkage. The GBA game must be loaded into the NOR. Please read the linked discussion thoroughly.
DSLinux DSLinux Dev Team Operating System Provides the Linux operating system more available RAM
SNEmulDS Archeide SNES Emulator Provides additional RAM to emulator in order to improve large SNES ROM emulation
Mini vMac Port Lazyone Legacy Mac OS Emulator Provides additional RAM
Lameboy Nutki Game Boy / Game Boy Color Emulator Rumble is supported GB/GBC games
Quake 1 and Quake 2 for Nintendo DS Simon Hall Quake 1 and Quake 2 Ports for the DS Quake 1 uses the additional RAM as an optional enhancement. Quake 2 requires additional RAM from slot-2.

Compatibility

The current compatibility of the 3 in 1 with official games is practically complete. The official EZ-Flash V kernel software is capable of integrating all hardware featured in the 3 in 1 Expansion Pack. The EZ-Flash team does not ensure hardware compatibility with other slot-1 devices. Compatibility with third-party slot-1 carts appear to be just as good.

The 3 in 1 is compatible with GBA ROMs properly patched. Optional ROM trimming is also available. GBA ROMs can be written to the PSRAM unless the ROM is larger than the 128 Mbit capacity and/or has a save type of 1 Mbit or larger. All GBA ROMs can be written into the 256 Mbit NOR flash memory. The NDS Browser requires additional patching and/or tools for unofficial slot-1 carts in order to recognize the PSRAM. The rumble feature is for NDS games and can be easily coded into homebrew. Lameboy, a slot-1 Game Boy / Game Boy Color emulator, is an example of homebrew that is compatible with 3 in 1 rumble when properly enabled by either official or third-party software.

Homebrew applications can use the Expansion Pack as a memory expansion. For example, DSLinux-DLDI uses it to provide extra RAM for their linux port. SNEmulDS utilizes the extra RAM to improve large Nintendo SNES ROM emulation.

Review

Official GBAtemp Review

EZ-Flash V GBAtemp Review

Overall: "The build quality is great, it feels very sturdy and the black brushed finish was a good choice. The cart is held together with a single screw on the back. It fits firmly in the GBA slot however it does seem to stick out ever so slightly, so slight it’s hardly worth mentioning. You’ll notice it if you brush your finger over it though."
GBA: "You can start a GBA game by either hitting the ‘Start GBA game’ button on the DS firmware menu or by pressing R+A when selecting the game in the EZ-V menu. There is no EZ-V GBA loader menu meaning that you can only have one game on the cart at one time. It would be nice if in the future you were allowed to write multiple games to the 256mbit of space. But as it stands it's a simple and effective GBA solution for a slot-1 flash card. The EZTeam come highly recommended with all their GBA ventures and the Expansion Pack is no exception, GBA games run fine and are easy to write and use."
RAM: "When the Opera DS Browser was released it came with a separate RAM pack which gave the DS that little extra boost to run the application. The Expansion Pack simulates this RAM pack when you use the DS Browser ROM. There is no patching required, just simple drag & drop and the Opera Browser will work fine. Strangely though the Expansion Pack will not work if you use the original DS Browser DS card with it, only the ROM version will work. That being the case there shouldn’t be many people out there that would want to use the original card with the Expansion Pack if they have an EZ-V."
Rumble: "Rumble is loud, very loud. On full rumble the Expansion Pack is frighteningly loud and completely distracts from the gaming experience. This is in line with the official rumble pack. However you have the ability to select between three different strengths of rumble. Pressing R+L on the EZ-V loader will take you to the menu where you can select between low, medium or high. On low the rumble emits hardly any noise and still has a pleasant sensation when playing games like Elite Beat Agents. Games do not have to be patched for rumble support, that information is stored in the updated savelist file. Only official rumble supported games will use the Expansion Pack as it works just like the official pack."

Images

Initial Setup

Simply put, the most popular unified third-party program for GBA ROM Loading, RAM Expansion, and Rumble at this time is GBA ExpLoader. GBA ExpLoader automatically patches GBA ROMs during the ROM loading process. The following are fairly generalized instructions.

GBA

EZ-Flash V owners may follow the Official EZ-Flash V Quickstart Guide. Other Slot-1 Carts will require a third-party solution.

Automatic Patching Method

Third-party applications have become more sophisticated allowing a more streamlined process of initial setup. This method of initial setup does not require manual patching of GBA ROMs.

  1. One will need a Third-Party Loader that supports automatic GBA ROM patching in order to load a GBA ROM from a DLDI compatible Slot 1 cart.
  2. GBA ROMs can be trimmed.
  3. Once the GBA ROMs and the necessary files for the Third-Party Loader are copied over to the slot-1 memory card, follow the instructions of the homebrew loader accordingly. One typical step is DLDI patching of the loader, which is usually a file with a .nds extension.

Original Method

The original method requires manual ROM patching. This can be used as a historical reference as third-party applications with automatic ROM patching become more mature.

  1. One will need a Third-Party Loader in order to load a GBA ROM from a DLDI compatible Slot 1 cart.
  2. GBA ROMs can be trimmed.
  3. GBA ROMs must be properly patched in order for the 3 in 1 to save to SRAM. Two popular tools are known to do this:
    • GBATA - GBATA is the most widely accepted tool to use when SRAM patching GBA ROMs. All you need to do is load up the ROM (click the [...] button), click on the SRAM Patch tab, and click the Patch button. If the button is grayed out, then the ROM does not need to be patched.
    • EZ4 Client - EZ4 Client is an alternative to GBATA. While it performs a similar function as GBATA, several users have reported lost save files with roms patched with this program. If you have a GBA ROM that uses a 1mbit save, you must use this program to patch it.
  4. Once the the GBA roms and the necessary files for the Third-Party Loader are copied over to the slot-1 memory card, follow the instructions of the homebrew loader accordingly. One typical step is DLDI patching of the loader, which is usually a file with a .nds extension.

Nintendo DS Browser

The EZ-Flash V can open a clean Nintendo DS Browser ROM without any additional setup. Other Slot-1 Carts will require a third-party solution in order for the ROM to recognize the 3 in 1 PSRAM.

  • One working third-party solution that enables other slot-1 carts to use the 3 in 1 with the Nintendo DS Browser ROM would be the GBA ExpLoader by Rudolph.
  1. Patch the program DLDI accordingly.
  2. Switch to the Rumble selection menu.
  3. Select 'Expansion RAM'.
  4. Start-up the DS Browser.

Rumble

According to the Quickstart Guide and Official GBAtemp review, an updated save list is necessary in order to identify NDS ROMs that support rumble when used in conjunction with the EZ-Flash V. Other Slot-1 Carts will require a third-party solution. Rumble is compatible with any NDS game or homebrew program that supports it.

  • One working third-party solution that enables rumble in other slot-1 carts would be the GBA ExpLoader by Rudolph.
  1. Patch the program DLDI accordingly.
  2. Switch to the Rumble selection menu.
  3. Select the intensity of rumble, and the tool will soft-reset.
  4. Start-up a DS game or homebrew program.
  • Due to the recent 3 in 1 expansion pack hardware revision, automatic rumble enabling for slot-1 carts, like EDGE and CycloDS, is broken. This is one workaround:
  1. Patch one of the games with Standalone 3in1 rumble patcher, for example Metroid Prime Pinball (preferable US version)
  2. Load the patched game once
  3. Trigger soft-reset
  4. Load a different game

Frequently asked questions

Where do I put my ROMs?

Unlike a lot of Slot 2 solutions out there, the 3 in 1 does not have its own removable storage. This is due to the fact that it was initially designed for use with the EZ-Flash V. ROMs are stored in a permanent fashion on the removable media or internal storage of your Slot 1 device. Where they are put is determined by which solution you choose from the third-party solutions list. A cool feature of the 3 in 1 is treating a GBA ROM loaded in the NOR like a GBA cartridge.

Can the 3 in 1 only hold 1 GBA ROM at a time?

The 3 in 1 can only hold one ROM in its NOR, unless you are running an EZFlash V or V Plus with the 1.8x b2 loader. Any time you want to play a game 16MB or less, you copy it over to the PSRAM on the cartridge using your loader of choice. This is standard with all slot 2 cartridges. Most slot 2s that have firmware (the ones with removable or internal storage have the loader built-in). The only reason people think otherwise is because most Slot 2s have either removable or internal storage for ROMs, homebrew, etc, which the 3 in 1 does not. Please read the initial setup section, it will give a more in-depth explanation.

Whenever I load up a game, my save is gone! What do I do?

This kind of issue can only be resolved through troubleshooting. Does the GBA ROM require SRAM patching beforehand? If so, make sure you are SRAM patching your games using one of the two tools listed in the initial setup section. If you are already doing this, make sure you are loading games in either PSRAM or NOR, not both. From what I have seen, most loaders want you to use one or the other for it to work correctly. If you’ve tried everything else and your GBA roms still aren’t saving/loading properly then the problem may be that the battery (the thing inside the cartridge with yellow rubber coating) isn’t working. The save feature will not work without the battery. Try using GBAExploader, if it asks ”may I set this slot2 expansion pack for GBAExploader” every time you load it up then the battery is definitely broken. You now have 2 options:

1) Get a new ezflash 3-in-1 and hope the battery in that one isn’t stuffed as well

2) Replace the battery yourself. Here’s a good tutorial I’ve found http://gbatemp.net/index.php?showtopic=132872

Check the help files of your loader for more information (such as known bugs, proper ROM loading procedure, etc.).

When do I need to patch a GBA ROM in regards to the saving function?

You will need to patch the ROM if your loader does not feature automatic patching. Furthermore, patching is only necessary if the ROM does not use SRAM for saving. Anything already using up to 512kbit (64KiB) SRAM to begin with shouldn't need to be patched at all. GBA games that originally used EEPROM or FLASH, and/or has over 512Kbit, will need to be patched. 1024Kbit save types have to be patched with EZ4 client since GBATA has not implemented the concept of SRAM bankswitching. GBATA, for example, will not allow the file to be patched if unnecessary.

See Also

Useful links

Support

Homebrew Development (Read thoroughly)