Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

GBA NDS FAT: Difference between revisions

From GameBrew
Created page with "{{Infobox homebrew | title = GBA NDS FAT | image = | type = PC Utility | version = 2005-06-12 | licence = Mixed | author = chishm (Michael Chi..."
 
No edit summary
Line 32: Line 32:


==Changelog==
==Changelog==
'''2005-06-12'''
'''2006-03-03'''
* Successfully reverse engineered the reading of compact flash cards
* Improved NMMC (MK2 / MK3) driver
* Optimised LFNs into loops, thanks to dwedit
* Optimised SuperCard SD CFC7, thanks to Cory1492
* Added file attribute support
* Added read only M3 SD support, thanks to SaTa and Moonlight. Disabled by default due to incompleteness
* Fixed SuperCard SD reading, thanks to Loopy
* Added EFA2 support, thanks to CyteX


'''2005-06-13'''
'''2006-02-09'''
* Started work on file system driver
* 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
* Modified CF access routines to mask of the high byte of the status register, hopefully improving compatibility
* Added disc caching, thanks to www.neoflash.com . It can only be enabled on the DS (not GBA) since it will consume 128KB of memory on the default setting. It is advisable to call FAT_FreeFiles() before shut down if caching is enabled, to flush any writes to disc
* Added Supercard SD test code. It unfortunately doesn't work, and is disabled by default
* Added FAT total size and type functions
* Added file creation and modification functions. Disabled by default, see gba_nds_fat.h for more info
* Fixed AddDirEntry bugs:
* should no longer corrupt a directory when adding a new file
* no longer puts garbage into a short file name's extension, thanks to 0xtob
* long file names with less than 12 characters now work, thanks to DragonMinded for pointing it out


'''2005-06-15'''
'''2006-01-04'''
* First release of file system driver
* Fixed FAT_fwrite when writing in cluster aligned chunks
* File reading implemented


2005-06-24'''
'''2005-11-27'''
* Second proper release
* Fixed reading / writing of sector buffer in FAT_fread and FAT_fwrite, thanks to AgentQ
* All known bugs fixed
* File writing implemented
* File functions behave as expected
* Long filenames now work


'''2005-06-27'''
'''2005-11-26'''
* Third release
* disc_io now has a HostType function, for determining what type of flash cart is inserted.
* Bug fix for small cards
* FAT32 implemented
* Structure packing changed to be more compatible with non GCC compilers


'''2005-07-12'''
'''2005-11-25'''
* Some bug fixes:
* Clusters are now allocated as they are needed.
* Reading & writing files on FAT16 cards in the root directory is now fixed
* Fixed seeking in append mode
* Accessing files near the end of FAT32 cards is now fixed
* Fixed adding of new directory entries
* Added support for standard GBA Flash Carts, with SRAM


'''2005-07-13'''
'''2005-11-24'''
* Added option not to use DMA
* Fixed FAT_fseek bug, thanks to AgentQ
* Added cluster allocation in FAT_fseek
* FAT_fopen now checks for read only files
* Added FAT_FindFirstFileLFN and FAT_FindNextFileLFN - Long file name versions of FAT_FindFirstFile and FAT_FindNextFile


'''2005-07-14'''
'''2005-11-21'''
* Fixed FAT_fseek() buffer bug
* Removed EOF marking from FAT_fclose
* FAT_fwrite now takes a const void* buffer. rather than a void* buffer
* FAT_fwrite initialises new sectors before using them


'''2005-07-24'''
'''2005-11-17'''
* Modified for use on the NDS
* Added FAT_fgets and FAT_fputs, with thanks again to MightyMax
* When using it on the ARM9 you don't need to modify anything. On the ARM7 you will have to manually define NDS.


'''2005-08-05'''
'''2005-11-15'''
* Fixed FAT_fopen bug in append mode
* FAT_fopen uses string functions for checking mode
* Fixed FAT_AddDirEntry bug that created orphen clusters if a directory entry was created that filled the end of a cluster


'''2005-08-07'''
'''2005-11-14'''
* Fixed FAT_CWD bug when changing to ".." from a 1st level subdirectory
* Improved error handling in FAT_fread and FAT_fwrite
* FAT_GetLongFilename uses strncpy instead of custom code
* Added DMA support for use on NDS


'''2005-08-21'''
'''2005-11-09'''
* Added FAT_GetFileSize - Returns the size of the last file accessed
* Long directory entries are now fit amongst old ones, rather than at the end
* Included automatic memory access control setting for the NDS
* Changed FAT_DeleteFile to FAT_remove and added ability to remove empty directories
* Removed typedef of bool (not needed with libnds)
* Added FAT_mkdir to create a new directory


'''2005-09-05''
'''2005-11-08'''
* Added FAT_GetFileCluster - Returns the start cluster of the last file accessed
* 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)


'''2005-09-10'''
'''2005-11-07'''
* Fixed problem with FAT_GetDirEntry not initialising the attrib of the returned DIR_ENT
* Switched to memcpy instead of copy loops in fread and fwrite


'''2005-09-15'''
'''2005-11-06'''
* Added ability to read multiple sectors at once
* Added FAT12 support and fixed FAT buffer bugs
* Improved FAT_fread and FAT_fwrite functions
* Added FAT_FileExists - returns FT_NONE if no file exists, FT_DIR or FT_FILE if it does
* Fixed bug when trying to create a file in a non-existant directory
* Completely changed the hardware interface, with a big thanks to MightyMax for doing most of the work
* Added SuperCard CF support


'''2005-09-18'''
'''2005-10-31'''
* Fixed fseek bug with u32 offset instead of s32. Thanks goes to MightyMax for pointing that out
* Changed FAT_CWD to FAT_chdir
* FAT_ftell now returns u32 instead of long int


'''2005-09-21'''
'''2005-10-17'''
* Improved FAT_fseek speed
* Fixed FAT_fseek when trying to SEEK_END, thanks to MoonLight


'''2005-10-12'''
'''2005-10-16'''
* Fixed long file name bug in FAT_GetDirEntry. Thanks goes to MoonLight for pointing it out
* Added file time and date modification for writing, thanks to Joat


'''2005-10-15'''
'''2005-10-15'''
Line 107: Line 124:
* Added M3 adapter support
* Added M3 adapter support


'''2005-10-16'''
'''2005-10-12'''
* Added file time and date modification for writing, thanks to Joat
* Fixed long file name bug in FAT_GetDirEntry. Thanks goes to MoonLight for pointing it out


'''2005-10-17'''
'''2005-09-21'''
* Fixed FAT_fseek when trying to SEEK_END, thanks to MoonLight
* Improved FAT_fseek speed


'''2005-10-31'''
'''2005-09-18'''
* Changed FAT_CWD to FAT_chdir
* Fixed fseek bug with u32 offset instead of s32. Thanks goes to MightyMax for pointing that out
* FAT_ftell now returns u32 instead of long int


'''2005-11-06'''
'''2005-09-15'''
* Added FAT12 support and fixed FAT buffer bugs
* Added ability to read multiple sectors at once
* Added FAT_FileExists - returns FT_NONE if no file exists, FT_DIR or FT_FILE if it does
* Improved FAT_fread and FAT_fwrite functions
* Completely changed the hardware interface, with a big thanks to MightyMax for doing most of the work
* Fixed bug when trying to create a file in a non-existant directory
* Added SuperCard CF support


'''2005-11-07'''
'''2005-09-10'''
* Switched to memcpy instead of copy loops in fread and fwrite
* Fixed problem with FAT_GetDirEntry not initialising the attrib of the returned DIR_ENT


'''2005-11-08'''
'''2005-09-05''
* Added ability to use unaligned buffers, thanks to wwcube
* Added FAT_GetFileCluster - Returns the start cluster of the last file accessed
* No longer need to define NDS when compiling for the NDS (this is automatically done for you)


'''2005-11-09'''
'''2005-08-21'''
* Long directory entries are now fit amongst old ones, rather than at the end
* Added FAT_GetFileSize - Returns the size of the last file accessed
* Changed FAT_DeleteFile to FAT_remove and added ability to remove empty directories
* Included automatic memory access control setting for the NDS
* Added FAT_mkdir to create a new directory
* Removed typedef of bool (not needed with libnds)


'''2005-11-14'''
'''2005-08-07'''
* Improved error handling in FAT_fread and FAT_fwrite
* Fixed FAT_CWD bug when changing to ".." from a 1st level subdirectory
* FAT_GetLongFilename uses strncpy instead of custom code
* Added DMA support for use on NDS


'''2005-11-15'''
'''2005-08-05'''
* FAT_fopen uses string functions for checking 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


'''2005-11-17'''
'''2005-07-24'''
* Added FAT_fgets and FAT_fputs, with thanks again to MightyMax
* 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.


'''2005-11-21'''
'''2005-07-14'''
* Removed EOF marking from FAT_fclose
* Fixed FAT_fseek() buffer bug
* FAT_fwrite now takes a const void* buffer. rather than a void* buffer
* FAT_fwrite initialises new sectors before using them


'''2005-11-24'''
'''2005-07-13'''
* Fixed FAT_fseek bug, thanks to AgentQ
* Added option not to use DMA
* Added cluster allocation in FAT_fseek
* FAT_fopen now checks for read only files
* Added FAT_FindFirstFileLFN and FAT_FindNextFileLFN - Long file name versions of FAT_FindFirstFile and FAT_FindNextFile


'''2005-11-25'''
'''2005-07-12'''
* Clusters are now allocated as they are needed.
* Some bug fixes:
* Fixed seeking in append mode
* Reading & writing files on FAT16 cards in the root directory is now fixed
* Fixed adding of new directory entries
* Accessing files near the end of FAT32 cards is now fixed
* Added support for standard GBA Flash Carts, with SRAM


'''2005-11-26'''
'''2005-06-27'''
* disc_io now has a HostType function, for determining what type of flash cart is inserted.
* Third release
* Bug fix for small cards
* FAT32 implemented
* Structure packing changed to be more compatible with non GCC compilers


'''2005-11-27'''
'''2005-06-24'''
* Fixed reading / writing of sector buffer in FAT_fread and FAT_fwrite, thanks to AgentQ
* Second proper release
* All known bugs fixed
* File writing implemented
* File functions behave as expected
* Long filenames now work


'''2006-01-04'''
'''2005-06-15'''
* Fixed FAT_fwrite when writing in cluster aligned chunks
* First release of file system driver
* File reading implemented


'''2006-02-09'''
'''2005-06-13'''
* Fixed file and directory names starting with a dot ("."), or containing more than one dot
* Started work on file system driver
* Added Neoflash MK2 / MK3 support, thanks to www.neoflash.com
* Modified CF access routines to mask of the high byte of the status register, hopefully improving compatibility
* Added disc caching, thanks to www.neoflash.com . It can only be enabled on the DS (not GBA) since it will consume 128KB of memory on the default setting. It is advisable to call FAT_FreeFiles() before shut down if caching is enabled, to flush any writes to disc
* Added Supercard SD test code. It unfortunately doesn't work, and is disabled by default
* Added FAT total size and type functions
* Added file creation and modification functions. Disabled by default, see gba_nds_fat.h for more info
* Fixed AddDirEntry bugs:
* should no longer corrupt a directory when adding a new file
* no longer puts garbage into a short file name's extension, thanks to 0xtob
* long file names with less than 12 characters now work, thanks to DragonMinded for pointing it out


'''2006-03-03'''
'''2005-06-12'''
* Improved NMMC (MK2 / MK3) driver
* Successfully reverse engineered the reading of compact flash cards
* Optimised LFNs into loops, thanks to dwedit
* Optimised SuperCard SD CFC7, thanks to Cory1492
* Added file attribute support
* Added read only M3 SD support, thanks to SaTa and Moonlight. Disabled by default due to incompleteness
* Fixed SuperCard SD reading, thanks to Loopy
* Added EFA2 support, thanks to CyteX


==Credits==
==Credits==

Revision as of 01:35, 11 December 2012

GBA NDS FAT
General
Author(s)chishm (Michael Chisholm)
TypePC Utility
Version2005-06-12
LicenceMixed
Links
[Media:Gbandsfat20060303 Download]
Website
Advertisements

<htmlet>adsense</htmlet>

Advertising: