<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mcselec.com/bavr/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=AVR-DOS_File_System%2Fde</id>
		<title>AVR-DOS File System/de - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=AVR-DOS_File_System%2Fde"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=AVR-DOS_File_System/de&amp;action=history"/>
		<updated>2026-04-15T02:30:17Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=AVR-DOS_File_System/de&amp;diff=3174&amp;oldid=prev</id>
		<title>Admin: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=AVR-DOS_File_System/de&amp;diff=3174&amp;oldid=prev"/>
				<updated>2013-02-15T19:25:09Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:25, 15 February 2013&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=AVR-DOS_File_System/de&amp;diff=3173&amp;oldid=prev</id>
		<title>Admin at 10:40, 13 February 2013</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=AVR-DOS_File_System/de&amp;diff=3173&amp;oldid=prev"/>
				<updated>2013-02-13T10:40:14Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''== (**COPIED FROM ENGLISH PAGE**) =='''AVR-DOS is a Disk Operating System (DOS) for Atmel AVR microcontroller.&lt;br /&gt;
&lt;br /&gt;
The AVR-DOS file system is written by Josef Franz Vögel. He can be contacted via the BASCOM forum.&lt;br /&gt;
&lt;br /&gt;
Josef has put a lot of effort in writing and especially testing the routines.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Topics of AVR-DOS File System:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;1.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Introduction&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;2.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Important Steps to configure AVR-DOS&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;3.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Requirements&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;4.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Steps to get started with an ATMEGA (and with&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color: rgb(0, 0, 255);&amp;quot;&amp;gt;MMC.lib&amp;lt;/span&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;5.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Getting started with an ATMEGA and ATXMEGA with&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color: rgb(0, 0, 255);&amp;quot;&amp;gt;MMCSD_HC.LIB&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;6.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Memory Usage of DOS – File System&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;7.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Error Codes&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;8.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Buffer Status: Bit definitions of Buffer Status Byte (Directory, FAT and File)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;9.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Validity of the file I/O operations regarding the opening modes&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;10.&amp;lt;/span&amp;gt;&lt;br /&gt;
| SD and SDHC specs and pin-out&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;11.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Example&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;amp;nbsp;for getting started with an ATMEGA and ATXMEGA with MMCSD_HC.LIB&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;12.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Example&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;: Following the Config_MMCSD_HC.INC which is included in the main example program&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;13.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Example&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;: Following the Config_AVR-DOS.inc which is included in the main example program&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt;&amp;quot;&amp;gt;14.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Example&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;: SD and SDHC Card Analysis Example Demo program&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
(Show the Card Capacity and the Card-Register CSD, CID, OCR and SD_Status)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Introduction&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
AVR-DOS provide the needed libraries to handle:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| The file system like open and/or create a file, send to or read from a file (Binary files and ASCII files)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| Interface functions (drivers) for&amp;amp;nbsp;[[Compact_FlashCard_Driver|Compact Flash]], hard disk, SD-Cards, SDHC (also microSD or microSDHC). See SD and SDHC pinout below.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
See also:&amp;amp;nbsp;[[New_CF-Card_Drivers|New CF-Card Drivers]],&amp;amp;nbsp;[[Elektor_CF-Interface|Elektor CF-Interface]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The Filesystem works with:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| FAT16 formatted partitions&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| FAT32 formatted partitions&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| Short file name (8.3)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| Files with a long file name can be accessed by their short file name alias&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| Files in Root Directory. The root dir can store 512 files. Take in mind that when you use long file names, less filenames can be stored.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| Files in Root directory and sub directories&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| LBA mode (Logical block addressing) which is a linear addressing scheme where blocks are located by an integer index.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
SD-card is a further development of the former MMC (Multi Media Card).&lt;br /&gt;
&lt;br /&gt;
FAT = File Allocation Table and is the name of the file system architecture (FAT16 means 16-Bit version of FAT).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
A SD or SDHC card is working at 2.7V ... 3.6V so for ATMEGA running at 5V you need a voltage converter or voltage divider. ATXMEGA are running at 2.7V ... 3.6V anyway so you can connect the sd-card direct to the ATXMEGA pin's.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Everything is written in Assembler to ensure a fast and compact code.&lt;br /&gt;
&lt;br /&gt;
The intention in developing the DOS – file system was to keep close to the equivalent VB functions.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg]]&amp;amp;nbsp;Note that it is not permitted to use the AVR-DOS file system for commercial applications without the purchase of a license. A license comes with the ASM source. You can buy a user license that is suited for most private users.&lt;br /&gt;
&lt;br /&gt;
When you develop a commercial product with AVR-DOS you need the company license. The ASM source is shipped with both licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|notice]]Josef nor MCS Electronics can be held responsible for any damage or data loss of your memory cards or disk drives.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Important Steps to configure AVR-DOS&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Driver interface Library (select&amp;amp;nbsp;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;one&amp;lt;/span&amp;gt;&amp;amp;nbsp;of the following):&lt;br /&gt;
&lt;br /&gt;
For compactFlash:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;$include&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;quot;Config_CompactFlash_ElektorIF_M128.bas&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;$include&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;quot;Config_CompactFlash_M128.bas&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Hard Drives:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;$include&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;quot;Config_HardDisk.bas&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For SD-Cards:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;$include&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;quot;Config_MMC.bas&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For SD-cards&amp;amp;nbsp;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;and SDHC cards&amp;lt;/span&amp;gt;&amp;amp;nbsp;(works also with ATXMEGA&amp;amp;nbsp;!):&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;$include&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;quot;config_MMCSD_HC.inc&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. After calling the Driver interface library you need check the Error Byte which is&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Gbdriveerror&amp;amp;nbsp;&amp;lt;/span&amp;gt;and which is output of the function&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size: 12pt; font-family: 'Times New Roman';&amp;quot;&amp;gt;[[DriveInit|DRIVEINIT()]].&amp;amp;nbsp;&amp;lt;/span&amp;gt;If the output is 0 (no error) you can include the AVR-DOS configuration file. Otherwise you should output the error number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;If&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;Gbdriveerror&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;0&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Then&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;$include&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;quot;Config_AVR-DOS.inc&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;End&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;If&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;3.&amp;amp;nbsp;&amp;lt;/span&amp;gt;In case of&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Gbdriveerror = 0&amp;lt;/span&amp;gt;&amp;amp;nbsp;(No Error) you can Initialize the file system with&amp;amp;nbsp;[[INITFILESYSTEM]](1) where 1 is the partition number. For the Error Output var you need to dim a byte variable like&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;Btemp1&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;As&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Byte&amp;lt;/span&amp;gt;&amp;amp;nbsp;wbefore you call the Initfilesystem.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;Btemp1&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Initfilesystem&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;(&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With Btemp1 = &amp;amp;nbsp;0 (no error) the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Filesystem is successfully initialized&amp;lt;/span&amp;gt;&amp;amp;nbsp;and you can use all other AVR-DOS functions like open, close, read and write.&lt;br /&gt;
&lt;br /&gt;
Functions like&amp;amp;nbsp;[[PUT]],&amp;amp;nbsp;[[GET]],&amp;amp;nbsp;[[SEEK]]-Set&amp;amp;nbsp;only work when the file is opened in binary mode for example:&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-family: 'Courier New'; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Open&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-family: 'Courier New';&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-family: 'Courier New'; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;quot;test.bin&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-family: 'Courier New'; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;For&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-family: 'Courier New';&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-family: 'Courier New'; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Binary&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-family: 'Courier New';&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-family: 'Courier New'; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;As&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-family: 'Courier New';&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-family: 'Courier New'; color: rgb(255, 0, 0);&amp;quot;&amp;gt;#&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-family: 'Courier New';&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
When you want change (ejecting &amp;amp;nbsp;from the card socket) the SD-card (during the AVR is running other code than AVR-DOS) you need to call&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size: 12pt; font-family: 'Times New Roman';&amp;quot;&amp;gt;[[DriveInit|DRIVEINIT()]]&amp;amp;nbsp;and&amp;amp;nbsp;&amp;lt;/span&amp;gt;[[INITFILESYSTEM]](1) again in order to reset the AVR-Hardware (PORTs, PINs) attached to the Drive,reset the Drive again and initialize the file system again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Requirements&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| Software: appr. 2K-Word Code-Space (4000 Bytes in flash)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| SRAM: 561 Bytes for File system Info and DIR-Handle buffer&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| 517 Bytes if FAT is handled in own buffer (for higher speed), otherwise it is handled with the DIR Buffer&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| 534 Bytes for each File handle&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| This means that a &amp;amp;nbsp;ATMEGA644, ATMEGA128 or ATXMEGA have enough memory for it.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| Even an ATMEGA32 could work but you really need to know what you do and you need to fully understand the settings in&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;Config_AVR-DOS.BAS&amp;amp;nbsp;&amp;lt;/span&amp;gt;to reduce the amount of SRAM used by AVR-DOS (which will also affect AVR-DOS performance)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;For example by setting&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Const&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;Cfilehandles&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;1&amp;amp;nbsp;&amp;lt;/span&amp;gt;and handling of FAT- and DIR-Buffer in one SRAM buffer with 561 bytes). You will not have much SRAM left anyway for other tasks in the ATMEGA32 and you can not expect maximum performance.&amp;amp;nbsp;[[$HWSTACK]],&amp;amp;nbsp;[[$SWSTACK]]&amp;amp;nbsp;and&amp;amp;nbsp;[[$FRAMESIZE]]&amp;amp;nbsp;also needs to be set carefully.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' Count of file-handles, each file-handle needs 524 Bytes of SRAM&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Const&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;Cfilehandles&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' [default = 2]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' Handling of FAT-Buffer in SRAM:&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' 0 = FAT- and DIR-Buffer is handled in one SRAM buffer with 561 bytes&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' 1 = FAT- and DIR-Buffer is handled in separate SRAM buffers with 1078 bytes&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' Parameter 1 increased speed of file-handling&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Const&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;Csepfathandle&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;0 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' [default = 1]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: rgb(0, 0, 255);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Main.bas you also need a Filename like&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Dim&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;File_name&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;As&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;String&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;12 &amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: rgb(0, 0, 255);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the above configuration and with the filename there is approximately 500 byte SRAM left in an ATMEGA32 for other tasks. Or in other words AVR-DOS needs at least&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;1500 Byte SRAM&amp;lt;/span&amp;gt;&amp;amp;nbsp;in this case. To get detailed values compile your AVR-DOS application and open the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Bascom-AVR compiler Report (CTRL+W)&amp;lt;/span&amp;gt;&amp;amp;nbsp;then you see the value with&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Space left&amp;amp;nbsp;: 508 Bytes&amp;lt;/span&amp;gt;&amp;amp;nbsp;(then you have 508 Bytes left for other tasks).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;Then you can log data with for example:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Wait&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;4&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Open&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;File_name&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;For&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Append&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;As&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;#&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;100&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Print&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;#&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;100&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;,&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;quot;This is what I log to SD-Card&amp;amp;nbsp;!&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Close&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;#&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;100&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;When you change now&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;Const&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;Csepfathandle&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(255, 0, 0);&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;1 then you will get an OUT OF SRAM &amp;amp;nbsp;space message from the compiler with an ATMEGA32 which indicates that this will not work with an ATMEGA32.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: rgb(0, 0, 255);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| Other chips have too little internal memory. You could use XRAM memory too to extend the RAM.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 35px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| SPI Interface for SD and SDHC cards (can be used in hardware and software SPI mode where hardware SPI mode is faster)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TTo get started there are Examples in the ...BASCOM-AVR\SAMPLES\avrdos folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Steps to get started with an ATMEGA (and with MMC.lib)&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The MMC.lib is for SD-Cards (Standard SD-Cards usually up to 2Gbyte and not for SDHC cards)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-weight: bold; font-size: 10pt;&amp;quot;&amp;gt;1.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Open&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Test_DOS_Drive.bas&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-weight: bold; font-size: 10pt;&amp;quot;&amp;gt;2.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Add $HWSTACK, $SWSTACK and $FRAMESIZE&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-weight: bold; font-size: 10pt;&amp;quot;&amp;gt;3.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Add the hardware driver you want to use (for example for SD-Card this is&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;$include&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;quot;Config_MMC.bas&amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-weight: bold; font-size: 10pt;&amp;quot;&amp;gt;4.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Open the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;Config_MMC.bas&amp;amp;nbsp;&amp;lt;/span&amp;gt;file and configure the SPI interface (hardware or software SPI and which Pin's for example for SPI chip select should be used.&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;Config_MMC.bas&amp;amp;nbsp;&amp;lt;/span&amp;gt;will call the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;MMC.lib&amp;lt;/span&amp;gt;&amp;amp;nbsp;library which is located in the ...BASCOM-AVR\LIB folder.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-weight: bold; font-size: 10pt;&amp;quot;&amp;gt;5.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Then you will find in&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Test_DOS_Drive.bas&amp;amp;nbsp;&amp;lt;/span&amp;gt;the Include AVR-DOS Configuration and library (&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;$include&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;quot;Config_AVR-DOS.BAS&amp;quot;&amp;lt;/span&amp;gt;).&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;&amp;amp;nbsp;Config_AVR-DOS.BAS&amp;amp;nbsp;&amp;lt;/span&amp;gt;can be also found in ...BASCOM-AVR\SAMPLES\avrdos folder.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-weight: bold; font-size: 10pt;&amp;quot;&amp;gt;6.&amp;lt;/span&amp;gt;&lt;br /&gt;
| In&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;Config_AVR-DOS.BAS&amp;lt;/span&amp;gt;&amp;amp;nbsp;you can change the AVR-DOS user settings like the number of file handles or if AT- and DIR-Buffer is handled in one SRAM buffer or in different SRAM buffer. With this settings you can balance between SRAM space used and speed/performance of AVR-DOS.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
File System Configuration in&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;CONFIG_AVR-DOS.BAS&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;609&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 166px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cFileHandles:&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 434px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Count of File handles: for each file opened at same time, a file handle buffer of 534 Bytes is needed&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 166px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cSepFATHandle:&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 434px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
For higher speed in handling file operations the FAT info can be stored in a own buffer, which needs additional 517 Bytes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assign Constant cSepFATHandle with 1, if wanted, otherwise with 0.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-weight: bold; font-size: 10pt;&amp;quot;&amp;gt;7.&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 128);&amp;quot;&amp;gt;Config_AVR-DOS.BAS&amp;amp;nbsp;&amp;lt;/span&amp;gt;will call&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;AVR-DOS.Lbx&amp;amp;nbsp;&amp;lt;/span&amp;gt;library which is located in the ...BASCOM-AVR\LIB folder.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;15&amp;quot; | &amp;lt;span style=&amp;quot;font-weight: bold; font-size: 10pt;&amp;quot;&amp;gt;8.&amp;lt;/span&amp;gt;&lt;br /&gt;
| Compile, flash and run&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Test_DOS_Drive.bas&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files used in the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Test_DOS_Drive.bas&amp;amp;nbsp;&amp;lt;/span&amp;gt;example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' &amp;amp;nbsp;+-------------------------------------------------+&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' &amp;amp;nbsp;| &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;Test_DOS_Drive.bas &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; | &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;Main&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' &amp;amp;nbsp;+-------------------------------------------------+&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;| &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;|&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' &amp;amp;nbsp;+--------------------+ &amp;amp;nbsp; &amp;amp;nbsp; +----------------------+&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' &amp;amp;nbsp;| &amp;amp;nbsp; config_MMC.bas &amp;amp;nbsp; | &amp;amp;nbsp; &amp;amp;nbsp; | Config_AVR-DOS.bas &amp;amp;nbsp; | &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;Include Files&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' &amp;amp;nbsp;+--------------------+ &amp;amp;nbsp; &amp;amp;nbsp; +----------------------+&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;| &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;|&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' &amp;amp;nbsp;+--------------------+ &amp;amp;nbsp; &amp;amp;nbsp; +----------------------+&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' &amp;amp;nbsp;| &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; MMC.lib &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;| &amp;amp;nbsp; &amp;amp;nbsp; | &amp;amp;nbsp; &amp;amp;nbsp; AVR-DOS.Lbx &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;| &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;Libraries&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-size: 8pt; font-family: Courier; color: rgb(0, 128, 0);&amp;quot;&amp;gt;' &amp;amp;nbsp;+--------------------+ &amp;amp;nbsp; &amp;amp;nbsp; +----------------------+&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Getting started with an ATMEGA and ATXMEGA with MMCSD_HC.LIB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;mmcsd_hc.lib&amp;lt;/span&amp;gt;&amp;amp;nbsp;can be found in the ...BASCOM-AVR\LIB folder.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
This library support:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| SD-Cards (also known as SDSC Cards = Secure Digital Standard-Capacity usually up to 2 GByte (also microSD)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;SDHC cards&amp;lt;/span&amp;gt;&amp;amp;nbsp;(Secure Digital High Capacity) cards start at 2Gbyte up to 32GByte. You can also use micro SDHC cards.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| It works with ATMEGA and ATXMEGA chips.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
See ATXMEGA example program&amp;amp;nbsp;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;below.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Memory Usage of DOS – File System&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. General File System information (need&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color: rgb(0, 0, 255);&amp;quot;&amp;gt;35 Byte&amp;lt;/span&amp;gt;&amp;amp;nbsp;in SRAM)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;623&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 164px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Variable Name&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 62px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Type&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 385px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Usage&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gbDOSError&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
holds DOS Error of last file handling routine&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gbFileSystem&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; height: 32px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
File System Code from Master Boot Record&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
glFATFirstSector&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Number of first Sector of FAT Area on the Card&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gbNumberOfFATs&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Count of FAT copies&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gwSectorsPerFat&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Word&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Count of Sectors per FAT&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
glRootFirstSector&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Number of first Sector of Root Area on the Card&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gwRootEntries&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Word&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Count of Root Entries&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
glDataFirstSector&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Number of first Sector of Data Area on the Card&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gbSectorsPerCluster&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Count of Sectors per Cluster&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gwMaxClusterNumber&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Word&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Highest usable Cluster number&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gwLastSearchedCluster&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Word&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Last cluster number found as free&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gwFreeDirEntry&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Word&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Last directory entry number found as free&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
glFS_Temp1&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
temporary Long variable for file system&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;width: 164px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gsTempFileName&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;10%&amp;quot; style=&amp;quot;width: 62px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
String * 11&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 385px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
temporary String for converting file names&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Directory (need&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color: rgb(0, 0, 255);&amp;quot;&amp;gt;559&amp;lt;/span&amp;gt;&amp;amp;nbsp;Byte in SRAM)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;623&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 165px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Variable Name&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 102px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Type&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;68%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 344px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Usage&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 165px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gwDirRootEntry&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 102px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Word&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;68%&amp;quot; style=&amp;quot;width: 344px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
number of last handled root entry&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 165px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
glDirSectorNumber&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 102px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;68%&amp;quot; style=&amp;quot;width: 344px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Number of current loaded Sector&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 165px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gbDirBufferStatus&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 102px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;68%&amp;quot; style=&amp;quot;width: 344px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Buffer Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;27%&amp;quot; style=&amp;quot;width: 165px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gbDirBuffer&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 102px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte (512)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;68%&amp;quot; style=&amp;quot;width: 344px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Buffer for directory Sector&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. FAT (need&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color: rgb(0, 0, 255);&amp;quot;&amp;gt;517&amp;lt;/span&amp;gt;&amp;amp;nbsp;Byte in SRAM)&lt;br /&gt;
&lt;br /&gt;
FAT Buffer is only allocated if the constant: cSepFATHandle = 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;623&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 159px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Variable Name&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;18%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 108px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Type&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 344px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Usage&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 159px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
glFATSectorNumber&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;18%&amp;quot; style=&amp;quot;width: 108px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 344px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Number of current loaded FAT sector&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 159px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gbFATBufferStatus&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;18%&amp;quot; style=&amp;quot;width: 108px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 344px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Buffer status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;width: 159px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
gbFATBuffer&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;18%&amp;quot; style=&amp;quot;width: 108px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte(512)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;59%&amp;quot; style=&amp;quot;width: 344px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
buffer for FAT sector&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. File handling&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each file handle has a block of&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color: rgb(0, 0, 255);&amp;quot;&amp;gt;534&amp;lt;/span&amp;gt;&amp;amp;nbsp;Bytes in the variable abFileHandle which is a byte-array of size (534 * cFileHandles)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;623&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 172px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Variable Name&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 91px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Type&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 348px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Usage&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 172px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
FileNumber&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 91px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; style=&amp;quot;width: 348px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
File number for identification of the file in I/O operations to the opened file&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 172px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
FileMode&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 91px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; style=&amp;quot;width: 348px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
File open mode&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 172px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
FileRootEntry&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 91px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Word&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; style=&amp;quot;width: 348px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Number of root entry&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 172px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
FileFirstCluster&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 91px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Word&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; style=&amp;quot;width: 348px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
First cluster&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 172px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
FATCluster&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 91px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Word&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; style=&amp;quot;width: 348px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cluster of current loaded sector&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 172px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
FileSize&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 91px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; style=&amp;quot;width: 348px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
file size in bytes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 172px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
FilePosition&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 91px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; style=&amp;quot;width: 348px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
file pointer (next read/write) 0-based&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 172px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
FileSectorNumber&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 91px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; style=&amp;quot;width: 348px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
number of current loaded sector&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 172px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
FileBufferStatus&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 91px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; style=&amp;quot;width: 348px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
buffer Status&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 172px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
FileBuffer&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 91px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte(512)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; style=&amp;quot;width: 348px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
buffer for the file sector&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;28%&amp;quot; style=&amp;quot;width: 172px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
SectorTerminator&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 91px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Byte&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;56%&amp;quot; style=&amp;quot;width: 348px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
additional 00 Byte (string terminator) for direct reading ASCII files from the buffer&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Error Codes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 88px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Code&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;60%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 452px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Compiler – Alias&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 71px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Remark&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpNoError&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
No Error&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
1&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpEndOfFile&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Attempt behind End of File&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
17&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpNoMBR&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Sector 0 on Card is not a Master Boot Record&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
18&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpNoPBR&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
No Partition Sector&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
19&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileSystemNotSupported&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Only FAT16 File system is supported&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
20&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpSectorSizeNotSupported&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Only sector size of 512 Bytes is supported&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
21&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpSectorsPerClusterNotSupported&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Only 1, 2, 4, 8, 16, 32, 64 Sectors per Cluster is supported. This are values of normal formatted partitions. Exotic sizes, which are not power of 2 are not supported&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
33&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpNoNextCluster&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Error in file cluster chain&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
34&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpNoFreeCluster&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
No free cluster to allocate (Disk full)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
35&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpClusterError&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Error in file cluster chain&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
49&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpNoFreeDirEntry&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Directory full&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
50&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileExist&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
65&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpNoFreeFileNumber&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
No free file number available, only theoretical error, if 255 file handles in use&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
66&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileNotFound&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
File not found&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
67&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileNumberNotFound&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
No file handle with such file number&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
68&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileOpenNoHandle&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
All file handles occupied&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
69&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileOpenHandleInUse&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
File handle number in use, can't create a new file handle with same file number&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
70&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileOpenShareConflict&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Tried to open a file in read and write modus in two file handles&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
71&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileInUse&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Can't delete file, which is in use&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
72&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileReadOnly&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Can't open a read only file for writing&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
73&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileNoWildCardAllowed&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
No wildcard allowed in this function&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
97&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFilePositionError&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
98&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileAccessError&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
function not allowed in this file open mode&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
99&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpInvalidFilePosition&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
new file position pointer is invalid (minus or 0)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;17%&amp;quot; style=&amp;quot;width: 88px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
100&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 452px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
cpFileSizeToGreat&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 71px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
File size to great for function BLoad&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Buffer Status: Bit definitions of Buffer Status Byte (Directory, FAT and File)&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;623&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 78px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Bit&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 53px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;DIR&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 53px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;FAT&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 84px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;File&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 140px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Compiler Alias&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;71%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 194px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Remark&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 78px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
0 (LSB)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 84px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 140px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dBOF&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;71%&amp;quot; style=&amp;quot;width: 194px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Bottom of File (not yet supported)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 78px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
1&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 84px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 140px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dEOF&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;71%&amp;quot; style=&amp;quot;width: 194px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
End of File&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 78px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
2&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 84px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 140px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dEOFinSector&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;71%&amp;quot; style=&amp;quot;width: 194px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
End of File in this sector (last sector)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 78px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
3&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 84px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 140px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dWritePending&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;71%&amp;quot; style=&amp;quot;width: 194px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Something was written to sector, it must be saved to Card, before loading next sector&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 78px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
4&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 84px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 140px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dFATSector&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;71%&amp;quot; style=&amp;quot;width: 194px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
This is an FAT Sector, at writing to Card, Number of FAT copies must be checked and copy updated if necessary&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; style=&amp;quot;width: 78px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
5&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;9%&amp;quot; style=&amp;quot;width: 53px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 84px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;23%&amp;quot; style=&amp;quot;width: 140px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
dFileEmpty&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;71%&amp;quot; style=&amp;quot;width: 194px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
File is empty, no sector (Cluster) is allocated in FAT to this file&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Validity of the file I/O operations regarding the opening modes&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;567&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 21px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 200px; height: 21px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Open mode&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 358px; height: 4px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 39px; height: 4px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Input&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 50px; height: 4px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Output&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 55px; height: 4px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Append&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;#ffff99&amp;quot; style=&amp;quot;width: 47px; height: 4px; background-color: rgb(255, 255, 153); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Binary&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Attr&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Close&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Put&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Get&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
LOF&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
LOC&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
1)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
1)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
SEEK&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
SEEK-Set&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Line Input&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Print&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Input&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 358px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Write&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 39px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 50px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 55px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 47px; height: 4px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
[[File:Dot.gif]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1) Position pointer is always at End of File&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supported statements and functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[INITFILESYSTEM]] , [[OPEN]] , [[CLOSE]], [[FLUSH]] , [[PRINT]], [[LINE INPUT]], [[LOC]], [[LOF]] , [[EOF]] , [[FREEFILE]] , [[FILEATTR]] , [[SEEK]] , [[BSAVE]] ,[[BLOAD]] , [[KILL]] , [[DISKFREE]] , [[DISKSIZE]] , [[GET]] , [[PUT]] ,[[FILEDATE]] , [[FILETIME]] , [[FILEDATETIME]] , [[DIR]] , [[WRITE]] , [[INPUT]] , [[FILELEN]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;SD and SDHC specs and pin-out&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;(also microSD and microSD pin-out for SPI mode):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_ImageCaption&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_ImageCaption&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SD/SDHC Specs:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| SD and SDHC Cards offer a cost-effective and &amp;amp;nbsp;way to store large amounts of data on a removable memory and is ideal for data logging applications.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| SDHC has a different protocol than SD card with standard Capacity (therefore there was different libraries available at the beginning)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| Standard SD-Cards have a byte addressing. SDHC-Cards have sector-addressing like hard-disks and CF-Cards. One Sector is a portion of 512Bytes. SD cards and SDHC cards also have differences in the protocol at initializing the card, which can be used to check, which kind of card is inserted.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| SD Card operating range: 2.7V...3.6V. So you need a voltage level converter to connect a 5V micro to a SD-card.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| SD cards can be controlled by the six line SD card interface containing the signals: CMD,CLK,DAT0~DAT3 however this is not supported with AVR-DOS.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;AVR-DOS support the SPI interface which can be easily used with the hardware SPI interface of ATMEGA and ATXMEGA&amp;lt;/span&amp;gt;. (Software SPI is also supported).&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| The SPI mode is active if the CS signal is asserted (negative) during the reception of the reset command (CMD0) which will be automatically handled by AVR-DOS&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| The advantage of the SPI mode is reducing the host design in effort.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| With the Chip Select you can also connect several SPI slaves to one SPI interface&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| Endurance: Usually SD or SDHC cards can handle &amp;amp;nbsp;typical up to 100,000 writes for each sector. Reading a logical sector is unlimited. Please take care when writing to SD cards in a loop.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;baseline&amp;quot; style=&amp;quot;vertical-align: baseline;&amp;quot;&lt;br /&gt;
| width=&amp;quot;13&amp;quot; | &amp;lt;span style=&amp;quot;font-size: 10pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Arial;&amp;quot;&amp;gt;•&amp;lt;/span&amp;gt;&lt;br /&gt;
| A typical SD Card current consumption should be between 50mA .... 80mA but should not exceed 200mA&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_ImageCaption&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[File:Sd and microsd pinout.png|center|sd and microSD pinout]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_ImageCaption&amp;quot;&amp;gt;Picture: Backside of SD/SDHC card and microSD card&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_ImageCaption&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SD/SDHC card pin out:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-weight: bold; background-color: rgb(255, 255, 153);&amp;quot;&amp;gt;Pin #&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;228&amp;quot; style=&amp;quot;width: 228px;&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; background-color: rgb(255, 255, 153);&amp;quot;&amp;gt;Description for SPI mode&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;230&amp;quot; style=&amp;quot;width: 230px;&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: rgb(255, 153, 204);&amp;quot;&amp;gt;Connect to Pin on ATMEGA128&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;300&amp;quot; style=&amp;quot;width: 300px;&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: rgb(204, 255, 204);&amp;quot;&amp;gt;Connect to Pin on ATXMEGA128A1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;1&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;228&amp;quot; style=&amp;quot;width: 228px;&amp;quot; | &lt;br /&gt;
Chip Select (SS) (Active low)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;230&amp;quot; style=&amp;quot;width: 230px;&amp;quot; | &lt;br /&gt;
SS (PortB 0) (Active low)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;300&amp;quot; style=&amp;quot;width: 300px;&amp;quot; | &lt;br /&gt;
SS (example for SPIC) PortC 4 (Active low)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;2&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;228&amp;quot; style=&amp;quot;width: 228px;&amp;quot; | &lt;br /&gt;
DI (Data In)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;230&amp;quot; style=&amp;quot;width: 230px;&amp;quot; | &lt;br /&gt;
MOSI (PortB 2)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;300&amp;quot; style=&amp;quot;width: 300px;&amp;quot; | &lt;br /&gt;
MOSI (example for SPIC) PortC 5&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;3&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;228&amp;quot; style=&amp;quot;width: 228px;&amp;quot; | &lt;br /&gt;
GND&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;230&amp;quot; style=&amp;quot;width: 230px;&amp;quot; | &lt;br /&gt;
GND&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;300&amp;quot; style=&amp;quot;width: 300px;&amp;quot; | &lt;br /&gt;
GND&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;4&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;228&amp;quot; style=&amp;quot;width: 228px;&amp;quot; | &lt;br /&gt;
Vdd (Supply Voltage)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;230&amp;quot; style=&amp;quot;width: 230px;&amp;quot; | &lt;br /&gt;
Supply Voltage (2.7V...3.6V)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;300&amp;quot; style=&amp;quot;width: 300px;&amp;quot; | &lt;br /&gt;
Supply Voltage (2.7V...3.6V)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;5&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;228&amp;quot; style=&amp;quot;width: 228px;&amp;quot; | &lt;br /&gt;
Clock&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;230&amp;quot; style=&amp;quot;width: 230px;&amp;quot; | &lt;br /&gt;
SCK (PortB 1)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;300&amp;quot; style=&amp;quot;width: 300px;&amp;quot; | &lt;br /&gt;
SCK (example for SPIC) PortC 7&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;6&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;228&amp;quot; style=&amp;quot;width: 228px;&amp;quot; | &lt;br /&gt;
GND&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;230&amp;quot; style=&amp;quot;width: 230px;&amp;quot; | &lt;br /&gt;
GND&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;300&amp;quot; style=&amp;quot;width: 300px;&amp;quot; | &lt;br /&gt;
GND&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;7&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;228&amp;quot; style=&amp;quot;width: 228px;&amp;quot; | &lt;br /&gt;
D0 (Data Out)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;230&amp;quot; style=&amp;quot;width: 230px;&amp;quot; | &lt;br /&gt;
MISO (PortB 3)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;300&amp;quot; style=&amp;quot;width: 300px;&amp;quot; | &lt;br /&gt;
MISO (example for SPIC) PortC 6&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;8&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;228&amp;quot; style=&amp;quot;width: 228px;&amp;quot; | &lt;br /&gt;
Reserved&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;230&amp;quot; style=&amp;quot;width: 230px;&amp;quot; | &lt;br /&gt;
- - -&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;300&amp;quot; style=&amp;quot;width: 300px;&amp;quot; | &lt;br /&gt;
- - -&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;9&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;228&amp;quot; style=&amp;quot;width: 228px;&amp;quot; | &lt;br /&gt;
Reserved&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;230&amp;quot; style=&amp;quot;width: 230px;&amp;quot; | &lt;br /&gt;
- - -&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;300&amp;quot; style=&amp;quot;width: 300px;&amp;quot; | &lt;br /&gt;
- - -&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_ImageCaption&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on the used SD-card (or microSD) socket you can also detect if the card is inserted or ejected (for this you need an additional pin on the micro).&lt;br /&gt;
&lt;br /&gt;
In some cases it is best practise to spend another pin able to switch on and off the power to the SD-card socket (e.g. over a transistor or FET). In this case you can cycle power from the AVR when the sd-card controller hangs.&lt;br /&gt;
&lt;br /&gt;
It is also best practise in some cases when you open a file for append, write the data to it and close it right after this so there is no open file where data could be corrupted by an undefined external event.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
microSD card pin out (same as microSDHC pin-out):&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: none; border-spacing: 0px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-weight: bold; background-color: rgb(204, 255, 204);&amp;quot;&amp;gt;Pin #&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;261&amp;quot; style=&amp;quot;width: 261px;&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; background-color: rgb(204, 255, 204);&amp;quot;&amp;gt;microSD Description for SPI mode&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;1&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;261&amp;quot; style=&amp;quot;width: 261px;&amp;quot; | &lt;br /&gt;
Reserved&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;2&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;261&amp;quot; style=&amp;quot;width: 261px;&amp;quot; | &lt;br /&gt;
Chip Select (SS)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;3&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;261&amp;quot; style=&amp;quot;width: 261px;&amp;quot; | &lt;br /&gt;
DI (Data In)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;4&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;261&amp;quot; style=&amp;quot;width: 261px;&amp;quot; | &lt;br /&gt;
Vdd (Supply Voltage)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;5&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;261&amp;quot; style=&amp;quot;width: 261px;&amp;quot; | &lt;br /&gt;
Clock&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;6&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;261&amp;quot; style=&amp;quot;width: 261px;&amp;quot; | &lt;br /&gt;
GND&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;7&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;261&amp;quot; style=&amp;quot;width: 261px;&amp;quot; | &lt;br /&gt;
DO (Data Out)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;47&amp;quot; style=&amp;quot;width: 47px;&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;8&amp;lt;/p&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;261&amp;quot; style=&amp;quot;width: 261px;&amp;quot; | &lt;br /&gt;
Reserved&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example 1 for getting started with an ATMEGA and ATXMEGA with MMCSD_HC.LIB&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-------------------------------------------------------------------------------&lt;br /&gt;
' Filename: XMEGA_AVR-DOS_SDHC.BAS&lt;br /&gt;
' Library needed: MMCSD_HC.LIB --&amp;gt; Place MMCSD_HC.LIB in the LIB-Path of BASCOM-AVR installation&lt;br /&gt;
' MMCSD_HC.LIB will be called from config_MMCSD_HC.inc&lt;br /&gt;
' AVR-DOS.Lbx&lt;br /&gt;
' Include file: config_MMCSD_HC.inc (will be called from XMEGA_AVR-DOS_SDHC.BAS)&lt;br /&gt;
' Used ATXMEGA: ATXMEGA128A1&lt;br /&gt;
' Used SPI Port: Port D (you can also use Software SPI)&lt;br /&gt;
'-------------------------------------------------------------------------------&lt;br /&gt;
'&lt;br /&gt;
' File Structure:&lt;br /&gt;
'&lt;br /&gt;
' +-------------------------------------------------+&lt;br /&gt;
' | XMEGA_AVR-DOS_SDHC.BAS | Main&lt;br /&gt;
' +-------------------------------------------------+&lt;br /&gt;
' | |&lt;br /&gt;
' +--------------------+ +----------------------+&lt;br /&gt;
' | config_MMCSD_HC.inc| | Config_AVR-DOS.inc | Include Files&lt;br /&gt;
' +--------------------+ +----------------------+&lt;br /&gt;
' | |&lt;br /&gt;
' +--------------------+ +----------------------+&lt;br /&gt;
' | MMCSD_HC.LIB | | AVR-DOS.Lbx | Libraries&lt;br /&gt;
' +--------------------+ +----------------------+&lt;br /&gt;
'&lt;br /&gt;
'&lt;br /&gt;
' Terminal output of following example (with hardware SPI over Port.D):&lt;br /&gt;
'&lt;br /&gt;
' Used SD-Card: 4GByte SDHC Card&lt;br /&gt;
'&lt;br /&gt;
'&lt;br /&gt;
'(&lt;br /&gt;
 &lt;br /&gt;
---Example for using a SDHC-Card with AVR-DOS and XMEGA---&lt;br /&gt;
Starting... SDHC with ATXMEGA....&lt;br /&gt;
 &lt;br /&gt;
SD Card Type = SDHC Spec. 2.0 or later&lt;br /&gt;
 &lt;br /&gt;
Init File System ... OK --&amp;gt; Btemp1= 0 / Gbdriveerror = 0&lt;br /&gt;
Filesystem = 6&lt;br /&gt;
FAT Start Sector: 8196&lt;br /&gt;
Root Start Sector: 8688&lt;br /&gt;
Data First Sector: 8720&lt;br /&gt;
Max. Cluster Nummber: 62794&lt;br /&gt;
Sectors per Cluster: 128&lt;br /&gt;
Root Entries: 512&lt;br /&gt;
Sectors per FAT: 246&lt;br /&gt;
Number of FATs: 2&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Write to file done !&lt;br /&gt;
File length = 46&lt;br /&gt;
This is my 1 first Text to File with XMEGA !&lt;br /&gt;
write to file&lt;br /&gt;
Total bytes written: 10200&lt;br /&gt;
Write and Readback test done !&lt;br /&gt;
Dir function demo&lt;br /&gt;
LOGGER.TXT 01\01\01 01:00:00 3120&lt;br /&gt;
MY_FILE.TXT 01\01\01 01:00:00 46&lt;br /&gt;
TEST.TXT 01\01\01 01:00:00 10200&lt;br /&gt;
 &lt;br /&gt;
Diskfree = 4018560&lt;br /&gt;
Disksize = 4018752&lt;br /&gt;
 &lt;br /&gt;
')&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;xm128a1def.dat&amp;quot;&lt;br /&gt;
$crystal = 32000000 '32MHz&lt;br /&gt;
$hwstack = 128&lt;br /&gt;
$swstack = 128&lt;br /&gt;
$framesize = 128&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Config Osc = Disabled , 32mhzosc = Enabled '32MHz&lt;br /&gt;
Config Sysclock = 32mhz '32Mhz&lt;br /&gt;
Config Priority = Static , Vector = Application , Lo = Enabled 'config interrupts&lt;br /&gt;
Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
'=====[ Serial Interface to PC = COM5 ]========================================&lt;br /&gt;
Config Com5 = 57600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8&lt;br /&gt;
Open &amp;quot;COM5:&amp;quot; For Binary As #2&lt;br /&gt;
Waitms 1&lt;br /&gt;
 &lt;br /&gt;
Print #2 ,&lt;br /&gt;
Print #2 , &amp;quot;---Example for using a SDHC-Card with AVR-DOS and XMEGA---&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'=====[ Global Vars ]==========================================================&lt;br /&gt;
Dim Btemp1 As Byte ' Needed for Fat Drivers&lt;br /&gt;
Dim Input_string As String * 100&lt;br /&gt;
Dim Output_string As String * 100&lt;br /&gt;
Dim File_handle As Byte&lt;br /&gt;
Dim File_name As String * 14&lt;br /&gt;
Dim X As Long&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Print #2 , &amp;quot;Starting... SDHC with ATXMEGA....&amp;quot;&lt;br /&gt;
Print #2 ,&lt;br /&gt;
 &lt;br /&gt;
'------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
'=====[ Includes ]============================================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
$include &amp;quot;config_MMCSD_HC.inc&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Print #2 , &amp;quot;SD Card Type = &amp;quot; ;&lt;br /&gt;
Select Case Mmcsd_cardtype&lt;br /&gt;
Case 0 : Print #2 , &amp;quot;can't init the Card&amp;quot;&lt;br /&gt;
Case 1 : Print #2 , &amp;quot;MMC&amp;quot;&lt;br /&gt;
Case 2 : Print #2 , &amp;quot;SDSC Spec. 1.x &amp;quot;&lt;br /&gt;
Case 4 : Print #2 , &amp;quot;SDSC Spec. 2.0 or later&amp;quot;&lt;br /&gt;
Case 12 : Print #2 , &amp;quot;SDHC Spec. 2.0 or later&amp;quot;&lt;br /&gt;
End Select&lt;br /&gt;
 &lt;br /&gt;
Print #2 ,&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
If Gbdriveerror = 0 Then 'from.... Gbdriveerror = Driveinit()&lt;br /&gt;
 $include &amp;quot;Config_AVR-DOS.inc&amp;quot; ' Include AVR-DOS Configuration and library&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Print #2 , &amp;quot;Init File System ... &amp;quot; ;&lt;br /&gt;
 Btemp1 = Initfilesystem(1) ' Reads the Master boot record and the partition boot record (Sector) from the flash card and initializes the file system&lt;br /&gt;
 '1 = Partitionnumber&lt;br /&gt;
 If Btemp1 &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
 Print #2 , &amp;quot;Error: &amp;quot; ; Btemp1 ; &amp;quot; at Init file system&amp;quot;&lt;br /&gt;
 Else&lt;br /&gt;
 Print #2 , &amp;quot; OK --&amp;gt; Btemp1= &amp;quot; ; Btemp1 ; &amp;quot; / Gbdriveerror = &amp;quot; ; Gbdriveerror&lt;br /&gt;
 Print #2 , &amp;quot;Filesystem = &amp;quot; ; Gbfilesystem&lt;br /&gt;
 Print #2 , &amp;quot;FAT Start Sector: &amp;quot; ; Glfatfirstsector&lt;br /&gt;
 Print #2 , &amp;quot;Root Start Sector: &amp;quot; ; Glrootfirstsector&lt;br /&gt;
 Print #2 , &amp;quot;Data First Sector: &amp;quot; ; Gldatafirstsector&lt;br /&gt;
 Print #2 , &amp;quot;Max. Cluster Nummber: &amp;quot; ; Glmaxclusternumber&lt;br /&gt;
 Print #2 , &amp;quot;Sectors per Cluster: &amp;quot; ; Gbsectorspercluster&lt;br /&gt;
 Print #2 , &amp;quot;Root Entries: &amp;quot; ; Gwrootentries&lt;br /&gt;
 Print #2 , &amp;quot;Sectors per FAT: &amp;quot; ; Glsectorsperfat&lt;br /&gt;
 Print #2 , &amp;quot;Number of FATs: &amp;quot; ; Gbnumberoffats&lt;br /&gt;
 End If&lt;br /&gt;
 &lt;br /&gt;
 Print #2 ,&lt;br /&gt;
 Print #2 ,&lt;br /&gt;
 &lt;br /&gt;
 '-------------------------------------------------------------------------&lt;br /&gt;
 ' Write Text to file&lt;br /&gt;
 File_handle = Freefile() ' get a file handle&lt;br /&gt;
 File_name = &amp;quot;My_file.txt&amp;quot;&lt;br /&gt;
 Open File_name For Output As #file_handle ' open file for output with file_handle&lt;br /&gt;
 ' If the file exist already, the file will be overwritten !&lt;br /&gt;
 Print #file_handle , &amp;quot;This is my 1 first Text to File with XMEGA !&amp;quot;&lt;br /&gt;
 Close #file_handle&lt;br /&gt;
 &lt;br /&gt;
 Print #2 , &amp;quot;Write to file done !&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 '-------------------------------------------------------------------------&lt;br /&gt;
 'Now we want to read back the text we wrote to file and print it over Serial Interface&lt;br /&gt;
 File_handle = Freefile()&lt;br /&gt;
 Open &amp;quot;My_file.txt&amp;quot; For Input As #file_handle ' we can use a constant for the file too&lt;br /&gt;
 Print #2 , &amp;quot;File length = &amp;quot; ; Lof(#file_handle)&lt;br /&gt;
 Line Input #file_handle , Input_string ' read a line&lt;br /&gt;
 Print #2 , Input_string 'print the line&lt;br /&gt;
 Close #file_handle&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 'WRITE TO FILE&lt;br /&gt;
 Print #2 , &amp;quot;write to file&amp;quot;&lt;br /&gt;
 File_name = &amp;quot;Test.txt&amp;quot;&lt;br /&gt;
 Input_string = &amp;quot;1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Open File_name For Output As #10&lt;br /&gt;
 &lt;br /&gt;
 While X &amp;lt; 10000 '10000 * 102 Byte / 100 = 10200 Byte&lt;br /&gt;
 Print #10 , Input_string&lt;br /&gt;
 X = X + 100&lt;br /&gt;
 Wend&lt;br /&gt;
 &lt;br /&gt;
 Close #10&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 X = Filelen(file_name)&lt;br /&gt;
 Print #2 , &amp;quot;Total bytes written: &amp;quot; ; X&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 'READ FROM FILE&lt;br /&gt;
 &lt;br /&gt;
 Open File_name For Input As #10&lt;br /&gt;
 While Eof(#10) = 0&lt;br /&gt;
 Line Input #10 , Output_string ' read a line&lt;br /&gt;
 If Input_string &amp;lt;&amp;gt; Output_string Then&lt;br /&gt;
 Print #2 , &amp;quot;Buffer Error! near byte: &amp;quot; ; X ; &amp;quot; &amp;quot; ; &amp;quot;[&amp;quot; ; Output_string ; &amp;quot;]&amp;quot;&lt;br /&gt;
 Waitms 2000&lt;br /&gt;
 End If&lt;br /&gt;
 Wend&lt;br /&gt;
 Close #10&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Print #2 , &amp;quot;Write and Readback test done !&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 '-------------------------------------------------------------------------&lt;br /&gt;
 'Print the file name which was created before&lt;br /&gt;
 Print #2 , &amp;quot;Dir function demo&amp;quot;&lt;br /&gt;
 Input_string = Dir( &amp;quot;*.*&amp;quot;)&lt;br /&gt;
 'The first call to the DIR() function must contain a file mask The * means everything.&lt;br /&gt;
 ' Print File Names&lt;br /&gt;
 While Len(input_string) &amp;gt; 0 ' if there was a file found&lt;br /&gt;
 Print #2 , Input_string ; &amp;quot; &amp;quot; ; Filedate() ; &amp;quot; &amp;quot; ; Filetime() ; &amp;quot; &amp;quot; ; Filelen()&lt;br /&gt;
 ' print file , the date the fime was created/changed , the time and the size of the file&lt;br /&gt;
 Input_string = Dir() ' get next&lt;br /&gt;
 Wend&lt;br /&gt;
 &lt;br /&gt;
 '-------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 Print #2 ,&lt;br /&gt;
 Print #2 , &amp;quot;Diskfree = &amp;quot; ; Diskfree()&lt;br /&gt;
 Print #2 , &amp;quot;Disksize = &amp;quot; ; Disksize()&lt;br /&gt;
 &lt;br /&gt;
End If 'If Gbdriveerror = 0 Then&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
End 'end program&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example 1: Following the&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Header&amp;quot; style=&amp;quot;color: rgb(0, 0, 255);&amp;quot;&amp;gt;Config_MMCSD_HC.INC&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;which is included in the main example program&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
$nocompile&lt;br /&gt;
 &lt;br /&gt;
'-------------------------------------------------------------------------------&lt;br /&gt;
' Config_MMCSD_HC.INC&lt;br /&gt;
' Config File for MMC/SD/SDHC Flash Cards Driver&lt;br /&gt;
' (c) 2003-2009 , MCS Electronics / Vögel Franz Josef&lt;br /&gt;
'-------------------------------------------------------------------------------&lt;br /&gt;
' Place MMCSD_HC.LIB in the LIB-Path of BASCOM-AVR installation&lt;br /&gt;
'&lt;br /&gt;
' you can vary MMC_CS on HW-SPI and all pins on SOFT-SPI, check settings&lt;br /&gt;
'&lt;br /&gt;
' ========== Start of user definable range =====================================&lt;br /&gt;
'&lt;br /&gt;
' Declare here you SPI-Mode&lt;br /&gt;
' using HW-SPI: cMMC_Soft = 0&lt;br /&gt;
Const Hardware_spi = 0&lt;br /&gt;
' not using HW_SPI: cMMC_Soft = 1&lt;br /&gt;
Const Software_spi = 1&lt;br /&gt;
 &lt;br /&gt;
Const Cmmc_soft = Hardware_spi&lt;br /&gt;
 &lt;br /&gt;
#if Cmmc_soft = 0&lt;br /&gt;
 &lt;br /&gt;
' --------- Start of Section for HW-SPI ----------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 'Port D of ATXMEGA is used in this example as SPI Interface to SD-Card&lt;br /&gt;
 &lt;br /&gt;
 Portd_pin6ctrl = &amp;amp;B00_011_000 'Enable Pullup for MISO Pin&lt;br /&gt;
 &lt;br /&gt;
 ' Define here Slave Slect (SS) Pin of Hardware SPI&lt;br /&gt;
 Config Pind.4 = Output ' define here Pin for CS of MMC/SD Card&lt;br /&gt;
 Mmc_cs Alias Portd.4&lt;br /&gt;
 Set Mmc_cs&lt;br /&gt;
 &lt;br /&gt;
 ' Define here Slave Slect (SS) Pin of Hardware SPI&lt;br /&gt;
 Config Pind.4 = Output ' define here Pin of SPI SS&lt;br /&gt;
 Spi_ss Alias Portd.4&lt;br /&gt;
 Set Spi_ss ' Set SPI-SS to Output and High por Proper work of&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 'FOR XMEGA DEVICES&lt;br /&gt;
 #if _xmega = 1&lt;br /&gt;
 'SPI Configuration for XMEGA&lt;br /&gt;
 'Used Library = $LIB &amp;quot;MMCSD_HC.LIB&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 'Portd.4 SS --&amp;gt; SD-Card Slave Select&lt;br /&gt;
 'Portd.5 MOSI --&amp;gt; SD-Card MISO&lt;br /&gt;
 'Portd.6 MISO --&amp;gt; SD-Card MOSI&lt;br /&gt;
 'Portd.7 CLK --&amp;gt; SD-Card Clock&lt;br /&gt;
 &lt;br /&gt;
 Config Spid = Hard , Master = Yes , Mode = 0 , Clockdiv = Clk2 , Data_order = Msb&lt;br /&gt;
 Open &amp;quot;SPID&amp;quot; For Binary As #14&lt;br /&gt;
 Const _mmc_spi = Spid_ctrl&lt;br /&gt;
 #else&lt;br /&gt;
 &lt;br /&gt;
 ' HW-SPI is configured to highest Speed&lt;br /&gt;
 Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1&lt;br /&gt;
' Spsr = 1 ' Double speed on ATMega128&lt;br /&gt;
 Spiinit&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
' --------- End of Section for HW-SPI ------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
#else ' Config here SPI pins, if not using HW SPI&lt;br /&gt;
 &lt;br /&gt;
' --------- Start of Section for Soft-SPI --------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 ' Chip Select Pin =&amp;gt; Pin 1 of MMC/SD&lt;br /&gt;
 Config Pind.4 = Output&lt;br /&gt;
 Mmc_cs Alias Portd.4&lt;br /&gt;
 Set Mmc_cs&lt;br /&gt;
 &lt;br /&gt;
 ' MOSI - Pin =&amp;gt; Pin 2 of MMC/SD&lt;br /&gt;
 Config Pind.5 = Output&lt;br /&gt;
 Set Pind.5&lt;br /&gt;
 Mmc_portmosi Alias Portd&lt;br /&gt;
 Bmmc_mosi Alias 5&lt;br /&gt;
 &lt;br /&gt;
 ' MISO - Pin =&amp;gt; Pin 7 of MMC/SD&lt;br /&gt;
 Config Pind.6 = Input&lt;br /&gt;
 Mmc_portmiso Alias Pind&lt;br /&gt;
 Bmmc_miso Alias 6&lt;br /&gt;
 &lt;br /&gt;
 ' SCK - Pin =&amp;gt; Pin 1 of MMC/SD&lt;br /&gt;
 Config Pind.7 = Output&lt;br /&gt;
 Set Pind.7&lt;br /&gt;
 Mmc_portsck Alias Portd&lt;br /&gt;
 Bmmc_sck Alias 7&lt;br /&gt;
 &lt;br /&gt;
' --------- End of Section for Soft-SPI ----------------------------------------&lt;br /&gt;
 &lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
' ========== End of user definable range =======================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'==== Variables For Application ================================================&lt;br /&gt;
Dim Mmcsd_cardtype As Byte ' Information about the type of the Card&lt;br /&gt;
' 0 can't init the Card&lt;br /&gt;
' 1 MMC&lt;br /&gt;
' 2 SDSC Spec. 1.x&lt;br /&gt;
' 4 SDSC Spec. 2.0 or later&lt;br /&gt;
' 12 SDHC Spec. 2.0 or later&lt;br /&gt;
 &lt;br /&gt;
Dim Gbdriveerror As Byte ' General Driver Error register&lt;br /&gt;
' Values see Error-Codes&lt;br /&gt;
'===============================================================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' ==== Variables for Debug =====================================================&lt;br /&gt;
' You can remove remarks(') if you want check this variables in your application&lt;br /&gt;
Dim Gbdrivestatusreg As Byte ' Driver save here Card response&lt;br /&gt;
' Dim gbDriveErrorReg as Byte at GbdriveStatusReg overlay '&lt;br /&gt;
' Dim gbDriveLastCommand as Byte ' Driver save here Last Command to Card&lt;br /&gt;
Dim Gbdrivedebug As Byte&lt;br /&gt;
' Dim MMCSD_Try As Byte ' how often driver tried to initialized the card&lt;br /&gt;
'===============================================================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'==== Driver internal variables ================================================&lt;br /&gt;
' You can remove remarks(') if you want check this variables in your application&lt;br /&gt;
' Dim _mmcsd_timer1 As Word&lt;br /&gt;
' Dim _mmcsd_timer2 As Word&lt;br /&gt;
'===============================================================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Error-Codes&lt;br /&gt;
Const Cperrdrivenotpresent = &amp;amp;HE0&lt;br /&gt;
Const Cperrdrivenotsupported = &amp;amp;HE1&lt;br /&gt;
Const Cperrdrivenotinitialized = &amp;amp;HE2&lt;br /&gt;
 &lt;br /&gt;
Const Cperrdrivecmdnotaccepted = &amp;amp;HE6&lt;br /&gt;
Const Cperrdrivenodata = &amp;amp;HE7&lt;br /&gt;
 &lt;br /&gt;
Const Cperrdriveinit1 = &amp;amp;HE9&lt;br /&gt;
Const Cperrdriveinit2 = &amp;amp;HEA&lt;br /&gt;
Const Cperrdriveinit3 = &amp;amp;HEB&lt;br /&gt;
Const Cperrdriveinit4 = &amp;amp;HEC&lt;br /&gt;
Const Cperrdriveinit5 = &amp;amp;HED&lt;br /&gt;
Const Cperrdriveinit6 = &amp;amp;HEE&lt;br /&gt;
 &lt;br /&gt;
Const Cperrdriveread1 = &amp;amp;HF1&lt;br /&gt;
Const Cperrdriveread2 = &amp;amp;HF2&lt;br /&gt;
 &lt;br /&gt;
Const Cperrdrivewrite1 = &amp;amp;HF5&lt;br /&gt;
Const Cperrdrivewrite2 = &amp;amp;HF6&lt;br /&gt;
Const Cperrdrivewrite3 = &amp;amp;HF7&lt;br /&gt;
Const Cperrdrivewrite4 = &amp;amp;HF8&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
$lib &amp;quot;MMCSD_HC.LIB&amp;quot;&lt;br /&gt;
$external _mmc&lt;br /&gt;
' Init the Card&lt;br /&gt;
Gbdriveerror = Driveinit()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' you can remark/remove following two Code-lines, if you dont't use MMCSD_GetSize()&lt;br /&gt;
$external Mmcsd_getsize&lt;br /&gt;
Declare Function Mmcsd_getsize() As Long&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' you can remark/remove following two Code-lines, if you dont't use MMCSD_GetCSD()&lt;br /&gt;
' write result of function to an array of 16 Bytes&lt;br /&gt;
$external Mmcsd_getcsd&lt;br /&gt;
Declare Function Mmcsd_getcsd() As Byte&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' you can remark/remove following two Code-lines, if you dont't use MMCSD_GetCID()&lt;br /&gt;
' write result of function to an array of 16 Bytes&lt;br /&gt;
$external Mmcsd_getcid&lt;br /&gt;
Declare Function Mmcsd_getcid() As Byte&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' you can remark/remove following two Code-lines, if you dont't use MMCSD_GetOCR()&lt;br /&gt;
' write result of function to an array of 4 Bytes&lt;br /&gt;
$external Mmcsd_getocr&lt;br /&gt;
Declare Function Mmcsd_getocr() As Byte&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' you can remark/remove following two Code-lines, if you dont't use MMCSD_GetSDStat&lt;br /&gt;
' write result of function to an array of 64 Bytes&lt;br /&gt;
$external Sd_getsd_status&lt;br /&gt;
Declare Function Sd_getsd_status() As Byte&lt;br /&gt;
 &lt;br /&gt;
' check the usage of the above functions in the sample MMCSD_Analysis.bas&lt;br /&gt;
' check also the MMC and SD Specification for the content of the registers CSD, CID, OCR and SDStat&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example 1: Following the&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Header&amp;quot; style=&amp;quot;color: rgb(0, 0, 255);&amp;quot;&amp;gt;Config_AVR-DOS.inc&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;&amp;amp;nbsp;which is included in the main example program&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
$nocompile&lt;br /&gt;
' Config File-System for Version 5.5:&lt;br /&gt;
 &lt;br /&gt;
' === User Settings ============================================================&lt;br /&gt;
 &lt;br /&gt;
' Count of file-handles, each file-handle needs 524 Bytes of SRAM&lt;br /&gt;
Const Cfilehandles = 2 ' [default = 2]&lt;br /&gt;
 &lt;br /&gt;
' Handling of FAT-Buffer in SRAM:&lt;br /&gt;
' 0 = FAT- and DIR-Buffer is handled in one SRAM buffer with 561 bytes&lt;br /&gt;
' 1 = FAT- and DIR-Buffer is handled in separate SRAM buffers with 1078 bytes&lt;br /&gt;
' Parameter 1 increased speed of file-handling&lt;br /&gt;
Const Csepfathandle = 1 ' [default = 1]&lt;br /&gt;
 &lt;br /&gt;
' Handling of pending FAT and Directory information of open files&lt;br /&gt;
' 0 = FAT and Directory Information is updated every time a data sector of the file is updated&lt;br /&gt;
' 1 = FAT and Directory Information is only updated at FLUSH and SAVE command&lt;br /&gt;
' Parameter 1 increases writing speed of data significantly&lt;br /&gt;
Const Cfatdirsaveatend = 1 ' [default = 1]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Surrounding String with Quotation Marks at the Command WRITE&lt;br /&gt;
' 0 = No Surrounding of strings with quotation.marks&lt;br /&gt;
' 1 = Surrounding of strings with quotation.marks (f.E. &amp;quot;Text&amp;quot;)&lt;br /&gt;
Const Ctextquotationmarks = 1 ' [default = 1]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Write second FAT. Windows accepts a not updated second FAT&lt;br /&gt;
' PC-Command: chkdsk /f corrects the second FAT, it overwrites the&lt;br /&gt;
' second FAT with the first FAT&lt;br /&gt;
' set this parameter to 0 for high speed continuing saving data&lt;br /&gt;
' 0 = Second FAT is not updated&lt;br /&gt;
' 1 = Second FAT is updated if exist&lt;br /&gt;
Const Cfatsecondupdate = 1 ' [default = 1]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Character to separate ASCII Values in WRITE - statement (and INPUT)&lt;br /&gt;
' Normally a comma (,) is used. but it can be changed to other values, f.E.&lt;br /&gt;
' to TAB (ASCII-Code 9) if EXCEL Files with Tab separated values should be&lt;br /&gt;
' written or read. This parameter works for WRITE and INPUT&lt;br /&gt;
' Parameter value is the ASSCII-Code of the separator&lt;br /&gt;
' 44 = comma [default]&lt;br /&gt;
' 9 = TAB ' [default = 44]&lt;br /&gt;
Const Cvariableseparator = 44&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' === End of User Setting ======================================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' === Variables for AVR-DOS ====================================================&lt;br /&gt;
 &lt;br /&gt;
' FileSystem Basis Informationen&lt;br /&gt;
Dim Gldrivesectors As Long&lt;br /&gt;
Dim Gbdoserror As Byte&lt;br /&gt;
 &lt;br /&gt;
' Master Boot Record&lt;br /&gt;
Dim Gbfilesystem As Byte&lt;br /&gt;
' Partition Boot Record&lt;br /&gt;
Dim Gbfilesystemstatus As Byte&lt;br /&gt;
Dim Glfatfirstsector As Long&lt;br /&gt;
Dim Gbnumberoffats As Byte&lt;br /&gt;
Dim Glsectorsperfat As Long&lt;br /&gt;
Dim Glrootfirstsector As Long&lt;br /&gt;
Dim Gwrootentries As Word&lt;br /&gt;
Dim Gldatafirstsector As Long&lt;br /&gt;
Dim Gbsectorspercluster As Byte&lt;br /&gt;
Dim Glmaxclusternumber As Long&lt;br /&gt;
Dim Gllastsearchedcluster As Long&lt;br /&gt;
 &lt;br /&gt;
' Additional info&lt;br /&gt;
Dim Glfs_temp1 As Long&lt;br /&gt;
 &lt;br /&gt;
' Block für Directory Handling&lt;br /&gt;
 &lt;br /&gt;
Dim Gldirfirstsectornumber As Long&lt;br /&gt;
 &lt;br /&gt;
Dim Gwfreedirentry As Word&lt;br /&gt;
Dim Glfreedirsectornumber As Long&lt;br /&gt;
 &lt;br /&gt;
Dim Gsdir0tempfilename As String * 11&lt;br /&gt;
Dim Gwdir0entry As Word ' Keep together with next, otherwise change _DIR&lt;br /&gt;
Dim Gldir0sectornumber As Long&lt;br /&gt;
 &lt;br /&gt;
Dim Gstempfilename As String * 11&lt;br /&gt;
Dim Gwdirentry As Word&lt;br /&gt;
Dim Gldirsectornumber As Long&lt;br /&gt;
Dim Gbdirbufferstatus As Byte&lt;br /&gt;
Dim Gbdirbuffer(512) As Byte&lt;br /&gt;
Const C_filesystemsramsize1 = 594&lt;br /&gt;
#if Csepfathandle = 1&lt;br /&gt;
Dim Glfatsectornumber As Long&lt;br /&gt;
Dim Gbfatbufferstatus As Byte&lt;br /&gt;
Dim Gbfatbuffer(512) As Byte&lt;br /&gt;
Const C_filesystemsramsize2 = 517&lt;br /&gt;
#else&lt;br /&gt;
Const C_filesystemsramsize2 = 0&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
' File Handle Block&lt;br /&gt;
Const Co_filenumber = 0&lt;br /&gt;
Const Co_filemode = 1&lt;br /&gt;
Const Co_filedirentry = 2 : Const Co_filedirentry_2 = 3&lt;br /&gt;
Const Co_filedirsectornumber = 4&lt;br /&gt;
Const Co_filefirstcluster = 8&lt;br /&gt;
Const Co_filesize = 12&lt;br /&gt;
Const Co_fileposition = 16&lt;br /&gt;
Const Co_filesectornumber = 20&lt;br /&gt;
Const Co_filebufferstatus = 24&lt;br /&gt;
Const Co_filebuffer = 25&lt;br /&gt;
Const C_filehandlesize = Co_filebuffer + 513 ' incl. one Additional Byte for 00 as string terminator&lt;br /&gt;
 ' for direct text reading from File-buffer&lt;br /&gt;
Const C_filehandlesize_m = 65536 - C_filehandlesize ' for use with add immediate word with subi, sbci&lt;br /&gt;
 ' = minus c_FileHandleSize in Word-Format&lt;br /&gt;
 &lt;br /&gt;
Const C_filehandlessize = C_filehandlesize * Cfilehandles&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Dim Abfilehandles(c_filehandlessize) As Byte&lt;br /&gt;
Const C_filesystemsramsize = C_filesystemsramsize1 + C_filesystemsramsize2 + C_filehandlessize&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' End of variables for AVR-DOS ================================================&lt;br /&gt;
 &lt;br /&gt;
' Definitions of Constants ====================================================&lt;br /&gt;
 &lt;br /&gt;
' Bit definiton for FileSystemStatus&lt;br /&gt;
 &lt;br /&gt;
Dfilesystemstatusfat Alias 0 : Const Dfilesystemstatusfat = 0 ' 0 = FAT16, 1 = FAT32&lt;br /&gt;
Dfilesystemsubdir Alias 1 : Const Dfilesystemsubdir = 1 ' 0 = Root-Directory, 1 = Sub-Directory&lt;br /&gt;
Const Dmfilesystemsubdir =(2 ^ Dfilesystemsubdir) ' not used yet&lt;br /&gt;
Const Dmfilesystemdirincluster =(2 ^ Dfilesystemstatusfat + 2 ^ Dfilesystemsubdir) ' not used yet&lt;br /&gt;
Dfatsecondupdate Alias 7 : Const Dfatsecondupdate = 7 ' Bit-position for parameter of&lt;br /&gt;
 ' Update second FAT in gbFileSystemStatus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Bit Definitions for BufferStatus (FAT, DIR, File)&lt;br /&gt;
 &lt;br /&gt;
Deof Alias 1 : Const Deof = 1 : Const Dmeof =(2 ^ Deof)&lt;br /&gt;
Deofinsector Alias 2 : Const Deofinsector = 2 : Const Dmeofinsector =(2 ^ Deofinsector)&lt;br /&gt;
Dwritepending Alias 3 : Const Dwritepending = 3 : Const Dmwritepending =(2 ^ Dwritepending)&lt;br /&gt;
Dfatsector Alias 4 : Const Dfatsector = 4 : Const Dmfatsector =(2 ^ Dfatsector) ' For Writing Sector back (FATNumber times)&lt;br /&gt;
Dfileempty Alias 5 : Const Dfileempty = 5 : Const Dmfileempty =(2 ^ Dfileempty)&lt;br /&gt;
 &lt;br /&gt;
' New feature for reduce saving&lt;br /&gt;
Dfatdirwritepending Alias 6 : Const Dfatdirwritepending = 6 : Const Dmfatdirwritepending =(2 ^ Dfatdirwritepending)&lt;br /&gt;
Dfatdirsaveatend Alias 7 : Const Dfatdirsaveatend = 7 : Const Dmfatdirsaveatend =(2 ^ Dfatdirsaveatend)&lt;br /&gt;
Dfatdirsaveanyway Alias 0 : Const Dfatdirsaveanyway = 0 : Const Dmfatdirsaveanyway =(2 ^ Dfatdirsaveanyway)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Const Dmeofall =(2 ^ Deof + 2 ^ Deofinsector)&lt;br /&gt;
Const Dmeof_empty =(2 ^ Deof + 2 ^ Deofinsector + 2 ^ Dfileempty)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Const Cp_fatbufferinitstatus =(2 ^ Dfatsector)&lt;br /&gt;
Const Cp_dirbufferinitstatus = 0&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#if Cfatdirsaveatend = 1&lt;br /&gt;
Const Cp_filebufferinitstatus =(2 ^ Dfatdirsaveatend)&lt;br /&gt;
#else&lt;br /&gt;
Const Cp_filebufferinitstatus = 0&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#if Cfatsecondupdate = 0&lt;br /&gt;
 Const Cp_fatsecondupdate =(2 ^ Dfatsecondupdate)&lt;br /&gt;
#else&lt;br /&gt;
 Const Cp_fatsecondupdate = 0&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Bit definitions for FileMode (Similar to DOS File Attribut)&lt;br /&gt;
Dreadonly Alias 0 : Const Dreadonly = 0&lt;br /&gt;
'Const cpFileReadOnly = &amp;amp;H21 ' Archiv and read-only Bit set&lt;br /&gt;
Const Cpfilewrite = &amp;amp;H20 ' Archiv Bit set&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Error Codes&lt;br /&gt;
 &lt;br /&gt;
' Group Number is upper nibble of Error-Code&lt;br /&gt;
' Group 0 (0-15): No Error or File End Information&lt;br /&gt;
Const Cpnoerror = 0&lt;br /&gt;
Const Cpendoffile = 1&lt;br /&gt;
 &lt;br /&gt;
' Group 1 (17-31): File System Init&lt;br /&gt;
Const Cpnombr = 17&lt;br /&gt;
Const Cpnopbr = 18&lt;br /&gt;
Const Cpfilesystemnotsupported = 19&lt;br /&gt;
Const Cpsectorsizenotsupported = 20&lt;br /&gt;
Const Cpsectorsperclusternotsupported = 21&lt;br /&gt;
Const Cpcountofclustersnotsupported = 22&lt;br /&gt;
 &lt;br /&gt;
' Group 2 (32-47): FAT - Error&lt;br /&gt;
Const Cpnonextcluster = 33&lt;br /&gt;
Const Cpnofreecluster = 34&lt;br /&gt;
Const Cpclustererror = 35&lt;br /&gt;
' Group 3 (49-63): Directory Error&lt;br /&gt;
Const Cpnofreedirentry = 49&lt;br /&gt;
Const Cpfileexists = 50&lt;br /&gt;
Const Cpfiledeletenotallowed = 51&lt;br /&gt;
Const Cpsubdirectorynotempty = 52&lt;br /&gt;
Const Cpsubdirectoryerror = 53&lt;br /&gt;
Const Cpnotasubdirectory = 54&lt;br /&gt;
' Group 4 (65-79): File Handle&lt;br /&gt;
Const Cpnofreefilenumber = 65&lt;br /&gt;
Const Cpfilenotfound = 66&lt;br /&gt;
Const Cpfilenumbernotfound = 67&lt;br /&gt;
Const Cpfileopennohandle = 68&lt;br /&gt;
Const Cpfileopenhandleinuse = 69&lt;br /&gt;
Const Cpfileopenshareconflict = 70&lt;br /&gt;
Const Cpfileinuse = 71&lt;br /&gt;
Const Cpfilereadonly = 72&lt;br /&gt;
Const Cpfilenowildcardallowed = 73&lt;br /&gt;
Const Cpfilenumberinvalid = 74 ' Zero is not allowed&lt;br /&gt;
 &lt;br /&gt;
' Group 7 (97-127): other errors&lt;br /&gt;
Const Cpfilepositionerror = 97&lt;br /&gt;
Const Cpfileaccesserror = 98&lt;br /&gt;
Const Cpinvalidfileposition = 99&lt;br /&gt;
Const Cpfilesizetogreat = 100&lt;br /&gt;
 &lt;br /&gt;
Const Cpdrivererrorstart = &amp;amp;HC0&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Range 224 to 255 is reserved for Driver&lt;br /&gt;
 &lt;br /&gt;
' Other Constants&lt;br /&gt;
' File Open Mode / stored in File-handle return-value of Fileattr(FN#, [1])&lt;br /&gt;
Const Cpfileopeninput = 1 ' Read&lt;br /&gt;
Const Cpfileopenoutput = 2 ' Write sequential&lt;br /&gt;
'Const cpFileOpenRandom = 4 ' not in use yet&lt;br /&gt;
Const Cpfileopenappend = 8 ' Write sequential; first set Pointer to end&lt;br /&gt;
Const Cpfileopenbinary = 32 ' Read and Write; Pointer can be changed by user&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' permission Masks for file access routine regarding to the file open mode&lt;br /&gt;
Const Cfilewrite_mode = &amp;amp;B00101010 ' Binary, Append, Output&lt;br /&gt;
Const Cfileread_mode = &amp;amp;B00100001 ' Binary, Input&lt;br /&gt;
Const Cfileseekset_mode = &amp;amp;B00100000 ' Binary&lt;br /&gt;
Const Cfileinputline = &amp;amp;B00100001 ' Binary, Input&lt;br /&gt;
Const Cfileput_mode = &amp;amp;B00100000 ' Binary&lt;br /&gt;
Const Cfileget_mode = &amp;amp;B00100000 ' Binary&lt;br /&gt;
 &lt;br /&gt;
' Directory attributs in FAT16/32&lt;br /&gt;
Const Cpfileopenallowed = &amp;amp;B00100001 ' Read Only and Archiv may be set&lt;br /&gt;
Const Cpfiledeleteallowed = &amp;amp;B00100000&lt;br /&gt;
Const Cpfilesearchallowed = &amp;amp;B00111101 ' Do no search hidden Files&lt;br /&gt;
' Bit 0 = Read Only&lt;br /&gt;
' Bit 1 = Hidden&lt;br /&gt;
' Bit 2 = System&lt;br /&gt;
' Bit 3 = Volume ID&lt;br /&gt;
' Bit 4 = Directory&lt;br /&gt;
' Bit 5 = Archiv&lt;br /&gt;
' Long File name has Bit 0+1+2+3 set&lt;br /&gt;
Dim Lastdosmem As Byte&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
$lib &amp;quot;AVR-DOS.Lbx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example 2:&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;SD and SDHC Card Analysis Example Demo program&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Show the Card Capacity and the Card-Register CSD, CID, OCR and SD_Status&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
This example uses: &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;$include &amp;quot;Config_MMCSD_HC.bas&amp;quot; &amp;amp;nbsp; &amp;amp;nbsp;which calls following Libary: &amp;amp;nbsp; $lib &amp;quot;MMCSD_HC.LIB&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This example is written for ATMEGA but is also working for ATXMEGA devices.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-------------------------------------------------------------------------------&lt;br /&gt;
' MMCSD_Analysis.BAS&lt;br /&gt;
' Test MMC / SD Card&lt;br /&gt;
' (c) 2003-2012 , MCS Electronics / Vögel Franz Josef&lt;br /&gt;
'-------------------------------------------------------------------------------&lt;br /&gt;
' Test MMC / SD Card&lt;br /&gt;
' Show the Card Capacity and the Card-Register CSD, CID, OCR and SD_Status&lt;br /&gt;
' First you have to init the Card in the File Config_MMCSD_HC.bas with&lt;br /&gt;
' $Include &amp;quot;Config_MMCSD_HC.bas&amp;quot;&lt;br /&gt;
' All Card registers are written with the MSB first to the Byte-array&lt;br /&gt;
' f.E. CSD(1) contains then MSB (Bit 120-127) of the CSD-Register&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;M644pdef.dat&amp;quot;&lt;br /&gt;
$crystal = 16000000&lt;br /&gt;
 &lt;br /&gt;
$hwstack = 100&lt;br /&gt;
$swstack = 100&lt;br /&gt;
$framesize = 100&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
$baud = 57600&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Config Serialin = Buffered , Size = 20&lt;br /&gt;
Config Clock = Soft&lt;br /&gt;
 &lt;br /&gt;
Enable Interrupts&lt;br /&gt;
 &lt;br /&gt;
Config Date = Dmy , Separator = .&lt;br /&gt;
Print &amp;quot;Test_Dos_Drive compiled at &amp;quot; ; Version()&lt;br /&gt;
$include &amp;quot;Config_MMCSD_HC.bas&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Dim Xc As Byte ' for Print - counter&lt;br /&gt;
Dim Xd As Byte ' for Print - Counter&lt;br /&gt;
 &lt;br /&gt;
Print &amp;quot;Start of Card Analysis&amp;quot;&lt;br /&gt;
Print &amp;quot;Last Drive-Error-Code = &amp;quot; ; Gbdriveerror&lt;br /&gt;
Print &amp;quot;Gbdrivestatusreg =&amp;quot; ; Gbdrivestatusreg&lt;br /&gt;
 &lt;br /&gt;
' Check detected Card Type&lt;br /&gt;
Select Case Mmcsd_cardtype&lt;br /&gt;
 Case 1&lt;br /&gt;
 Print &amp;quot;MMC-Card detected&amp;quot;&lt;br /&gt;
 Case 2&lt;br /&gt;
 Print &amp;quot;SD-Card Spec. 1.x detected&amp;quot;&lt;br /&gt;
 Case 4&lt;br /&gt;
 Print &amp;quot;SD-Card Spec. 2.0 detected&amp;quot;&lt;br /&gt;
 Case 12&lt;br /&gt;
 Print &amp;quot;SD-Card Spec. 2.0 High Capacity detected&amp;quot;&lt;br /&gt;
 Case Else&lt;br /&gt;
 Print &amp;quot;No Card detected&amp;quot;&lt;br /&gt;
End Select&lt;br /&gt;
 &lt;br /&gt;
If Mmcsd_cardtype &amp;gt; 0 Then&lt;br /&gt;
 &lt;br /&gt;
' check the CSD Register&lt;br /&gt;
 &lt;br /&gt;
 Dim Csd(16) As Byte&lt;br /&gt;
 Print &amp;quot;Get CSD&amp;quot;&lt;br /&gt;
 Csd(1) = Mmcsd_getcsd()&lt;br /&gt;
 If Gbdriveerror &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
 Print &amp;quot;Error at reading CSD&amp;quot;&lt;br /&gt;
 Else&lt;br /&gt;
 For Xc = 1 To 16&lt;br /&gt;
 Print Hex(csd(xc)) ; &amp;quot; &amp;quot; ;&lt;br /&gt;
 Next&lt;br /&gt;
 Print &amp;quot; &amp;quot;&lt;br /&gt;
 End If&lt;br /&gt;
 &lt;br /&gt;
' Get the Card Capacity from the CSD Register&lt;br /&gt;
 &lt;br /&gt;
 Dim Mmcsd_size As Long&lt;br /&gt;
 Print &amp;quot;Get Card Capacity [KB]&amp;quot;&lt;br /&gt;
 Mmcsd_size = Mmcsd_getsize()&lt;br /&gt;
 If Gbdriveerror &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
 Print &amp;quot;Error at reading CSD&amp;quot;&lt;br /&gt;
 Else&lt;br /&gt;
 Print &amp;quot;Card Capacity = ; &amp;quot; ; Mmcsd_size ; &amp;quot;kb (1KB=1024 Bytes)&amp;quot;&lt;br /&gt;
 End If&lt;br /&gt;
 &lt;br /&gt;
' Get the CID Register&lt;br /&gt;
 &lt;br /&gt;
 Dim Cid(16) As Byte&lt;br /&gt;
 Print &amp;quot;Get CID&amp;quot;&lt;br /&gt;
 Cid(1) = Mmcsd_getcid()&lt;br /&gt;
 If Gbdriveerror &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
 Print &amp;quot;Error at reading CID&amp;quot;&lt;br /&gt;
 Else&lt;br /&gt;
 For Xc = 1 To 16&lt;br /&gt;
 Print Hex(cid(xc)) ; &amp;quot; &amp;quot; ;&lt;br /&gt;
 Next&lt;br /&gt;
 Print &amp;quot; &amp;quot;&lt;br /&gt;
 End If&lt;br /&gt;
 &lt;br /&gt;
' Get the OCR Register&lt;br /&gt;
 &lt;br /&gt;
 Dim Ocr(4) As Byte&lt;br /&gt;
 Print &amp;quot;Get OCR&amp;quot;&lt;br /&gt;
 Ocr(1) = Mmcsd_getocr()&lt;br /&gt;
 If Gbdriveerror &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
 Print &amp;quot;Error at reading OCR&amp;quot;&lt;br /&gt;
 Else&lt;br /&gt;
 For Xc = 1 To 4&lt;br /&gt;
 Print Hex(ocr(xc)) ; &amp;quot; &amp;quot; ;&lt;br /&gt;
 Next&lt;br /&gt;
 Print &amp;quot; &amp;quot;&lt;br /&gt;
 End If&lt;br /&gt;
 &lt;br /&gt;
 If Mmcsd_cardtype &amp;gt; 1 Then&lt;br /&gt;
 &lt;br /&gt;
' Get the SD_Status Register on SD-Cards&lt;br /&gt;
 &lt;br /&gt;
 Dim Sd_status(64) As Byte&lt;br /&gt;
 Print &amp;quot;Get SD_Status&amp;quot;&lt;br /&gt;
 Sd_status(1) = Sd_getsd_status()&lt;br /&gt;
 If Gbdriveerror &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
 Print &amp;quot;Error at reading SD_Status&amp;quot;&lt;br /&gt;
 Else&lt;br /&gt;
 For Xc = 1 To 64&lt;br /&gt;
 Print Hex(sd_status(xc)) ; &amp;quot; &amp;quot; ;&lt;br /&gt;
 Xd = Xc Mod 8&lt;br /&gt;
 If Xd = 0 Then&lt;br /&gt;
 Print &amp;quot; &amp;quot;&lt;br /&gt;
 End If&lt;br /&gt;
 Next&lt;br /&gt;
 End If&lt;br /&gt;
 End If&lt;br /&gt;
End If&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Print &amp;quot;End of Card Analysis&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR-DOS/de]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>