nestopia/doc/details/api/Nes..Api..Cartridge.html
2012-09-02 13:13:55 -04:00

394 lines
14 KiB
HTML

<HTML>
<HEAD>
<!-- Generated by CppDoc v2.4.1 on June 07, 2008 at 22:48-->
<META NAME="GENERATOR" Content="CppDoc">
<TITLE>Nestopia Core API: Nes::Api::Cartridge</TITLE>
</HEAD>
<BODY>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#eeeeff">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#eeeeff"> &nbsp;<a href="../../index-overview-summary.html"><B>Overview</B></a>&nbsp;</TD>
<TD BGCOLOR="#eeeeff"> &nbsp;<a href="project-summary.html"><B>Project</B></a>&nbsp;</TD>
<TD BGCOLOR="navy"> <FONT COLOR="white">&nbsp;<B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#eeeeff"> &nbsp;<a href="project-tree.html"><B>Tree</B></a>&nbsp;</TD>
<TD BGCOLOR="#eeeeff"> &nbsp;<a href="../../index-deprecated-list.html"><B>Deprecated</B></a>&nbsp;</TD>
<TD BGCOLOR="#eeeeff"> &nbsp;<a href="../../index-all.html"><B>Index</B></a>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Nestopia Core API</B></EM>
</TD>
</TR>
<TR>
<TD><FONT SIZE="-2">
<a href="../../index.html" target="_top"><B>FRAMES</B></a> &nbsp;
&nbsp;<a href="../api/Nes..Api..Cartridge.html" target="_top"><B>NO FRAMES</B></a></FONT></TD>
</TR>
<TR>
<TD VALIGN="top"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
api</FONT>
<BR>
Class Nes::Api::Cartridge</H2>
<PRE>
<code>Base</code>
|
+--<B>Nes::Api::Cartridge</B>
</PRE>
<HR>
<DL>
<DT>class <B><a href="../api/Nes..Api.html">Nes::Api</a>::Cartridge</B></DT><dt> extends Base
</DL>
<p>Cartridge interface.
<p>
<HR>
<!-- =========== INNER CLASSES, TYPEDEFS, ENUMS =========== -->
<A NAME="inner_defs_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Inner Classes, Typedefs, and Enums</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>typedef</CODE></FONT></TD>
<TD><B><CODE><a href="../api/Nes..Api..Cartridge..ChooseProfileCallback.html">Nes::Api::Cartridge::ChooseProfileCallback</a></CODE></B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cartridge profile chooser callback prototype.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>class</CODE></FONT></TD>
<TD><B><CODE><a href="../api/Nes..Api..Cartridge..Database.html">Nes::Api::Cartridge::Database</a></CODE></B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Database interface</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>struct</CODE></FONT></TD>
<TD><B><CODE><a href="../api/Nes..Api..Cartridge..NesHeader.html">Nes::Api::Cartridge::NesHeader</a></CODE></B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iNES header format context.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>struct</CODE></FONT></TD>
<TD><B><CODE><a href="../api/Nes..Api..Cartridge..Profile.html">Nes::Api::Cartridge::Profile</a></CODE></B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cartridge profile context.</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;static <a href="../api/Nes..Api..Cartridge..ChooseProfileCaller.html">Nes::Api::Cartridge::ChooseProfileCaller</a></CODE></FONT></TD>
<TD><CODE><B><a href="#chooseProfileCallback">chooseProfileCallback</a></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cartridge profile chooser callback manager.</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== CONSTRUCTOR SUMMARY =========== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<TD><CODE><B><a href="#Cartridge(T&)">Cartridge</a></B>( T& instance )</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface constructor.</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;<a href="../api/Nes..Api..Cartridge..Database.html">Nes::Api::Cartridge::Database</a></CODE></FONT></TD>
<TD><CODE><B><a href="#GetDatabase()">GetDatabase</a></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the database interface.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;const <a href="../api/Nes..Api..Cartridge..Profile.html">Nes::Api::Cartridge::Profile</a>*</CODE></FONT></TD>
<TD><CODE><B><a href="#GetProfile()">GetProfile</a></B>() const</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current cartridge profile.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;static Result</CODE></FONT></TD>
<TD><CODE><B><a href="#ReadInes(std::istream&,Machine::FavoredSystem,Profile&)">ReadInes</a></B>( std::istream& stream, Machine::FavoredSystem system, <a href="../api/Nes..Api..Cartridge..Profile.html">Nes::Api::Cartridge::Profile</a>& profile )</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a profile of an iNES file.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;static Result</CODE></FONT></TD>
<TD><CODE><B><a href="#ReadRomset(std::istream&,Machine::FavoredSystem,bool,Profile&)">ReadRomset</a></B>( std::istream& stream, Machine::FavoredSystem system, bool askProfile, <a href="../api/Nes..Api..Cartridge..Profile.html">Nes::Api::Cartridge::Profile</a>& profile )</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a profile of an XML ROM set file.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;static Result</CODE></FONT></TD>
<TD><CODE><B><a href="#ReadUnif(std::istream&,Machine::FavoredSystem,Profile&)">ReadUnif</a></B>( std::istream& stream, Machine::FavoredSystem system, <a href="../api/Nes..Api..Cartridge..Profile.html">Nes::Api::Cartridge::Profile</a>& profile )</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a profile of a UNIF file.</TD>
</TR>
</TABLE>
&nbsp;
<BR>
<BR>
<!-- ============ Field Detail ========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="chooseProfileCallback"><!-- --></A>
<A NAME="chooseProfileCallback"><!-- --></A>
<H3>chooseProfileCallback</H3>
<PRE>
public static <a href="../api/Nes..Api..Cartridge..ChooseProfileCaller.html">Nes::Api::Cartridge::ChooseProfileCaller</a> <B>chooseProfileCallback</B>;
</PRE>
<DL>
<DD>Cartridge profile chooser callback manager.
Static object used for adding the user defined callback.
</DD>
</DL>
<HR>
<BR>
<!-- ============ Constructor Detail ========== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="Cartridge(T&)"><!-- --></A>
<A NAME="Cartridge"><!-- --></A>
<H3>Cartridge</H3>
<PRE>
public <B>Cartridge</B>( T& instance );
</PRE>
<DL>
<DD>Interface constructor.
</DD>
<DL>
<DT><B>Parameters: </B><DD><code>instance</code> - emulator instance</DD>
</DL>
</DL>
<HR>
<BR>
<!-- ============ Method Detail ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="GetDatabase()"><!-- --></A>
<A NAME="GetDatabase"><!-- --></A>
<H3>GetDatabase</H3>
<PRE>
public <a href="../api/Nes..Api..Cartridge..Database.html">Nes::Api::Cartridge::Database</a> <B>GetDatabase</B>() throw();
</PRE>
<DL>
<DD>Returns the database interface.
</DD>
<DL>
<DT><B>Returns: </B><DD>database interface</DD>
</DL>
</DL>
<HR>
<A NAME="GetProfile()"><!-- --></A>
<A NAME="GetProfile"><!-- --></A>
<H3>GetProfile</H3>
<PRE>
public const <a href="../api/Nes..Api..Cartridge..Profile.html">Nes::Api::Cartridge::Profile</a>* <B>GetProfile</B>() const throw();
</PRE>
<DL>
<DD>Returns the current cartridge profile.
</DD>
<DL>
<DT><B>Returns: </B><DD>pointer to current profile, NULL if no cartridge has been loaded into the system</DD>
</DL>
</DL>
<HR>
<A NAME="ReadInes(std::istream&,Machine::FavoredSystem,Profile&)"><!-- --></A>
<A NAME="ReadInes"><!-- --></A>
<H3>ReadInes</H3>
<PRE>
public static Result <B>ReadInes</B>( std::istream& stream, Machine::FavoredSystem system, <a href="../api/Nes..Api..Cartridge..Profile.html">Nes::Api::Cartridge::Profile</a>& profile ) throw();
</PRE>
<DL>
<DD>Creates a profile of an iNES file.
</DD>
<DL>
<DT><B>Parameters: </B><DD><code>stream</code> - input stream to iNES file
<DD><code>system</code> - preferred system in case of multiple profiles
<DD><code>profile</code> - object to be filled</DD>
<DT><B>Returns: </B><DD>result code</DD>
</DL>
</DL>
<HR>
<A NAME="ReadRomset(std::istream&,Machine::FavoredSystem,bool,Profile&)"><!-- --></A>
<A NAME="ReadRomset"><!-- --></A>
<H3>ReadRomset</H3>
<PRE>
public static Result <B>ReadRomset</B>( std::istream& stream, Machine::FavoredSystem system, bool askProfile, <a href="../api/Nes..Api..Cartridge..Profile.html">Nes::Api::Cartridge::Profile</a>& profile ) throw();
</PRE>
<DL>
<DD>Creates a profile of an XML ROM set file.
</DD>
<DL>
<DT><B>Parameters: </B><DD><code>stream</code> - input stream to XML file
<DD><code>system</code> - preferred system in case of multiple profiles
<DD><code>askProfile</code> - allow callback triggering for choosing between multiple profiles
<DD><code>profile</code> - object to be filled</DD>
<DT><B>Returns: </B><DD>result code</DD>
</DL>
</DL>
<HR>
<A NAME="ReadUnif(std::istream&,Machine::FavoredSystem,Profile&)"><!-- --></A>
<A NAME="ReadUnif"><!-- --></A>
<H3>ReadUnif</H3>
<PRE>
public static Result <B>ReadUnif</B>( std::istream& stream, Machine::FavoredSystem system, <a href="../api/Nes..Api..Cartridge..Profile.html">Nes::Api::Cartridge::Profile</a>& profile ) throw();
</PRE>
<DL>
<DD>Creates a profile of a UNIF file.
</DD>
<DL>
<DT><B>Parameters: </B><DD><code>stream</code> - input stream to UNIF file
<DD><code>system</code> - preferred system in case of multiple profiles
<DD><code>profile</code> - object to be filled</DD>
<DT><B>Returns: </B><DD>result code</DD>
</DL>
</DL>
<HR>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#eeeeff">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#eeeeff"> &nbsp;<a href="../../index-overview-summary.html"><B>Overview</B></a>&nbsp;</TD>
<TD BGCOLOR="#eeeeff"> &nbsp;<a href="project-summary.html"><B>Project</B></a>&nbsp;</TD>
<TD BGCOLOR="navy"> <FONT COLOR="white">&nbsp;<B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#eeeeff"> &nbsp;<a href="project-tree.html"><B>Tree</B></a>&nbsp;</TD>
<TD BGCOLOR="#eeeeff"> &nbsp;<a href="../../index-deprecated-list.html"><B>Deprecated</B></a>&nbsp;</TD>
<TD BGCOLOR="#eeeeff"> &nbsp;<a href="../../index-all.html"><B>Index</B></a>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Nestopia Core API</B></EM>
</TD>
</TR>
<TR>
<TD><FONT SIZE="-2">
<a href="../../index.html" target="_top"><B>FRAMES</B></a> &nbsp;
&nbsp;<a href="../api/Nes..Api..Cartridge.html" target="_top"><B>NO FRAMES</B></a></FONT></TD>
</TR>
<TR>
<TD VALIGN="top"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
</BODY>
</HTML>