GBA NDS FAT: Difference between revisions
From GameBrew
More actions
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
| title = GBA NDS FAT | | title = GBA NDS FAT | ||
| image = | | image = | ||
| type = PC | | type = PC Utility | ||
| version = | | version = 3 Mar 2006 | ||
| licence = Mixed | | licence = Mixed | ||
| author = chishm (Michael Chisholm) | | author = chishm (Michael Chisholm) | ||
| Line 52: | Line 52: | ||
==Changelog== | ==Changelog== | ||
'''2006 | '''2006/03/03''' | ||
* Improved NMMC (MK2 / MK3) driver. | * Improved NMMC (MK2 / MK3) driver. | ||
* Optimised LFNs into loops, thanks to dwedit. | * Optimised LFNs into loops, thanks to dwedit. | ||
| Line 61: | Line 61: | ||
* Added EFA2 support, thanks to CyteX. | * Added EFA2 support, thanks to CyteX. | ||
'''2006 | '''2006/02/09''' | ||
* Fixed file and directory names starting with a dot ("."), or containing more than one dot. | * Fixed file and directory names starting with a dot ("."), or containing more than one dot. | ||
* Added Neoflash MK2 / MK3 support, thanks to www.neoflash.com. | * Added Neoflash MK2 / MK3 support, thanks to www.neoflash.com. | ||
| Line 74: | Line 74: | ||
** Long file names with less than 12 characters now work, thanks to DragonMinded for pointing it out. | ** Long file names with less than 12 characters now work, thanks to DragonMinded for pointing it out. | ||
'''2006 | '''2006/01/04''' | ||
* Fixed FAT_fwrite when writing in cluster aligned chunks. | * Fixed FAT_fwrite when writing in cluster aligned chunks. | ||
'''2005 | '''2005/11/27''' | ||
* Fixed reading / writing of sector buffer in FAT_fread and FAT_fwrite, thanks to AgentQ. | * Fixed reading / writing of sector buffer in FAT_fread and FAT_fwrite, thanks to AgentQ. | ||
'''2005 | '''2005/11/26''' | ||
* disc_io now has a HostType function, for determining what type of flash cart is inserted. | * disc_io now has a HostType function, for determining what type of flash cart is inserted. | ||
'''2005 | '''2005/11/25''' | ||
* Clusters are now allocated as they are needed. | * Clusters are now allocated as they are needed. | ||
* Fixed seeking in append mode. | * Fixed seeking in append mode. | ||
| Line 89: | Line 89: | ||
* Added support for standard GBA Flash Carts, with SRAM. | * Added support for standard GBA Flash Carts, with SRAM. | ||
'''2005 | '''2005/11/24''' | ||
* Fixed FAT_fseek bug, thanks to AgentQ. | * Fixed FAT_fseek bug, thanks to AgentQ. | ||
* Added cluster allocation in FAT_fseek. | * Added cluster allocation in FAT_fseek. | ||
| Line 95: | Line 95: | ||
* Added FAT_FindFirstFileLFN and FAT_FindNextFileLFN - Long file name versions of FAT_FindFirstFile and FAT_FindNextFile. | * Added FAT_FindFirstFileLFN and FAT_FindNextFileLFN - Long file name versions of FAT_FindFirstFile and FAT_FindNextFile. | ||
'''2005 | '''2005/11/21''' | ||
* Removed EOF marking from FAT_fclose. | * Removed EOF marking from FAT_fclose. | ||
* FAT_fwrite now takes a const void* buffer. rather than a void* buffer. | * FAT_fwrite now takes a const void* buffer. rather than a void* buffer. | ||
* FAT_fwrite initialises new sectors before using them. | * FAT_fwrite initialises new sectors before using them. | ||
'''2005 | '''2005/11/17''' | ||
* Added FAT_fgets and FAT_fputs, with thanks again to MightyMax. | * Added FAT_fgets and FAT_fputs, with thanks again to MightyMax. | ||
'''2005 | '''2005/11/15''' | ||
* FAT_fopen uses string functions for checking mode. | * FAT_fopen uses string functions for checking mode. | ||
'''2005 | '''2005/11/14''' | ||
* Improved error handling in FAT_fread and FAT_fwrite. | * Improved error handling in FAT_fread and FAT_fwrite. | ||
* FAT_GetLongFilename uses strncpy instead of custom code. | * FAT_GetLongFilename uses strncpy instead of custom code. | ||
* Added DMA support for use on NDS. | * Added DMA support for use on NDS. | ||
'''2005 | '''2005/11/09''' | ||
* Long directory entries are now fit amongst old ones, rather than at the end. | * Long directory entries are now fit amongst old ones, rather than at the end. | ||
* Changed FAT_DeleteFile to FAT_remove and added ability to remove empty directories. | * Changed FAT_DeleteFile to FAT_remove and added ability to remove empty directories. | ||
* Added FAT_mkdir to create a new directory. | * Added FAT_mkdir to create a new directory. | ||
'''2005 | '''2005/11/08''' | ||
* Added ability to use unaligned buffers, thanks to wwcube. | * Added ability to use unaligned buffers, thanks to wwcube. | ||
* No longer need to define NDS when compiling for the NDS (this is automatically done for you). | * No longer need to define NDS when compiling for the NDS (this is automatically done for you). | ||
'''2005 | '''2005/11/07''' | ||
* Switched to memcpy instead of copy loops in fread and fwrite. | * Switched to memcpy instead of copy loops in fread and fwrite. | ||
'''2005 | '''2005/11/06''' | ||
* Added FAT12 support and fixed FAT buffer bugs. | * Added FAT12 support and fixed FAT buffer bugs. | ||
* Added FAT_FileExists - returns FT_NONE if no file exists, FT_DIR or FT_FILE if it does. | * Added FAT_FileExists - returns FT_NONE if no file exists, FT_DIR or FT_FILE if it does. | ||
| Line 129: | Line 129: | ||
* Added SuperCard CF support. | * Added SuperCard CF support. | ||
'''2005 | '''2005/10/31''' | ||
* Changed FAT_CWD to FAT_chdir. | * Changed FAT_CWD to FAT_chdir. | ||
* FAT_ftell now returns u32 instead of long int. | * FAT_ftell now returns u32 instead of long int. | ||
'''2005 | '''2005/10/17''' | ||
* Fixed FAT_fseek when trying to SEEK_END, thanks to MoonLight. | * Fixed FAT_fseek when trying to SEEK_END, thanks to MoonLight. | ||
'''2005 | '''2005/10/16''' | ||
* Added file time and date modification for writing, thanks to Joat. | * Added file time and date modification for writing, thanks to Joat. | ||
'''2005 | '''2005/10/15''' | ||
* Changed file functions to use FAT_FILE* handles instead of int handles. Please change your code to reflect this change. | * Changed file functions to use FAT_FILE* handles instead of int handles. Please change your code to reflect this change. | ||
* Split source into hardware and disk level files and renamed the files. Include gba_nds_cf.h into your project instead of gbamp_cf.h. | * Split source into hardware and disk level files and renamed the files. Include gba_nds_cf.h into your project instead of gbamp_cf.h. | ||
* Added M3 adapter support. | * Added M3 adapter support. | ||
'''2005 | '''2005/10/12''' | ||
* Fixed long file name bug in FAT_GetDirEntry. Thanks goes to MoonLight for pointing it out. | * Fixed long file name bug in FAT_GetDirEntry. Thanks goes to MoonLight for pointing it out. | ||
'''2005 | '''2005/09/21''' | ||
* Improved FAT_fseek speed. | * Improved FAT_fseek speed. | ||
'''2005 | '''2005/09/18''' | ||
* Fixed fseek bug with u32 offset instead of s32. Thanks goes to MightyMax for pointing that out. | * Fixed fseek bug with u32 offset instead of s32. Thanks goes to MightyMax for pointing that out. | ||
'''2005 | '''2005/09/15''' | ||
* Added ability to read multiple sectors at once. | * Added ability to read multiple sectors at once. | ||
* Improved FAT_fread and FAT_fwrite functions. | * Improved FAT_fread and FAT_fwrite functions. | ||
* Fixed bug when trying to create a file in a non-existant directory. | * Fixed bug when trying to create a file in a non-existant directory. | ||
'''2005 | '''2005/09/10''' | ||
* Fixed problem with FAT_GetDirEntry not initialising the attrib of the returned DIR_ENT. | * Fixed problem with FAT_GetDirEntry not initialising the attrib of the returned DIR_ENT. | ||
'''2005 | '''2005/09/05'' | ||
* Added FAT_GetFileCluster - Returns the start cluster of the last file accessed. | * Added FAT_GetFileCluster - Returns the start cluster of the last file accessed. | ||
'''2005 | '''2005/08/21''' | ||
* Added FAT_GetFileSize - Returns the size of the last file accessed. | * Added FAT_GetFileSize - Returns the size of the last file accessed. | ||
* Included automatic memory access control setting for the NDS. | * Included automatic memory access control setting for the NDS. | ||
* Removed typedef of bool (not needed with libnds). | * Removed typedef of bool (not needed with libnds). | ||
'''2005 | '''2005/08/07''' | ||
* Fixed FAT_CWD bug when changing to ".." from a 1st level subdirectory. | * Fixed FAT_CWD bug when changing to ".." from a 1st level subdirectory. | ||
'''2005 | '''2005/08/05''' | ||
* Fixed FAT_fopen bug in append mode. | * Fixed FAT_fopen bug in append mode. | ||
* Fixed FAT_AddDirEntry bug that created orphen clusters if a directory entry was created that filled the end of a cluster. | * Fixed FAT_AddDirEntry bug that created orphen clusters if a directory entry was created that filled the end of a cluster. | ||
'''2005 | '''2005/07/24''' | ||
* Modified for use on the NDS. | * Modified for use on the NDS. | ||
* When using it on the ARM9 you don't need to modify anything. On the ARM7 you will have to manually define NDS. | * When using it on the ARM9 you don't need to modify anything. On the ARM7 you will have to manually define NDS. | ||
'''2005 | '''2005/07/14''' | ||
* Fixed FAT_fseek() buffer bug. | * Fixed FAT_fseek() buffer bug. | ||
'''2005 | '''2005/07/13''' | ||
* Added option not to use DMA. | * Added option not to use DMA. | ||
'''2005 | '''2005/07/12''' | ||
* Some bug fixes: | * Some bug fixes: | ||
** Reading & writing files on FAT16 cards in the root directory is now fixed. | ** Reading & writing files on FAT16 cards in the root directory is now fixed. | ||
** Accessing files near the end of FAT32 cards is now fixed. | ** Accessing files near the end of FAT32 cards is now fixed. | ||
'''2005 | '''2005/06/27''' | ||
* Third release. | * Third release. | ||
* Bug fix for small cards. | * Bug fix for small cards. | ||
| Line 197: | Line 197: | ||
* Structure packing changed to be more compatible with non GCC compilers. | * Structure packing changed to be more compatible with non GCC compilers. | ||
'''2005 | '''2005/06/24''' | ||
* Second proper release. | * Second proper release. | ||
* All known bugs fixed. | * All known bugs fixed. | ||
| Line 204: | Line 204: | ||
* Long filenames now work. | * Long filenames now work. | ||
'''2005 | '''2005/06/15''' | ||
* First release of file system driver. | * First release of file system driver. | ||
* File reading implemented. | * File reading implemented. | ||
'''2005 | '''2005/06/13''' | ||
* Started work on file system driver. | * Started work on file system driver. | ||
'''2005 | '''2005/06/12''' | ||
* Successfully reverse engineered the reading of compact flash cards. | * Successfully reverse engineered the reading of compact flash cards. | ||
Revision as of 14:02, 28 July 2021
| GBA NDS FAT | |
| General | |
|---|---|
| Author(s) | chishm (Michael Chisholm) |
| Type | PC Utility |
| Version | 3 Mar 2006 |
| Licence | Mixed |
| Links | |
| [Media:Gbandsfat20060303.zip Download] | |
| Website | |
<htmlet>adsense</htmlet>