Overview | Project | Class | Tree | Deprecated | Index
| Nestopia Core API
FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## api
Class Nes::Api::Machine

    Base
       |
       +--Nes::Api::Machine

class Nes::Api::Machine
extends Base

Machine interface.

Inner Classes, Typedefs, and Enums
`enum` | `Nes::Api::Machine::AskProfile` Image profile questioning state.
`enum` | `Nes::Api::Machine::Compression` Internal compression on states.
`enum` | `Nes::Api::Machine::Event` Machine events.
`typedef` | `Nes::Api::Machine::EventCallback` Machine event callback prototype.
`enum` | `Nes::Api::Machine::FavoredSystem` Favored System.
`enum` | `Nes::Api::Machine::Mode` NTSC/PAL mode.
`struct` | `Nes::Api::Machine::Patch` Soft-patching context object.

Field Summary
`static Nes::Api::Machine::EventCaller` | `eventCallback` Machine event callback manager.

Constructor Summary
`Machine( T& instance )` Interface constructor.

Method Summary
`Nes::Api::Machine::Mode` | `GetDesiredMode() const` Returns the mode most appropriate for the current image.
`Nes::Api::Machine::Mode` | `GetMode() const` Returns the current mode.
`bool` | `Is( uint flags1, uint flags2 ) const` Returns a machine state.
`uint` | `Is( uint flags ) const` Returns a machine state.
`bool` | `IsLocked() const` Tells if the machine is in a locked state.
`Result` | `Load( std::istream& stream, Nes::Api::Machine::FavoredSystem system, Nes::Api::Machine::Patch& patch, Nes::Api::Machine::AskProfile askProfile = DONT_ASK_PROFILE )` Loads any image.
`Result` | `Load( std::istream& stream, Nes::Api::Machine::FavoredSystem system, Nes::Api::Machine::AskProfile askProfile = DONT_ASK_PROFILE )` Loads any image.
`Result` | `LoadCartridge( std::istream& stream, Nes::Api::Machine::FavoredSystem system, Nes::Api::Machine::Patch& patch, Nes::Api::Machine::AskProfile askProfile = DONT_ASK_PROFILE )` Loads a cartridge image.
`Result` | `LoadCartridge( std::istream& stream, Nes::Api::Machine::FavoredSystem system, Nes::Api::Machine::AskProfile askProfile = DONT_ASK_PROFILE )` Loads a cartridge image.
`Result` | `LoadDisk( std::istream& stream, Nes::Api::Machine::FavoredSystem system )` Loads a Famicom Disk System image.
`Result` | `LoadSound( std::istream& stream, Nes::Api::Machine::FavoredSystem system )` Loads a sound image.
`Result` | `LoadState( std::istream& stream )` Loads a state.
`Result` | `Power( bool state )` Powers ON or OFF the machine.
`Result` | `Reset( bool state )` Resets the machine.
`Result` | `SaveState( std::ostream& stream, Nes::Api::Machine::Compression compression = USE_COMPRESSION ) const` Saves a state.
`Result` | `SetMode( Nes::Api::Machine::Mode mode )` Sets the mode.
`Result` | `Unload()` Unloads the current image.

Field Detail

### eventCallback

    public static Nes::Api::Machine::EventCaller eventCallback;

  Machine event callback manager. Static object used for adding the user defined callback.

Constructor Detail

### Machine

    public Machine( T& instance );

  Interface constructor.

Parameters:
  `instance` - emulator instance

Method Detail

### GetDesiredMode

    public Nes::Api::Machine::Mode GetDesiredMode() const throw();

  Returns the mode most appropriate for the current image.

Returns:
  mode

### GetMode

    public Nes::Api::Machine::Mode GetMode() const throw();

  Returns the current mode.

Returns:
  mode

### Is

    public bool Is( uint flags1, uint flags2 ) const throw();

  Returns a machine state.

Parameters:
  `flags1` - OR:ed flags to check
  `flags2` - OR:ed flags to check
Returns:
  true if both parameters has at least one flag evaluated to true

### Is

    public uint Is( uint flags ) const throw();

  Returns a machine state.

Parameters:
  `flags` - OR:ed flags to check
Returns:
  OR:ed flags evaluated to true

### IsLocked

    public bool IsLocked() const;

  Tells if the machine is in a locked state. A locked state means that the machine can't respond to certain operations because it's doing something special, like playing a movie or rewinding.

Returns:
  true if machine is in a locked state.

### Load

    public Result Load( std::istream& stream, Nes::Api::Machine::FavoredSystem system, Nes::Api::Machine::Patch& patch, Nes::Api::Machine::AskProfile askProfile = DONT_ASK_PROFILE ) throw();

  Loads any image. Input stream can be in XML, iNES, UNIF, FDS or NSF format.

Parameters:
  `stream` - input stream containing the image to load
  `system` - console to emulate if the core can't do automatic detection
  `patch` - object for performing soft-patching on the image
  `askProfile` - to allow callback triggering if the image has multiple media profiles, default is false
Returns:
  result code

### Load

    public Result Load( std::istream& stream, Nes::Api::Machine::FavoredSystem system, Nes::Api::Machine::AskProfile askProfile = DONT_ASK_PROFILE ) throw();

  Loads any image. Input stream can be in XML, iNES, UNIF, FDS or NSF format.

Parameters:
  `stream` - input stream containing the image to load
  `system` - console to emulate if the core can't do automatic detection
  `askProfile` - to allow callback triggering if the image has multiple media profiles, default is false
Returns:
  result code

### LoadCartridge

    public Result LoadCartridge( std::istream& stream, Nes::Api::Machine::FavoredSystem system, Nes::Api::Machine::Patch& patch, Nes::Api::Machine::AskProfile askProfile = DONT_ASK_PROFILE ) throw();

  Loads a cartridge image. Input stream can be in XML, iNES or UNIF format.

Parameters:
  `stream` - input stream containing the image to load
  `system` - console to emulate if the core can't do automatic detection
  `patch` - object for performing soft-patching on the image
  `askProfile` - to allow callback triggering if the image has multiple media profiles, default is false
Returns:
  result code

### LoadCartridge

    public Result LoadCartridge( std::istream& stream, Nes::Api::Machine::FavoredSystem system, Nes::Api::Machine::AskProfile askProfile = DONT_ASK_PROFILE ) throw();

  Loads a cartridge image. Input stream can be in XML, iNES or UNIF format.

Parameters:
  `stream` - input stream containing the image to load
  `system` - console to emulate if the core can't do automatic detection
  `askProfile` - to allow callback triggering if the image has multiple media profiles, default is false
Returns:
  result code

### LoadDisk

    public Result LoadDisk( std::istream& stream, Nes::Api::Machine::FavoredSystem system ) throw();

  Loads a Famicom Disk System image. Input stream can be in FDS format.

Parameters:
  `stream` - input stream containing the image to load
  `system` - console to emulate if the core can't do automatic detection
Returns:
  result code

### LoadSound

    public Result LoadSound( std::istream& stream, Nes::Api::Machine::FavoredSystem system ) throw();

  Loads a sound image. Input stream can be in NSF format.

Parameters:
  `stream` - input stream containing the image to load
  `system` - console to emulate if the core can't do automatic detection
Returns:
  result code

### LoadState

    public Result LoadState( std::istream& stream ) throw();

  Loads a state.

Parameters:
  `stream` - input stream containing the state
Returns:
  result code

### Power

    public Result Power( bool state ) throw();

  Powers ON or OFF the machine.

Parameters:
  `state` - ON if true
Returns:
  result code

### Reset

    public Result Reset( bool state ) throw();

  Resets the machine.

Parameters:
  `state` - hard-reset if true, soft-reset otherwise
Returns:
  result code

### SaveState

    public Result SaveState( std::ostream& stream, Nes::Api::Machine::Compression compression = USE_COMPRESSION ) const throw();

  Saves a state.

Parameters:
  `stream` - output stream which the state will be written to
  `compression` - to allow internal compression in the state, default is USE_COMPRESSION
Returns:
  result code

### SetMode

    public Result SetMode( Nes::Api::Machine::Mode mode ) throw();

  Sets the mode.

Parameters:
  `mode` - new mode
Returns:
  result code

### Unload

    public Result Unload() throw();

  Unloads the current image.

Returns:
  result code

Overview | Project | Class | Tree | Deprecated | Index
| Nestopia Core API
FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD