<?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=DriveReadSector</id>
		<title>DriveReadSector - 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=DriveReadSector"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=DriveReadSector&amp;action=history"/>
		<updated>2026-05-23T07:12:12Z</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=DriveReadSector&amp;diff=610&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt; =  Read a Sector (512 Bytes) from the (Compact Flashcard) Drive  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  &lt;span style=&quot;font-fami...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=DriveReadSector&amp;diff=610&amp;oldid=prev"/>
				<updated>2013-02-08T20:33:15Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =  Read a Sector (512 Bytes) from the (Compact Flashcard) Drive  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;quot;font-fami...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Read a Sector (512 Bytes) from the (Compact Flashcard) Drive&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;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
bErrorCode =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;DRIVEREADSECTOR&amp;lt;/span&amp;gt;(wSRAMPointer, lSectorNumber)&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;Remarks&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;20%&amp;quot; style=&amp;quot;width: 119px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
bErrorCode&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;82%&amp;quot; style=&amp;quot;width: 481px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A Byte Variable, which is assigned with the error code of the 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;20%&amp;quot; style=&amp;quot;width: 119px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
wSRAMPointer&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;82%&amp;quot; style=&amp;quot;width: 481px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A Word Variable, which contains the SRAM address (pointer) , to which the Sector from the Drive should be written&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;20%&amp;quot; style=&amp;quot;width: 119px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
lSectorNumber&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;82%&amp;quot; style=&amp;quot;width: 481px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A Long Variable, which give the sector number on the drive be transfer.&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;
Reads a Sector (512 Bytes) from the Drive and write it to SRAM starting at the address, to which the content of the variable wSRAMPointer is pointing. The functions returns 0 if no error occurred. For Error code see section Error codes.&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;
Note: wSRAMPointer is not the variable, to which the content of the desired drive-sector should be written, it is the Word-Variable/Value which contains the SRAM address of the range, to which 512 Bytes should be written from the Drive. This gives you the flexibility to read and write every SRAM-Range to and from the drive, even it is not declared as variable. If you know the SRAM-Address (from the compiler report) of a buffer you can pass this value directly, otherwise you can get the address with the BASCOM-function VARPTR (see example).&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;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[DriveCheck]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DriveReset]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DriveInit]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DriveGetIdentity]]&amp;amp;nbsp;,&amp;amp;nbsp;[[DriveWriteSector]]&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;ASM&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;634&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;29%&amp;quot; style=&amp;quot;width: 181px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Calls&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;36%&amp;quot; style=&amp;quot;width: 224px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
_DriveReadSector&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;55%&amp;quot; style=&amp;quot;width: 217px; 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;29%&amp;quot; style=&amp;quot;width: 181px; 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;36%&amp;quot; style=&amp;quot;width: 224px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Z: SRAM-Address of buffer&lt;br /&gt;
&lt;br /&gt;
*)&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;55%&amp;quot; style=&amp;quot;width: 217px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
X: Address of Long-variable with sectornumber&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;29%&amp;quot; style=&amp;quot;width: 181px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Output&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;36%&amp;quot; style=&amp;quot;width: 224px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
r25: Errorcode&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;55%&amp;quot; style=&amp;quot;width: 217px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
C-Flag: Set on Error&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;amp;nbsp;&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;
[[File:Notice.jpg|left|Notice.jpg]]This is not the address of wSRAMPointer, it is its content, which is the starting-address of the buffer.&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;Partial Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
Dim bError as Byte&lt;br /&gt;
Dim aBuffer(512)as Byte' Hold Sector to and from CF-Card&lt;br /&gt;
Dim wSRAMPointer as Word' Address-Pointer for write&lt;br /&gt;
Dim lSectorNumber as Long' Sector Number&lt;br /&gt;
 &lt;br /&gt;
' give Address of first Byte of the 512 Byte Buffer to Word-Variable&lt;br /&gt;
wSRAMPointer =VarPtr(aBuffer(1))&lt;br /&gt;
 &lt;br /&gt;
' Set Sectornumber, sector 32 normally holds the Boot record sector of first partition&lt;br /&gt;
lSectorNumber = 32&lt;br /&gt;
 &lt;br /&gt;
' Now read in sector 32 from CF-Card&lt;br /&gt;
bError = DriveReadSector( wSRAMPointer , lSectorNumber)&lt;br /&gt;
' Now Sector number 32 is in Byte-Array bBuffer&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>