[Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx:[687] trunk
Brought to you by:
fredm
From: <fr...@us...> - 2012-02-26 12:08:44
|
Revision: 687 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=687&view=rev Author: fredm Date: 2012-02-26 12:08:34 +0000 (Sun, 26 Feb 2012) Log Message: ----------- Merge up to vendor revision 4620. TODO: pokemem dialog. Revision Links: -------------- http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=4620&view=rev Modified Paths: -------------- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj trunk/FuseGenerator/libspectrum.h trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj trunk/FuseImporter/libspectrum.h trunk/audiofile/audiofile.xcodeproj/project.pbxproj trunk/fuse/AUTHORS trunk/fuse/ChangeLog trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/bitmap.h trunk/fuse/compat/amiga/Makefile.am trunk/fuse/compat/morphos/Makefile.am trunk/fuse/compat/unix/Makefile.am trunk/fuse/compat/unix/file.c trunk/fuse/compat/wii/Makefile.am trunk/fuse/compat/win32/Makefile.am trunk/fuse/compat/win32/timer.c trunk/fuse/compat.h trunk/fuse/configure.in trunk/fuse/debugger/breakpoint.c trunk/fuse/debugger/breakpoint.h trunk/fuse/debugger/commandl.l trunk/fuse/debugger/commandy.y trunk/fuse/debugger/debugger.c trunk/fuse/debugger/debugger_internals.h trunk/fuse/debugger/disassemble.c trunk/fuse/debugger/event.c trunk/fuse/display.c trunk/fuse/event.c trunk/fuse/fuse.c trunk/fuse/fusepb/Credits.html trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/FuseMenus.m trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/config.h trunk/fuse/fusepb/controllers/DebuggerController.m trunk/fuse/fusepb/controllers/FuseController.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/controllers/PokeFinderController.m trunk/fuse/fusepb/controllers/PreferencesController.h trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/libspectrum.h trunk/fuse/fusepb/models/Emulator.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/resources/Fuse Help/html/about.html trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/formats.html trunk/fuse/fusepb/resources/Fuse Help/html/machine.html trunk/fuse/fusepb/resources/Fuse Help/html/menus.html trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html trunk/fuse/fusepb/resources/Fuse Help/html/peripherals.html trunk/fuse/fusepb/resources/Fuse Help/html/printer.html trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html trunk/fuse/fusepb/views/DisplayOpenGLView.h trunk/fuse/fusepb/views/DisplayOpenGLView.m trunk/fuse/fusepb/xibs/PokeFinder.xib trunk/fuse/fusepb/xibs/Preferences.xib trunk/fuse/hacking/ChangeLog trunk/fuse/hacking/tc2048_tech_notes.txt trunk/fuse/input.c trunk/fuse/keyboard.c trunk/fuse/keysyms.pl trunk/fuse/machine.c trunk/fuse/machine.h trunk/fuse/machines/Makefile.am trunk/fuse/machines/pentagon.c trunk/fuse/machines/pentagon.h trunk/fuse/machines/pentagon1024.c trunk/fuse/machines/pentagon512.c trunk/fuse/machines/scorpion.c trunk/fuse/machines/spec128.c trunk/fuse/machines/spec128.h trunk/fuse/machines/spec16.c trunk/fuse/machines/spec48.c trunk/fuse/machines/spec48.h trunk/fuse/machines/spec48_ntsc.c trunk/fuse/machines/spec_se.c trunk/fuse/machines/specplus2.c trunk/fuse/machines/specplus2a.c trunk/fuse/machines/specplus3.c trunk/fuse/machines/specplus3.h trunk/fuse/machines/specplus3e.c trunk/fuse/machines/tc2048.c trunk/fuse/machines/tc2068.c trunk/fuse/machines/tc2068.h trunk/fuse/machines/ts2068.c trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/memory.h trunk/fuse/mempool.c trunk/fuse/mempool.h trunk/fuse/menu.c trunk/fuse/menu.h trunk/fuse/menu_data.dat trunk/fuse/periph.c trunk/fuse/periph.h trunk/fuse/pokefinder/Makefile.am trunk/fuse/roms/Makefile.am trunk/fuse/roms/README.copyright trunk/fuse/rzx.c trunk/fuse/screenshot.c trunk/fuse/screenshot.h trunk/fuse/settings.dat trunk/fuse/settings.pl trunk/fuse/snapshot.c trunk/fuse/sound/blipbuffer.c trunk/fuse/sound.c trunk/fuse/sound.h trunk/fuse/spectrum.c trunk/fuse/tape.c trunk/fuse/ui/cocoa/cocoaui.m trunk/fuse/ui/cocoa/options-header.pl trunk/fuse/ui/cocoa/options.pl trunk/fuse/ui/fb/fbdisplay.c trunk/fuse/ui/fb/fbjoystick.c trunk/fuse/ui/fb/fbui.c trunk/fuse/ui/gtk/Makefile.am trunk/fuse/ui/gtk/debugger.c trunk/fuse/ui/gtk/fileselector.c trunk/fuse/ui/gtk/gtkdisplay.c trunk/fuse/ui/gtk/gtkinternals.h trunk/fuse/ui/gtk/gtkjoystick.c trunk/fuse/ui/gtk/gtkui.c trunk/fuse/ui/gtk/options-header.pl trunk/fuse/ui/gtk/options.pl trunk/fuse/ui/gtk/picture.c trunk/fuse/ui/gtk/pokefinder.c trunk/fuse/ui/gtk/statusbar.c trunk/fuse/ui/options.dat trunk/fuse/ui/sdl/sdldisplay.c trunk/fuse/ui/sdl/sdljoystick.c trunk/fuse/ui/sdl/sdlui.c trunk/fuse/ui/svga/svgajoystick.c trunk/fuse/ui/svga/svgaui.c trunk/fuse/ui/ui.h trunk/fuse/ui/uijoystick.c trunk/fuse/ui/widget/Makefile.am trunk/fuse/ui/widget/debugger.c trunk/fuse/ui/widget/filesel.c trunk/fuse/ui/widget/menu.c trunk/fuse/ui/widget/options-header.pl trunk/fuse/ui/widget/options.pl trunk/fuse/ui/widget/pokefinder.c trunk/fuse/ui/widget/widget.c trunk/fuse/ui/widget/widget.h trunk/fuse/ui/widget/widget_internals.h trunk/fuse/ui/win32/Makefile.am trunk/fuse/ui/win32/debugger.c trunk/fuse/ui/win32/debugger.rc trunk/fuse/ui/win32/installer/fuse.nsi trunk/fuse/ui/win32/options-header.pl trunk/fuse/ui/win32/options-resource.pl trunk/fuse/ui/win32/options.pl trunk/fuse/ui/win32/picture.c trunk/fuse/ui/win32/pokefinder.c trunk/fuse/ui/win32/pokefinder.rc trunk/fuse/ui/win32/statusbar.c trunk/fuse/ui/win32/win32display.c trunk/fuse/ui/win32/win32internals.h trunk/fuse/ui/win32/win32joystick.c trunk/fuse/ui/win32/win32joystick.rc trunk/fuse/ui/win32/win32ui.c trunk/fuse/ui/xlib/xdisplay.c trunk/fuse/ui/xlib/xjoystick.c trunk/fuse/ui.c trunk/fuse/unittests/unittests.c trunk/fuse/unittests/unittests.h trunk/fuse/utils.c trunk/fuse/utils.h trunk/fuse/windres.rc trunk/fuse/z80/coretest.c trunk/fuse/z80/z80.c trunk/fuse/z80/z80_checks.h trunk/fuse/z80/z80_ops.c trunk/libspectrum/config.h trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/Makefile.am trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/accessor.pl trunk/libspectrum/libspectrum/configure.in trunk/libspectrum/libspectrum/doc/libspectrum.3 trunk/libspectrum/libspectrum/doc/libspectrum.txt trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum/internals.h trunk/libspectrum/libspectrum/libspectrum.c trunk/libspectrum/libspectrum/libspectrum.h.in trunk/libspectrum/libspectrum/make-perl.c trunk/libspectrum/libspectrum/myglib/garray.c trunk/libspectrum/libspectrum/myglib/ghash.c trunk/libspectrum/libspectrum/rzx.c trunk/libspectrum/libspectrum/sna.c trunk/libspectrum/libspectrum/snap_accessors.txt trunk/libspectrum/libspectrum/snapshot.c trunk/libspectrum/libspectrum/szx.c trunk/libspectrum/libspectrum/tap.c trunk/libspectrum/libspectrum/tape.c trunk/libspectrum/libspectrum/tape_accessors.txt trunk/libspectrum/libspectrum/tape_block.c trunk/libspectrum/libspectrum/tape_block.h trunk/libspectrum/libspectrum/test/Makefile.am trunk/libspectrum/libspectrum/test/test.c trunk/libspectrum/libspectrum/test/test15.c trunk/libspectrum/libspectrum/tzx_read.c trunk/libspectrum/libspectrum/tzx_write.c trunk/libspectrum/libspectrum/warajevo_read.c trunk/libspectrum/libspectrum/wav.c trunk/libspectrum/libspectrum/z80.c trunk/libspectrum/libspectrum.h trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj Added Paths: ----------- trunk/fuse/compat/unix/tuntap.c trunk/fuse/fusepb/resources/Fuse Help/html/discovery.html trunk/fuse/machines/machines_periph.c trunk/fuse/machines/machines_periph.h trunk/fuse/peripherals/ trunk/fuse/pokefinder/pokemem.c trunk/fuse/pokefinder/pokemem.h trunk/fuse/roms/speccyboot-1.4.rom trunk/fuse/ui/gtk/pokemem.c trunk/fuse/ui/widget/pokemem.c trunk/fuse/ui/win32/about.c trunk/fuse/ui/win32/about.h trunk/fuse/ui/win32/about.rc trunk/fuse/ui/win32/fuse.manifest.in trunk/fuse/ui/win32/hyperlinks.c trunk/fuse/ui/win32/hyperlinks.h trunk/fuse/ui/win32/pokemem.c trunk/fuse/ui/win32/pokemem.h trunk/fuse/ui/win32/pokemem.rc trunk/libspectrum/libspectrum/pzx_read.c trunk/libspectrum/libspectrum/utilities.c Removed Paths: ------------- trunk/fuse/ay.c trunk/fuse/ay.h trunk/fuse/dck.c trunk/fuse/dck.h trunk/fuse/disk/ trunk/fuse/fuller.c trunk/fuse/fuller.h trunk/fuse/ide/ trunk/fuse/if1.c trunk/fuse/if1.h trunk/fuse/if2.c trunk/fuse/if2.h trunk/fuse/joystick.c trunk/fuse/joystick.h trunk/fuse/kempmouse.c trunk/fuse/kempmouse.h trunk/fuse/melodik.c trunk/fuse/melodik.h trunk/fuse/printer.c trunk/fuse/printer.h trunk/fuse/scld.c trunk/fuse/scld.h trunk/fuse/ula.c trunk/fuse/ula.h Property Changed: ---------------- trunk/fuse/ trunk/libspectrum/libspectrum/ Modified: trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2012-02-15 12:43:47 UTC (rev 686) +++ trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2012-02-26 12:08:34 UTC (rev 687) @@ -55,6 +55,8 @@ B6D30B480D16533C0036CC54 /* AttributeManager.c in Sources */ = {isa = PBXBuildFile; fileRef = B6D30B3E0D16533C0036CC54 /* AttributeManager.c */; }; B6D30B4C0D1653510036CC54 /* ColourMacros.c in Sources */ = {isa = PBXBuildFile; fileRef = B6D30B4A0D1653510036CC54 /* ColourMacros.c */; }; B6D30B510D1653730036CC54 /* JWSpectrumScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = B6D30B4F0D1653730036CC54 /* JWSpectrumScreen.m */; }; + B6E1F13B14F511DA00600EB0 /* pzx_read.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F13A14F511DA00600EB0 /* pzx_read.c */; }; + B6E1F13D14F511F000600EB0 /* utilities.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F13C14F511F000600EB0 /* utilities.c */; }; C86B05270671AA6E00DD9006 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C86B05260671AA6E00DD9006 /* CoreServices.framework */; }; F28CFBFD0A3EC0AF000ABFF5 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F28CFBFC0A3EC0AF000ABFF5 /* ApplicationServices.framework */; }; F28CFC030A3EC0C6000ABFF5 /* QuickLook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F28CFC020A3EC0C6000ABFF5 /* QuickLook.framework */; }; @@ -163,6 +165,8 @@ B6D30B4F0D1653730036CC54 /* JWSpectrumScreen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = JWSpectrumScreen.m; path = JWSpectrumScreen/JWSpectrumScreen.m; sourceTree = "<group>"; }; B6D30B520D1653920036CC54 /* JWSpectrumScreenConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JWSpectrumScreenConstants.h; path = JWSpectrumScreen/JWSpectrumScreenConstants.h; sourceTree = "<group>"; }; B6D30B530D1653920036CC54 /* PixelData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PixelData.h; path = JWSpectrumScreen/PixelData.h; sourceTree = "<group>"; }; + B6E1F13A14F511DA00600EB0 /* pzx_read.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pzx_read.c; path = ../../libspectrum/libspectrum/pzx_read.c; sourceTree = "<group>"; }; + B6E1F13C14F511F000600EB0 /* utilities.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = utilities.c; path = ../../libspectrum/libspectrum/utilities.c; sourceTree = "<group>"; }; C86B05260671AA6E00DD9006 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; }; F28CFBFC0A3EC0AF000ABFF5 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; }; F28CFC020A3EC0C6000ABFF5 /* QuickLook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickLook.framework; path = /System/Library/Frameworks/QuickLook.framework; sourceTree = "<absolute>"; }; @@ -258,6 +262,7 @@ B67F1E7A0E93A3AF00246616 /* memory.c */, B6D30AF70D16288A0036CC54 /* microdrive.c */, B6D30AF90D1628A10036CC54 /* plusd.c */, + B6E1F13A14F511DA00600EB0 /* pzx_read.c */, B6D30AFB0D1628DB0036CC54 /* rzx.c */, B6D30AFC0D1628DB0036CC54 /* sna.c */, B6D30AFF0D1628F20036CC54 /* snapshot.c */, @@ -272,6 +277,7 @@ B6D30B110D16298C0036CC54 /* timings.c */, B6D30B130D1629C20036CC54 /* tzx_read.c */, B6D30B140D1629C20036CC54 /* tzx_write.c */, + B6E1F13C14F511F000600EB0 /* utilities.c */, B6D30B150D1629C20036CC54 /* warajevo_read.c */, B6D30B160D1629C20036CC54 /* wav.c */, B6D30B170D1629C20036CC54 /* z80.c */, @@ -358,7 +364,14 @@ isa = PBXProject; buildConfigurationList = 2CA326220896AD4900168862 /* Build configuration list for PBXProject "FuseGenerator" */; compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); mainGroup = 089C166AFE841209C02AAC07 /* FuseGenerator */; projectDirPath = ""; projectRoot = ""; @@ -439,6 +452,8 @@ B63944AB0D18B0430059DAA5 /* LibspectrumSCRExtractor.m in Sources */, B67F1E790E93A39800246616 /* garray.c in Sources */, B67F1E7B0E93A3AF00246616 /* memory.c in Sources */, + B6E1F13B14F511DA00600EB0 /* pzx_read.c in Sources */, + B6E1F13D14F511F000600EB0 /* utilities.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; Modified: trunk/FuseGenerator/libspectrum.h =================================================================== --- trunk/FuseGenerator/libspectrum.h 2012-02-15 12:43:47 UTC (rev 686) +++ trunk/FuseGenerator/libspectrum.h 2012-02-26 12:08:34 UTC (rev 687) @@ -1,7 +1,7 @@ /* libspectrum.h: the library for dealing with ZX Spectrum emulator files Copyright (c) 2001-2007 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.h.in 4148 2010-08-25 21:20:50Z pak21 $ + $Id: libspectrum.h.in 4534 2011-08-11 12:59:47Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -84,11 +84,12 @@ #define TRUE (!FALSE) #endif -typedef char gchar; +typedef char gchar; typedef int gint; typedef long glong; typedef gint gboolean; typedef unsigned int guint; +typedef unsigned long gulong; typedef const void * gconstpointer; typedef void * gpointer; @@ -106,80 +107,89 @@ gconstpointer b); -GSList WIN32_DLL *g_slist_insert_sorted (GSList *list, +WIN32_DLL GSList *g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc func); -GSList WIN32_DLL *g_slist_insert (GSList *list, +WIN32_DLL GSList *g_slist_insert (GSList *list, gpointer data, gint position); -GSList WIN32_DLL *g_slist_append (GSList *list, +WIN32_DLL GSList *g_slist_append (GSList *list, gpointer data); -GSList WIN32_DLL *g_slist_prepend (GSList *list, +WIN32_DLL GSList *g_slist_prepend (GSList *list, gpointer data); -GSList WIN32_DLL *g_slist_remove (GSList *list, +WIN32_DLL GSList *g_slist_remove (GSList *list, gpointer data); -GSList WIN32_DLL *g_slist_delete_link (GSList *list, +WIN32_DLL GSList *g_slist_last (GSList *list); + +WIN32_DLL GSList *g_slist_reverse (GSList *list); + +WIN32_DLL GSList *g_slist_delete_link (GSList *list, GSList *link); -guint WIN32_DLL g_slist_length (GSList *list); +WIN32_DLL guint g_slist_length (GSList *list); -void WIN32_DLL g_slist_foreach (GSList *list, +WIN32_DLL void g_slist_foreach (GSList *list, GFunc func, gpointer user_data); -void WIN32_DLL g_slist_free (GSList *list); +WIN32_DLL void g_slist_free (GSList *list); -GSList WIN32_DLL *g_slist_last (GSList *list); - -GSList WIN32_DLL *g_slist_reverse (GSList *list); - -GSList WIN32_DLL *g_slist_nth (GSList *list, +WIN32_DLL GSList *g_slist_nth (GSList *list, guint n); -GSList WIN32_DLL * g_slist_find_custom (GSList *list, +WIN32_DLL GSList *g_slist_find_custom (GSList *list, gpointer data, GCompareFunc func ); -gint WIN32_DLL g_slist_position (GSList *list, +WIN32_DLL gint g_slist_position (GSList *list, GSList *llink); typedef struct _GHashTable GHashTable; typedef guint (*GHashFunc) (gconstpointer key); +typedef void (*GHFunc) (gpointer key, + gpointer value, + gpointer user_data); + typedef gboolean (*GHRFunc) (gpointer key, gpointer value, gpointer user_data); -gint WIN32_DLL g_int_equal (gconstpointer v, +WIN32_DLL gint g_int_equal (gconstpointer v, gconstpointer v2); -guint WIN32_DLL g_int_hash (gconstpointer v); -gint WIN32_DLL g_str_equal (gconstpointer v, +WIN32_DLL guint g_int_hash (gconstpointer v); + +WIN32_DLL gint g_str_equal (gconstpointer v, gconstpointer v2); -guint WIN32_DLL g_str_hash (gconstpointer v); +WIN32_DLL guint g_str_hash (gconstpointer v); -GHashTable WIN32_DLL *g_hash_table_new (GHashFunc hash_func, +WIN32_DLL GHashTable *g_hash_table_new (GHashFunc hash_func, GCompareFunc key_compare_func); -void WIN32_DLL g_hash_table_destroy (GHashTable *hash_table); +WIN32_DLL void g_hash_table_destroy (GHashTable *hash_table); -void WIN32_DLL g_hash_table_insert (GHashTable *hash_table, +WIN32_DLL void g_hash_table_insert (GHashTable *hash_table, gpointer key, gpointer value); -gpointer WIN32_DLL g_hash_table_lookup (GHashTable *hash_table, +WIN32_DLL gpointer g_hash_table_lookup (GHashTable *hash_table, gconstpointer key); -guint WIN32_DLL g_hash_table_foreach_remove (GHashTable *hash_table, +WIN32_DLL void g_hash_table_foreach (GHashTable *hash_table, + GHFunc func, + gpointer user_data); + +WIN32_DLL guint g_hash_table_foreach_remove (GHashTable *hash_table, GHRFunc func, gpointer user_data); -guint WIN32_DLL g_hash_table_size (GHashTable *hash_table); +WIN32_DLL guint g_hash_table_size (GHashTable *hash_table); typedef struct _GArray GArray; @@ -193,21 +203,24 @@ size_t allocated; }; -GArray* WIN32_DLL g_array_new( gboolean zero_terminated, gboolean clear, - guint element_size ); +WIN32_DLL GArray* g_array_new( gboolean zero_terminated, gboolean clear, + guint element_size ); #define g_array_append_val(a,v) g_array_append_vals( a, &(v), 1 ); -GArray* WIN32_DLL g_array_append_vals( GArray *array, gconstpointer data, guint len ); +WIN32_DLL GArray* g_array_append_vals( GArray *array, gconstpointer data, guint len ); #define g_array_index(a,t,i) (*(((t*)a->data)+i)) -GArray* WIN32_DLL g_array_set_size( GArray *array, guint length ); +WIN32_DLL GArray* g_array_set_size( GArray *array, guint length ); +WIN32_DLL gchar* g_array_free( GArray *array, gboolean free_segment ); #include <TargetConditionals.h> #ifdef TARGET_RT_64_BIT #define GINT_TO_POINTER(i) ((gpointer) (glong)(i)) #define GPOINTER_TO_INT(p) ((gint) (glong)(p)) +#define GPOINTER_TO_UINT(p) ((guint) (gulong)(p)) #else #define GINT_TO_POINTER(i) ((gpointer) (i)) #define GPOINTER_TO_INT(p) ((gint) (p)) +#define GPOINTER_TO_UINT(p) ((guint) (p)) #endif /* @@ -243,13 +256,21 @@ WIN32_DLL libspectrum_error libspectrum_zlib_inflate( const libspectrum_byte *gzptr, size_t gzlength, - libspectrum_byte **outptr, size_t *outlength ); + libspectrum_byte **outptr, size_t *outlength ); WIN32_DLL libspectrum_error libspectrum_zlib_compress( const libspectrum_byte *data, size_t length, - libspectrum_byte **gzptr, size_t *gzlength ); + libspectrum_byte **gzptr, size_t *gzlength ); +/* we support files compressed with bz2 */ +#define LIBSPECTRUM_SUPPORTS_BZ2_COMPRESSION (1) + + +/* we support files wav files */ +#define LIBSPECTRUM_SUPPORTS_AUDIOFILE (1) + + /* Initialisation */ WIN32_DLL libspectrum_error libspectrum_init( void ); @@ -363,6 +384,10 @@ LIBSPECTRUM_ID_DISK_OPD, /* .opu/.opd Opus Discovery disk image */ + LIBSPECTRUM_ID_TAPE_PZX, /* PZX tape image */ + + LIBSPECTRUM_ID_AUX_POK, /* POKE file */ + LIBSPECTRUM_ID_SCREEN_SCR, /* .scr screen file */ } libspectrum_id_t; @@ -401,6 +426,8 @@ LIBSPECTRUM_CLASS_DISK_GENERIC, /* generic disk image */ + LIBSPECTRUM_CLASS_AUXILIARY, /* auxiliary supported file */ + LIBSPECTRUM_CLASS_SCREENSHOT, /* Screenshot */ } libspectrum_class_t; @@ -626,250 +653,284 @@ extern WIN32_DLL const int LIBSPECTRUM_JOYSTICK_INPUT_JOYSTICK_2; /* Accessor functions */ -libspectrum_machine WIN32_DLL libspectrum_snap_machine( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_machine( libspectrum_snap *snap, libspectrum_machine machine ); -libspectrum_byte WIN32_DLL libspectrum_snap_a( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_a( libspectrum_snap *snap, libspectrum_byte a ); -libspectrum_byte WIN32_DLL libspectrum_snap_f( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_f( libspectrum_snap *snap, libspectrum_byte f ); -libspectrum_word WIN32_DLL libspectrum_snap_bc( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_bc( libspectrum_snap *snap, libspectrum_word bc ); -libspectrum_word WIN32_DLL libspectrum_snap_de( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_de( libspectrum_snap *snap, libspectrum_word de ); -libspectrum_word WIN32_DLL libspectrum_snap_hl( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_hl( libspectrum_snap *snap, libspectrum_word hl ); -libspectrum_byte WIN32_DLL libspectrum_snap_a_( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_a_( libspectrum_snap *snap, libspectrum_byte a_ ); -libspectrum_byte WIN32_DLL libspectrum_snap_f_( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_f_( libspectrum_snap *snap, libspectrum_byte f_ ); -libspectrum_word WIN32_DLL libspectrum_snap_bc_( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_bc_( libspectrum_snap *snap, libspectrum_word bc_ ); -libspectrum_word WIN32_DLL libspectrum_snap_de_( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_de_( libspectrum_snap *snap, libspectrum_word de_ ); -libspectrum_word WIN32_DLL libspectrum_snap_hl_( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_hl_( libspectrum_snap *snap, libspectrum_word hl_ ); -libspectrum_word WIN32_DLL libspectrum_snap_ix( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_ix( libspectrum_snap *snap, libspectrum_word ix ); -libspectrum_word WIN32_DLL libspectrum_snap_iy( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_iy( libspectrum_snap *snap, libspectrum_word iy ); -libspectrum_byte WIN32_DLL libspectrum_snap_i( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_i( libspectrum_snap *snap, libspectrum_byte i ); -libspectrum_byte WIN32_DLL libspectrum_snap_r( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_r( libspectrum_snap *snap, libspectrum_byte r ); -libspectrum_word WIN32_DLL libspectrum_snap_sp( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_sp( libspectrum_snap *snap, libspectrum_word sp ); -libspectrum_word WIN32_DLL libspectrum_snap_pc( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_pc( libspectrum_snap *snap, libspectrum_word pc ); -libspectrum_byte WIN32_DLL libspectrum_snap_iff1( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_iff1( libspectrum_snap *snap, libspectrum_byte iff1 ); -libspectrum_byte WIN32_DLL libspectrum_snap_iff2( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_iff2( libspectrum_snap *snap, libspectrum_byte iff2 ); -libspectrum_byte WIN32_DLL libspectrum_snap_im( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_im( libspectrum_snap *snap, libspectrum_byte im ); -libspectrum_dword WIN32_DLL libspectrum_snap_tstates( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_tstates( libspectrum_snap *snap, libspectrum_dword tstates ); -int WIN32_DLL libspectrum_snap_halted( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_halted( libspectrum_snap *snap, int halted ); -int WIN32_DLL libspectrum_snap_last_instruction_ei( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_last_instruction_ei( libspectrum_snap *snap, int last_instruction_ei ); -libspectrum_byte WIN32_DLL libspectrum_snap_out_ula( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_out_ula( libspectrum_snap *snap, libspectrum_byte out_ula ); -libspectrum_byte WIN32_DLL libspectrum_snap_out_128_memoryport( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_out_128_memoryport( libspectrum_snap *snap, libspectrum_byte out_128_memoryport ); -libspectrum_byte WIN32_DLL libspectrum_snap_out_plus3_memoryport( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_out_plus3_memoryport( libspectrum_snap *snap, libspectrum_byte out_plus3_memoryport ); -libspectrum_byte WIN32_DLL libspectrum_snap_out_ay_registerport( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_out_ay_registerport( libspectrum_snap *snap, libspectrum_byte out_ay_registerport ); -libspectrum_byte WIN32_DLL libspectrum_snap_ay_registers( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_ay_registers( libspectrum_snap *snap, int idx, libspectrum_byte ay_registers ); -libspectrum_byte WIN32_DLL libspectrum_snap_out_scld_hsr( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_out_scld_hsr( libspectrum_snap *snap, libspectrum_byte out_scld_hsr ); -libspectrum_byte WIN32_DLL libspectrum_snap_out_scld_dec( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_out_scld_dec( libspectrum_snap *snap, libspectrum_byte out_scld_dec ); -int WIN32_DLL libspectrum_snap_interface1_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_interface1_active( libspectrum_snap *snap, int interface1_active ); -int WIN32_DLL libspectrum_snap_interface1_paged( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_interface1_paged( libspectrum_snap *snap, int interface1_paged ); -int WIN32_DLL libspectrum_snap_interface1_drive_count( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_interface1_drive_count( libspectrum_snap *snap, int interface1_drive_count ); -int WIN32_DLL libspectrum_snap_interface1_custom_rom( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_interface1_custom_rom( libspectrum_snap *snap, int interface1_custom_rom ); -libspectrum_byte WIN32_DLL * libspectrum_snap_interface1_rom( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_interface1_rom( libspectrum_snap *snap, int idx, libspectrum_byte* interface1_rom ); -size_t WIN32_DLL libspectrum_snap_interface1_rom_length( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_interface1_rom_length( libspectrum_snap *snap, int idx, size_t interface1_rom_length ); -int WIN32_DLL libspectrum_snap_beta_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_beta_active( libspectrum_snap *snap, int beta_active ); -int WIN32_DLL libspectrum_snap_beta_paged( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_beta_paged( libspectrum_snap *snap, int beta_paged ); -int WIN32_DLL libspectrum_snap_beta_drive_count( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_beta_drive_count( libspectrum_snap *snap, int beta_drive_count ); -int WIN32_DLL libspectrum_snap_beta_custom_rom( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_beta_custom_rom( libspectrum_snap *snap, int beta_custom_rom ); -int WIN32_DLL libspectrum_snap_beta_direction( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_beta_direction( libspectrum_snap *snap, int beta_direction ); -libspectrum_byte WIN32_DLL libspectrum_snap_beta_system( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_beta_system( libspectrum_snap *snap, libspectrum_byte beta_system ); -libspectrum_byte WIN32_DLL libspectrum_snap_beta_track( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_beta_track( libspectrum_snap *snap, libspectrum_byte beta_track ); -libspectrum_byte WIN32_DLL libspectrum_snap_beta_sector( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_beta_sector( libspectrum_snap *snap, libspectrum_byte beta_sector ); -libspectrum_byte WIN32_DLL libspectrum_snap_beta_data( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_beta_data( libspectrum_snap *snap, libspectrum_byte beta_data ); -libspectrum_byte WIN32_DLL libspectrum_snap_beta_status( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_beta_status( libspectrum_snap *snap, libspectrum_byte beta_status ); -libspectrum_byte WIN32_DLL * libspectrum_snap_beta_rom( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_beta_rom( libspectrum_snap *snap, int idx, libspectrum_byte* beta_rom ); -int WIN32_DLL libspectrum_snap_plusd_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_plusd_active( libspectrum_snap *snap, int plusd_active ); -int WIN32_DLL libspectrum_snap_plusd_paged( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_plusd_paged( libspectrum_snap *snap, int plusd_paged ); -int WIN32_DLL libspectrum_snap_plusd_drive_count( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_plusd_drive_count( libspectrum_snap *snap, int plusd_drive_count ); -int WIN32_DLL libspectrum_snap_plusd_custom_rom( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_plusd_custom_rom( libspectrum_snap *snap, int plusd_custom_rom ); -int WIN32_DLL libspectrum_snap_plusd_direction( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_plusd_direction( libspectrum_snap *snap, int plusd_direction ); -libspectrum_byte WIN32_DLL libspectrum_snap_plusd_control( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_plusd_control( libspectrum_snap *snap, libspectrum_byte plusd_control ); -libspectrum_byte WIN32_DLL libspectrum_snap_plusd_track( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_plusd_track( libspectrum_snap *snap, libspectrum_byte plusd_track ); -libspectrum_byte WIN32_DLL libspectrum_snap_plusd_sector( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_plusd_sector( libspectrum_snap *snap, libspectrum_byte plusd_sector ); -libspectrum_byte WIN32_DLL libspectrum_snap_plusd_data( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_plusd_data( libspectrum_snap *snap, libspectrum_byte plusd_data ); -libspectrum_byte WIN32_DLL libspectrum_snap_plusd_status( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_plusd_status( libspectrum_snap *snap, libspectrum_byte plusd_status ); -libspectrum_byte WIN32_DLL * libspectrum_snap_plusd_rom( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_plusd_rom( libspectrum_snap *snap, int idx, libspectrum_byte* plusd_rom ); -libspectrum_byte WIN32_DLL * libspectrum_snap_plusd_ram( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_plusd_ram( libspectrum_snap *snap, int idx, libspectrum_byte* plusd_ram ); -int WIN32_DLL libspectrum_snap_opus_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_active( libspectrum_snap *snap, int opus_active ); -int WIN32_DLL libspectrum_snap_opus_paged( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_paged( libspectrum_snap *snap, int opus_paged ); -int WIN32_DLL libspectrum_snap_opus_drive_count( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_drive_count( libspectrum_snap *snap, int opus_drive_count ); -int WIN32_DLL libspectrum_snap_opus_custom_rom( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_custom_rom( libspectrum_snap *snap, int opus_custom_rom ); -int WIN32_DLL libspectrum_snap_opus_direction( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_direction( libspectrum_snap *snap, int opus_direction ); -libspectrum_byte WIN32_DLL libspectrum_snap_opus_track( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_track( libspectrum_snap *snap, libspectrum_byte opus_track ); -libspectrum_byte WIN32_DLL libspectrum_snap_opus_sector( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_sector( libspectrum_snap *snap, libspectrum_byte opus_sector ); -libspectrum_byte WIN32_DLL libspectrum_snap_opus_data( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_data( libspectrum_snap *snap, libspectrum_byte opus_data ); -libspectrum_byte WIN32_DLL libspectrum_snap_opus_status( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_status( libspectrum_snap *snap, libspectrum_byte opus_status ); -libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_reg_a( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_data_reg_a( libspectrum_snap *snap, libspectrum_byte opus_data_reg_a ); -libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_dir_a( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_data_dir_a( libspectrum_snap *snap, libspectrum_byte opus_data_dir_a ); -libspectrum_byte WIN32_DLL libspectrum_snap_opus_control_a( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_control_a( libspectrum_snap *snap, libspectrum_byte opus_control_a ); -libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_reg_b( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_data_reg_b( libspectrum_snap *snap, libspectrum_byte opus_data_reg_b ); -libspectrum_byte WIN32_DLL libspectrum_snap_opus_data_dir_b( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_data_dir_b( libspectrum_snap *snap, libspectrum_byte opus_data_dir_b ); -libspectrum_byte WIN32_DLL libspectrum_snap_opus_control_b( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_opus_control_b( libspectrum_snap *snap, libspectrum_byte opus_control_b ); -libspectrum_byte WIN32_DLL * libspectrum_snap_opus_rom( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_opus_rom( libspectrum_snap *snap, int idx, libspectrum_byte* opus_rom ); -libspectrum_byte WIN32_DLL * libspectrum_snap_opus_ram( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_opus_ram( libspectrum_snap *snap, int idx, libspectrum_byte* opus_ram ); -int WIN32_DLL libspectrum_snap_custom_rom( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_custom_rom( libspectrum_snap *snap, int custom_rom ); -size_t WIN32_DLL libspectrum_snap_custom_rom_pages( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_custom_rom_pages( libspectrum_snap *snap, size_t custom_rom_pages ); -libspectrum_byte WIN32_DLL * libspectrum_snap_roms( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_roms( libspectrum_snap *snap, int idx, libspectrum_byte* roms ); -size_t WIN32_DLL libspectrum_snap_rom_length( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_rom_length( libspectrum_snap *snap, int idx, size_t rom_length ); -libspectrum_byte WIN32_DLL * libspectrum_snap_pages( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_pages( libspectrum_snap *snap, int idx, libspectrum_byte* pages ); -libspectrum_byte WIN32_DLL * libspectrum_snap_slt( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_slt( libspectrum_snap *snap, int idx, libspectrum_byte* slt ); -size_t WIN32_DLL libspectrum_snap_slt_length( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_slt_length( libspectrum_snap *snap, int idx, size_t slt_length ); -libspectrum_byte WIN32_DLL * libspectrum_snap_slt_screen( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_slt_screen( libspectrum_snap *snap, libspectrum_byte* slt_screen ); -int WIN32_DLL libspectrum_snap_slt_screen_level( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_slt_screen_level( libspectrum_snap *snap, int slt_screen_level ); -int WIN32_DLL libspectrum_snap_zxatasp_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxatasp_active( libspectrum_snap *snap, int zxatasp_active ); -int WIN32_DLL libspectrum_snap_zxatasp_upload( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxatasp_upload( libspectrum_snap *snap, int zxatasp_upload ); -int WIN32_DLL libspectrum_snap_zxatasp_writeprotect( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxatasp_writeprotect( libspectrum_snap *snap, int zxatasp_writeprotect ); -libspectrum_byte WIN32_DLL libspectrum_snap_zxatasp_port_a( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxatasp_port_a( libspectrum_snap *snap, libspectrum_byte zxatasp_port_a ); -libspectrum_byte WIN32_DLL libspectrum_snap_zxatasp_port_b( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxatasp_port_b( libspectrum_snap *snap, libspectrum_byte zxatasp_port_b ); -libspectrum_byte WIN32_DLL libspectrum_snap_zxatasp_port_c( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxatasp_port_c( libspectrum_snap *snap, libspectrum_byte zxatasp_port_c ); -libspectrum_byte WIN32_DLL libspectrum_snap_zxatasp_control( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxatasp_control( libspectrum_snap *snap, libspectrum_byte zxatasp_control ); -size_t WIN32_DLL libspectrum_snap_zxatasp_pages( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxatasp_pages( libspectrum_snap *snap, size_t zxatasp_pages ); -size_t WIN32_DLL libspectrum_snap_zxatasp_current_page( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxatasp_current_page( libspectrum_snap *snap, size_t zxatasp_current_page ); -libspectrum_byte WIN32_DLL * libspectrum_snap_zxatasp_ram( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_zxatasp_ram( libspectrum_snap *snap, int idx, libspectrum_byte* zxatasp_ram ); -int WIN32_DLL libspectrum_snap_zxcf_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxcf_active( libspectrum_snap *snap, int zxcf_active ); -int WIN32_DLL libspectrum_snap_zxcf_upload( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxcf_upload( libspectrum_snap *snap, int zxcf_upload ); -libspectrum_byte WIN32_DLL libspectrum_snap_zxcf_memctl( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxcf_memctl( libspectrum_snap *snap, libspectrum_byte zxcf_memctl ); -size_t WIN32_DLL libspectrum_snap_zxcf_pages( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_zxcf_pages( libspectrum_snap *snap, size_t zxcf_pages ); -libspectrum_byte WIN32_DLL * libspectrum_snap_zxcf_ram( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_zxcf_ram( libspectrum_snap *snap, int idx, libspectrum_byte* zxcf_ram ); -int WIN32_DLL libspectrum_snap_interface2_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_interface2_active( libspectrum_snap *snap, int interface2_active ); -libspectrum_byte WIN32_DLL * libspectrum_snap_interface2_rom( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_interface2_rom( libspectrum_snap *snap, int idx, libspectrum_byte* interface2_rom ); -int WIN32_DLL libspectrum_snap_dock_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_dock_active( libspectrum_snap *snap, int dock_active ); -libspectrum_byte WIN32_DLL libspectrum_snap_exrom_ram( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_exrom_ram( libspectrum_snap *snap, int idx, libspectrum_byte exrom_ram ); -libspectrum_byte WIN32_DLL * libspectrum_snap_exrom_cart( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_exrom_cart( libspectrum_snap *snap, int idx, libspectrum_byte* exrom_cart ); -libspectrum_byte WIN32_DLL libspectrum_snap_dock_ram( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_dock_ram( libspectrum_snap *snap, int idx, libspectrum_byte dock_ram ); -libspectrum_byte WIN32_DLL * libspectrum_snap_dock_cart( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_dock_cart( libspectrum_snap *snap, int idx, libspectrum_byte* dock_cart ); -int WIN32_DLL libspectrum_snap_issue2( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_issue2( libspectrum_snap *snap, int issue2 ); -size_t WIN32_DLL libspectrum_snap_joystick_active_count( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_joystick_active_count( libspectrum_snap *snap, size_t joystick_active_count ); -libspectrum_joystick WIN32_DLL libspectrum_snap_joystick_list( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_joystick_list( libspectrum_snap *snap, int idx, libspectrum_joystick joystick_list ); -int WIN32_DLL libspectrum_snap_joystick_inputs( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_joystick_inputs( libspectrum_snap *snap, int idx, int joystick_inputs ); -int WIN32_DLL libspectrum_snap_kempston_mouse_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_kempston_mouse_active( libspectrum_snap *snap, int kempston_mouse_active ); -int WIN32_DLL libspectrum_snap_simpleide_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_simpleide_active( libspectrum_snap *snap, int simpleide_active ); -int WIN32_DLL libspectrum_snap_divide_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_divide_active( libspectrum_snap *snap, int divide_active ); -int WIN32_DLL libspectrum_snap_divide_eprom_writeprotect( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_divide_eprom_writeprotect( libspectrum_snap *snap, int divide_eprom_writeprotect ); -int WIN32_DLL libspectrum_snap_divide_paged( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_divide_paged( libspectrum_snap *snap, int divide_paged ); -libspectrum_byte WIN32_DLL libspectrum_snap_divide_control( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_divide_control( libspectrum_snap *snap, libspectrum_byte divide_control ); -size_t WIN32_DLL libspectrum_snap_divide_pages( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_divide_pages( libspectrum_snap *snap, size_t divide_pages ); -libspectrum_byte WIN32_DLL * libspectrum_snap_divide_eprom( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_divide_eprom( libspectrum_snap *snap, int idx, libspectrum_byte* divide_eprom ); -libspectrum_byte WIN32_DLL * libspectrum_snap_divide_ram( libspectrum_snap *snap, int idx ); -void WIN32_DLL libspectrum_snap_set_divide_ram( libspectrum_snap *snap, int idx, libspectrum_byte* divide_ram ); -int WIN32_DLL libspectrum_snap_fuller_box_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_fuller_box_active( libspectrum_snap *snap, int fuller_box_active ); -int WIN32_DLL libspectrum_snap_melodik_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_melodik_active( libspectrum_snap *snap, int melodik_active ); +WIN32_DLL libspectrum_machine libspectrum_snap_machine( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_machine( libspectrum_snap *snap, libspectrum_machine machine ); +WIN32_DLL libspectrum_byte libspectrum_snap_a( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_a( libspectrum_snap *snap, libspectrum_byte a ); +WIN32_DLL libspectrum_byte libspectrum_snap_f( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_f( libspectrum_snap *snap, libspectrum_byte f ); +WIN32_DLL libspectrum_word libspectrum_snap_bc( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_bc( libspectrum_snap *snap, libspectrum_word bc ); +WIN32_DLL libspectrum_word libspectrum_snap_de( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_de( libspectrum_snap *snap, libspectrum_word de ); +WIN32_DLL libspectrum_word libspectrum_snap_hl( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_hl( libspectrum_snap *snap, libspectrum_word hl ); +WIN32_DLL libspectrum_byte libspectrum_snap_a_( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_a_( libspectrum_snap *snap, libspectrum_byte a_ ); +WIN32_DLL libspectrum_byte libspectrum_snap_f_( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_f_( libspectrum_snap *snap, libspectrum_byte f_ ); +WIN32_DLL libspectrum_word libspectrum_snap_bc_( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_bc_( libspectrum_snap *snap, libspectrum_word bc_ ); +WIN32_DLL libspectrum_word libspectrum_snap_de_( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_de_( libspectrum_snap *snap, libspectrum_word de_ ); +WIN32_DLL libspectrum_word libspectrum_snap_hl_( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_hl_( libspectrum_snap *snap, libspectrum_word hl_ ); +WIN32_DLL libspectrum_word libspectrum_snap_ix( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_ix( libspectrum_snap *snap, libspectrum_word ix ); +WIN32_DLL libspectrum_word libspectrum_snap_iy( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_iy( libspectrum_snap *snap, libspectrum_word iy ); +WIN32_DLL libspectrum_byte libspectrum_snap_i( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_i( libspectrum_snap *snap, libspectrum_byte i ); +WIN32_DLL libspectrum_byte libspectrum_snap_r( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_r( libspectrum_snap *snap, libspectrum_byte r ); +WIN32_DLL libspectrum_word libspectrum_snap_sp( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_sp( libspectrum_snap *snap, libspectrum_word sp ); +WIN32_DLL libspectrum_word libspectrum_snap_pc( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_pc( libspectrum_snap *snap, libspectrum_word pc ); +WIN32_DLL libspectrum_byte libspectrum_snap_iff1( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_iff1( libspectrum_snap *snap, libspectrum_byte iff1 ); +WIN32_DLL libspectrum_byte libspectrum_snap_iff2( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_iff2( libspectrum_snap *snap, libspectrum_byte iff2 ); +WIN32_DLL libspectrum_byte libspectrum_snap_im( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_im( libspectrum_snap *snap, libspectrum_byte im ); +WIN32_DLL libspectrum_dword libspectrum_snap_tstates( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_tstates( libspectrum_snap *snap, libspectrum_dword tstates ); +WIN32_DLL int libspectrum_snap_halted( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_halted( libspectrum_snap *snap, int halted ); +WIN32_DLL int libspectrum_snap_last_instruction_ei( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_last_instruction_ei( libspectrum_snap *snap, int last_instruction_ei ); +WIN32_DLL libspectrum_byte libspectrum_snap_out_ula( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_out_ula( libspectrum_snap *snap, libspectrum_byte out_ula ); +WIN32_DLL libspectrum_byte libspectrum_snap_out_128_memoryport( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_out_128_memoryport( libspectrum_snap *snap, libspectrum_byte out_128_memoryport ); +WIN32_DLL libspectrum_byte libspectrum_snap_out_plus3_memoryport( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_out_plus3_memoryport( libspectrum_snap *snap, libspectrum_byte out_plus3_memoryport ); +WIN32_DLL libspectrum_byte libspectrum_snap_out_ay_registerport( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_out_ay_registerport( libspectrum_snap *snap, libspectrum_byte out_ay_registerport ); +WIN32_DLL libspectrum_byte libspectrum_snap_ay_registers( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_ay_registers( libspectrum_snap *snap, int idx, libspectrum_byte ay_registers ); +WIN32_DLL libspectrum_byte libspectrum_snap_out_scld_hsr( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_out_scld_hsr( libspectrum_snap *snap, libspectrum_byte out_scld_hsr ); +WIN32_DLL libspectrum_byte libspectrum_snap_out_scld_dec( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_out_scld_dec( libspectrum_snap *snap, libspectrum_byte out_scld_dec ); +WIN32_DLL int libspectrum_snap_interface1_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_interface1_active( libspectrum_snap *snap, int interface1_active ); +WIN32_DLL int libspectrum_snap_interface1_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_interface1_paged( libspectrum_snap *snap, int interface1_paged ); +WIN32_DLL int libspectrum_snap_interface1_drive_count( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_interface1_drive_count( libspectrum_snap *snap, int interface1_drive_count ); +WIN32_DLL int libspectrum_snap_interface1_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_interface1_custom_rom( libspectrum_snap *snap, int interface1_custom_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_interface1_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_interface1_rom( libspectrum_snap *snap, int idx, libspectrum_byte* interface1_rom ); +WIN32_DLL size_t libspectrum_snap_interface1_rom_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_interface1_rom_length( libspectrum_snap *snap, int idx, size_t interface1_rom_length ); +WIN32_DLL int libspectrum_snap_beta_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_beta_active( libspectrum_snap *snap, int beta_active ); +WIN32_DLL int libspectrum_snap_beta_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_beta_paged( libspectrum_snap *snap, int beta_paged ); +WIN32_DLL int libspectrum_snap_beta_autoboot( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_beta_autoboot( libspectrum_snap *snap, int beta_autoboot ); +WIN32_DLL int libspectrum_snap_beta_drive_count( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_beta_drive_count( libspectrum_snap *snap, int beta_drive_count ); +WIN32_DLL int libspectrum_snap_beta_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_beta_custom_rom( libspectrum_snap *snap, int beta_custom_rom ); +WIN32_DLL int libspectrum_snap_beta_direction( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_beta_direction( libspectrum_snap *snap, int beta_direction ); +WIN32_DLL libspectrum_byte libspectrum_snap_beta_system( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_beta_system( libspectrum_snap *snap, libspectrum_byte beta_system ); +WIN32_DLL libspectrum_byte libspectrum_snap_beta_track( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_beta_track( libspectrum_snap *snap, libspectrum_byte beta_track ); +WIN32_DLL libspectrum_byte libspectrum_snap_beta_sector( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_beta_sector( libspectrum_snap *snap, libspectrum_byte beta_sector ); +WIN32_DLL libspectrum_byte libspectrum_snap_beta_data( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_beta_data( libspectrum_snap *snap, libspectrum_byte beta_data ); +WIN32_DLL libspectrum_byte libspectrum_snap_beta_status( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_beta_status( libspectrum_snap *snap, libspectrum_byte beta_status ); +WIN32_DLL libspectrum_byte * libspectrum_snap_beta_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_beta_rom( libspectrum_snap *snap, int idx, libspectrum_byte* beta_rom ); +WIN32_DLL int libspectrum_snap_plusd_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_plusd_active( libspectrum_snap *snap, int plusd_active ); +WIN32_DLL int libspectrum_snap_plusd_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_plusd_paged( libspectrum_snap *snap, int plusd_paged ); +WIN32_DLL int libspectrum_snap_plusd_drive_count( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_plusd_drive_count( libspectrum_snap *snap, int plusd_drive_count ); +WIN32_DLL int libspectrum_snap_plusd_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_plusd_custom_rom( libspectrum_snap *snap, int plusd_custom_rom ); +WIN32_DLL int libspectrum_snap_plusd_direction( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_plusd_direction( libspectrum_snap *snap, int plusd_direction ); +WIN32_DLL libspectrum_byte libspectrum_snap_plusd_control( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_plusd_control( libspectrum_snap *snap, libspectrum_byte plusd_control ); +WIN32_DLL libspectrum_byte libspectrum_snap_plusd_track( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_plusd_track( libspectrum_snap *snap, libspectrum_byte plusd_track ); +WIN32_DLL libspectrum_byte libspectrum_snap_plusd_sector( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_plusd_sector( libspectrum_snap *snap, libspectrum_byte plusd_sector ); +WIN32_DLL libspectrum_byte libspectrum_snap_plusd_data( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_plusd_data( libspectrum_snap *snap, libspectrum_byte plusd_data ); +WIN32_DLL libspectrum_byte libspectrum_snap_plusd_status( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_plusd_status( libspectrum_snap *snap, libspectrum_byte plusd_status ); +WIN32_DLL libspectrum_byte * libspectrum_snap_plusd_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_plusd_rom( libspectrum_snap *snap, int idx, libspectrum_byte* plusd_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_plusd_ram( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_plusd_ram( libspectrum_snap *snap, int idx, libspectrum_byte* plusd_ram ); +WIN32_DLL int libspectrum_snap_opus_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_active( libspectrum_snap *snap, int opus_active ); +WIN32_DLL int libspectrum_snap_opus_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_paged( libspectrum_snap *snap, int opus_paged ); +WIN32_DLL int libspectrum_snap_opus_drive_count( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_drive_count( libspectrum_snap *snap, int opus_drive_count ); +WIN32_DLL int libspectrum_snap_opus_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_custom_rom( libspectrum_snap *snap, int opus_custom_rom ); +WIN32_DLL int libspectrum_snap_opus_direction( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_direction( libspectrum_snap *snap, int opus_direction ); +WIN32_DLL libspectrum_byte libspectrum_snap_opus_track( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_track( libspectrum_snap *snap, libspectrum_byte opus_track ); +WIN32_DLL libspectrum_byte libspectrum_snap_opus_sector( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_sector( libspectrum_snap *snap, libspectrum_byte opus_sector ); +WIN32_DLL libspectrum_byte libspectrum_snap_opus_data( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_data( libspectrum_snap *snap, libspectrum_byte opus_data ); +WIN32_DLL libspectrum_byte libspectrum_snap_opus_status( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_status( libspectrum_snap *snap, libspectrum_byte opus_status ); +WIN32_DLL libspectrum_byte libspectrum_snap_opus_data_reg_a( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_data_reg_a( libspectrum_snap *snap, libspectrum_byte opus_data_reg_a ); +WIN32_DLL libspectrum_byte libspectrum_snap_opus_data_dir_a( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_data_dir_a( libspectrum_snap *snap, libspectrum_byte opus_data_dir_a ); +WIN32_DLL libspectrum_byte libspectrum_snap_opus_control_a( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_control_a( libspectrum_snap *snap, libspectrum_byte opus_control_a ); +WIN32_DLL libspectrum_byte libspectrum_snap_opus_data_reg_b( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_data_reg_b( libspectrum_snap *snap, libspectrum_byte opus_data_reg_b ); +WIN32_DLL libspectrum_byte libspectrum_snap_opus_data_dir_b( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_data_dir_b( libspectrum_snap *snap, libspectrum_byte opus_data_dir_b ); +WIN32_DLL libspectrum_byte libspectrum_snap_opus_control_b( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_opus_control_b( libspectrum_snap *snap, libspectrum_byte opus_control_b ); +WIN32_DLL libspectrum_byte * libspectrum_snap_opus_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_opus_rom( libspectrum_snap *snap, int idx, libspectrum_byte* opus_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_opus_ram( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_opus_ram( libspectrum_snap *snap, int idx, libspectrum_byte* opus_ram ); +WIN32_DLL int libspectrum_snap_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_custom_rom( libspectrum_snap *snap, int custom_rom ); +WIN32_DLL size_t libspectrum_snap_custom_rom_pages( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_custom_rom_pages( libspectrum_snap *snap, size_t custom_rom_pages ); +WIN32_DLL libspectrum_byte * libspectrum_snap_roms( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_roms( libspectrum_snap *snap, int idx, libspectrum_byte* roms ); +WIN32_DLL size_t libspectrum_snap_rom_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_rom_length( libspectrum_snap *snap, int idx, size_t rom_length ); +WIN32_DLL libspectrum_byte * libspectrum_snap_pages( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_pages( libspectrum_snap *snap, int idx, libspectrum_byte* pages ); +WIN32_DLL libspectrum_byte * libspectrum_snap_slt( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_slt( libspectrum_snap *snap, int idx, libspectrum_byte* slt ); +WIN32_DLL size_t libspectrum_snap_slt_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_slt_length( libspectrum_snap *snap, int idx, size_t slt_length ); +WIN32_DLL libspectrum_byte * libspectrum_snap_slt_screen( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_slt_screen( libspectrum_snap *snap, libspectrum_byte* slt_screen ); +WIN32_DLL int libspectrum_snap_slt_screen_level( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_slt_screen_level( libspectrum_snap *snap, int slt_screen_level ); +WIN32_DLL int libspectrum_snap_zxatasp_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_zxatasp_active( libspectrum_snap *snap, int zxatasp_active ); +WIN32_DLL int libspectrum_snap_zxatasp_upload( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_zxatasp_upload( libspectrum_snap *snap, int zxatasp_upload ); +WIN32_DLL int libspectrum_snap_zxatasp_writeprotect(... [truncated message content] |