<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>sc68fordevelopers: /home/mandrake/rpm/BUILD/sc68-2.2.1/file68/file68.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div class="contents"> <h1>/home/mandrake/rpm/BUILD/sc68-2.2.1/file68/file68.h File Reference</h1>sc68 file. <a href="#_details">More...</a> <p> <code>#include "<a class="el" href="istream68_8h_source.html">file68/istream68.h</a>"</code><br> <p> <a href="file68_8h_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structchunk68__t.html">chunk68_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">SC68 file chunk header. <a href="structchunk68__t.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structmusic68__t.html">music68_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">SC68 music (track) structure. <a href="structmusic68__t.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structdisk68__t.html">disk68_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">SC68 music disk structure. <a href="structdisk68__t.html#_details">More...</a><br></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#9275c55edb26dda9b965c096dbf70d25">SC68_IDSTR</a> "SC68 Music-file / (c) (BeN)jamin Gerard / SasHipA-Dev "</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">SC68 file identification string definition (use SC68file_idstr instead). <a href="#9275c55edb26dda9b965c096dbf70d25"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#1865c9cca37f33eeb3d01519d9877b2c">SC68_NOFILENAME</a> "???"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">SC68 unknown filename or author. <a href="#1865c9cca37f33eeb3d01519d9877b2c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#c4ca69786e425473412efd24d80421f0">SC68_LOADADDR</a> 0x8000</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default load address in 68K memory. <a href="#c4ca69786e425473412efd24d80421f0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#9ac4c98e5f006e4538128331f7560155">SC68_MAX_TRACK</a> 99</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum track per disk (display rules). <a href="#9ac4c98e5f006e4538128331f7560155"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">Features flag definitions for music68_t.</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#f251e8d03ad7234f085254b67b4b368e">SC68_YM</a> 1</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">YM-2149 actif. <a href="#f251e8d03ad7234f085254b67b4b368e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#9cec87433fe8c4be6b8126edc97df51f">SC68_STE</a> 2</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">STE sound actif. <a href="#9cec87433fe8c4be6b8126edc97df51f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#8d24175edea2214e3fb4c71710b17584">SC68_AMIGA</a> 4</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">AMIGA sound actif. <a href="#8d24175edea2214e3fb4c71710b17584"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#b0a64671e79a0c659fe17cbcc50c0430">SC68_STECHOICE</a> 8</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Optionnal STF/STE (not tested). <a href="#b0a64671e79a0c659fe17cbcc50c0430"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">SC68 file chunk definitions.</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a608cfb2bb0e194131791f9f85dad66b"></a><!-- doxytag: member="file68.h::CH68_CHUNK" ref="a608cfb2bb0e194131791f9f85dad66b" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#a608cfb2bb0e194131791f9f85dad66b">CH68_CHUNK</a> "SC"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Chunk identifier. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ee0c4215be8f9c8cf8c439dda386a08"></a><!-- doxytag: member="file68.h::CH68_BASE" ref="2ee0c4215be8f9c8cf8c439dda386a08" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#2ee0c4215be8f9c8cf8c439dda386a08">CH68_BASE</a> "68"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Start of file. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c9fb697dfeeef4262bf80a4744456855"></a><!-- doxytag: member="file68.h::CH68_FNAME" ref="c9fb697dfeeef4262bf80a4744456855" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#c9fb697dfeeef4262bf80a4744456855">CH68_FNAME</a> "FN"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">File name. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="41f86e0d0832ee54a86d0582c329fb46"></a><!-- doxytag: member="file68.h::CH68_DEFAULT" ref="41f86e0d0832ee54a86d0582c329fb46" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#41f86e0d0832ee54a86d0582c329fb46">CH68_DEFAULT</a> "DF"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default music. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fdb60ee75628db805d6edf311f5532cc"></a><!-- doxytag: member="file68.h::CH68_MUSIC" ref="fdb60ee75628db805d6edf311f5532cc" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#fdb60ee75628db805d6edf311f5532cc">CH68_MUSIC</a> "MU"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Music section start. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="55d0bd468872a882c0ce5bbe10ed338e"></a><!-- doxytag: member="file68.h::CH68_MNAME" ref="55d0bd468872a882c0ce5bbe10ed338e" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#55d0bd468872a882c0ce5bbe10ed338e">CH68_MNAME</a> "MN"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Music name. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3dc4eef8baf82bca0de5b3455fb75853"></a><!-- doxytag: member="file68.h::CH68_ANAME" ref="3dc4eef8baf82bca0de5b3455fb75853" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#3dc4eef8baf82bca0de5b3455fb75853">CH68_ANAME</a> "AN"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Author name. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a012be8bb4e9223845663f6e2f6e0198"></a><!-- doxytag: member="file68.h::CH68_CNAME" ref="a012be8bb4e9223845663f6e2f6e0198" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#a012be8bb4e9223845663f6e2f6e0198">CH68_CNAME</a> "CN"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Composer name. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="79d816e22c702a48e5c6d3335bddf01d"></a><!-- doxytag: member="file68.h::CH68_D0" ref="79d816e22c702a48e5c6d3335bddf01d" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#79d816e22c702a48e5c6d3335bddf01d">CH68_D0</a> "D0"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">D0 value. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f669ff02c7a04ccfcfa7ef9ce6e9fc5"></a><!-- doxytag: member="file68.h::CH68_AT" ref="1f669ff02c7a04ccfcfa7ef9ce6e9fc5" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#1f669ff02c7a04ccfcfa7ef9ce6e9fc5">CH68_AT</a> "AT"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Load address. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a19ae6f2bdc92a89bf8b2e61a3ea21ad"></a><!-- doxytag: member="file68.h::CH68_TIME" ref="a19ae6f2bdc92a89bf8b2e61a3ea21ad" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#a19ae6f2bdc92a89bf8b2e61a3ea21ad">CH68_TIME</a> "TI"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">length in seconds <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15aa76ab6947234d8a0f34d1bbbb4804"></a><!-- doxytag: member="file68.h::CH68_FRAME" ref="15aa76ab6947234d8a0f34d1bbbb4804" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#15aa76ab6947234d8a0f34d1bbbb4804">CH68_FRAME</a> "FR"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">length in frames <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b253db042a68f03eaf531de13efbf08a"></a><!-- doxytag: member="file68.h::CH68_FRQ" ref="b253db042a68f03eaf531de13efbf08a" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#b253db042a68f03eaf531de13efbf08a">CH68_FRQ</a> "FQ"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Main replay frequency in Hz. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e7fe57b01ccf3ff2906ae6fa51087802"></a><!-- doxytag: member="file68.h::CH68_TYP" ref="e7fe57b01ccf3ff2906ae6fa51087802" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#e7fe57b01ccf3ff2906ae6fa51087802">CH68_TYP</a> "TY"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Not standard st file. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6753957b64753fa7fced94c1913282a"></a><!-- doxytag: member="file68.h::CH68_IMG" ref="c6753957b64753fa7fced94c1913282a" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#c6753957b64753fa7fced94c1913282a">CH68_IMG</a> "IM"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Picture. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="65bc2150e7df5941c9a1b1208e8d7347"></a><!-- doxytag: member="file68.h::CH68_REPLAY" ref="65bc2150e7df5941c9a1b1208e8d7347" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#65bc2150e7df5941c9a1b1208e8d7347">CH68_REPLAY</a> "RE"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">External replay. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d3b90bde51aae7ede31fdce4bcc67d2b"></a><!-- doxytag: member="file68.h::CH68_MDATA" ref="d3b90bde51aae7ede31fdce4bcc67d2b" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#d3b90bde51aae7ede31fdce4bcc67d2b">CH68_MDATA</a> "DA"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Music data. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd7ddc11899f553d0ffbfa3799c11960"></a><!-- doxytag: member="file68.h::CH68_EOF" ref="dd7ddc11899f553d0ffbfa3799c11960" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#dd7ddc11899f553d0ffbfa3799c11960">CH68_EOF</a> "EF"</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">End of file. <br></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">File verify functions.</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#b0564fee551b4fa33397407d95f29677">SC68file_verify</a> (<a class="el" href="struct__istream__t.html">istream_t</a> *is)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Verify SC68 file from stream. <a href="#b0564fee551b4fa33397407d95f29677"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#6d13f2f80225a674bbf1562e17428e9c">SC68file_verify_file</a> (const char *fname)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Verify SC68 file. <a href="#6d13f2f80225a674bbf1562e17428e9c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#90034714503beea2b860f9dd75b35288">SC68file_verify_mem</a> (const void *buffer, int len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Verify SC68 file mapped into memory buffer. <a href="#90034714503beea2b860f9dd75b35288"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#e2750e5a5ed8d9703ac7b510e382b6f8">SC68file_diskname</a> (<a class="el" href="struct__istream__t.html">istream_t</a> *is, char *dest, int max)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get SC68 disk name. <a href="#e2750e5a5ed8d9703ac7b510e382b6f8"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">File load functions.</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structdisk68__t.html">disk68_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#beb51056e4b55d026591f96c55b6cdb0">SC68file_load</a> (<a class="el" href="struct__istream__t.html">istream_t</a> *is)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Load SC68 file from stream. <a href="#beb51056e4b55d026591f96c55b6cdb0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structdisk68__t.html">disk68_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#061972f037e80f24ac43632707dd1caf">SC68file_load_file</a> (const char *fname)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Load SC68 file. <a href="#061972f037e80f24ac43632707dd1caf"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structdisk68__t.html">disk68_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#61e1caec419958240a2db8cdd4edddc8">SC68file_load_mem</a> (const void *buffer, int len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Load SC68 file mapped into memory buffer. <a href="#61e1caec419958240a2db8cdd4edddc8"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">File save functions.</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#f81a618d22cd359f63738acbac2f3b5f">SC68file_save</a> (<a class="el" href="struct__istream__t.html">istream_t</a> *os, const <a class="el" href="structdisk68__t.html">disk68_t</a> *mb)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Save SC68 disk into stream. <a href="#f81a618d22cd359f63738acbac2f3b5f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#e1d8cdca013802111dac74a2095bdc9a">SC68file_save_file</a> (const char *fname, const <a class="el" href="structdisk68__t.html">disk68_t</a> *mb)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Save SC68 disk into file. <a href="#e1d8cdca013802111dac74a2095bdc9a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#2bc71724996f6d6bf53e8fc7204611ef">SC68file_save_mem</a> (const char *buffer, int len, const <a class="el" href="structdisk68__t.html">disk68_t</a> *mb)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Save SC68 disk into memory buffer. <a href="#2bc71724996f6d6bf53e8fc7204611ef"></a><br></td></tr> <tr><td colspan="2"><br><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const char </td><td class="memItemRight" valign="bottom"><a class="el" href="file68_8h.html#5a75abcc156a7c0f62c2691dc19f6b44">SC68file_idstr</a> []</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">SC68 file identifier string. <a href="#5a75abcc156a7c0f62c2691dc19f6b44"></a><br></td></tr> </table> <hr><h2>Detailed Description</h2> sc68 file. <p> <dl class="author" compact><dt><b>Author:</b></dt><dd>Benjamin Gerard <<a href="mailto:ben@sashipa.com">ben@sashipa.com</a>> </dd></dl> <dl class="date" compact><dt><b>Date:</b></dt><dd>1998/09/03 </dd></dl> <dl class="rcs" compact><dt><b>Id</b></dt><dd><a class="el" href="file68_8h.html" title="sc68 file.">file68.h</a>,v 2.1 2003/08/25 20:15:51 benjihan Exp </dd></dl> <hr><h2>Define Documentation</h2> <a class="anchor" name="9275c55edb26dda9b965c096dbf70d25"></a><!-- doxytag: member="file68.h::SC68_IDSTR" ref="9275c55edb26dda9b965c096dbf70d25" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SC68_IDSTR "SC68 Music-file / (c) (BeN)jamin Gerard / SasHipA-Dev " </td> </tr> </table> </div> <div class="memdoc"> <p> SC68 file identification string definition (use SC68file_idstr instead). <p> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="file68_8h.html#5a75abcc156a7c0f62c2691dc19f6b44" title="SC68 file identifier string.">SC68file_idstr</a> </dd></dl> </div> </div><p> <a class="anchor" name="1865c9cca37f33eeb3d01519d9877b2c"></a><!-- doxytag: member="file68.h::SC68_NOFILENAME" ref="1865c9cca37f33eeb3d01519d9877b2c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SC68_NOFILENAME "???" </td> </tr> </table> </div> <div class="memdoc"> <p> SC68 unknown filename or author. <p> </div> </div><p> <a class="anchor" name="c4ca69786e425473412efd24d80421f0"></a><!-- doxytag: member="file68.h::SC68_LOADADDR" ref="c4ca69786e425473412efd24d80421f0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SC68_LOADADDR 0x8000 </td> </tr> </table> </div> <div class="memdoc"> <p> Default load address in 68K memory. <p> </div> </div><p> <a class="anchor" name="9ac4c98e5f006e4538128331f7560155"></a><!-- doxytag: member="file68.h::SC68_MAX_TRACK" ref="9ac4c98e5f006e4538128331f7560155" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SC68_MAX_TRACK 99 </td> </tr> </table> </div> <div class="memdoc"> <p> Maximum track per disk (display rules). <p> </div> </div><p> <a class="anchor" name="f251e8d03ad7234f085254b67b4b368e"></a><!-- doxytag: member="file68.h::SC68_YM" ref="f251e8d03ad7234f085254b67b4b368e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SC68_YM 1 </td> </tr> </table> </div> <div class="memdoc"> <p> YM-2149 actif. <p> </div> </div><p> <a class="anchor" name="9cec87433fe8c4be6b8126edc97df51f"></a><!-- doxytag: member="file68.h::SC68_STE" ref="9cec87433fe8c4be6b8126edc97df51f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SC68_STE 2 </td> </tr> </table> </div> <div class="memdoc"> <p> STE sound actif. <p> </div> </div><p> <a class="anchor" name="8d24175edea2214e3fb4c71710b17584"></a><!-- doxytag: member="file68.h::SC68_AMIGA" ref="8d24175edea2214e3fb4c71710b17584" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SC68_AMIGA 4 </td> </tr> </table> </div> <div class="memdoc"> <p> AMIGA sound actif. <p> </div> </div><p> <a class="anchor" name="b0a64671e79a0c659fe17cbcc50c0430"></a><!-- doxytag: member="file68.h::SC68_STECHOICE" ref="b0a64671e79a0c659fe17cbcc50c0430" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SC68_STECHOICE 8 </td> </tr> </table> </div> <div class="memdoc"> <p> Optionnal STF/STE (not tested). <p> </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="b0564fee551b4fa33397407d95f29677"></a><!-- doxytag: member="file68.h::SC68file_verify" ref="b0564fee551b4fa33397407d95f29677" args="(istream_t *is)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SC68file_verify </td> <td>(</td> <td class="paramtype"><a class="el" href="struct__istream__t.html">istream_t</a> * </td> <td class="paramname"> <em>is</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Verify SC68 file from stream. <p> The <a class="el" href="file68_8h.html#b0564fee551b4fa33397407d95f29677" title="Verify SC68 file from stream.">SC68file_verify()</a> function opens, reads and closes given file to determine if it is a valid SC68 file. This function only checks for a valid file header, and does not perform any consistent error checking.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>is</em> </td><td>input stream to verify</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>error-code </dd></dl> <dl compact><dt><b>Return values:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>0</em> </td><td>success, seems to be a valid SC68 file </td></tr> <tr><td valign="top"></td><td valign="top"><em><0</em> </td><td>failure, file error or invalid SC68 file</td></tr> </table> </dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="file68_8h.html#beb51056e4b55d026591f96c55b6cdb0" title="Load SC68 file from stream.">SC68file_load()</a> <p> <a class="el" href="file68_8h.html#f81a618d22cd359f63738acbac2f3b5f" title="Save SC68 disk into stream.">SC68file_save()</a> <p> <a class="el" href="file68_8h.html#e2750e5a5ed8d9703ac7b510e382b6f8" title="Get SC68 disk name.">SC68file_diskname()</a> </dd></dl> </div> </div><p> <a class="anchor" name="6d13f2f80225a674bbf1562e17428e9c"></a><!-- doxytag: member="file68.h::SC68file_verify_file" ref="6d13f2f80225a674bbf1562e17428e9c" args="(const char *fname)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SC68file_verify_file </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>fname</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Verify SC68 file. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>path to file to verify. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="90034714503beea2b860f9dd75b35288"></a><!-- doxytag: member="file68.h::SC68file_verify_mem" ref="90034714503beea2b860f9dd75b35288" args="(const void *buffer, int len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SC68file_verify_mem </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Verify SC68 file mapped into memory buffer. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>buffer</em> </td><td>buffer address </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>buffer length </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="e2750e5a5ed8d9703ac7b510e382b6f8"></a><!-- doxytag: member="file68.h::SC68file_diskname" ref="e2750e5a5ed8d9703ac7b510e382b6f8" args="(istream_t *is, char *dest, int max)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SC68file_diskname </td> <td>(</td> <td class="paramtype"><a class="el" href="struct__istream__t.html">istream_t</a> * </td> <td class="paramname"> <em>is</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>dest</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>max</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Get SC68 disk name. <p> The <a class="el" href="file68_8h.html#e2750e5a5ed8d9703ac7b510e382b6f8" title="Get SC68 disk name.">SC68file_diskname()</a> function opens, reads and closes given file to determine if it is a valid SC68 file. In the same time it tries to retrieve the stored disk name into the dest buffer with a maximum length of max bytes. If the name overflows, the last byte of the dest buffer will be non zero.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>is</em> </td><td>input stream </td></tr> <tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>disk name destination buffer </td></tr> <tr><td valign="top"></td><td valign="top"><em>max</em> </td><td>number of bytes of dest buffer</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>error-code </dd></dl> <dl compact><dt><b>Return values:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>0</em> </td><td>success, found a disk-name </td></tr> <tr><td valign="top"></td><td valign="top"><em><0</em> </td><td>failure, file error, invalid SC68 file or disk-name not found</td></tr> </table> </dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="file68_8h.html#beb51056e4b55d026591f96c55b6cdb0" title="Load SC68 file from stream.">SC68file_load()</a> <p> <a class="el" href="file68_8h.html#f81a618d22cd359f63738acbac2f3b5f" title="Save SC68 disk into stream.">SC68file_save()</a> <p> <a class="el" href="file68_8h.html#e2750e5a5ed8d9703ac7b510e382b6f8" title="Get SC68 disk name.">SC68file_diskname()</a> </dd></dl> </div> </div><p> <a class="anchor" name="beb51056e4b55d026591f96c55b6cdb0"></a><!-- doxytag: member="file68.h::SC68file_load" ref="beb51056e4b55d026591f96c55b6cdb0" args="(istream_t *is)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structdisk68__t.html">disk68_t</a>* SC68file_load </td> <td>(</td> <td class="paramtype"><a class="el" href="struct__istream__t.html">istream_t</a> * </td> <td class="paramname"> <em>is</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Load SC68 file from stream. <p> The <a class="el" href="file68_8h.html#beb51056e4b55d026591f96c55b6cdb0" title="Load SC68 file from stream.">SC68file_load()</a> function allocates memory and loads an SC68 file. The function performs all necessary initializations in the returned <a class="el" href="structdisk68__t.html" title="SC68 music disk structure.">disk68_t</a> structure. A single buffer has been allocated including <a class="el" href="structdisk68__t.html" title="SC68 music disk structure.">disk68_t</a> structure followed by music data. It is user charge to free memory by calling SC68_free() function.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>is</em> </td><td>input stream</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to allocated <a class="el" href="structdisk68__t.html" title="SC68 music disk structure.">disk68_t</a> disk structure </dd></dl> <dl compact><dt><b>Return values:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>0</em> </td><td>failure</td></tr> </table> </dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="file68_8h.html#b0564fee551b4fa33397407d95f29677" title="Verify SC68 file from stream.">SC68file_verify()</a> <p> <a class="el" href="file68_8h.html#f81a618d22cd359f63738acbac2f3b5f" title="Save SC68 disk into stream.">SC68file_save()</a> </dd></dl> </div> </div><p> <a class="anchor" name="061972f037e80f24ac43632707dd1caf"></a><!-- doxytag: member="file68.h::SC68file_load_file" ref="061972f037e80f24ac43632707dd1caf" args="(const char *fname)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structdisk68__t.html">disk68_t</a>* SC68file_load_file </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>fname</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Load SC68 file. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>path to file to load. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="61e1caec419958240a2db8cdd4edddc8"></a><!-- doxytag: member="file68.h::SC68file_load_mem" ref="61e1caec419958240a2db8cdd4edddc8" args="(const void *buffer, int len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structdisk68__t.html">disk68_t</a>* SC68file_load_mem </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Load SC68 file mapped into memory buffer. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>buffer</em> </td><td>buffer address </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>buffer length </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="f81a618d22cd359f63738acbac2f3b5f"></a><!-- doxytag: member="file68.h::SC68file_save" ref="f81a618d22cd359f63738acbac2f3b5f" args="(istream_t *os, const disk68_t *mb)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SC68file_save </td> <td>(</td> <td class="paramtype"><a class="el" href="struct__istream__t.html">istream_t</a> * </td> <td class="paramname"> <em>os</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structdisk68__t.html">disk68_t</a> * </td> <td class="paramname"> <em>mb</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Save SC68 disk into stream. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>os</em> </td><td>output stream (must be seekable) </td></tr> <tr><td valign="top"></td><td valign="top"><em>mb</em> </td><td>pointer to SC68 disk to save</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>error-code </dd></dl> <dl compact><dt><b>Return values:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>0</em> </td><td>success </td></tr> <tr><td valign="top"></td><td valign="top"><em><0</em> </td><td>failure</td></tr> </table> </dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="file68_8h.html#beb51056e4b55d026591f96c55b6cdb0" title="Load SC68 file from stream.">SC68file_load()</a> <p> <a class="el" href="file68_8h.html#b0564fee551b4fa33397407d95f29677" title="Verify SC68 file from stream.">SC68file_verify()</a> <p> <a class="el" href="file68_8h.html#e2750e5a5ed8d9703ac7b510e382b6f8" title="Get SC68 disk name.">SC68file_diskname()</a> </dd></dl> </div> </div><p> <a class="anchor" name="e1d8cdca013802111dac74a2095bdc9a"></a><!-- doxytag: member="file68.h::SC68file_save_file" ref="e1d8cdca013802111dac74a2095bdc9a" args="(const char *fname, const disk68_t *mb)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SC68file_save_file </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>fname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structdisk68__t.html">disk68_t</a> * </td> <td class="paramname"> <em>mb</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Save SC68 disk into file. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>filename. </td></tr> <tr><td valign="top"></td><td valign="top"><em>mb</em> </td><td>pointer to SC68 disk to save </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="2bc71724996f6d6bf53e8fc7204611ef"></a><!-- doxytag: member="file68.h::SC68file_save_mem" ref="2bc71724996f6d6bf53e8fc7204611ef" args="(const char *buffer, int len, const disk68_t *mb)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SC68file_save_mem </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structdisk68__t.html">disk68_t</a> * </td> <td class="paramname"> <em>mb</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Save SC68 disk into memory buffer. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>buffer</em> </td><td>destination buffer. </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>size of destination buffer. </td></tr> <tr><td valign="top"></td><td valign="top"><em>mb</em> </td><td>pointer to SC68 disk to save </td></tr> </table> </dl> </div> </div><p> <hr><h2>Variable Documentation</h2> <a class="anchor" name="5a75abcc156a7c0f62c2691dc19f6b44"></a><!-- doxytag: member="file68.h::SC68file_idstr" ref="5a75abcc156a7c0f62c2691dc19f6b44" args="[]" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char <a class="el" href="file68_8h.html#5a75abcc156a7c0f62c2691dc19f6b44">SC68file_idstr</a>[] </td> </tr> </table> </div> <div class="memdoc"> <p> SC68 file identifier string. <p> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="file68_8h.html#9275c55edb26dda9b965c096dbf70d25" title="SC68 file identification string definition (use SC68file_idstr instead).">SC68_IDSTR</a> </dd></dl> </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 15 03:58:05 2009 for sc68fordevelopers by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>