⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file.html

📁 fat16文件系统源码。需要的请下
💻 HTML
📖 第 1 页 / 共 5 页
字号:
</TABLE><P>Download or upload a sector of 512b<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>  - sector address to load/download     - bit to indicate if it's a download or an upload*return:</PRE></TD></TABLE><H4> Note </H4><P><P><HR><A NAME="fat_update_buf_fat"></A><H3> fat_update_buf_fat </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#fat_update_buf_fat">fat_update_buf_fat</A> ( Uint16 cluster_old ,  Uint16 cluster ,  bit end )  </PRE></TD></TABLE><P>This function check if a fat sector have to be writen.<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="fat_update_entry_fat"></A><H3> fat_update_entry_fat </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#fat_update_entry_fat">fat_update_entry_fat</A>  ( void )  </PRE></TD></TABLE><P>Update root entry and FAT after a writing file session (create or re-write)<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="fat_update_entry_fat"></A><H3> fat_update_entry_fat </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#fat_update_entry_fat">fat_update_entry_fat</A>  ( void )  </PRE></TD></TABLE><P>Update root entry and FAT after a writing file session (create or re-write)<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="fat_update_fat_sector"></A><H3> fat_update_fat_sector </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#fat_update_fat_sector">fat_update_fat_sector</A>  ( Uint16 sector_number )  </PRE></TD></TABLE><P>update a sector of fat<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>  sector_number : fat sector position*return:</PRE></TD></TABLE><H4> Note </H4><P>This function check if there is 2 fats to be updated<HR><A NAME="fat_update_fat_sector"></A><H3> fat_update_fat_sector </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#fat_update_fat_sector">fat_update_fat_sector</A>  ( Uint16 sector_number )  </PRE></TD></TABLE><P>update a sector of fat<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>  sector_number : fat sector position*return:</PRE></TD></TABLE><H4> Note </H4><P>This function check if there is 2 fats to be updated<HR><A NAME="file_entry_dir"></A><H3> file_entry_dir </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#file_entry_dir">file_entry_dir</A>  ( Byte id )  </PRE></TD></TABLE><P>Enter a directory<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>  id: file type identifier*return:  OK: file type found in dir  KO: file type not found in dir</PRE></TD></TABLE><HR><A NAME="file_seek_next"></A><H3> file_seek_next </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#file_seek_next">file_seek_next</A>  ( Byte id ,  bit loop )  </PRE></TD></TABLE><P>Select next file with specified extension<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>  id:   file type identifier  loop: loop to the first file*return:</PRE></TD></TABLE><HR><A NAME="file_seek_prev"></A><H3> file_seek_prev </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#file_seek_prev">file_seek_prev</A>  ( Byte id ,  bit loop )  </PRE></TD></TABLE><P>Select previous file with specified extension<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>  id: file type identifier  loop: loop to the last file*return:</PRE></TD></TABLE><H4> Note </H4><P>Depending on the time played, this function selects the previous fileor restarts the file under playing.<HR><A NAME="Hard_write_byte(0x01);"></A><H3> Hard_write_byte(0x01); </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 0x06 ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 0x00 ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE></PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>/ *  Reserved  * / </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>for  ( i = 12; i != 0; i-- )  </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 0x00 ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE></PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( FAT_DRIVE_NUMBER ) ;        / *  Driver number  * / </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 0x00 ) ;                    / *  not used  * / </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( FAT_EXT_SIGN ) ;            / *  extended boot signature  * / </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 0x00 ) ;                    / *  volume ID  * / </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 0x00 ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 0x00 ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 0x00 ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 'N' ) ;                     / *  Volume Label  * / </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 'O' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( ' ' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 'N' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 'A' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 'M' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 'E' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( ' ' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( ' ' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( ' ' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( ' ' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 'F' ) ;                     / *  File System Type in ASCII  * / </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 'A' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( 'T' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( '3' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( '2' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( ' ' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( ' ' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>Hard_write_byte ( ' ' ) ; </PRE></TD><TR> <TD VALIGN=MIDDLE><PRE></PRE></TD><TR> <TD VALIGN=MIDDLE><PRE>for  ( i = 420/2; i != 0; i-- )               / *  Boot Code  * / </PRE></TD></TABLE><HR><A NAME="iso_check_ext"></A><H3> iso_check_ext </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>Byte <A HREF="#iso_check_ext">iso_check_ext</A> ( void )  </PRE></TD></TABLE><P>Return the type of the file<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="iso_dgetw"></A><H3> iso_dgetw </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>Uint16 <A HREF="#iso_dgetw">iso_dgetw</A> ( void )  </PRE></TD></TABLE><P>Read one word from directory<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:  word read</PRE></TD></TABLE><H4> Note </H4><P><P><HR><A NAME="iso_dseek"></A><H3> iso_dseek </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#iso_dseek">iso_dseek</A> ( Int16 offset )  </PRE></TD></TABLE><P>Seek from the current position to a new offset computing relativepoisition +/- scan size limited to a 16 bit offset<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>  offset: offset to current position in signed word value*return:</PRE></TD></TABLE><H4> Note </H4><P><P><HR><A NAME="iso_fclose"></A><H3> iso_fclose </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#iso_fclose">iso_fclose</A> ( void )  </PRE></TD></TABLE><P>Close opened file<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="iso_feob"></A><H3> iso_feob </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#iso_feob">iso_feob</A> ( void )  </PRE></TD></TABLE><P>Determine if B position have been reached in mode repeat A/B<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:  - TRUE : B position have been reached  - FALSE : B position have not benn reached</PRE></TD></TABLE><HR><A NAME="iso_feof"></A><H3> iso_feof </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#iso_feof">iso_feof</A> ( void )  </PRE></TD></TABLE><P>Return the file end flag<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="iso_fetch_directory_info"></A><H3> iso_fetch_directory_info </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#iso_fetch_directory_info">iso_fetch_directory_info</A>  ( <A HREF="#iso_file">iso_file</A>  * entry )  </PRE></TD></TABLE><P>Get information about a directory or file entry<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>  entry: directory entry structure*return:</PRE></TD></TABLE><H4> Note </H4><P><P><HR><A NAME="iso_fgetc"></A><H3> iso_fgetc </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>Byte <A HREF="#iso_fgetc">iso_fgetc</A> ( void )  </PRE></TD></TABLE><P>Read one byte from file<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:  byte read</PRE></TD></TABLE><H4> Note </H4><P>As this function is called very often it must be short and optimizedin execution time<HR><A NAME="iso_file_get_pos"></A><H3> iso_file_get_pos </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>Uint32 <A HREF="#iso_file_get_pos">iso_file_get_pos</A> ( void )  </PRE></TD></TABLE><P>Calculate the current file position<P><TABLE BORDER="0"  WIDTH="100 %"  BGC

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -