<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Secure Digital SD Card Source Code Driver Project</title>
	<atom:link href="http://www.secure-digital-card-source-code-driver.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.secure-digital-card-source-code-driver.com</link>
	<description>Secure Digital SD Card Source Code Driver Project</description>
	<lastBuildDate>Wed, 20 Jul 2011 08:10:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Links to useful sites</title>
		<link>http://www.secure-digital-card-source-code-driver.com/links/links-to-useful-sites</link>
		<comments>http://www.secure-digital-card-source-code-driver.com/links/links-to-useful-sites#comments</comments>
		<pubDate>Wed, 20 Jul 2011 08:10:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://www.secure-digital-card-source-code-driver.com/?p=123</guid>
		<description><![CDATA[All Embedded EG3 EE Compendium Arm Atmel Microchip Electronic Engineer Electronic Consultant Embedded Programmer]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.allembedded.com/" target="_blank">All Embedded</a></p>
<p><a href="http://www.eg3.com/" target="_blank">EG3</a></p>
<p><a href="http://ee.cleversoul.com/" target="_blank">EE Compendium</a></p>
<p><a href="http://www.arm.com" target="_blank">Arm</a></p>
<p><a href="http://www.atmel.com/" target="_blank">Atmel</a></p>
<p><a href="http://www.microchip.com/" target="_blank">Microchip</a></p>
<p><a href="http://www.electronic-engineer.co.uk/index.php" target="_blank">Electronic Engineer</a></p>
<p><a href="http://www.electronic-consultant.co.uk/index.php" target="_blank">Electronic Consultant</a></p>
<p><a href="http://www.embedded-programmer.com/index.php" target="_blank">Embedded Programmer</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.secure-digital-card-source-code-driver.com/links/links-to-useful-sites/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fast Increase And Decrease Of File Size</title>
		<link>http://www.secure-digital-card-source-code-driver.com/usage-examples/fast-increase-and-decrease-of-file-size</link>
		<comments>http://www.secure-digital-card-source-code-driver.com/usage-examples/fast-increase-and-decrease-of-file-size#comments</comments>
		<pubDate>Wed, 13 Apr 2011 10:52:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[07. Usage Examples]]></category>

		<guid isPermaLink="false">http://www.secure-digital-card-source-code-driver.com/?p=112</guid>
		<description><![CDATA[FFS_FILE *our_file; BYTE filename[13]; BYTE *b_pointer; if (!ffs_card_ok) return; //----- FAST INCREASE FILE SIZE ----- b_pointer = &#38;filename[0]; *b_pointer++ = 'I'; *b_pointer++ = 'N'; *b_pointer++ = 'C'; *b_pointer++ = 'F'; *b_pointer++ = 'I'; *b_pointer++ = 'L'; *b_pointer++ = 'E'; *b_pointer++ = '1'; *b_pointer++ = '.'; *b_pointer++ = 'T'; *b_pointer++ = 'X'; *b_pointer++ = 'T'; *b_pointer++ [...]]]></description>
			<content:encoded><![CDATA[<pre><code>

	FFS_FILE *our_file;
	BYTE filename[13];
	BYTE *b_pointer;

	if (!ffs_card_ok)
		return;

	//----- FAST INCREASE FILE SIZE -----
	b_pointer = &amp;filename[0];
	*b_pointer++ = 'I';
	*b_pointer++ = 'N';
	*b_pointer++ = 'C';
	*b_pointer++ = 'F';
	*b_pointer++ = 'I';
	*b_pointer++ = 'L';
	*b_pointer++ = 'E';
	*b_pointer++ = '1';
	*b_pointer++ = '.';
	*b_pointer++ = 'T';
	*b_pointer++ = 'X';
	*b_pointer++ = 'T';
	*b_pointer++ = 0x00;

	//TRY AND CREATE FILE
	our_file = ffs_fopen((const char*)filename, (const char*)"w");
	if (our_file != 0)
	{
		//THE FILE WAS CREATED

		//Write Bytes
		ffs_fputc((int)'H', our_file);
		ffs_fputc((int)'e', our_file);
		ffs_fputc((int)'l', our_file);
		ffs_fputc((int)'l', our_file);
		ffs_fputc((int)'o', our_file);
		ffs_fputc((int)' ', our_file);
		ffs_fputc((int)'W', our_file);
		ffs_fputc((int)'o', our_file);
		ffs_fputc((int)'r', our_file);
		ffs_fputc((int)'l', our_file);
		ffs_fputc((int)'d', our_file);

		//CLOSE THE FILE
		ffs_fclose(our_file);

		//INCREASE THE FILE SIZE
		if (ffs_change_file_size((const char*) filename, (DWORD)12345) != 0)
		{
			//ERROR
		}
		//The new section of the file will be garbage, but is ready for your application to write over without the driver
		//having to constantly having to update the FAT table every time it needs a new cluster
	}

	//----- FAST DECREASE FILE SIZE -----
	//This can be useful if increasing a file size to more than you need so you can quickly reduce it down to the size actually used after writing.  This example
	//is basic and won't actually change the clusters allocated as the file is small, but it demonstrates how it is used.
	b_pointer = &amp;filename[0];
	*b_pointer++ = 'D';
	*b_pointer++ = 'E';
	*b_pointer++ = 'C';
	*b_pointer++ = 'F';
	*b_pointer++ = 'I';
	*b_pointer++ = 'L';
	*b_pointer++ = 'E';
	*b_pointer++ = '1';
	*b_pointer++ = '.';
	*b_pointer++ = 'T';
	*b_pointer++ = 'X';
	*b_pointer++ = 'T';
	*b_pointer++ = 0x00;

	//TRY AND CREATE FILE
	our_file = ffs_fopen((const char*)filename, (const char*)"w");
	if (our_file != 0)
	{
		//THE FILE WAS CREATED

		//Write Bytes
		ffs_fputc((int)'H', our_file);
		ffs_fputc((int)'e', our_file);
		ffs_fputc((int)'l', our_file);
		ffs_fputc((int)'l', our_file);
		ffs_fputc((int)'o', our_file);
		ffs_fputc((int)' ', our_file);
		ffs_fputc((int)'W', our_file);
		ffs_fputc((int)'o', our_file);
		ffs_fputc((int)'r', our_file);
		ffs_fputc((int)'l', our_file);
		ffs_fputc((int)'d', our_file);

		//CLOSE THE FILE
		ffs_fclose(our_file);

		//DECREASE THE FILE SIZE
		if (ffs_change_file_size((const char*) filename, (DWORD)10) != 0)
		{
			//ERROR
		}
	}
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.secure-digital-card-source-code-driver.com/usage-examples/fast-increase-and-decrease-of-file-size/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Write A File</title>
		<link>http://www.secure-digital-card-source-code-driver.com/usage-examples/how-to-write-a-file</link>
		<comments>http://www.secure-digital-card-source-code-driver.com/usage-examples/how-to-write-a-file#comments</comments>
		<pubDate>Thu, 03 Jun 2010 12:58:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[07. Usage Examples]]></category>

		<guid isPermaLink="false">http://www.secure-digital-card-source-code-driver.com/?p=99</guid>
		<description><![CDATA[static FFS_FILE *our_file; //Use static if reading parts of the file on sucessive calls BYTE filename[13]; BYTE *b_pointer; if (!ffs_card_ok) return; b_pointer = &#038;filename[0]; *b_pointer++ = 'M'; *b_pointer++ = 'Y'; *b_pointer++ = 'F'; *b_pointer++ = 'I'; *b_pointer++ = 'L'; *b_pointer++ = 'E'; *b_pointer++ = '0'; *b_pointer++ = '1'; *b_pointer++ = '.'; *b_pointer++ = 'T'; *b_pointer++ [...]]]></description>
			<content:encoded><![CDATA[<pre><code>
	static FFS_FILE *our_file;				//Use static if reading parts of the file on sucessive calls
	BYTE filename[13];
	BYTE *b_pointer;

	if (!ffs_card_ok)
		return;

	b_pointer = &#038;filename[0];
	*b_pointer++ = 'M';
	*b_pointer++ = 'Y';
	*b_pointer++ = 'F';
	*b_pointer++ = 'I';
	*b_pointer++ = 'L';
	*b_pointer++ = 'E';
	*b_pointer++ = '0';
	*b_pointer++ = '1';
	*b_pointer++ = '.';
	*b_pointer++ = 'T';
	*b_pointer++ = 'X';
	*b_pointer++ = 'T';
	*b_pointer++ = 0x00;

	//TRY AND CREATE FILE
	our_file = ffs_fopen((const char*)filename, (const char*)"w");
	if (our_file != 0)
	{
		//THE FILE WAS CREATED

		//Write Bytes
		ffs_fputc((int)'H', our_file);
		ffs_fputc((int)'e', our_file);
		ffs_fputc((int)'l', our_file);
		ffs_fputc((int)'l', our_file);
		ffs_fputc((int)'o', our_file);
		ffs_fputc((int)' ', our_file);
		ffs_fputc((int)'W', our_file);
		ffs_fputc((int)'o', our_file);
		ffs_fputc((int)'r', our_file);
		ffs_fputc((int)'l', our_file);
		ffs_fputc((int)'d', our_file);

		//CLOSE THE FILE
		ffs_fclose(our_file);
	}
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.secure-digital-card-source-code-driver.com/usage-examples/how-to-write-a-file/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ensure File Is Not Open</title>
		<link>http://www.secure-digital-card-source-code-driver.com/usage-examples/ensure-file-is-not-open</link>
		<comments>http://www.secure-digital-card-source-code-driver.com/usage-examples/ensure-file-is-not-open#comments</comments>
		<pubDate>Wed, 19 May 2010 14:44:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[07. Usage Examples]]></category>

		<guid isPermaLink="false">http://www.secure-digital-card-source-code-driver.com/?p=95</guid>
		<description><![CDATA[//ENSURE FILE IS NOT OPEN if (our_file != 0) ffs_fclose(our_file);]]></description>
			<content:encoded><![CDATA[<pre><code>
	//ENSURE FILE IS NOT OPEN
	if (our_file != 0)
		ffs_fclose(our_file);
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.secure-digital-card-source-code-driver.com/usage-examples/ensure-file-is-not-open/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Read A File</title>
		<link>http://www.secure-digital-card-source-code-driver.com/usage-examples/how-to-read-a-file</link>
		<comments>http://www.secure-digital-card-source-code-driver.com/usage-examples/how-to-read-a-file#comments</comments>
		<pubDate>Wed, 19 May 2010 14:26:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[07. Usage Examples]]></category>

		<guid isPermaLink="false">http://www.secure-digital-card-source-code-driver.com/?p=93</guid>
		<description><![CDATA[static FFS_FILE *our_file; //Use static if reading parts of the file on sucessive calls static DWORD bytes_to_go; //Use static if reading parts of the file on sucessive calls BYTE filename[13]; BYTE *b_pointer; BYTE data; if (!ffs_card_ok) return; b_pointer = &#38;filename[0]; *b_pointer++ = 'M'; *b_pointer++ = 'Y'; *b_pointer++ = 'F'; *b_pointer++ = 'I'; *b_pointer++ = 'L'; [...]]]></description>
			<content:encoded><![CDATA[<pre><code>
	static FFS_FILE *our_file;				//Use static if reading parts of the file on sucessive calls
	static DWORD bytes_to_go;				//Use static if reading parts of the file on sucessive calls
	BYTE filename[13];
	BYTE *b_pointer;
	BYTE data;

	if (!ffs_card_ok)
		return;

	b_pointer = &amp;filename[0];
	*b_pointer++ = 'M';
	*b_pointer++ = 'Y';
	*b_pointer++ = 'F';
	*b_pointer++ = 'I';
	*b_pointer++ = 'L';
	*b_pointer++ = 'E';
	*b_pointer++ = '0';
	*b_pointer++ = '1';
	*b_pointer++ = '.';
	*b_pointer++ = 'T';
	*b_pointer++ = 'X';
	*b_pointer++ = 'T';
	*b_pointer++ = 0x00;

	//TRY AND OPEN FILE
	our_file = ffs_fopen((const char*)filename, (const char*)"r");
	if (our_file != 0)
	{
		//THE FILE DOES EXIST

		//Get the file size
        bytes_to_go = our_file-&gt;file_size;

		//Read each byte
		while (bytes_to_go--)
		{
			data = (BYTE)ffs_fgetc(our_file);

			//Check for error
			if (ffs_feof(our_file) || ffs_ferror(our_file))
			{
				//ERROR OR END OF FILE

			}
		}
		//CLOSE THE FILE
		ffs_fclose(our_file);
	}
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.secure-digital-card-source-code-driver.com/usage-examples/how-to-read-a-file/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sample Projects</title>
		<link>http://www.secure-digital-card-source-code-driver.com/example-circuits/sample-projects</link>
		<comments>http://www.secure-digital-card-source-code-driver.com/example-circuits/sample-projects#comments</comments>
		<pubDate>Mon, 03 May 2010 09:14:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[06. Example Circuits]]></category>

		<guid isPermaLink="false">http://www.secure-digital-card-source-code-driver.com/?p=89</guid>
		<description><![CDATA[Download the sample project circuit diagrams here.]]></description>
			<content:encoded><![CDATA[<p>Download the sample project circuit diagrams <a href="http://www.embedded-code.com/download/mmc_sd_memory_card_driver_schematics.pdf">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.secure-digital-card-source-code-driver.com/example-circuits/sample-projects/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Read The Contents Of The Root Directory</title>
		<link>http://www.secure-digital-card-source-code-driver.com/usage-examples/how-to-read-the-contents-of-the-root-directory</link>
		<comments>http://www.secure-digital-card-source-code-driver.com/usage-examples/how-to-read-the-contents-of-the-root-directory#comments</comments>
		<pubDate>Mon, 03 May 2010 08:59:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[07. Usage Examples]]></category>

		<guid isPermaLink="false">http://www.secure-digital-card-source-code-driver.com/?p=87</guid>
		<description><![CDATA[BYTE start_from_beginning; BYTE found_file_name[8]; BYTE found_file_extension[3]; BYTE found_file_attribute_byte; DWORD found_file_size; DWORD found_file_cluster_number, BYTE start_from_beginning; DWORD found_file_directory_entry_sector; BYTE found_file_directory_entry_within_sector; BYTE find_next_entry_response; //----- LIST ALL FILES IN THE DIRECTORY ----- start_from_beginning = 1; do { find_next_entry_response = ffs_read_next_directory_entry(&#038;found_file_name[0], &#038;found_file_extension[0], &#038;found_file_attribute_byte, &#038;found_file_size, &#038;found_file_cluster_number, start_from_beginning, &#038;found_file_directory_entry_sector, &#038;found_file_directory_entry_within_sector); start_from_beginning = 0; if ((find_next_entry_response == 0) &#124;&#124; (found_file_name[0] == 0x00)) //If [...]]]></description>
			<content:encoded><![CDATA[<pre><code>
	BYTE start_from_beginning;
	BYTE found_file_name[8];
	BYTE found_file_extension[3];
	BYTE found_file_attribute_byte;
	DWORD found_file_size;
	DWORD found_file_cluster_number,
	BYTE start_from_beginning;
	DWORD found_file_directory_entry_sector;
	BYTE found_file_directory_entry_within_sector;
	BYTE find_next_entry_response;

	//----- LIST ALL FILES IN THE DIRECTORY -----
	start_from_beginning = 1;
	do
	{
		find_next_entry_response = ffs_read_next_directory_entry(&#038;found_file_name[0], &#038;found_file_extension[0], &#038;found_file_attribute_byte, &#038;found_file_size,
									&#038;found_file_cluster_number, start_from_beginning, &#038;found_file_directory_entry_sector, &#038;found_file_directory_entry_within_sector);
		start_from_beginning = 0;

		if ((find_next_entry_response == 0) || (found_file_name[0] == 0x00))		//If 1st value is 0x00 then entry has never been used (erased entries are 0xe5) so 0x00 is the end of used directory marker).  If find_next_entry_response = 0 then reached end of directory
		{
			//----- NO MORE FILES FOUND - END OF DIRECTORY LISTING -----

			break;
		}

		if (
		(found_file_name[0] != 0xe5) &#038;&#038;					//First byte value of 0xe5 = deleted file
		((found_file_attribute_byte &#038; 0x18) ==  0)		//Ignore directory and volume label entries
		)
		{
			//----- NEXT FILE FOUND -----

			//ADD THE FILE DETAILS TO THE PACKET
			if (count >= tx_sd_card_list_next_file)
			{
				// = found_file_name[#];
				// =found_file_extension[#];
				// = found_file_size;
			}
		}
	} while (found_file_name[0] != 0x00);
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.secure-digital-card-source-code-driver.com/usage-examples/how-to-read-the-contents-of-the-root-directory/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>d) Changes To The Technical Manual</title>
		<link>http://www.secure-digital-card-source-code-driver.com/revision-history/changes-to-the-technical-manual</link>
		<comments>http://www.secure-digital-card-source-code-driver.com/revision-history/changes-to-the-technical-manual#comments</comments>
		<pubDate>Mon, 03 May 2010 08:24:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[11. Revision History]]></category>

		<guid isPermaLink="false">http://www.secure-digital-card-source-code-driver.com/?p=78</guid>
		<description><![CDATA[V1.00 Original release V1.01 Added sections on ‘Fast Reading Of Bulk File Data’ and ‘Fast Writing Of Bulk File Data’. Added ‘Searching In The Directory’ section to demonstrate how it is possible to search in the root directory for files. V1.02 Updated schematic for PIC18 sample project at the end of this manual with correction [...]]]></description>
			<content:encoded><![CDATA[<h4>V1.00</h4>
<p>Original release</p>
<h4>V1.01</h4>
<p>Added sections on ‘Fast Reading Of Bulk File Data’ and ‘Fast Writing Of Bulk File Data’.<a name="OLE_LINK1"></a></p>
<p>Added ‘Searching In The Directory’ section to demonstrate how it is possible to search in the root directory for files.</p>
<h4>V1.02</h4>
<p>Updated schematic for PIC18 sample project at the end of this manual with correction to PIC pinning to match sample project code.</p>
<h4>V1.03</h4>
<p>Updated Driver Technical Overview section with explanation of using SD cards with capacities above 1GB and with the addition of SDHC and MMC Plus high capacity card compatibility.</p>
<p>Minor additions to other sections of the manual.</p>
<h4>V1.04</h4>
<p>Updated various sections for changed PIC18 sample project microcontroller, C30 compiler support and real time clock support.</p>
<h4>V1.05</h4>
<p>New look and re-structured with new format to make it easier to be quickly up and running with the driver.</p>
<p>Added code examples to the ‘Fast Reading Of Bulk File Data’ and ‘Fast Writing Of Bulk File Data’ sections.</p>
<h4>V1.06</h4>
<p>NXP LPC2365 ARM sample project and ffs_change_file_size function added.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.secure-digital-card-source-code-driver.com/revision-history/changes-to-the-technical-manual/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>c) Special Note Regarding SPI Bus</title>
		<link>http://www.secure-digital-card-source-code-driver.com/revision-history/c-special-note-regarding-spi-bus</link>
		<comments>http://www.secure-digital-card-source-code-driver.com/revision-history/c-special-note-regarding-spi-bus#comments</comments>
		<pubDate>Mon, 03 May 2010 08:24:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[11. Revision History]]></category>

		<guid isPermaLink="false">http://www.secure-digital-card-source-code-driver.com/?p=76</guid>
		<description><![CDATA[Please see the: ‘Signal Noise Issues With MMC &#38; SD Memory Cards (&#38; Clocked Devices In General) page in the resources area of our web site for details of a common problem experienced when using MMC and SD memory cards. Some manufacturers demo / evaluation boards have been found to suffer from this issue. Many [...]]]></description>
			<content:encoded><![CDATA[<p>Please see the:</p>
<p>‘Signal Noise Issues With MMC &amp; SD Memory Cards (&amp; Clocked Devices In General)</p>
<p>page in the resources area of our web site for details of a common problem experienced when using MMC and SD memory cards.  Some manufacturers demo / evaluation boards have been found to suffer from this issue.</p>
<p>Many of the PIC microcontrollers have silicon bug issues that are detailed in the Microchip errata sheets.  If you are experiencing problems with a PIC microcontroller accessing cards check the errata sheet for the device you are using.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.secure-digital-card-source-code-driver.com/revision-history/c-special-note-regarding-spi-bus/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>b) Changes To The Sample Project Files</title>
		<link>http://www.secure-digital-card-source-code-driver.com/revision-history/b-changes-to-the-sample-project-files</link>
		<comments>http://www.secure-digital-card-source-code-driver.com/revision-history/b-changes-to-the-sample-project-files#comments</comments>
		<pubDate>Mon, 03 May 2010 08:23:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[11. Revision History]]></category>

		<guid isPermaLink="false">http://www.secure-digital-card-source-code-driver.com/?p=74</guid>
		<description><![CDATA[V1.10 NXP LPC2365 ARM sample project added. V1.11 No changes to sample project V1.12 No changes to sample project]]></description>
			<content:encoded><![CDATA[<h4>V1.10</h4>
<p>NXP LPC2365 ARM sample project added.</p>
<h4>V1.11</h4>
<p>No changes to sample project</p>
<h4>V1.12</h4>
<p>No changes to sample project</p>
]]></content:encoded>
			<wfw:commentRss>http://www.secure-digital-card-source-code-driver.com/revision-history/b-changes-to-the-sample-project-files/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

