Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Cannot modify header information - headers already sent by (output started at /usr/share/web/joat/webshare/ds/index.php:1101) in /usr/share/web/joat/webshare/ds/index.php on line 885
NDSTech Wiki : FAT browse
FAT

Menu

Getting Started

System Information

Misc

Directory Entry:

OffsetLengthDescription
0x008Filename (padded with spaces)
0x083Extension
0x0B1File attributes
0x0C1Reserved
0x0D1Creation hundredths of a second (0..199)
0x0E2Creation time
0x102Creation date
0x122Access date
0x142High halfword of cluster number
0x162Last modified time
0x182Last modified date
0x1A2Start cluster
0x1C4File size

File Attributes:

BitsDescription
7..600
5Archive
4Directory
3Volume Label
2System
1Hidden
0Read-Only

Date Format:

BitsDescription
15..9Years since 1980 (0..127)
8..5Month of year (1..12)
4..0Day of month (1..31)

Time Format:

BitsDescription
15..11Hour (0..23)
10..5Minutes (0..59)
4..0Seconds/2 (0..29)

LFN Directory Entry:

OffsetLengthDescription
0x001LFN part number (bits 0..5), bit 6 indicates last entry
0x01105 letters of LFN entry (Unicode)
0x0B10x0F (attributes)
0x0C10x00
0x0D1Checksum of short entry
0x0E126 letters of LFN entry (Unicode)
0x1A20x0000
0x1C42 letters of LFN entry (Unicode)

More information on the FAT specification can be found in the offical Microsoft white paper at http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx

Chishm's FAT library

Chishm has written a library to read and write files from a FAT formatted compact flash card, using a GBA Movie Player, Supercard CF, or M3 Perfect CF. You can obtain it from http://www.geocities.com/chishm1/gbamp.

To use it, add the sources to your project and include "gba_nds_fat.h" where needed. You must call FAT_InitFiles() before using any other functions, and allow at least one VBlank for the IPC to contain proper time data.

Files are always openned in binary mode, using:
FAT_FILE* file_handle = FAT_fopen ("path/filename", "mode");

Files can be read and written using standard fread and fwrite style calls to FAT_fread and FAT_fwrite. Much of Chishm's library mimics the standard file functions in this way.

Recent Changes (All) | Edit SideBar

Page last modified on January 17, 2006, at 07:38 PM
Edit Page | Page History
Everything done on this project is for the sole purpose of writing interoperable software under Sect. 1201 (f) Reverse Engineering exception of the DMCA.
This site is not affiliated with Nintendo in any manner. Nintendo DS © 2004 Nintendo. TM and ® are trademarks of Nintendo.
Powered by PmWiki