Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 2ff8806b45ba9c96e77e01e6d40e440b > files > 93

libsc68_2.2.1-devel-2.2.1-11mdv2010.0.i586.rpm

<!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/emu68/emu68.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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;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&nbsp;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/emu68/emu68.h File Reference</h1>68K emulator user interface.  
<a href="#_details">More...</a>
<p>
<code>#include &quot;<a class="el" href="struct68_8h_source.html">emu68/struct68.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="getea68_8h_source.html">emu68/getea68.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="macro68_8h_source.html">emu68/macro68.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="emu68_2error68_8h_source.html">emu68/error68.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="cc68_8h_source.html">emu68/cc68.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="inst68_8h_source.html">emu68/inst68.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="mem68_8h_source.html">emu68/mem68.h</a>&quot;</code><br>

<p>
<a href="emu68_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>Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Init functions</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#f7bf055705ab5e5057ab840aa3a0a126">EMU68_reset</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">68K Hardware Reset  <a href="#f7bf055705ab5e5057ab840aa3a0a126"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#3e75b3cfab7e28d3cfffb1b22d34791f">EMU68_init</a> (<a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> *buffer, <a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> maxmem)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">First time init.  <a href="#3e75b3cfab7e28d3cfffb1b22d34791f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bee1bb0084230ccb99c6ef71e8e1bd9d"></a><!-- doxytag: member="emu68.h::EMU68_kill" ref="bee1bb0084230ccb99c6ef71e8e1bd9d" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#bee1bb0084230ccb99c6ef71e8e1bd9d">EMU68_kill</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clean exit. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">EMU68 on-board memory access</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#ba4a2dddfb83db00454a3af7148dd2df">EMU68_memvalid</a> (<a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> dest, <a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> sz)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a memory block is in 68K on-board memory range.  <a href="#ba4a2dddfb83db00454a3af7148dd2df"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#d5c4f5d8046f9b8a5366483cbe387eac">EMU68_peek</a> (<a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> addr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get byte in 68K onboard memory.  <a href="#d5c4f5d8046f9b8a5366483cbe387eac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#0f8260d8a3c72fe1bfb2d41184a8abb6">EMU68_poke</a> (<a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> addr, <a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Put a byte in 68K onboard memory.  <a href="#0f8260d8a3c72fe1bfb2d41184a8abb6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#00f4d454822ea4c74b4faafb4116dc2d">EMU68_memput</a> (<a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> dest, <a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> *src, <a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> sz)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Put a memory block to 68K on-board memory.  <a href="#00f4d454822ea4c74b4faafb4116dc2d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#a0b67dbd6dabbdf4b6cbe23dacf62d55">EMU68_memget</a> (<a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> *dest, <a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> src, <a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> sz)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get 68K on-board memory into a memory block.  <a href="#a0b67dbd6dabbdf4b6cbe23dacf62d55"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Execution functions</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#e0194f81e0536c6f784f1167d35cb5b9">EMU68_step</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute one instruction.  <a href="#e0194f81e0536c6f784f1167d35cb5b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#c3d614b67c7062851e96f4ccd2fd83d5">EMU68_level_and_interrupt</a> (<a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> cycleperpass)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute until RTS.  <a href="#c3d614b67c7062851e96f4ccd2fd83d5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="864eb10352cb2b1e3e34722ccaada112"></a><!-- doxytag: member="emu68.h::EMU68_cycle" ref="864eb10352cb2b1e3e34722ccaada112" args="(u32 cycleperpass)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#864eb10352cb2b1e3e34722ccaada112">EMU68_cycle</a> (<a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> cycleperpass)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute for given number of cycle. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#f128d67c42ffd485f7ad6b4fed6d5d9f">EMU68_break</a> (<a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> breakpc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute until PC reachs breakpoint.  <a href="#f128d67c42ffd485f7ad6b4fed6d5d9f"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Version checking functions</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#5017eb1cd569f7fc1acf9c6c669f18f2">EMU68_debugmode</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get EMU68 debug mode.  <a href="#5017eb1cd569f7fc1acf9c6c669f18f2"></a><br></td></tr>
<tr><td colspan="2"><br><h2>EMU68 internal struct access</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f7cf07d04cacbed7604dbf6b432bed3c"></a><!-- doxytag: member="emu68.h::reg68" ref="f7cf07d04cacbed7604dbf6b432bed3c" args="" -->
<a class="el" href="structreg68__t.html">reg68_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#f7cf07d04cacbed7604dbf6b432bed3c">reg68</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">EMU68 internal 68K register set structure. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct__io68__t.html">io68_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#20ac66e921d2f7980fc0db257bb58abf">EMU68_set_interrupt_io</a> (<a class="el" href="struct__io68__t.html">io68_t</a> *io)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set new interrupt IO.  <a href="#20ac66e921d2f7980fc0db257bb58abf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="748bfcedd7774fe9265de80c9b75bb11"></a><!-- doxytag: member="emu68.h::EMU68_set_registers" ref="748bfcedd7774fe9265de80c9b75bb11" args="(const reg68_t *r)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#748bfcedd7774fe9265de80c9b75bb11">EMU68_set_registers</a> (const <a class="el" href="structreg68__t.html">reg68_t</a> *r)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy specified register set to EMU68 internal register set. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c45594e63bac5ce3cd5893b4977f2667"></a><!-- doxytag: member="emu68.h::EMU68_get_registers" ref="c45594e63bac5ce3cd5893b4977f2667" args="(reg68_t *r)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#c45594e63bac5ce3cd5893b4977f2667">EMU68_get_registers</a> (<a class="el" href="structreg68__t.html">reg68_t</a> *r)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy EMU68 internal register set to specified register set. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="943e137c590df1cae5ed0298ab236d24"></a><!-- doxytag: member="emu68.h::EMU68_set_cycle" ref="943e137c590df1cae5ed0298ab236d24" args="(u32 cycle)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#943e137c590df1cae5ed0298ab236d24">EMU68_set_cycle</a> (<a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> cycle)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set EMU68 internal cycle counter. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="28b60abdb239a1cafdd420036a5bea8d"></a><!-- doxytag: member="emu68.h::EMU68_get_cycle" ref="28b60abdb239a1cafdd420036a5bea8d" args="(void)" -->
<a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="emu68_8h.html#28b60abdb239a1cafdd420036a5bea8d">EMU68_get_cycle</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get EMU68 internal cycle counter. <br></td></tr>
</table>
<hr><h2>Detailed Description</h2>
68K emulator user interface. 
<p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Ben(jamin) Gerard &lt;<a href="mailto:ben@sashipa.com">ben@sashipa.com</a>&gt; </dd></dl>
<dl class="date" compact><dt><b>Date:</b></dt><dd>1999/03/13 </dd></dl>
<dl class="version" compact><dt><b>Version:</b></dt><dd></dd></dl>
<dl class="rcs" compact><dt><b>Id</b></dt><dd><a class="el" href="emu68_8h.html" title="68K emulator user interface.">emu68.h</a>,v 2.1 2003/09/30 06:29:57 benjihan Exp </dd></dl>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="20ac66e921d2f7980fc0db257bb58abf"></a><!-- doxytag: member="emu68.h::EMU68_set_interrupt_io" ref="20ac66e921d2f7980fc0db257bb58abf" args="(io68_t *io)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__io68__t.html">io68_t</a>* EMU68_set_interrupt_io           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__io68__t.html">io68_t</a> *&nbsp;</td>
          <td class="paramname"> <em>io</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set new interrupt IO. 
<p>
This version of EMU68 was specially build for SC68. For optimization purposes only one IO plugged chip could interrupt processor.<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>io</em>&nbsp;</td><td>Pointer to the only IO that could eventually interrupt.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to previous interrupt IO. </dd></dl>

</div>
</div><p>
<a class="anchor" name="f7bf055705ab5e5057ab840aa3a0a126"></a><!-- doxytag: member="emu68.h::EMU68_reset" ref="f7bf055705ab5e5057ab840aa3a0a126" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EMU68_reset           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
68K Hardware Reset 
<p>
Perform following operations :<ul>
<li>PC = 0</li><li>SR = 2700</li><li>A7 = end of mem - 4</li><li>All registers cleared</li><li>All IO reseted </li></ul>

</div>
</div><p>
<a class="anchor" name="3e75b3cfab7e28d3cfffb1b22d34791f"></a><!-- doxytag: member="emu68.h::EMU68_init" ref="3e75b3cfab7e28d3cfffb1b22d34791f" args="(u8 *buffer, u32 maxmem)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int EMU68_init           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td>
          <td class="paramname"> <em>maxmem</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
First time init. 
<p>
The <a class="el" href="emu68_8h.html#3e75b3cfab7e28d3cfffb1b22d34791f" title="First time init.">EMU68_init()</a> function initializes the 68k emulator. The maxmem parameter is the size of the 68K memory. The function checks if its value is valid. It must be a power of 2 in the range [2^17..2^24], 128Kb to 16 Mb.<p>
<dl class="warning" compact><dt><b>Warning:</b></dt><dd>- In normal mode (EMU68DEBUG not defined), the buffer <b>must</b> be 3 bytes larger than maxmem to prevent an overflow error that is not checked when accessing last bytes of memory as a long.<ul>
<li>In debug mode (EMU68DEBUG defined) the buffer <b>must</b> be twice the maxmem value for the memory access control flags.</li></ul>
</dd></dl>
<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>&nbsp;</td><td>68K memory buffer. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>maxmem</em>&nbsp;</td><td>68K memory amount in byte (power of 2 only).</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>&nbsp;</td><td>Success </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>&lt;0</em>&nbsp;</td><td>Failure </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ba4a2dddfb83db00454a3af7148dd2df"></a><!-- doxytag: member="emu68.h::EMU68_memvalid" ref="ba4a2dddfb83db00454a3af7148dd2df" args="(u32 dest, u32 sz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int EMU68_memvalid           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td>
          <td class="paramname"> <em>sz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a memory block is in 68K on-board memory range. 
<p>
<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>&nbsp;</td><td>Success </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>&lt;0</em>&nbsp;</td><td>Failure </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d5c4f5d8046f9b8a5366483cbe387eac"></a><!-- doxytag: member="emu68.h::EMU68_peek" ref="d5c4f5d8046f9b8a5366483cbe387eac" args="(u32 addr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> EMU68_peek           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td>
          <td class="paramname"> <em>addr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get byte in 68K onboard memory. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="emu68_8h.html#0f8260d8a3c72fe1bfb2d41184a8abb6" title="Put a byte in 68K onboard memory.">EMU68_poke()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="0f8260d8a3c72fe1bfb2d41184a8abb6"></a><!-- doxytag: member="emu68.h::EMU68_poke" ref="0f8260d8a3c72fe1bfb2d41184a8abb6" args="(u32 addr, u8 v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> EMU68_poke           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td>
          <td class="paramname"> <em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a>&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Put a byte in 68K onboard memory. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="emu68_8h.html#d5c4f5d8046f9b8a5366483cbe387eac" title="Get byte in 68K onboard memory.">EMU68_peek()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="00f4d454822ea4c74b4faafb4116dc2d"></a><!-- doxytag: member="emu68.h::EMU68_memput" ref="00f4d454822ea4c74b4faafb4116dc2d" args="(u32 dest, u8 *src, u32 sz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int EMU68_memput           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td>
          <td class="paramname"> <em>sz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Put a memory block to 68K on-board memory. 
<p>
The function copy a memory block in 68K on-board memory after verifying that the operation access valid 68K memory.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="emu68_8h.html#a0b67dbd6dabbdf4b6cbe23dacf62d55" title="Get 68K on-board memory into a memory block.">EMU68_memget()</a> <p>
<a class="el" href="emu68_8h.html#ba4a2dddfb83db00454a3af7148dd2df" title="Check if a memory block is in 68K on-board memory range.">EMU68_memvalid()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="a0b67dbd6dabbdf4b6cbe23dacf62d55"></a><!-- doxytag: member="emu68.h::EMU68_memget" ref="a0b67dbd6dabbdf4b6cbe23dacf62d55" args="(u8 *dest, u32 src, u32 sz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int EMU68_memget           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> *&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td>
          <td class="paramname"> <em>sz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get 68K on-board memory into a memory block. 
<p>
The function copy a 68K on-board memory to a memory location after verifying that the operation access valid 68K memory.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="emu68_8h.html#00f4d454822ea4c74b4faafb4116dc2d" title="Put a memory block to 68K on-board memory.">EMU68_memput()</a> <p>
<a class="el" href="emu68_8h.html#ba4a2dddfb83db00454a3af7148dd2df" title="Check if a memory block is in 68K on-board memory range.">EMU68_memvalid()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="e0194f81e0536c6f784f1167d35cb5b9"></a><!-- doxytag: member="emu68.h::EMU68_step" ref="e0194f81e0536c6f784f1167d35cb5b9" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EMU68_step           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Execute one instruction. 
<p>

</div>
</div><p>
<a class="anchor" name="c3d614b67c7062851e96f4ccd2fd83d5"></a><!-- doxytag: member="emu68.h::EMU68_level_and_interrupt" ref="c3d614b67c7062851e96f4ccd2fd83d5" args="(u32 cycleperpass)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EMU68_level_and_interrupt           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td>
          <td class="paramname"> <em>cycleperpass</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Execute until RTS. 
<p>
This function runs an emulation loop until stack address becomes higher than its value at start. After what, the interruption are tested and executed for this pass, with an execution time given in parameter whatever the time passed in the execution loop. This function is very specific to SC68 implementation. 
</div>
</div><p>
<a class="anchor" name="f128d67c42ffd485f7ad6b4fed6d5d9f"></a><!-- doxytag: member="emu68.h::EMU68_break" ref="f128d67c42ffd485f7ad6b4fed6d5d9f" args="(u32 breakpc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EMU68_break           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td>
          <td class="paramname"> <em>breakpc</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Execute until PC reachs breakpoint. 
<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>breakpc</em>&nbsp;</td><td>Breakpoint location </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="5017eb1cd569f7fc1acf9c6c669f18f2"></a><!-- doxytag: member="emu68.h::EMU68_debugmode" ref="5017eb1cd569f7fc1acf9c6c669f18f2" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int EMU68_debugmode           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get EMU68 debug mode. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>compile time debug mode </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>&nbsp;</td><td>normal mode. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>1</em>&nbsp;</td><td>debug mode. </td></tr>
  </table>
</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&nbsp;
<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>