Commit Graph

179 Commits

Author SHA1 Message Date
tantricity
3b6561d4ca do not shut down the interface on unmount. other partitons (fat, ntfs, etc) may still be mounted on the device! 2009-10-16 21:38:51 +00:00
Dave Murphy
bf2d7d1130 bypass cache fill on write 2009-10-07 19:54:16 +00:00
Dave Murphy
b7dcf2ce33 fix cluster over allocation, skip cluster alignment write if already aligned 2009-10-07 19:48:51 +00:00
Dave Murphy
18d059aaec don't limit sectors on DS 2009-10-07 19:46:09 +00:00
Dave Murphy
6cb8909dc8 correct typo 2009-10-06 20:27:38 +00:00
tantricity
d09577c51a find the first valid fat partition (rodries) 2009-06-30 08:01:04 +00:00
tantricity
8ad45f1556 clean 2009-06-30 07:54:49 +00:00
tantricity
38528ce18f correct line endings 2009-06-30 07:48:29 +00:00
Dave Murphy
aa7a8929ee removed commented test code 2009-06-11 00:48:34 +00:00
Dave Murphy
488d832012 make LFN tables static 2009-06-11 00:47:38 +00:00
Dave Murphy
1befdfead1 prevent caching off end of partition 2009-06-09 19:42:35 +00:00
Dave Murphy
eafce2e122 .. in subdir of root always links to cluster 0 2009-06-09 18:22:51 +00:00
Dave Murphy
76a9624d2e only sync if file open for writing 2009-06-09 18:20:22 +00:00
Michael Wiedenbauer
980ade67d4 - reverted .last_access handling to use the static counter. Old behaviour - counting up .last_access directly - lead to a heavy performance impact. 2009-06-09 11:39:57 +00:00
Michael Wiedenbauer
5324215493 - if current sector is not in cache the starting sector to read from disc needs to be recalculated to be a multiple of sectorsPerPage 2009-06-08 21:00:42 +00:00
tantricity
245ac2fee5 change partition->disc to partition->cache (from rodries) 2009-06-06 22:54:40 +00:00
Michael Wiedenbauer
806fc418e0 - cleaned up cache code. reverted access policy to what it was before.
- _FAT_fat_linkFreeClusterCleared must go thru cache aswell.
2009-06-06 16:06:42 +00:00
Dave Murphy
22f3dea64f short aliases aren't multibyte
zero terminate generated alias
2009-06-02 13:40:14 +00:00
tantricity
e89b232b5f remove unused code, r18 args fix 2009-05-30 16:22:09 +00:00
Dave Murphy
af94077a7a move device startup to fatMount
shut device down in fatUnmount
2009-05-30 15:54:52 +00:00
tantricity
7262354c49 new write cache, flush dirty pages. fix by rodries. 2009-05-30 06:52:18 +00:00
tantricity
7d8f5f3194 sync written data to disk on f_write 2009-05-28 17:50:36 +00:00
tantricity
56261df0c7 counter fix 2009-05-20 18:22:26 +00:00
tantricity
1c6db0ae1b remove unnecessary function 2009-05-20 18:12:27 +00:00
Dave Murphy
206ce78022 add read ahead cache by Rodries 2009-05-17 22:16:35 +00:00
Dave Murphy
527a26f299 reinstate memcard drivers for wii 2009-05-17 20:40:15 +00:00
tantricity
fcb840cd66 remove trailing spaces 2009-05-17 20:19:56 +00:00
Dave Murphy
36b712eb75 correct year in _FAT_filetime_to_time_t 2009-05-01 07:57:13 +00:00
Dave Murphy
22f264e5fd set access and modify times on dir creation 2009-05-01 07:56:08 +00:00
Dave Murphy
52def810fc patch applied from https://sourceforge.net/tracker/?func=detail&aid=2721592&group_id=114505&atid=668551 2009-05-01 07:37:36 +00:00
Dave Murphy
2266f93113 applied patch http://sourceforge.net/tracker2/?func=detail&aid=1983783&group_id=114505&atid=668553 2009-03-13 08:34:32 +00:00
Michael Chisholm
18e980f050 Add missing unlocks to _FAT_fread_r, thanks to dhewg 2008-12-23 12:58:17 +00:00
Michael Chisholm
145e2cc9d3 Truncated files are modified upon opening 2008-12-13 03:14:54 +00:00
Michael Chisholm
2a239bcd2b Remove left-over debugging code 2008-12-13 02:18:40 +00:00
Dave Murphy
4d5a03f03c rearrange structs in size order, initialise partition open file list 2008-12-10 14:26:58 +00:00
Michael Chisholm
d7e584d6e5 Removed memcard drivers for Wii 2008-12-10 08:22:35 +00:00
Michael Chisholm
aa0d8773da Removed superfluous debug messages 2008-12-01 23:57:00 +00:00
Dave Murphy
71b1b585b8 ifdef debug code 2008-12-01 18:52:22 +00:00
Michael Chisholm
198df1272d Reload partition boot sector when sector 0 is an MBR 2008-11-30 07:12:08 +00:00
Michael Chisholm
94c4eac0cb Read/write contigious clusters in one operation to improve speed. 2008-11-22 13:37:16 +00:00
Michael Wiedenbauer
c0c2a463f6 prepended __ to the io_x exports 2008-11-20 14:18:42 +00:00
Michael Chisholm
9501328dca Added disc.c -- wrapper for DISC_INTERFACEs. 2008-11-20 05:32:59 +00:00
Michael Chisholm
2cc2cc2e39 Moved disc interfaces to appropriate libraries (DLDI to libnds, SD/USB to libogc).
Changed read/write functions to use size_t and seek function to use off_t -- will help on 64 bit platforms.
Partitions no longer specified by fat1:/, fat2:/, etc.
Use "nice" device names. On GBA/NDS the default partition is still fat:/; however on Wii and GC sd:/, usb:/, etc. are used instead.
Added fsync and ftruncate functions.
Mount and unmount no longer startup/shutdown the device, this is the job of the host app.
Mount now accepts a partition start parameter.
Used standard types, eg uint32_t instead of u32.
Archive bit is set when closing/synchronizing a modified file.
Various minor bug fixes.
2008-11-20 05:22:28 +00:00
Dave Murphy
841c1a692c files moved to libogc 2008-11-14 16:47:24 +00:00
Michael Chisholm
03bed3a1bd Only set append position when file is opened for append, as suggested by rodries. Improves open speed for large files. 2008-09-12 11:18:09 +00:00
Michael Chisholm
d72dcb0384 Fixed unlink not freeing cluster chains 2008-09-11 08:54:23 +00:00
Michael Chisholm
bfb4d60d1f Don't read high 16 bits of start cluster from a directory entry on non-FAT32 partititions, in case it contains non-zero data 2008-09-08 08:28:17 +00:00
Michael Chisholm
783ea08837 Added CLUSTER_ROOT definition 2008-08-16 14:12:56 +00:00
Michael Chisholm
c01d5f3e69 Correct cluster given on FAT32 when .. entry is included in path to subdirectory.
Fixed creation of long filename entry for all-caps filenames longer than 8 characters.
2008-08-02 04:22:47 +00:00
Dave Murphy
e6b8be341d disable sdgecko on Wii 2008-05-25 14:52:04 +00:00
Dave Murphy
486efc2bc9 files added by http://sourceforge.net/tracker/?func=detail&atid=668553&aid=1970541&group_id=114505 2008-05-23 21:54:50 +00:00
Dave Murphy
8b9d437f76 add locks for threaded systems.
fix eof conditions
https://sourceforge.net/tracker/?func=detail&atid=668553&aid=1970541&group_id=114505
2008-05-23 19:37:46 +00:00
Dave Murphy
cc1480bf9a calculate remaining space 2008-05-23 10:38:18 +00:00
Dave Murphy
a839587b4d correct initial path setting from argv 2008-05-23 10:37:33 +00:00
Dave Murphy
25b615836f simplified read/write position reset 2008-05-14 13:01:15 +00:00
Dave Murphy
ef3f19697c get time & date on Wii/cube too 2008-05-12 16:38:50 +00:00
Dave Murphy
ad1161c083 reset read/write position properly on first cluster allocation 2008-05-12 16:10:42 +00:00
Michael Chisholm
8d36ebe061 Modified WinterMute's seek then write fix for elegance, removed
resetPosition
2008-05-12 09:35:18 +00:00
Dave Murphy
a6dd89dbe4 Only reset file->currentPostion on first creation 2008-05-12 02:52:12 +00:00
Dave Murphy
46df48ba21 add libogc port and nitroFS support 2008-05-10 19:35:18 +00:00
Dave Murphy
5b9bfaecf0 commit bushing's endianess fixes 2008-05-01 10:02:19 +00:00
Michael Chisholm
bef33572eb Fixed _FAT_cache_constructor to return NULL on error, not false
Fixed _FAT_cache_flush to return false on error. With thanks to xorloser
2008-05-01 09:31:34 +00:00
Dave Murphy
23a406ddd1 First pass at gamecube/wii support 2008-03-16 18:06:25 +00:00
Dave Murphy
82c3168c36 use <nds/ndstypes.h> 2008-02-12 16:14:39 +00:00
Michael Chisholm
64012781ef Fixed LFN creation with character codes > 0x7F 2007-11-16 10:49:52 +00:00
Michael Chisholm
62745e4b21 Fixed alias creation bugs 2007-11-04 09:52:39 +00:00
Michael Chisholm
634887aa0f A cluster is only allocated for a file when data is written, instead of when the file is opened
file_extend_r renamed to _FAT_file_extend_r
2007-11-04 09:51:31 +00:00
Michael Chisholm
28e71f2920 _FAT_fat_nextCluster now returns CLUSTER_FREE when input cluster is CLUSTER_FREE 2007-11-04 09:50:39 +00:00
Michael Chisholm
838cc907d1 Fix off-by-one error for months value 2007-11-04 09:50:02 +00:00
Michael Chisholm
9deb154adb Added unicode support 2007-11-01 06:00:30 +00:00
Michael Chisholm
ccb080a071 Fixed compare against (time_t)-1 2007-10-30 05:59:06 +00:00
Michael Chisholm
2f4af3f8c0 Uses standard POSIX time functions 2007-10-30 02:46:22 +00:00
Michael Chisholm
def250bd28 Use CLUSTER_ERROR when an error occurs with the FAT, not CLUSTER_FREE 2007-10-25 12:55:18 +00:00
Michael Chisholm
8c319ec76a Added statvfs functionality 2007-10-25 12:52:08 +00:00
Michael Chisholm
8cfa906c22 Use CLUSTER_ERROR when an error occurs with the FAT, not CLUSTER_FREE 2007-09-01 07:55:38 +00:00
Michael Chisholm
4a0c7c4046 Added space to list of illegal alias characters - fixes filename creation bug when filename contained a space 2007-04-22 07:34:18 +00:00
Michael Chisholm
c394419d72 Fixed seek to end of file when reading 2007-04-12 01:06:35 +00:00
Michael Chisholm
cdc8378826 Fixed device type identifier 2007-04-04 12:31:08 +00:00
Michael Chisholm
4191c6de84 Check long file names for buffer overflow 2007-03-14 10:51:45 +00:00
Michael Chisholm
be7f9f10fb Fixed seek to the end of a file bug 2007-02-25 09:51:47 +00:00
Michael Chisholm
c26b60e6e0 Propagate disc errors up to the user app 2007-02-11 02:08:53 +00:00
Michael Chisholm
359b38085a Added SC_MODE_FLASH 2007-02-11 02:07:58 +00:00
Dave Murphy
e64acc0133 make dirnext return 0 for success & -1 for error/no more files 2007-01-25 18:01:02 +00:00
Dave Murphy
537cb4c6d7 use updated names for time structs 2007-01-25 17:15:43 +00:00
Dave Murphy
1bad1ac5d6 use libnds functions for bus ownership 2007-01-25 17:15:13 +00:00
Michael Chisholm
e81de2b33a Modified header to include RAM start address 2007-01-11 11:23:52 +00:00
Michael Chisholm
fc538f0164 Added missing #include <unistd.h> 2007-01-11 11:23:18 +00:00
Michael Chisholm
f4cb675198 fatInit now sets the correct path when setAsDefaultDevice 2007-01-10 10:48:46 +00:00
Michael Chisholm
7d0b004900 Updated directory iterator functions for DevkitPro r20 2007-01-10 10:34:47 +00:00
Michael Chisholm
0dc13f35a1 Directory support updated for DKP r20 2007-01-10 10:33:20 +00:00
Michael Chisholm
6ea9f6b6c0 Removed MMCF from repository 2007-01-05 10:01:36 +00:00
Michael Chisholm
677a1e386a Added DLDI interface. 2006-12-25 11:45:21 +00:00
Michael Chisholm
516b204100 Removed warning fix, which is actually due to a bug in libnds 2006-11-14 06:42:20 +00:00
Michael Chisholm
d48f48d55a Changed data register address to 0x09000000 2006-11-14 06:32:27 +00:00
Michael Chisholm
e5c6ce9a09 Reduced voltage range again. Hopefully fixes MicroSD cards. 2006-11-14 06:29:41 +00:00
Michael Chisholm
74f3ca8a59 _partitions changed to _FAT_partitions to maintain the same style of naming as the functions 2006-10-28 07:39:11 +00:00
Michael Chisholm
43f90657e3 stat returns the hostType for the st_dev value 2006-10-28 07:38:31 +00:00
Michael Chisholm
ef95b683be Fixed incorrect use of bitwise-or instead of logical-or 2006-10-01 12:29:10 +00:00
Michael Chisholm
8956d40bc1 Now clears the whole cluster when creating or extending a directory, bug found by Hermes 2006-09-30 16:00:01 +00:00
Michael Chisholm
dbdb8900b5 Added _FAT_fat_linkFreeClusterCleared to clear a cluster when it is allocated 2006-09-30 15:58:33 +00:00