Thread: [Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx:[722] trunk (Page 2)
Brought to you by:
fredm
From: <fr...@us...> - 2012-12-22 11:09:00
|
Revision: 722 http://sourceforge.net/p/fuse-for-macosx/code/722 Author: fredm Date: 2012-12-22 11:08:57 +0000 (Sat, 22 Dec 2012) Log Message: ----------- Move to 10.7 SDK for wider compatibility. Modified Paths: -------------- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj trunk/audiofile/audiofile.xcodeproj/project.pbxproj Modified: trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2012-12-21 21:54:56 UTC (rev 721) +++ trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2012-12-22 11:08:57 UTC (rev 722) @@ -490,6 +490,7 @@ "-lz", ); PRODUCT_NAME = FuseGenerator; + SDKROOT = macosx10.7; VALID_ARCHS = "ppc x86_64 i386"; WRAPPER_EXTENSION = qlgenerator; ZERO_LINK = YES; @@ -515,6 +516,7 @@ "-lz", ); PRODUCT_NAME = FuseGenerator; + SDKROOT = macosx10.7; VALID_ARCHS = "ppc x86_64 i386"; WARNING_CFLAGS = ( "-Wmost", Modified: trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2012-12-21 21:54:56 UTC (rev 721) +++ trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2012-12-22 11:08:57 UTC (rev 722) @@ -482,6 +482,7 @@ ); OTHER_REZFLAGS = ""; PRODUCT_NAME = FuseImporter; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( "-Wmost", @@ -515,6 +516,7 @@ ); OTHER_REZFLAGS = ""; PRODUCT_NAME = FuseImporter; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( "-Wmost", @@ -547,6 +549,7 @@ ); OTHER_REZFLAGS = ""; PRODUCT_NAME = FuseImporter; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( "-Wmost", Modified: trunk/audiofile/audiofile.xcodeproj/project.pbxproj =================================================================== --- trunk/audiofile/audiofile.xcodeproj/project.pbxproj 2012-12-21 21:54:56 UTC (rev 721) +++ trunk/audiofile/audiofile.xcodeproj/project.pbxproj 2012-12-22 11:08:57 UTC (rev 722) @@ -470,6 +470,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; @@ -508,6 +509,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; @@ -545,6 +547,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-04-20 11:36:01
|
Revision: 741 http://sourceforge.net/p/fuse-for-macosx/code/741 Author: fredm Date: 2013-04-20 11:35:58 +0000 (Sat, 20 Apr 2013) Log Message: ----------- Merge up to vendor revision 4915. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/4915 Modified Paths: -------------- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj trunk/FuseGenerator/config.h trunk/FuseGenerator/libspectrum.h trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj trunk/FuseImporter/config.h trunk/FuseImporter/libspectrum.h trunk/libspectrum/Info.plist trunk/libspectrum/config.h trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/accessor.pl trunk/libspectrum/libspectrum/configure.ac trunk/libspectrum/libspectrum/csw.c trunk/libspectrum/libspectrum/doc/libspectrum.3 trunk/libspectrum/libspectrum/doc/libspectrum.txt trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum/libspectrum.c trunk/libspectrum/libspectrum/libspectrum.h.in trunk/libspectrum/libspectrum/make-perl.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/timings.c trunk/libspectrum/libspectrum/z80.c trunk/libspectrum/libspectrum.h trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj Property Changed: ---------------- trunk/libspectrum/libspectrum/ Modified: trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2013-04-20 11:35:58 UTC (rev 741) @@ -363,7 +363,7 @@ 089C1669FE841209C02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0450; + LastUpgradeCheck = 0460; }; buildConfigurationList = 2CA326220896AD4900168862 /* Build configuration list for PBXProject "FuseGenerator" */; compatibilityVersion = "Xcode 3.2"; @@ -532,12 +532,18 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEAD_CODE_STRIPPING = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_VARIABLE = YES; - SDKROOT = macosx; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx10.7; }; name = Debug; }; @@ -545,12 +551,18 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEAD_CODE_STRIPPING = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_VARIABLE = YES; - SDKROOT = macosx; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx10.7; }; name = Release; }; Modified: trunk/FuseGenerator/config.h =================================================================== --- trunk/FuseGenerator/config.h 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/FuseGenerator/config.h 2013-04-20 11:35:58 UTC (rev 741) @@ -83,7 +83,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "1.0.0.1a" +#define VERSION "1.1.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Modified: trunk/FuseGenerator/libspectrum.h =================================================================== --- trunk/FuseGenerator/libspectrum.h 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/FuseGenerator/libspectrum.h 2013-04-20 11:35:58 UTC (rev 741) @@ -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 4695 2012-05-07 02:03:10Z fredm $ + $Id: libspectrum.h.in 4836 2012-12-31 15:40:10Z zubzero $ 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 @@ -40,10 +40,19 @@ #ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN /* Exclude rarely used stuff from Windows - headers */ +/* Exclude rarely used stuff from Windows headers */ +#ifndef WIN32_LEAN_AND_MEAN + +#define WIN32_LEAN_AND_MEAN /**/ #include <windows.h> +#undef WIN32_LEAN_AND_MEAN +#else + +#include <windows.h> + +#endif /* #ifndef WIN32_LEAN_AND_MEAN */ + #ifdef LIBSPECTRUM_EXPORTS #define WIN32_DLL __declspec( dllexport ) #else /* #ifdef LIBSPECTRUM_EXPORTS */ @@ -221,7 +230,7 @@ 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)) @@ -273,11 +282,11 @@ /* we support files compressed with bz2 */ -#define LIBSPECTRUM_SUPPORTS_BZ2_COMPRESSION (1) +#define LIBSPECTRUM_SUPPORTS_BZ2_COMPRESSION (1) /* we support files wav files */ -#define LIBSPECTRUM_SUPPORTS_AUDIOFILE (1) +#define LIBSPECTRUM_SUPPORTS_AUDIOFILE (1) /* Initialisation */ @@ -365,7 +374,7 @@ /* Below here, present only in 0.2.2 and later */ LIBSPECTRUM_ID_HARDDISK_HDF, /* .hdf hard disk image */ - LIBSPECTRUM_ID_CARTRIDGE_IF2, /* .rom Interface II cartridge image */ + LIBSPECTRUM_ID_CARTRIDGE_IF2, /* .rom Interface 2 cartridge image */ /* Below here, present only in 0.3.0 and later */ @@ -422,7 +431,7 @@ /* Below here, present only in 0.2.2 and later */ LIBSPECTRUM_CLASS_HARDDISK, /* A hard disk image */ - LIBSPECTRUM_CLASS_CARTRIDGE_IF2, /* Interface II cartridges */ + LIBSPECTRUM_CLASS_CARTRIDGE_IF2, /* Interface 2 cartridges */ /* Below here, present only in 0.3.0 and later */ @@ -490,6 +499,8 @@ LIBSPECTRUM_MACHINE_48_NTSC, + LIBSPECTRUM_MACHINE_128E, + } libspectrum_machine; WIN32_DLL const char* libspectrum_machine_name( libspectrum_machine type ); @@ -697,6 +708,8 @@ 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_word libspectrum_snap_memptr( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_memptr( libspectrum_snap *snap, libspectrum_word memptr ); 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 ); @@ -709,6 +722,8 @@ 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 int libspectrum_snap_last_instruction_set_f( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_last_instruction_set_f( libspectrum_snap *snap, int last_instruction_set_f ); 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 ); @@ -919,6 +934,8 @@ WIN32_DLL void libspectrum_snap_set_spectranet_paged( libspectrum_snap *snap, int spectranet_paged ); WIN32_DLL int libspectrum_snap_spectranet_paged_via_io( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_spectranet_paged_via_io( libspectrum_snap *snap, int spectranet_paged_via_io ); +WIN32_DLL int libspectrum_snap_spectranet_nmi_flipflop( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_spectranet_nmi_flipflop( libspectrum_snap *snap, int spectranet_nmi_flipflop ); WIN32_DLL int libspectrum_snap_spectranet_programmable_trap_active( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_spectranet_programmable_trap_active( libspectrum_snap *snap, int spectranet_programmable_trap_active ); WIN32_DLL int libspectrum_snap_spectranet_programmable_trap_msb( libspectrum_snap *snap ); @@ -941,6 +958,10 @@ WIN32_DLL void libspectrum_snap_set_spectranet_flash( libspectrum_snap *snap, int idx, libspectrum_byte* spectranet_flash ); WIN32_DLL libspectrum_byte * libspectrum_snap_spectranet_ram( libspectrum_snap *snap, int idx ); WIN32_DLL void libspectrum_snap_set_spectranet_ram( libspectrum_snap *snap, int idx, libspectrum_byte* spectranet_ram ); +WIN32_DLL int libspectrum_snap_late_timings( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_late_timings( libspectrum_snap *snap, int late_timings ); +WIN32_DLL int libspectrum_snap_zx_printer_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_zx_printer_active( libspectrum_snap *snap, int zx_printer_active ); /* * Tape handling routines Modified: trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2013-04-20 11:35:58 UTC (rev 741) @@ -338,7 +338,7 @@ 089C1669FE841209C02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0450; + LastUpgradeCheck = 0460; }; buildConfigurationList = B6B0E30008CC65D5001D8411 /* Build configuration list for PBXProject "FuseImporter" */; compatibilityVersion = "Xcode 3.2"; @@ -565,9 +565,17 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - SDKROOT = macosx; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx10.7; }; name = Development; }; @@ -575,10 +583,18 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_POSTPROCESSING = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - SDKROOT = macosx; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx10.7; }; name = Deployment; }; @@ -586,9 +602,17 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - SDKROOT = macosx; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx10.7; }; name = Default; }; Modified: trunk/FuseImporter/config.h =================================================================== --- trunk/FuseImporter/config.h 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/FuseImporter/config.h 2013-04-20 11:35:58 UTC (rev 741) @@ -83,7 +83,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "1.0.0.1a" +#define VERSION "1.1.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Modified: trunk/FuseImporter/libspectrum.h =================================================================== --- trunk/FuseImporter/libspectrum.h 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/FuseImporter/libspectrum.h 2013-04-20 11:35:58 UTC (rev 741) @@ -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 4695 2012-05-07 02:03:10Z fredm $ + $Id: libspectrum.h.in 4836 2012-12-31 15:40:10Z zubzero $ 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 @@ -40,10 +40,19 @@ #ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN /* Exclude rarely used stuff from Windows - headers */ +/* Exclude rarely used stuff from Windows headers */ +#ifndef WIN32_LEAN_AND_MEAN + +#define WIN32_LEAN_AND_MEAN /**/ #include <windows.h> +#undef WIN32_LEAN_AND_MEAN +#else + +#include <windows.h> + +#endif /* #ifndef WIN32_LEAN_AND_MEAN */ + #ifdef LIBSPECTRUM_EXPORTS #define WIN32_DLL __declspec( dllexport ) #else /* #ifdef LIBSPECTRUM_EXPORTS */ @@ -221,7 +230,7 @@ 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)) @@ -273,11 +282,11 @@ /* we support files compressed with bz2 */ -#define LIBSPECTRUM_SUPPORTS_BZ2_COMPRESSION (1) +#define LIBSPECTRUM_SUPPORTS_BZ2_COMPRESSION (1) /* we support files wav files */ -#define LIBSPECTRUM_SUPPORTS_AUDIOFILE (1) +#define LIBSPECTRUM_SUPPORTS_AUDIOFILE (1) /* Initialisation */ @@ -365,7 +374,7 @@ /* Below here, present only in 0.2.2 and later */ LIBSPECTRUM_ID_HARDDISK_HDF, /* .hdf hard disk image */ - LIBSPECTRUM_ID_CARTRIDGE_IF2, /* .rom Interface II cartridge image */ + LIBSPECTRUM_ID_CARTRIDGE_IF2, /* .rom Interface 2 cartridge image */ /* Below here, present only in 0.3.0 and later */ @@ -422,7 +431,7 @@ /* Below here, present only in 0.2.2 and later */ LIBSPECTRUM_CLASS_HARDDISK, /* A hard disk image */ - LIBSPECTRUM_CLASS_CARTRIDGE_IF2, /* Interface II cartridges */ + LIBSPECTRUM_CLASS_CARTRIDGE_IF2, /* Interface 2 cartridges */ /* Below here, present only in 0.3.0 and later */ @@ -490,6 +499,8 @@ LIBSPECTRUM_MACHINE_48_NTSC, + LIBSPECTRUM_MACHINE_128E, + } libspectrum_machine; WIN32_DLL const char* libspectrum_machine_name( libspectrum_machine type ); @@ -697,6 +708,8 @@ 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_word libspectrum_snap_memptr( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_memptr( libspectrum_snap *snap, libspectrum_word memptr ); 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 ); @@ -709,6 +722,8 @@ 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 int libspectrum_snap_last_instruction_set_f( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_last_instruction_set_f( libspectrum_snap *snap, int last_instruction_set_f ); 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 ); @@ -919,6 +934,8 @@ WIN32_DLL void libspectrum_snap_set_spectranet_paged( libspectrum_snap *snap, int spectranet_paged ); WIN32_DLL int libspectrum_snap_spectranet_paged_via_io( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_spectranet_paged_via_io( libspectrum_snap *snap, int spectranet_paged_via_io ); +WIN32_DLL int libspectrum_snap_spectranet_nmi_flipflop( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_spectranet_nmi_flipflop( libspectrum_snap *snap, int spectranet_nmi_flipflop ); WIN32_DLL int libspectrum_snap_spectranet_programmable_trap_active( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_spectranet_programmable_trap_active( libspectrum_snap *snap, int spectranet_programmable_trap_active ); WIN32_DLL int libspectrum_snap_spectranet_programmable_trap_msb( libspectrum_snap *snap ); @@ -941,6 +958,10 @@ WIN32_DLL void libspectrum_snap_set_spectranet_flash( libspectrum_snap *snap, int idx, libspectrum_byte* spectranet_flash ); WIN32_DLL libspectrum_byte * libspectrum_snap_spectranet_ram( libspectrum_snap *snap, int idx ); WIN32_DLL void libspectrum_snap_set_spectranet_ram( libspectrum_snap *snap, int idx, libspectrum_byte* spectranet_ram ); +WIN32_DLL int libspectrum_snap_late_timings( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_late_timings( libspectrum_snap *snap, int late_timings ); +WIN32_DLL int libspectrum_snap_zx_printer_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_zx_printer_active( libspectrum_snap *snap, int zx_printer_active ); /* * Tape handling routines Modified: trunk/libspectrum/Info.plist =================================================================== --- trunk/libspectrum/Info.plist 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/Info.plist 2013-04-20 11:35:58 UTC (rev 741) @@ -23,6 +23,6 @@ <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>0.5.0</string> + <string>1.1.0</string> </dict> </plist> Modified: trunk/libspectrum/config.h =================================================================== --- trunk/libspectrum/config.h 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/config.h 2013-04-20 11:35:58 UTC (rev 741) @@ -86,7 +86,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "1.0.0" +#define VERSION "1.1.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Index: trunk/libspectrum/libspectrum =================================================================== --- trunk/libspectrum/libspectrum 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum 2013-04-20 11:35:58 UTC (rev 741) Property changes on: trunk/libspectrum/libspectrum ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/libspectrum:556-557 /vendor/fuse-emulator/0.10.0-pre1/libspectrum:545-546 -/vendor/fuse-emulator/current/libspectrum:530-717 +/vendor/fuse-emulator/current/libspectrum:530-740 /vendor/fuse-emulator/fuse-1.0.0a/libspectrum:668-669 /vendor/fuse-emulator/fuse-r4617/libspectrum:686 \ No newline at end of property Modified: trunk/libspectrum/libspectrum/ChangeLog =================================================================== --- trunk/libspectrum/libspectrum/ChangeLog 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/ChangeLog 2013-04-20 11:35:58 UTC (rev 741) @@ -1,3 +1,26 @@ +201?-??-?? Philip Kendall <phi...@sh...> + + * libspectrum 1.1.0 released. + + * Support for Spectranet in snapshots (Philip Kendall). + + * Support for Cheetah SpecDrum in snapshots (Fredrick Meunier). + + * Support reading PZX files (Fredrick Meunier). + + * Support for the TZX set signal level block (Fredrick Meunier). + + * Various minor bug fixes/improvements: + * Add support for detecting POK files (Sergio Baldoví). + * Advertise support for bzip2 compressed and wav files (Sergio + Baldoví). + * Drop support for GLib version 1.x (Alberto Garcia). + * Add support for audiofile 0.3.x (Alberto Garcia). + * Load all snapshot RAM pages for machines with more than 128k + (Fredrick Meunier; thanks, ketmar). + * Support more SZX 1.5 features (Fredrick Meunier). + * Modernise autoconf support (Sergio Baldoví). + 2010-12-16 Philip Kendall <phi...@sh...> * libspectrum 1.0.0 released. @@ -310,5 +333,5 @@ * libspectrum separated from Fuse just before the 0.5.0 release of Fuse; see Fuse's ChangeLog for changes up to this point -$Id: ChangeLog 4220 2010-12-17 10:54:29Z fredm $ +$Id: ChangeLog 4801 2012-12-26 10:55:01Z fredm $ Modified: trunk/libspectrum/libspectrum/README =================================================================== --- trunk/libspectrum/libspectrum/README 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/README 2013-04-20 11:35:58 UTC (rev 741) @@ -1,4 +1,4 @@ -libspectrum 1.0.0 +libspectrum 1.1.0 ================= libspectrum is a library which is designed to make the input and @@ -11,7 +11,7 @@ * Snapshots: .z80, .szx, .sna (all read/write), .zxs, .sp., .snp and +D snapshots (read only). * Tape images: .tzx, .tap, .spc, .sta and .ltp (read/write) and - Warajevo .tap, Z80Em and CSW version 1 (read only). + .pzx, Warajevo .tap, Z80Em and CSW version 1 (read only). * Input recordings: .rzx (read/write). * Disk images: .dsk (both plain and extended), .fdi, .sad, .scl, .td0, .trd and .udi (identification only). @@ -67,6 +67,6 @@ Then, type "make" and if everything went well, "make install". Philip Kendall <phi...@sh...> -16 December 2010 +?? ??? 201? -$Id: README 4220 2010-12-17 10:54:29Z fredm $ +$Id: README 4801 2012-12-26 10:55:01Z fredm $ Modified: trunk/libspectrum/libspectrum/accessor.pl =================================================================== --- trunk/libspectrum/libspectrum/accessor.pl 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/accessor.pl 2013-04-20 11:35:58 UTC (rev 741) @@ -3,7 +3,7 @@ # accessor.pl: generate accessor functions # Copyright (c) 2003-2009 Philip Kendall -# $Id: accessor.pl 4624 2012-01-09 20:59:35Z pak21 $ +# $Id: accessor.pl 4904 2013-03-08 20:21:02Z pak21 $ # 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 @@ -67,12 +67,13 @@ libspectrum_byte a_, f_; libspectrum_word bc_, de_, hl_; libspectrum_word ix, iy; libspectrum_byte i, r; - libspectrum_word sp, pc; + libspectrum_word sp, pc, memptr; libspectrum_byte iff1, iff2, im; int halted; /* Is the Z80 currently HALTed? */ int last_instruction_ei; /* Was the last instruction an EI? */ + int last_instruction_set_f; /* Did the last instruction set Flags? */ /* Custom ROM */ int custom_rom; @@ -173,7 +174,7 @@ size_t zxcf_pages; libspectrum_byte *zxcf_ram[ SNAPSHOT_ZXCF_PAGES ]; - /* Interface II cartridge */ + /* Interface 2 cartridge */ int interface2_active; libspectrum_byte *interface2_rom[1]; @@ -221,6 +222,7 @@ int spectranet_active; int spectranet_paged; int spectranet_paged_via_io; + int spectranet_nmi_flipflop; int spectranet_programmable_trap_active; int spectranet_programmable_trap_msb; int spectranet_all_traps_disabled; @@ -232,6 +234,12 @@ libspectrum_byte *spectranet_w5100[1]; libspectrum_byte *spectranet_flash[1]; libspectrum_byte *spectranet_ram[1]; + + /* Timings emulation */ + int late_timings; + + /* Printer emulation */ + int zx_printer_active; }; /* Initialise a libspectrum_snap structure */ Modified: trunk/libspectrum/libspectrum/configure.ac =================================================================== --- trunk/libspectrum/libspectrum/configure.ac 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/configure.ac 2013-04-20 11:35:58 UTC (rev 741) @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. -dnl Copyright (c) 1999-2008 Philip Kendall +dnl Copyright (c) 1999-2012 Philip Kendall -dnl $Id: configure.ac 4778 2012-11-28 23:21:34Z sbaldovi $ +dnl $Id: configure.ac 4847 2013-01-03 09:16:15Z zubzero $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -22,11 +22,11 @@ dnl E-mail: phi...@sh... dnl Package version -m4_define([libspectrum_version], [1.0.0]) +m4_define([libspectrum_version], [1.1.0]) dnl Product full version m4_define([libspectrum_major_version], [1]) -m4_define([libspectrum_minor_version], [0]) +m4_define([libspectrum_minor_version], [1]) m4_define([libspectrum_micro_version], [0]) m4_define([libspectrum_nano_version], [0]) m4_define([libspectrum_full_version], @@ -35,11 +35,11 @@ [libspectrum_major_version,libspectrum_minor_version,libspectrum_micro_version,libspectrum_nano_version]) dnl Package info -m4_define([libspectrum_copyright], ["(c) 1999-2012 Philip Kendall and others"]) +m4_define([libspectrum_copyright], ["(c) 1999-2013 Philip Kendall and others"]) m4_define([libspectrum_url], [http://fuse-emulator.sourceforge.net/libspectrum.php]) m4_define([libspectrum_bugreport], - [http://sourceforge.net/tracker/?group_id=91293&atid=596648]) + [http://sourceforge.net/p/fuse-emulator/bugs/]) AC_INIT([libspectrum],[libspectrum_version],[libspectrum_bugreport], [libspectrum],[libspectrum_url]) @@ -99,6 +99,7 @@ WINDRES_OBJ="windres.o" WINDRES_LDFLAGS="-Xlinker windres.o" fi + AC_DEFINE([WIN32_LEAN_AND_MEAN],, [Exclude rarely used stuff from Windows headers <windows.h>]) ;; esac AC_SUBST(WINDRES_OBJ) @@ -164,14 +165,14 @@ if test "$withval" = no; then glib=no; else glib=yes; fi, glib=yes) AC_MSG_RESULT($glib) -if test "$glib" = yes; then +AS_IF([test "$glib" = yes], [ PKG_CHECK_MODULES( GLIB, glib-2.0, AC_DEFINE([HAVE_LIB_GLIB], 1, [Defined if we've got glib]), glib="no" ) -fi +]) AM_CONDITIONAL(USE_MYGLIB, test "$glib" = no) @@ -201,7 +202,7 @@ if test "$withval" = no; then libaudiofile=no; else libaudiofile=yes; fi, libaudiofile=yes) AC_MSG_RESULT($libaudiofile) -if test "$libaudiofile" = yes; then +AS_IF([test "$libaudiofile" = yes], [ PKG_CHECK_MODULES( AUDIOFILE, audiofile, @@ -214,7 +215,7 @@ AC_DEFINE([HAVE_LIB_AUDIOFILE], 1, [Defined if we've got audiofile]) ) fi -fi +]) AC_CONFIG_FILES([ Makefile Modified: trunk/libspectrum/libspectrum/csw.c =================================================================== --- trunk/libspectrum/libspectrum/csw.c 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/csw.c 2013-04-20 11:35:58 UTC (rev 741) @@ -2,7 +2,7 @@ Copyright (c) 2002-2007 Darren Salt, Fredrick Meunier Based on tap.c, copyright (c) 2001 Philip Kendall - $Id: csw.c 4653 2012-02-03 11:48:30Z fredm $ + $Id: csw.c 4780 2012-11-29 19:09:52Z sbaldovi $ 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 @@ -39,7 +39,6 @@ { libspectrum_tape_block *block = NULL; libspectrum_tape_rle_pulse_block *csw_block; - libspectrum_error error; int compressed; @@ -112,6 +111,8 @@ if( compressed ) { /* Compressed data... */ #ifdef HAVE_ZLIB_H + libspectrum_error error; + csw_block->data = NULL; csw_block->length = 0; error = libspectrum_zlib_inflate( buffer, length, &csw_block->data, Modified: trunk/libspectrum/libspectrum/doc/libspectrum.3 =================================================================== --- trunk/libspectrum/libspectrum/doc/libspectrum.3 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/doc/libspectrum.3 2013-04-20 11:35:58 UTC (rev 741) @@ -27,7 +27,7 @@ .\"------------------------------------------------------------------ .\" .SH NAME -libspectrum \- Sinclair ZX Spectrum support library +libspectrum \(em Sinclair ZX Spectrum support library .\" .\"------------------------------------------------------------------ .\" Modified: trunk/libspectrum/libspectrum/doc/libspectrum.txt =================================================================== --- trunk/libspectrum/libspectrum/doc/libspectrum.txt 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/doc/libspectrum.txt 2013-04-20 11:35:58 UTC (rev 741) @@ -8,7 +8,7 @@ * Snapshots: .z80, .szx, .sna (all read/write), .zxs, .sp., .snp and +D snapshots (read only). * Tape images: .tzx, .tap, .spc, .sta and .ltp (read/write) and - Warajevo .tap, Z80Em and CSW version 1 (read only). + .pzx, Warajevo .tap, Z80Em and CSW version 1 (read only). * Input recordings: .rzx (read/write). * Disk images: .dsk (both plain and extended), .fdi, .sad, .scl, .td0, .trd and .udi (identification only). @@ -43,6 +43,9 @@ the library does not support zlib compression, then the constant will not be defined. +Bzip2 compression is similarly covered by LIBSPECTRUM_SUPPORTS_BZ2_COMPRESSION +and WAV file support is covered by LIBSPECTRUM_SUPPORTS_AUDIOFILE. + Defined types ============= @@ -168,6 +171,7 @@ LIBSPECTRUM_MACHINE_48 48K Spectrum LIBSPECTRUM_MACHINE_48_NTSC NTSC version of 48K Spectrum LIBSPECTRUM_MACHINE_128 (Original) 128K Spectrum +LIBSPECTRUM_MACHINE_128E Spectrum 128Ke LIBSPECTRUM_MACHINE_PLUS2 Spectrum +2 (the grey one) LIBSPECTRUM_MACHINE_PLUS2A Spectrum +2A (the black one) LIBSPECTRUM_MACHINE_PLUS3 Spectrum +3 @@ -273,7 +277,7 @@ LIBSPECTRUM_ID_UNKNOWN Couldn't identify this file LIBSPECTRUM_ID_CARTRIDGE_DCK A .dck Timex dock image -LIBSPECTRUM_ID_CARTRIDGE_IF2 A .rom Interface II cartridge +LIBSPECTRUM_ID_CARTRIDGE_IF2 A .rom Interface 2 cartridge LIBSPECTRUM_ID_COMPRESSED_BZ2 A bzip2 compressed file LIBSPECTRUM_ID_COMPRESSED_GZ A gzip compressed file @@ -346,7 +350,7 @@ LIBSPECTRUM_CLASS_UNKNOWN An unknown file type LIBSPECTRUM_CLASS_CARTRIDGE_TIMEX A Timex dock cartridge -LIBSPECTRUM_CLASS_CARTRIDGE_IF2 An Interface II cartridge +LIBSPECTRUM_CLASS_CARTRIDGE_IF2 An Interface 2 cartridge LIBSPECTRUM_CLASS_DISK_GENERIC A generic disk image LIBSPECTRUM_CLASS_DISK_PLUSD An MGT/+D disk image LIBSPECTRUM_CLASS_DISK_PLUS3 A +3 disk image @@ -552,6 +556,7 @@ * libspectrum_byte r * libspectrum_word sp * libspectrum_word pc +* libspectrum_word memptr * libspectrum_byte iff1 * libspectrum_byte iff2 * libspectrum_byte im @@ -560,6 +565,7 @@ * int halted * int last_instruction_ei +* int last_instruction_set_f * libspectrum_byte out_ula @@ -682,6 +688,25 @@ * int specdrum_active * libspectrum_signed_byte specdrum_dac +* int spectranet_active +* int spectranet_paged +* int spectranet_paged_via_io +* int spectranet_programmable_trap_active +* int spectranet_programmable_trap_msb +* int spectranet_all_traps_disabled +* int spectranet_rst8_trap_disabled +* int spectranet_deny_downstream_a15 +* int spectranet_page_a +* int spectranet_page_b +* libspectrum_word spectranet_programmable_trap +* libspectrum_byte* spectranet_w5100[1] +* libspectrum_byte* spectranet_flash[1] +* libspectrum_byte* spectranet_ram[1] + +* int late_timings + +* int zx_printer_enabled + Most of those should be fairly self-explanatory; those which may not be are: @@ -696,9 +721,19 @@ previously executed was an EI and thus interrupts should not be accepted at this point, but will be after the next opcode. +* `last_instruction_set_f' being non-zero signals that the opcode + previously executed affected the F register. + * `out_plus3_memoryport' should also be used to save the state of the Scorpion's secondary memory control port (0x1ffd). +* `late_timings' being non-zero signals that the emulated Spectrum + should use timings 1 t-state later than usual as in some machines + that have warmed up. + +* `zx_printer_enabled' being non-zero signals that the emulated Spectrum + has a ZX Printer connected. + * The `beta_*' functions represent the Betadisk interface. `beta_paged' is non-zero if the Betadisk ROM is currently paged in between 0x0000 and 0x3fff and `beta_direction' is non-zero @@ -715,6 +750,8 @@ * `exrom_ram' and `dock_ram' are non-zero if the corresponding 8K page of the Timex EXROM or DOCK are writable. +* The `spectranet_*' functions represent the Spectranet interface. + * `joystick_active_count' is the number of joysticks connected to the emulated Spectrum. `joystick_list' gives the type of the joysticks and `joystick_inputs' gives the corresponding connections to the real machines @@ -1789,4 +1826,4 @@ Write `data' to register `reg' of the IDE channel `chn'. -$Id: libspectrum.txt 4433 2011-05-14 05:44:47Z fredm $ +$Id: libspectrum.txt 4860 2013-01-26 11:33:25Z fredm $ Modified: trunk/libspectrum/libspectrum/hacking/ChangeLog =================================================================== --- trunk/libspectrum/libspectrum/hacking/ChangeLog 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/hacking/ChangeLog 2013-04-20 11:35:58 UTC (rev 741) @@ -905,3 +905,40 @@ 20121129 configure.ac: don't check for windres when not building for Windows hosts. Remove --without-windres option, previously used as a workaround (Sergio). +20121129 csw.c,rzx.c,szx.c: remove unused variables when not linking against + external libraries (Sergio). +20121202 configure.ac: fix the macro expansion of PKG_CHECK_MODULES when using + both --without-glib and --with-libaudiofile options (Sergio). +20121208 configure.ac,libspectrum.h.in: preliminary support for 64-bits binaries + for Windows (patch #3591613) (Sergio). +20121208 README: document support for reading PZX files (Sergio). +20121222 szx.c: split SNET block into SNET, SNEF and SNER so that flash could + theoretically be saved separately (patch #3596469) (Fred). +20121225 accessor.pl,libspectrum.h.in,sna.c,snap_accessors.txt,snapshot.c,szx.c, + z80.c: extend SZX support to version 1.5 draft specs (Fred). +20121226 accessor.pl,snap_accessors.txt,snapshot.c,szx.c: MEMPTR is also in v1.4 + SZX files (Fred). +20121226 make-perl.c: fix typo in comment (Fred). +20121226 szx.c: inline constant in write_snet_chunk() (Fred). +20121226 doc/libspectrum.txt: add some text about changes to the interface + (Fred). +20121226 configure.ac: bump version number to 1.1.0 (Fred). +20121226 doc/libspectrum.txt: tweak PZX text (Fred). +20121226 ChangeLog,README: first updates for a "1.1.0" release (Fred). +20121227 libspectrum.c: set name for Spectrum 128Ke machine type (Sergio). +20121229 doc/libspectrum.1: use an em dash (Stuart). +20121230 timings.c: add timings for 128Ke, copied from those for 128K (Stuart). +20121231 timings.c: 128Ke timings are intended to be based on +2A (Fred). +20121231 libspectrum.c: add 128Ke capabilities as long as it is in the library + (Fred). +20121231 accessor.pl,doc/libspectrum.txt,libspectrum.h.in,sna.c,z80.c: rename + 'Interface II' to 'Interface 2' in comments and documentation (Stuart). +20130103 configure.ac: make some URLs point to the new sourceforge forge and + update copyright date to 2013 (Sergio). +20130103 configure.ac: add trailing slash to URL of bug tracker (Stuart). +20130126 accessor.pl,doc/libspectrum.txt,snap_accessors.txt,snapshot.c,szx.c: + add support for storing ZX Printer state (bug #274) (Fred). +20130130 timings.c: correct video timing for +2A/+3 etc machines (part of + patch #305). +20130307 accessor.pl,snap_accessors.txt,szx.c: implement Spectranet's "suppress + NMI" flipflop (bug #259). Modified: trunk/libspectrum/libspectrum/libspectrum.c =================================================================== --- trunk/libspectrum/libspectrum/libspectrum.c 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/libspectrum.c 2013-04-20 11:35:58 UTC (rev 741) @@ -1,7 +1,7 @@ /* libspectrum.c: Some general routines Copyright (c) 2001-2009 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.c 4759 2012-11-07 12:01:50Z fredm $ + $Id: libspectrum.c 4830 2012-12-30 21:37:36Z 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 @@ -237,6 +237,7 @@ case LIBSPECTRUM_MACHINE_TC2068: return "Timex TC2068"; case LIBSPECTRUM_MACHINE_TS2068: return "Timex TS2068"; case LIBSPECTRUM_MACHINE_128: return "Spectrum 128K"; + case LIBSPECTRUM_MACHINE_128E: return "Spectrum 128Ke"; case LIBSPECTRUM_MACHINE_PLUS2: return "Spectrum +2"; case LIBSPECTRUM_MACHINE_PENT: return "Pentagon 128K"; case LIBSPECTRUM_MACHINE_PENT512: return "Pentagon 512K"; @@ -296,7 +297,7 @@ switch( type ) { case LIBSPECTRUM_MACHINE_128: case LIBSPECTRUM_MACHINE_PLUS2: case LIBSPECTRUM_MACHINE_PLUS2A: case LIBSPECTRUM_MACHINE_PLUS3: - case LIBSPECTRUM_MACHINE_PLUS3E: + case LIBSPECTRUM_MACHINE_PLUS3E: case LIBSPECTRUM_MACHINE_128E: case LIBSPECTRUM_MACHINE_TC2068: case LIBSPECTRUM_MACHINE_TS2068: case LIBSPECTRUM_MACHINE_PENT: case LIBSPECTRUM_MACHINE_PENT512: case LIBSPECTRUM_MACHINE_PENT1024: @@ -311,7 +312,7 @@ switch( type ) { case LIBSPECTRUM_MACHINE_128: case LIBSPECTRUM_MACHINE_PLUS2: case LIBSPECTRUM_MACHINE_PLUS2A: case LIBSPECTRUM_MACHINE_PLUS3: - case LIBSPECTRUM_MACHINE_PLUS3E: + case LIBSPECTRUM_MACHINE_PLUS3E: case LIBSPECTRUM_MACHINE_128E: case LIBSPECTRUM_MACHINE_PENT: case LIBSPECTRUM_MACHINE_PENT512: case LIBSPECTRUM_MACHINE_PENT1024: case LIBSPECTRUM_MACHINE_SCORP: @@ -325,7 +326,7 @@ /* +3 Spectrum-style 0x1ffd memory paging */ switch( type ) { case LIBSPECTRUM_MACHINE_PLUS2A: case LIBSPECTRUM_MACHINE_PLUS3: - case LIBSPECTRUM_MACHINE_PLUS3E: + case LIBSPECTRUM_MACHINE_PLUS3E: case LIBSPECTRUM_MACHINE_128E: capabilities |= LIBSPECTRUM_MACHINE_CAPABILITY_PLUS3_MEMORY; break; default: break; @@ -379,6 +380,7 @@ switch( type ) { case LIBSPECTRUM_MACHINE_PLUS2: case LIBSPECTRUM_MACHINE_PLUS2A: case LIBSPECTRUM_MACHINE_PLUS3: case LIBSPECTRUM_MACHINE_PLUS3E: + case LIBSPECTRUM_MACHINE_128E: capabilities |= LIBSPECTRUM_MACHINE_CAPABILITY_SINCLAIR_JOYSTICK; break; default: break; Modified: trunk/libspectrum/libspectrum/libspectrum.h.in =================================================================== --- trunk/libspectrum/libspectrum/libspectrum.h.in 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/libspectrum.h.in 2013-04-20 11:35:58 UTC (rev 741) @@ -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 4695 2012-05-07 02:03:10Z fredm $ + $Id: libspectrum.h.in 4836 2012-12-31 15:40:10Z zubzero $ 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 @@ -40,10 +40,19 @@ #ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN /* Exclude rarely used stuff from Windows - headers */ +/* Exclude rarely used stuff from Windows headers */ +#ifndef WIN32_LEAN_AND_MEAN + +#define WIN32_LEAN_AND_MEAN /**/ #include <windows.h> +#undef WIN32_LEAN_AND_MEAN +#else + +#include <windows.h> + +#endif /* #ifndef WIN32_LEAN_AND_MEAN */ + #ifdef LIBSPECTRUM_EXPORTS #define WIN32_DLL __declspec( dllexport ) #else /* #ifdef LIBSPECTRUM_EXPORTS */ @@ -182,7 +191,7 @@ /* Below here, present only in 0.2.2 and later */ LIBSPECTRUM_ID_HARDDISK_HDF, /* .hdf hard disk image */ - LIBSPECTRUM_ID_CARTRIDGE_IF2, /* .rom Interface II cartridge image */ + LIBSPECTRUM_ID_CARTRIDGE_IF2, /* .rom Interface 2 cartridge image */ /* Below here, present only in 0.3.0 and later */ @@ -239,7 +248,7 @@ /* Below here, present only in 0.2.2 and later */ LIBSPECTRUM_CLASS_HARDDISK, /* A hard disk image */ - LIBSPECTRUM_CLASS_CARTRIDGE_IF2, /* Interface II cartridges */ + LIBSPECTRUM_CLASS_CARTRIDGE_IF2, /* Interface 2 cartridges */ /* Below here, present only in 0.3.0 and later */ @@ -307,6 +316,8 @@ LIBSPECTRUM_MACHINE_48_NTSC, + LIBSPECTRUM_MACHINE_128E, + } libspectrum_machine; WIN32_DLL const char* libspectrum_machine_name( libspectrum_machine type ); Modified: trunk/libspectrum/libspectrum/make-perl.c =================================================================== --- trunk/libspectrum/libspectrum/make-perl.c 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/make-perl.c 2013-04-20 11:35:58 UTC (rev 741) @@ -1,7 +1,7 @@ /* make-perl.c: Generate a perl script to create the libspectrum_* typedefs Copyright (c) 2002-2003 Philip Kendall, Darren Salt - $Id: make-perl.c 4695 2012-05-07 02:03:10Z fredm $ + $Id: make-perl.c 4796 2012-12-26 10:36:57Z 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 @@ -336,7 +336,7 @@ #endif /* #ifdef HAVE_LIBBZ2 */ #ifdef HAVE_LIB_AUDIOFILE - printf( "\n/* we support files wav files */\n" ); + printf( "\n/* we support wav files */\n" ); printf( "#define LIBSPECTRUM_SUPPORTS_AUDIOFILE (1)\n\n" ); #endif /* #ifdef HAVE_LIB_AUDIOFILE */ Modified: trunk/libspectrum/libspectrum/rzx.c =================================================================== --- trunk/libspectrum/libspectrum/rzx.c 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/rzx.c 2013-04-20 11:35:58 UTC (rev 741) @@ -1,7 +1,7 @@ /* rzx.c: routines for dealing with .rzx files Copyright (c) 2002-2008 Philip Kendall - $Id: rzx.c 4548 2011-11-06 21:44:48Z pak21 $ + $Id: rzx.c 4780 2012-11-29 19:09:52Z sbaldovi $ 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 @@ -194,7 +194,9 @@ { size_t i; input_block_t *input; +#ifdef HAVE_GCRYPT_H signature_block_t *signature; +#endif /* #ifdef HAVE_GCRYPT_H */ switch( block->type ) { @@ -216,9 +218,8 @@ return LIBSPECTRUM_ERROR_NONE; case LIBSPECTRUM_RZX_SIGN_END_BLOCK: +#ifdef HAVE_GCRYPT_H signature = &( block->types.signature ); - -#ifdef HAVE_GCRYPT_H gcry_mpi_release( signature->r ); gcry_mpi_release( signature->s ); #endif /* #ifdef HAVE_GCRYPT_H */ @@ -1448,7 +1449,6 @@ rzx_write_input( input_block_t *block, libspectrum_byte **buffer, libspectrum_byte **ptr, size_t *length, int compress ) { - libspectrum_error error; size_t i, size; size_t length_offset, data_offset, flags_offset; libspectrum_byte *length_ptr; @@ -1512,6 +1512,7 @@ /* Compress the data the simple way. Really, we should stream the data */ libspectrum_byte *gzsnap = NULL; size_t gzlength; libspectrum_byte *data_ptr = *buffer + data_offset; + libspectrum_error error; error = libspectrum_zlib_compress( data_ptr, *ptr - data_ptr, &gzsnap, &gzlength ); Modified: trunk/libspectrum/libspectrum/sna.c =================================================================== --- trunk/libspectrum/libspectrum/sna.c 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/sna.c 2013-04-20 11:35:58 UTC (rev 741) @@ -1,7 +1,7 @@ /* sna.c: Routines for handling .sna snapshots Copyright (c) 2001-2002 Philip Kendall - $Id: sna.c 4285 2011-01-31 10:47:01Z fredm $ + $Id: sna.c 4836 2012-12-31 15:40:10Z zubzero $ 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 @@ -310,7 +310,7 @@ if( libspectrum_snap_divide_active( snap ) ) *out_flags |= LIBSPECTRUM_FLAG_SNAPSHOT_MAJOR_INFO_LOSS; - /* We don't save the Interface II ROM at all */ + /* We don't save the Interface 2 ROM at all */ if( libspectrum_snap_interface2_active( snap ) ) *out_flags |= LIBSPECTRUM_FLAG_SNAPSHOT_MAJOR_INFO_LOSS; @@ -331,6 +331,10 @@ if( libspectrum_snap_specdrum_active( snap ) ) *out_flags |= LIBSPECTRUM_FLAG_SNAPSHOT_MAJOR_INFO_LOSS; + /* We don't save the Spectranet state at all */ + if( libspectrum_snap_spectranet_active( snap ) ) + *out_flags |= LIBSPECTRUM_FLAG_SNAPSHOT_MAJOR_INFO_LOSS; + ptr = *buffer; write_header( buffer, &ptr, length, snap ); @@ -349,6 +353,7 @@ break; case LIBSPECTRUM_MACHINE_128: + case LIBSPECTRUM_MACHINE_128E: case LIBSPECTRUM_MACHINE_PENT512: case LIBSPECTRUM_MACHINE_PENT1024: case LIBSPECTRUM_MACHINE_PLUS2: Modified: trunk/libspectrum/libspectrum/snap_accessors.txt =================================================================== --- trunk/libspectrum/libspectrum/snap_accessors.txt 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/snap_accessors.txt 2013-04-20 11:35:58 UTC (rev 741) @@ -1,7 +1,7 @@ # snap_accessors.txt: simple accessors for libspectrum_snap # Copyright (c) 2003-2009 Philip Kendall -# $Id: snap_accessors.txt 4624 2012-01-09 20:59:35Z pak21 $ +# $Id: snap_accessors.txt 4904 2013-03-08 20:21:02Z pak21 $ # 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 @@ -39,6 +39,7 @@ libspectrum_byte r libspectrum_word sp libspectrum_word pc +libspectrum_word memptr libspectrum_byte iff1 libspectrum_byte iff2 libspectrum_byte im @@ -47,6 +48,7 @@ int halted int last_instruction_ei +int last_instruction_set_f libspectrum_byte out_ula @@ -176,6 +178,7 @@ int spectranet_active int spectranet_paged int spectranet_paged_via_io +int spectranet_nmi_flipflop int spectranet_programmable_trap_active int spectranet_programmable_trap_msb int spectranet_all_traps_disabled @@ -187,3 +190,7 @@ libspectrum_byte* spectranet_w5100 1 libspectrum_byte* spectranet_flash 1 libspectrum_byte* spectranet_ram 1 + +int late_timings + +int zx_printer_active Modified: trunk/libspectrum/libspectrum/snapshot.c =================================================================== --- trunk/libspectrum/libspectrum/snapshot.c 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/snapshot.c 2013-04-20 11:35:58 UTC (rev 741) @@ -1,7 +1,7 @@ /* snapshot.c: Snapshot handling routines Copyright (c) 2001-2009 Philip Kendall, Darren Salt - $Id: snapshot.c 4624 2012-01-09 20:59:35Z pak21 $ + $Id: snapshot.c 4860 2013-01-26 11:33:25Z 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 @@ -64,6 +64,7 @@ libspectrum_snap_set_r ( snap, 0x00 ); libspectrum_snap_set_sp ( snap, 0x0000 ); libspectrum_snap_set_pc ( snap, 0x0000 ); + libspectrum_snap_set_memptr( snap, 0x0000 ); libspectrum_snap_set_iff1( snap, 1 ); libspectrum_snap_set_iff2( snap, 1 ); @@ -71,6 +72,7 @@ libspectrum_snap_set_halted( snap, 0 ); libspectrum_snap_set_last_instruction_ei( snap, 0 ); + libspectrum_snap_set_last_instruction_set_f( snap, 0 ); libspectrum_snap_set_custom_rom( snap, 0 ); libspectrum_snap_set_custom_rom_pages( snap, 0 ); @@ -217,6 +219,10 @@ libspectrum_snap_set_spectranet_flash( snap, 0, NULL ); libspectrum_snap_set_spectranet_ram( snap, 0, NULL ); + libspectrum_snap_set_late_timings( snap, 0 ); + + libspectrum_snap_set_zx_printer_active( snap, 0 ); + return snap; } Modified: trunk/libspectrum/libspectrum/szx.c =================================================================== --- trunk/libspectrum/libspectrum/szx.c 2013-04-20 07:02:15 UTC (rev 740) +++ trunk/libspectrum/libspectrum/szx.c 2013-04-20 11:35:58 UTC (rev 741) @@ -1,7 +1,7 @@ /* szx.c: Routines for .szx snapshots Copyright (c) 1998-2012 Philip Kendall, Fredrick Meunier, Stuart Brady - $Id: szx.c 4758 2012-11-07 11:58:26Z fredm $ + $Id: szx.c 4904 2013-03-08 20:21:02Z pak21 $ 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 @@ -57,12 +57,15 @@ SZX_MACHINE_PENTAGON512, SZX_MACHINE_PENTAGON1024, SZX_MACHINE_48_NTSC, + SZX_MACHINE_128KE, } szx_machine_type; static const char *signature = "ZXST"; static const size_t signature_length = 4; +static const libspectrum_byte ZXSTMF_ALTERNATETIMINGS = 1; + static const char *libspectrum_string = "libspectrum: "; static const libspectrum_byte SZX_VERSION_MAJOR = 1; @@ -75,6 +78,7 @@ #define ZXSTBID_Z80REGS "Z80R" static const libspectrum_byte ZXSTZF_EILAST = 1; static const libspectrum_byte ZXSTZF_HALTED = 2; +static const libspectrum_byte ZXSTZF_FSET = 4; #define ZXSTBID_SPECREGS "SPCR" @@ -124,6 +128,7 @@ #define ZXSTBID_ROM "ROM\0" #define ZXSTBID_ZXPRINTER "ZXPR" +static const libspectrum_word ZXSTPRF_ENABLED = 1; #define ZXSTBID_IF1 "IF1\0" static const libspectrum_word ZXSTIF1F_ENABLED = 1; @@ -133,6 +138,12 @@ #define ZXSTBID_MICRODRIVE "MDRV" #define ZXSTBID_PLUS3DISK "+3\0\0" #define ZXSTBID_DSKFILE "DSK\0" +#define ZXSTBID_LEC "LEC\0" +static const libspectrum_word ZXSTLECF_PAGED = 1; + +#define ZXSTBID_LECRAMPAGE "LCRP" +static const libspectrum_word ZXSTLCRPF_COMPRESSED = 1; + #define ZXSTBID_TIMEXREGS "SCLD" #define ZXSTBID_BETA128 "B128" @@ -199,9 +210,14 @@ static const libspectrum_word ZXSTSNET_ALL_DISABLED = 16; static const libspectrum_word ZXSTSNET_RST8_DISABLED = 32; static const libspectrum_word ZXSTSNET_DENY_DOWNSTREAM_A15 = 64; -static const libspectrum_word ZXSTSNET_FLASH_COMPRESSED = 128; -static const libspectrum_word ZXSTSNET_RAM_COMPRESSED = 256; +static const libspectrum_word ZXSTSNET_NMI_FLIPFLOP = 128; +#define ZXSTBID_SPECTRANETFLASHPAGE "SNEF" +static const libspectrum_byte ZXSTSNEF_FLASH_COMPRESSED = 1; + +#define ZXSTBID_SPECTRANETRAMPAGE "SNER" +static const libspectrum_byte ZXSTSNER_RAM_COMPRESSED = 1; + static libspectrum_error read_chunk( libspectrum_snap *snap, libspectrum_word version, const libspectrum_byte **buffer, const libspectrum_byte *end, @@ -292,6 +308,12 @@ static libspectrum_error write_snet_chunk( libspectrum_byte **buffer, libspectrum_byte **ptr, size_t *length, libspectrum_snap *snap, int compress ); +static libspectrum_error +write_snef_chunk( libspectrum_byte **buffer, libspectrum_byte **ptr, + size_t *length, libspectrum_snap *snap, int compress ); +static libspectrum_error +write_sner_chunk( libspectrum_byte **buffer, libspectrum_byte **ptr, + size_t *length, libspectrum_snap *snap, int compress ); #ifdef HAVE_ZLIB_H @@ -313,6 +335,9 @@ write_dirp_chunk( libspectrum_byte **buffer, libspectrum_byte **ptr, size_t *length, libspectrum_snap *snap, int page, int compress ); +static libspectrum_error +write_zxpr_chunk( libspectrum_byte **buffer, libspectrum_byte **ptr, + size_t *length, int *out_flags, libspectrum_snap *snap ); static void write_chunk_header( libspectrum_byte **buffer, libspectrum_byte **ptr, @@ -1360,14 +1385,20 @@ libspectrum_snap_set_tstates( snap, libspectrum_read_dword( buffer ) ); if( version >= 0x0101 ) { - (*buffer)++; /* Skip dwHoldIntReqCycles */ + (*buffer)++; /* Skip chHoldIntReqCycles */ - /* Flags; ignore the 'last instruction EI' flag for now */ + /* Flags */ + libspectrum_snap_set_last_instruction_ei( snap, **buffer & ZXSTZF_EILAST ); libspectrum_snap_set_halted( snap, **buffer & ZXSTZF_HALTED ); + libspectrum_snap_set_last_instruction_set_f( snap, **buffer & ZXSTZF_FSET ); (*buffer)++; - (*buffer)++; /* Skip the hidden register */ - (*buffer)++; /* Skip the reserved byte */ + if( version >= 0x0104 ) { + libspectrum_snap_set_memptr( snap, libspectrum_read_word( buffer ) ); + } else { + (*buffer)++; /* Skip the hidden register */ + (*buffer)++; /* Skip the reserved byte */ + } } else { *buffer += 4; /* Skip the reserved dword */ @@ -1704,6 +1735,27 @@ } static libspectrum_error +read_zxpr_chunk( libspectrum_snap *snap, libspectrum_word version, + const libspectrum_byte **buffer, + const libspectrum_byte *end GCC_UNUSED, size_t data_length, + szx_context *ctx GCC_UNUSED ) +{ + libspectrum_word flags; + + if( data_length != 2 ) { + libspectrum_print_error( LIBSPECTRUM_ERROR_UNKNOWN, + "%s:read_zxpr_chunk: unknown length %lu", + __FILE__, (unsigned long)data_length ); + return LIBSPECTRUM_ERROR_UNKNOWN; + } + + flags = libspectrum_read_word( buffer ); + libspectrum_snap_set_zx_printer_active( snap, flags & ZXSTPRF_ENABLED ); + + return LIBSPECTRUM_ERROR_NONE; +} + +static libspectrum_error read_if2r_chunk( libspectrum_snap *snap, libspectrum_word version GCC_UNUSED, const libspectrum_byte **buffer, const libspectrum_byte *end GCC_UNUSED, size_t data_length, @@ -1914,9 +1966,8 @@ int compressed, size_t *data_remaining, void (*setter)(libspectrum_snap*, int, libspectrum_byte*) ) { - size_t data_length, uncompressed_length = 0; - libspectrum_error error; - libspectrum_byte *data_out, *uncompressed_data; + size_t data_length; + libspectrum_byte *data_out; const libspectrum_byte *data; if( *data_remaining < 4 ) { @@ -1938,6 +1989,9 @@ if( compressed ) { #ifdef HAVE_ZLIB_H + libspectrum_error error; + size_t uncompressed_length = 0; + libspectrum_byte *uncompressed_data; error = libspectrum_zlib_inflate( *buffer, data_length, &uncompressed_data, &uncompressed_length ); @@ -1989,12 +2043,9 @@ szx_context *ctx GCC_UNUSED ) { libspectrum_word flags; - int flash_compressed, ram_compressed; - libspectrum_error error; libspectrum_byte *w5100; - size_t data_remaining; - if( data_length < 62 ) { + if( data_length < 54 ) { libspectrum_print_error( LIBSPECTRUM_ERROR_UNKNOWN, "read_snet_chunk: length %lu too short", (unsigned long)data_length @@ -2014,8 +2065,7 @@ libspectrum_snap_set_spectranet_all_traps_disabled( snap, flags & ZXSTSNET_ALL_DISABLED ); libspectrum_snap_set_spectranet_rst8_trap_disabled( snap, flags & ZXSTSNET_RST8_DISABLED ); libspectrum_snap_set_spectranet_deny_downstream_a15( snap, flags & ZXSTSNET_DENY_DOWNSTREAM_A15 ); - flash_compressed = flags & ZXSTSNET_FLASH_COMPRESSED; - ram_compressed = flags & ZXSTSNET_RAM_COMPRESSED; + libspectrum_snap_set_spectranet_nmi_flipflop( snap, flags & ZXSTSNET_NMI_FLIPFLOP ); libspectrum_snap_set_spectranet_page_a( snap, **buffer ); (*buffer)++; libspectrum_snap_set_spectranet_page_b( snap, **buffer ); (*buffer)++; @@ -2028,13 +2078,65 @@ memcpy( w5100, *buffer, 0x30 ); (*buffer) += 0x30; - data_remaining = data_length - 54; + return LIBSPECTRUM_ERROR_NONE; +} +static libspectrum_error +read_snef_chunk( libspectrum_snap *snap, libspectrum_word version GCC_UNUSED, + const libspectrum_byte **buffer, + const libspectrum_byte *end GCC_UNUSED, size_t data_length, + szx_context *ctx GCC_UNUSED ) +{ + libspectrum_byte flags; + int flash_compressed; + libspectrum_error error; + size_t data_remaining; + + if( data_length < 5 ) { + libspectrum_print_error( + LIBSPECTRUM_ERROR_UNKNOWN, + "read_snef_chunk: length %lu too short", (unsigned long)data_length + ); + return LIBSPECTRUM_ERROR_UNKNOWN; + } + + flags = **buffer; (*buffer)++; + flash_compressed = flags & ZXSTSNEF_FLASH_COMPRESSED; + + data_remaining = data_length - 1; + error = read_snet_memory( snap, buffer, flash_compressed, &data_remaining, libspectrum_snap_set_spectranet_flash ); if( error ) return error; + return LIBSPECTRUM_ERROR_NONE; +} + +static libspectrum_error +read_sner_chunk( libspectrum_snap *snap, libspectrum_word version GCC_UNUSED, + const libspectrum_byte **buffer, + const libspectrum_byte *end GCC_UNUSED, size_t data_length, + szx_context *ctx GCC_UNUSED ) +{ + libspectrum_byte flags; + int ram_compressed; + libspectrum_error error; + size_t data_remaining; + + if( data_length < 5 ) { + libspectrum_print_error( + LIBSPECTRUM_ERROR_UNKNOWN, + "read_sner_chunk: length %lu too short", (unsigned long)data_length + ); + return LIBSPECTRUM_ERROR_UNKNOWN; + } + + flags = **buffer; (*buffer)++; + ram_compressed = flags & ZXSTSNER_RAM_COMPRESSED; + + data_remaining = data_length - 1; + error = read_snet_memory( snap, buffer, ram_compressed, &data_remaining, libspectrum_snap_set_spectranet_ram ); if( error ) @@ -2064,44 +2166,48 @@ static struct read_chunk_t read_chunks[] = { - { ZXSTBID_AY, read_ay_chunk }, - { ZXSTBID_BETA128, read_b128_chunk }, - { ZXSTBID_BETADISK, skip_chunk }, - { ZXSTBID_COVOX, skip_chunk }, - { ZXSTBID_CREATOR, read_crtr_chunk }, - { ZXSTBID_DIVIDE, read_dide_chunk }, - { ZXSTBID_DIVIDERAMPAGE, read_dirp_chunk }, - { ZXSTBID_DOCK, read_dock_chunk }, - { ZXSTBID_DSKFILE, skip_chunk }, - { ZXSTBID_GS, skip_chunk }, - { ZXSTBID_GSRAMPAGE, skip_chunk }, - { ZXSTBID_IF1, read_if1_chunk }, - { ZXSTBID_IF2ROM, read_if2r_chunk }, - { ZXSTBID_JOYSTICK, read_joy_chunk }, - { ZXSTBID_KEYBOARD, read_keyb_chunk }, - { ZXSTBID_MICRODRIVE, skip_chunk }, - { ZXSTBID_MOUSE, read_amxm_chunk }, - { ZXSTBID_MULTIFACE, skip_chunk }, - { ZXSTBID_OPUS, read_opus_chunk }, - { ZXSTBID_OPUSDISK, skip_chunk }, - { ZXSTBID_PLUS3DISK, skip_chunk }, - { ZXSTBID_PLUSD, read_plsd_chunk }, - { ZXSTBID_PLUSDDISK, skip_chunk }, - { ZXSTBID_RAMPAGE, read_ramp_chunk }, - { ZXSTBID_ROM, read_rom_chunk }, - { ZXSTBID_SIMPLEIDE, read_side_chunk }, - { ZXSTBID_SPECDRUM, read_drum_chunk }, - { ZXSTBID_SPECREGS, read_spcr_chunk }, - { ZXSTBID_SPECTRANET, read_snet_chunk }, - { ZXSTBID_TIMEXREGS, read_scld_chunk }, - { ZXSTBID_USPEECH, skip_chunk }, - { ZXSTBID_Z80REGS, read_z80r_chunk }, - { ZXSTBID_ZXATASPRAMPAGE, read_atrp_chunk }, - { ZXSTBID_ZXATASP, read_zxat_chunk }, - { ZXSTBID_ZXCF, read_zxcf_chunk }, - { ZXSTBID_ZXCFRAMPAGE, read_cfrp_chunk }, - { ZXSTBID_ZXPRINTER, skip_chunk }, - { ZXSTBID_ZXTAPE, skip_chunk }, + { ZXSTBID_AY, read_ay_chunk }, + { ZXSTBID_BETA128, read_b128_chunk }, + { ZXSTBID_BETADISK, skip_chunk }, + { ZXSTBID_COVOX, skip_chunk }, + { ZXSTBID_CREATOR, read_crtr_chunk }, + { ZXSTBID_DIVIDE, read_dide_chunk }, + { ZXSTBID_DIVIDERAMPAGE, read_dirp_chunk }, + { ZXSTBID_DOCK, read_dock_chunk }, + { ZXSTBID_DSKFILE, skip_chunk }, + { ZXSTBID_LEC, skip_chunk }, + { ZXSTBID_LECRAMPAGE, skip_chunk }, + { ZXSTBID_GS, skip_chunk }, + { ZXSTBID_GSRAMPAGE, skip_chunk }, + { ZXSTBID_IF1, read_if1_chunk }, + { ZXSTBID_IF2ROM, read_if2r_chunk }, + { ZXSTBID_JOYSTICK, read_joy_chunk }, + { ZXSTBID_KEYBOARD, read_keyb_chunk }, + { ZXSTBID_MICRODRIVE, skip_chunk }, + { ZXSTB... [truncated message content] |
From: <fr...@us...> - 2013-05-19 10:36:50
|
Revision: 750 http://sourceforge.net/p/fuse-for-macosx/code/750 Author: fredm Date: 2013-05-19 10:36:47 +0000 (Sun, 19 May 2013) Log Message: ----------- Merge up to vendor 1.1.0 release branches r4959. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/4959 Modified Paths: -------------- trunk/fuse/ChangeLog trunk/fuse/README trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/hacking/ChangeLog trunk/fuse/man/fuse.1 trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/Makefile.am trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/doc/libspectrum.3 trunk/libspectrum/libspectrum/hacking/ChangeLog Property Changed: ---------------- trunk/fuse/ trunk/libspectrum/libspectrum/ Index: trunk/fuse =================================================================== --- trunk/fuse 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/fuse 2013-05-19 10:36:47 UTC (rev 750) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-746 +/vendor/fuse-emulator/current/fuse:530-749 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/fuse/ChangeLog 2013-05-19 10:36:47 UTC (rev 750) @@ -1,4 +1,4 @@ -201?-??-?? Philip Kendall <phi...@sh...> +2013-05-18 Philip Kendall <phi...@sh...> * Fuse 1.1.0 released. @@ -1094,4 +1094,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 4879 2013-02-12 00:36:01Z zubzero $ +$Id: ChangeLog 4944 2013-05-16 20:55:22Z pak21 $ Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/fuse/README 2013-05-19 10:36:47 UTC (rev 750) @@ -25,7 +25,7 @@ * Support for the RZX input recording file format, including rollback and 'competition mode'. * Emulation of the DivIDE, Interface 1, Kempston mouse, Spectrum +3e, - ZXATASP, ZXCF, Beta 128, Opus Discovery and +D interfaces. + ZXATASP, ZXCF, Beta 128, Opus Discovery, +D and DISCiPLE interfaces. Help! <xyz> doesn't work ------------------------ @@ -105,6 +105,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -?? ???? 2012 +18th May, 2013 -$Id: README 4846 2013-01-03 09:14:29Z zubzero $ +$Id: README 4958 2013-05-18 13:07:46Z zubzero $ Modified: trunk/fuse/fusepb/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/fuse/fusepb/Info-Fuse.plist 2013-05-19 10:36:47 UTC (rev 750) @@ -552,7 +552,7 @@ <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>4915</string> + <string>1.1.0</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2013-05-19 10:36:47 UTC (rev 750) @@ -25,7 +25,11 @@ elsewhere and then the Fuse preferences set to refer to these new ROM images. This applies to the following machines; Pentagon series and Scorpion, and the following - interfaces; Interface I, Opus Discovery, Betadisk.<br> + interfaces; Interface I, Opus Discovery, Betadisk.</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Any changes + that enable and disable peripherals may result in a hard + reset of the emulated machine if required for proper + emulation of the hardware.<br> </font></li> </ul> <br> @@ -35,9 +39,7 @@ list-style-position: outside;"> <ul> <li><font face="Lucida Grande,Helvetica,Arial">Add Spectranet - ethernet interface emulation (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add SpeccyBoot - ethernet interface emulation (Patrik Persson).</font></li> + Ethernet interface emulation (Philip Kendall).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add SpecDrum sound interface emulation (Jon Mitchell).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add DISCiPLE @@ -110,8 +112,7 @@ <li><font face="Lucida Grande,Helvetica,Arial">Update SE ROMs to v4.04 (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Update to v1.38 - of the +3e ROMs (fixes bug #290) (thanks, Guesser) - (Fredrick Meunier).<br> + of the +3e ROMs (thanks, Guesser) (Fredrick Meunier).<br> </font></li> </ul> </li> Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/fuse/hacking/ChangeLog 2013-05-19 10:36:47 UTC (rev 750) @@ -4480,3 +4480,7 @@ complete some missing field initializers (Sergio). 20130505 peripherals/if1.c: put braces around empty body in ‘do’ statements (Sergio). +20130516 man/fuse.1: update date and version for 1.1 release. +20130516 ChangeLog: update date in main changelog. +20130517 README: update date for 1.1 release. +20130518 README: mention DISCiPLE support (Stuart). Modified: trunk/fuse/man/fuse.1 =================================================================== --- trunk/fuse/man/fuse.1 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/fuse/man/fuse.1 2013-05-19 10:36:47 UTC (rev 750) @@ -1,7 +1,7 @@ .\" -*- nroff -*- .\" .\" fuse.1: Fuse man page -.\" Copyright (c) 2001-2010 Russell Marks, Philip Kendall, Darren Salt, +.\" Copyright (c) 2001-2013 Russell Marks, Philip Kendall, Darren Salt, .\" Fredrick Meunier, Stuart Brady .\" .\" This program is free software; you can redistribute it and/or modify @@ -23,7 +23,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH fuse 1 "??th ????, 201?" "Version 1.1.0" "Emulators" +.TH fuse 1 "18th May, 2013" "Version 1.1.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Index: trunk/libspectrum/libspectrum =================================================================== --- trunk/libspectrum/libspectrum 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/libspectrum/libspectrum 2013-05-19 10:36:47 UTC (rev 750) Property changes on: trunk/libspectrum/libspectrum ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/libspectrum:556-557 /vendor/fuse-emulator/0.10.0-pre1/libspectrum:545-546 -/vendor/fuse-emulator/current/libspectrum:530-740 +/vendor/fuse-emulator/current/libspectrum:530-749 /vendor/fuse-emulator/fuse-1.0.0a/libspectrum:668-669 /vendor/fuse-emulator/fuse-r4617/libspectrum:686 \ No newline at end of property Modified: trunk/libspectrum/libspectrum/ChangeLog =================================================================== --- trunk/libspectrum/libspectrum/ChangeLog 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/libspectrum/libspectrum/ChangeLog 2013-05-19 10:36:47 UTC (rev 750) @@ -1,4 +1,4 @@ -201?-??-?? Philip Kendall <phi...@sh...> +2013-05-18 Philip Kendall <phi...@sh...> * libspectrum 1.1.0 released. @@ -333,5 +333,5 @@ * libspectrum separated from Fuse just before the 0.5.0 release of Fuse; see Fuse's ChangeLog for changes up to this point -$Id: ChangeLog 4801 2012-12-26 10:55:01Z fredm $ +$Id: ChangeLog 4948 2013-05-16 21:00:24Z pak21 $ Modified: trunk/libspectrum/libspectrum/Makefile.am =================================================================== --- trunk/libspectrum/libspectrum/Makefile.am 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/libspectrum/libspectrum/Makefile.am 2013-05-19 10:36:47 UTC (rev 750) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in -## Copyright (c) 2001-2004 Philip Kendall +## Copyright (c) 2001-2013 Philip Kendall -## $Id: Makefile.am 4757 2012-11-07 11:14:48Z fredm $ +## $Id: Makefile.am 4935 2013-05-16 19:43:50Z pak21 $ ## 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 @@ -63,7 +63,7 @@ zlib.c \ zxs.c -libspectrum_la_LDFLAGS = -version-info 8:0:0 -no-undefined @WINDRES_LDFLAGS@ +libspectrum_la_LDFLAGS = -version-info 9:0:0 -no-undefined @WINDRES_LDFLAGS@ libspectrum_la_LIBADD = @AUDIOFILE_LIBS@ @GLIB_LIBS@ -lm Modified: trunk/libspectrum/libspectrum/README =================================================================== --- trunk/libspectrum/libspectrum/README 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/libspectrum/libspectrum/README 2013-05-19 10:36:47 UTC (rev 750) @@ -67,6 +67,6 @@ Then, type "make" and if everything went well, "make install". Philip Kendall <phi...@sh...> -?? ??? 201? +18th May, 2013 -$Id: README 4801 2012-12-26 10:55:01Z fredm $ +$Id: README 4951 2013-05-17 18:48:41Z pak21 $ Modified: trunk/libspectrum/libspectrum/doc/libspectrum.3 =================================================================== --- trunk/libspectrum/libspectrum/doc/libspectrum.3 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/libspectrum/libspectrum/doc/libspectrum.3 2013-05-19 10:36:47 UTC (rev 750) @@ -1,7 +1,7 @@ .\" -*- nroff -*- .\" .\" libspectrum.3: libspectrum summary -.\" Copyright (c) 2004-2008 Philip Kendall +.\" Copyright (c) 2004-2013 Philip Kendall .\" .\" 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 @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH libspectrum 3 "16th December, 2010" "Version 1.0.0" "Emulators" +.TH libspectrum 3 "18th May, 2013" "Version 1.1.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: trunk/libspectrum/libspectrum/hacking/ChangeLog =================================================================== --- trunk/libspectrum/libspectrum/hacking/ChangeLog 2013-05-18 13:41:18 UTC (rev 749) +++ trunk/libspectrum/libspectrum/hacking/ChangeLog 2013-05-19 10:36:47 UTC (rev 750) @@ -942,3 +942,7 @@ patch #305). 20130307 accessor.pl,snap_accessors.txt,szx.c: implement Spectranet's "suppress NMI" flipflop (bug #259). +20130516 Makefile.am: update library version number for 1.1 release. +20130516 doc/libspectrum.3: update version number and date for 1.1 release. +20130516 ChangeLog: update date in main changelog. +20130517 README: update one more date for the 1.1 release. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-05-19 12:37:11
|
Revision: 753 http://sourceforge.net/p/fuse-for-macosx/code/753 Author: fredm Date: 2013-05-19 12:37:08 +0000 (Sun, 19 May 2013) Log Message: ----------- Merge up to vendor 1.1.0 release branches r4964. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/4964 Modified Paths: -------------- trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/main.m trunk/fuse/fusepb/models/Emulator.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/settings-header.pl trunk/fuse/fusepb/views/DisplayOpenGLView.h trunk/fuse/fusepb/views/DisplayOpenGLView.m trunk/fuse/hacking/ChangeLog trunk/fuse/periph.c trunk/fuse/periph.h trunk/fuse/perl/Fuse/Dialog.pm trunk/fuse/settings-header.pl trunk/fuse/settings.pl trunk/fuse/ui/gtk/binary.c trunk/fuse/ui/gtk/confirm.c trunk/fuse/ui/gtk/gtkinternals.h trunk/fuse/ui/gtk/gtkjoystick.c trunk/fuse/ui/gtk/gtkui.c trunk/fuse/ui/gtk/options.pl trunk/fuse/ui/gtk/pokemem.c trunk/fuse/ui/gtk/rollback.c trunk/fuse/ui/gtk/roms.c trunk/fuse/ui/gtk/stock.c trunk/fuse/ui/options.dat trunk/fuse/ui/widget/options.pl trunk/fuse/ui/widget/roms.c trunk/fuse/ui/win32/options.pl trunk/libspectrum/libspectrum/doc/libspectrum.txt trunk/libspectrum/libspectrum/hacking/ChangeLog Property Changed: ---------------- trunk/fuse/ trunk/libspectrum/libspectrum/ Index: trunk/fuse =================================================================== --- trunk/fuse 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse 2013-05-19 12:37:08 UTC (rev 753) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-749 +/vendor/fuse-emulator/current/fuse:530-752 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/fusepb/controllers/FuseController.m 2013-05-19 12:37:08 UTC (rev 753) @@ -1172,8 +1172,7 @@ if( error != NSAlertAlternateReturn ) return; - error = [[DisplayOpenGLView instance] settingsResetDefaults]; - if( error ) ui_error( UI_ERROR_ERROR, "Error resetting preferences" ); + [[DisplayOpenGLView instance] settingsResetDefaults]; } - (void)dealloc Modified: trunk/fuse/fusepb/main.m =================================================================== --- trunk/fuse/fusepb/main.m 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/fusepb/main.m 2013-05-19 12:37:08 UTC (rev 753) @@ -41,8 +41,7 @@ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - int error = settings_defaults( &settings_current ); - if( error ) return error; + settings_defaults( &settings_current ); /* This is passed if we are launched by double-clicking */ if ( argc >= 2 && strncmp( argv[1], "-psn", 4 ) == 0 ) { Modified: trunk/fuse/fusepb/models/Emulator.h =================================================================== --- trunk/fuse/fusepb/models/Emulator.h 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/fusepb/models/Emulator.h 2013-05-19 12:37:08 UTC (rev 753) @@ -131,7 +131,7 @@ -(void) profileFinish:(const char *)filename; -(void) settingsSave; --(int) settingsResetDefaults; +-(void) settingsResetDefaults; -(void) fullscreen; Modified: trunk/fuse/fusepb/models/Emulator.m =================================================================== --- trunk/fuse/fusepb/models/Emulator.m 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/fusepb/models/Emulator.m 2013-05-19 12:37:08 UTC (rev 753) @@ -495,10 +495,10 @@ settings_write_config( &settings_current ); } --(int) settingsResetDefaults +-(void) settingsResetDefaults { [NSUserDefaults resetStandardUserDefaults]; - return settings_defaults( &settings_current ); + settings_defaults( &settings_current ); } -(void) fullscreen Modified: trunk/fuse/fusepb/settings-header.pl =================================================================== --- trunk/fuse/fusepb/settings-header.pl 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/fusepb/settings-header.pl 2013-05-19 12:37:08 UTC (rev 753) @@ -106,8 +106,8 @@ extern settings_info settings_default; int settings_init( int *first_arg, int argc, char **argv ); -int settings_defaults( settings_info *settings ); -int settings_copy( settings_info *dest, settings_info *src ); +void settings_defaults( settings_info *settings ); +void settings_copy( settings_info *dest, settings_info *src ); #define SETTINGS_ROM_COUNT 32 extern const char *settings_rom_name[ SETTINGS_ROM_COUNT ]; Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.h 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.h 2013-05-19 12:37:08 UTC (rev 753) @@ -166,7 +166,7 @@ -(void) profileFinish:(const char *)filename; -(void) settingsSave; --(int) settingsResetDefaults; +-(void) settingsResetDefaults; -(void) fullscreen; Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2013-05-19 12:37:08 UTC (rev 753) @@ -952,9 +952,9 @@ [proxy_emulator settingsSave]; } --(int) settingsResetDefaults +-(void) settingsResetDefaults { - return [proxy_emulator settingsResetDefaults]; + [proxy_emulator settingsResetDefaults]; } -(void) fullscreen Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/hacking/ChangeLog 2013-05-19 12:37:08 UTC (rev 753) @@ -4480,7 +4480,17 @@ complete some missing field initializers (Sergio). 20130505 peripherals/if1.c: put braces around empty body in ‘do’ statements (Sergio). +20130512 ui/win32/options.pl: refactor options dialogs to split *_init and + *_done functions out of *_proc function (Sergio). +20130513 settings-header.pl,settings.pl: change settings_defaults(), + settings_copy() and settings_copy_internal() to void functions (Fred). +20130513 ui/widget/{options.pl,roms.c}: change settings_copy() to void function + on widget UIs (Sergio). 20130516 man/fuse.1: update date and version for 1.1 release. 20130516 ChangeLog: update date in main changelog. +20130517 periph.[c|h],perl/Fuse/Dialog.pm,ui/gtk/{binary.c,confirm.c, + gtkinternals.h,gtkjoystick.c,gtkui.c,options.pl,pokemem.c,rollback.c, + roms.c,stock.c},ui/options.dat,ui/win32/options.pl: display + confirmation dialogue for reset due to peripheral changes (Sergio). 20130517 README: update date for 1.1 release. 20130518 README: mention DISCiPLE support (Stuart). Modified: trunk/fuse/periph.c =================================================================== --- trunk/fuse/periph.c 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/periph.c 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* periph.c: code for handling peripherals Copyright (c) 2005-2011 Philip Kendall - $Id: periph.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: periph.c 4962 2013-05-19 05:25:15Z sbaldovi $ 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 @@ -169,6 +169,28 @@ *needs_hard_reset; } +/* Work out whether a peripheral needs a hard reset without (de)activate */ +static void +get_hard_reset( gpointer key, gpointer value, gpointer user_data ) +{ + periph_private_t *private = value; + int active = 0; + int *machine_hard_reset = (int *)user_data; + int periph_hard_reset = 0; + + switch ( private->present ) { + case PERIPH_PRESENT_NEVER: active = 0; break; + case PERIPH_PRESENT_OPTIONAL: + active = private->periph->option ? *(private->periph->option) : 0; break; + case PERIPH_PRESENT_ALWAYS: active = 1; break; + } + + periph_hard_reset = ( private && ( private->active != active ) && + private->periph->hard_reset ); + + *machine_hard_reset = ( periph_hard_reset || *machine_hard_reset ); +} + /* Free the memory used by a peripheral-port response pair */ static void free_peripheral( gpointer data, gpointer user_data GCC_UNUSED ) @@ -426,6 +448,17 @@ } } +int +periph_postcheck( void ) +{ + int needs_hard_reset = 0; + + /* Detect if a hard reset is needed without (de)activating peripherals */ + g_hash_table_foreach( peripherals, get_hard_reset, &needs_hard_reset ); + + return needs_hard_reset; +} + /* Register debugger page/unpage events for a peripheral */ void periph_register_paging_events( const char *type_string, int *page_event, Modified: trunk/fuse/periph.h =================================================================== --- trunk/fuse/periph.h 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/periph.h 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* periph.h: code for handling peripherals Copyright (c) 2004-2011 Philip Kendall - $Id: periph.h 4906 2013-03-10 11:21:37Z fredm $ + $Id: periph.h 4962 2013-05-19 05:25:15Z sbaldovi $ 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 @@ -154,6 +154,8 @@ void periph_posthook( void ); +int periph_postcheck( void ); + /* Register debugger page/unpage events for a peripheral */ void periph_register_paging_events( const char *type_string, int *page_event, int *unpage_event ); Modified: trunk/fuse/perl/Fuse/Dialog.pm =================================================================== --- trunk/fuse/perl/Fuse/Dialog.pm 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/perl/Fuse/Dialog.pm 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ # Fuse::Dialog: routines for creating Fuse dialog boxes # Copyright (c) 2003-2005 Philip Kendall -# $Id: Dialog.pm 2889 2007-05-26 17:45:08Z zubzero $ +# $Id: Dialog.pm 4962 2013-05-19 05:25:15Z sbaldovi $ # 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 @@ -49,6 +49,7 @@ my( $name, $title, @widgets ) = split /\n/; my @widget_data; + my $postcheck; my $posthook; foreach( @widgets ) { @@ -56,6 +57,11 @@ my( $widget_type, $text, $value, $key, $data1, $data2 ) = split /\s*,\s*/; + if( lc $widget_type eq 'postcheck' ) { + $postcheck = $text; + next; + } + if( lc $widget_type eq 'posthook' ) { $posthook = $text; next; @@ -72,6 +78,7 @@ push @dialogs, { name => $name, title => $title, + postcheck => $postcheck, posthook => $posthook, widgets => \@widget_data }; } Modified: trunk/fuse/settings-header.pl =================================================================== --- trunk/fuse/settings-header.pl 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/settings-header.pl 2013-05-19 12:37:08 UTC (rev 753) @@ -3,7 +3,7 @@ # settings-header.pl: generate settings.h from settings.dat # Copyright (c) 2002-2003 Philip Kendall -# $Id: settings-header.pl 4924 2013-05-05 07:40:02Z sbaldovi $ +# $Id: settings-header.pl 4961 2013-05-19 05:17:30Z sbaldovi $ # 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 @@ -102,8 +102,8 @@ extern settings_info settings_default; int settings_init( int *first_arg, int argc, char **argv ); -int settings_defaults( settings_info *settings ); -int settings_copy( settings_info *dest, settings_info *src ); +void settings_defaults( settings_info *settings ); +void settings_copy( settings_info *dest, settings_info *src ); #define SETTINGS_ROM_COUNT 30 char **settings_get_rom_setting( settings_info *settings, size_t which ); Modified: trunk/fuse/settings.pl =================================================================== --- trunk/fuse/settings.pl 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/settings.pl 2013-05-19 12:37:08 UTC (rev 753) @@ -3,7 +3,7 @@ # settings.pl: generate settings.c from settings.dat # Copyright (c) 2002-2005 Philip Kendall, Fredrick Meunier -# $Id: settings.pl 4841 2013-01-02 01:55:24Z zubzero $ +# $Id: settings.pl 4961 2013-05-19 05:17:30Z sbaldovi $ # 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 @@ -123,7 +123,7 @@ static int settings_command_line( settings_info *settings, int *first_arg, int argc, char **argv ); -static int settings_copy_internal( settings_info *dest, settings_info *src ); +static void settings_copy_internal( settings_info *dest, settings_info *src ); /* Called on emulator startup */ int @@ -141,14 +141,13 @@ } /* Fill the settings structure with sensible defaults */ -int settings_defaults( settings_info *settings ) +void settings_defaults( settings_info *settings ) { - int retval; BOOL value; NSMutableDictionary *defaultValues = [NSMutableDictionary dictionary]; - retval = settings_copy_internal( settings, &settings_default ); + settings_copy_internal( settings, &settings_default ); CODE @@ -193,8 +192,6 @@ [[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues]; [[NSUserDefaultsController sharedUserDefaultsController] setInitialValues:defaultValues]; - - return retval; } /* Read options from the config file */ @@ -457,7 +454,7 @@ } /* Copy one settings object to another */ -static int +static void settings_copy_internal( settings_info *dest, settings_info *src ) { settings_free( dest ); @@ -483,7 +480,7 @@ print << "CODE"; if( src->cocoa && src->cocoa->$name ) { dest->cocoa->$name = [NSMutableArray arrayWithArray:src->cocoa->$name]; - if( !dest->cocoa->$name ) { settings_free( dest ); return 1; } + if( !dest->cocoa->$name ) { settings_free( dest ); } } else { dest->cocoa->$name = [NSMutableArray arrayWithCapacity:NUM_RECENT_ITEMS]; } @@ -492,8 +489,6 @@ } print << 'CODE'; - - return 0; } int @@ -551,10 +546,10 @@ } /* Copy one settings object to another */ -int settings_copy( settings_info *dest, settings_info *src ) +void settings_copy( settings_info *dest, settings_info *src ) { - if( settings_defaults( dest ) ) return 1; - return settings_copy_internal( dest, src ); + settings_defaults( dest ); + settings_copy_internal( dest, src ); } char ** Modified: trunk/fuse/ui/gtk/binary.c =================================================================== --- trunk/fuse/ui/gtk/binary.c 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/gtk/binary.c 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* binary.c: GTK+ routines to load/save chunks of binary data Copyright (c) 2003-2005 Philip Kendall - $Id: binary.c 4908 2013-03-10 22:13:57Z sbaldovi $ + $Id: binary.c 4962 2013-05-19 05:25:15Z sbaldovi $ 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 @@ -146,7 +146,7 @@ /* Command buttons */ gtkstock_create_ok_cancel( info->dialog, NULL, info->activate_data, info, - NULL ); + DEFAULT_DESTROY, DEFAULT_DESTROY ); } void Modified: trunk/fuse/ui/gtk/confirm.c =================================================================== --- trunk/fuse/ui/gtk/confirm.c 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/gtk/confirm.c 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* confirm.c: Confirmation dialog box Copyright (c) 2000-2003 Philip Kendall, Russell Marks - $Id: confirm.c 4723 2012-07-08 13:26:15Z fredm $ + $Id: confirm.c 4962 2013-05-19 05:25:15Z sbaldovi $ 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 @@ -60,7 +60,7 @@ gtk_box_pack_start( GTK_BOX( content_area ), label, TRUE, TRUE, 5 ); gtkstock_create_ok_cancel( dialog, NULL, G_CALLBACK( set_confirmed ), - &confirm, NULL ); + &confirm, DEFAULT_DESTROY, DEFAULT_DESTROY ); gtk_widget_show_all( dialog ); gtk_main(); Modified: trunk/fuse/ui/gtk/gtkinternals.h =================================================================== --- trunk/fuse/ui/gtk/gtkinternals.h 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/gtk/gtkinternals.h 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* gtkinternals.h: stuff internal to the GTK+ UI Copyright (c) 2003-2005 Philip Kendall - $Id: gtkinternals.h 4723 2012-07-08 13:26:15Z fredm $ + $Id: gtkinternals.h 4962 2013-05-19 05:25:15Z sbaldovi $ 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 @@ -108,7 +108,8 @@ GtkAccelGroup *accel, /* for OK button -> */ GCallback action, gpointer actiondata, - /* for both buttons -> */ GCallback destroy ); + /* for both buttons -> */ GCallback destroy_ok, + GCallback destroy_cancel ); GtkAccelGroup* gtkstock_create_close( GtkWidget *widget, GtkAccelGroup *accel, GCallback destroy, gboolean esconly ); Modified: trunk/fuse/ui/gtk/gtkjoystick.c =================================================================== --- trunk/fuse/ui/gtk/gtkjoystick.c 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/gtk/gtkjoystick.c 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* gtkjoystick.c: Joystick emulation Copyright (c) 2003-2004 Darren Salt, Philip Kendall - $Id: gtkjoystick.c 4915 2013-04-07 05:32:09Z fredm $ + $Id: gtkjoystick.c 4962 2013-05-19 05:25:15Z sbaldovi $ 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 @@ -231,7 +231,7 @@ g_object_unref( model ); gtkstock_create_ok_cancel( dialog, NULL, G_CALLBACK( joystick_done ), - &info, NULL ); + &info, DEFAULT_DESTROY, DEFAULT_DESTROY ); gtk_widget_show_all( dialog ); gtk_main(); Modified: trunk/fuse/ui/gtk/gtkui.c =================================================================== --- trunk/fuse/ui/gtk/gtkui.c 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/gtk/gtkui.c 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* gtkui.c: GTK+ routines for dealing with the user interface Copyright (c) 2000-2005 Philip Kendall, Russell Marks - $Id: gtkui.c 4740 2012-10-10 12:48:21Z fredm $ + $Id: gtkui.c 4962 2013-05-19 05:25:15Z sbaldovi $ 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 @@ -456,8 +456,9 @@ /* Create and add the actions buttons to the dialog box */ gtkstock_create_ok_cancel( dialog.dialog, NULL, - G_CALLBACK( menu_options_filter_done ), - (gpointer) &dialog, NULL ); + G_CALLBACK( menu_options_filter_done ), + (gpointer) &dialog, DEFAULT_DESTROY, + DEFAULT_DESTROY ); gtk_widget_show_all( dialog.dialog ); @@ -589,8 +590,9 @@ /* Create and add the actions buttons to the dialog box */ gtkstock_create_ok_cancel( dialog.dialog, NULL, - G_CALLBACK( menu_machine_select_done ), - (gpointer) &dialog, NULL ); + G_CALLBACK( menu_machine_select_done ), + (gpointer) &dialog, DEFAULT_DESTROY, + DEFAULT_DESTROY ); gtk_widget_show_all( dialog.dialog ); @@ -749,8 +751,9 @@ /* Create and add the actions buttons to the dialog box */ gtkstock_create_ok_cancel( dialog.dialog, NULL, - G_CALLBACK( confirm_joystick_done ), - (gpointer) &dialog, NULL ); + G_CALLBACK( confirm_joystick_done ), + (gpointer) &dialog, DEFAULT_DESTROY, + DEFAULT_DESTROY ); gtk_widget_show_all( dialog.dialog ); Modified: trunk/fuse/ui/gtk/options.pl =================================================================== --- trunk/fuse/ui/gtk/options.pl 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/gtk/options.pl 2013-05-19 12:37:08 UTC (rev 753) @@ -1,9 +1,9 @@ #!/usr/bin/perl -w # options.pl: generate options dialog boxes -# $Id: options.pl 4723 2012-07-08 13:26:15Z fredm $ +# $Id: options.pl 4962 2013-05-19 05:25:15Z sbaldovi $ -# Copyright (c) 2002-2004 Philip Kendall +# Copyright (c) 2002-2013 Philip Kendall # 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 @@ -36,14 +36,14 @@ my %combo_default; print Fuse::GPL( 'options.c: options dialog boxes', - '2001-2004 Philip Kendall' ) . << "CODE"; + '2001-2013 Philip Kendall' ) . << "CODE"; /* This file is autogenerated from options.dat by options.pl. Do not edit unless you know what you\'re doing! */ #include <config.h> -#ifdef UI_GTK /* Use this file iff we're using GTK+ */ +#ifdef UI_GTK /* Use this file if we're using GTK+ */ #include <stdio.h> #include <stdlib.h> @@ -65,8 +65,9 @@ static int option_enumerate_combo( const char **options, char *value, guint count, - int def ) { - int i; + int def ) +{ + guint i; if( value != NULL ) { for( i = 0; i < count; i++) { if( !strcmp( value, options[ i ] ) ) @@ -126,11 +127,12 @@ } print << "CODE"; int -option_enumerate_$_->{name}_$widget->{value}( void ) { +option_enumerate_$_->{name}_$widget->{value}( void ) +{ return option_enumerate_combo( $_->{name}_$widget->{value}_combo, - settings_current.$widget->{value}, - $_->{name}_$widget->{value}_combo_count, - $combo_default{$widget->{value}} ); + settings_current.$widget->{value}, + $_->{name}_$widget->{value}_combo_count, + $combo_default{$widget->{value}} ); } CODE @@ -171,7 +173,7 @@ dialog.$widget->{value} = gtk_check_button_new_with_label( "$text" ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( dialog.$widget->{value} ), - settings_current.$widget->{value} ); + settings_current.$widget->{value} ); gtk_container_add( GTK_CONTAINER( content_area ), dialog.$widget->{value} ); CODE @@ -187,7 +189,7 @@ gchar buffer[80]; gtk_box_pack_start( GTK_BOX( content_area ), frame, TRUE, TRUE, 0 ); - + gtk_container_set_border_width( GTK_CONTAINER( hbox ), 4 ); gtk_container_add( GTK_CONTAINER( frame ), hbox ); @@ -210,7 +212,7 @@ GtkWidget *hbox = gtk_box_new( GTK_ORIENTATION_HORIZONTAL, 0 ); GtkWidget *combo = gtk_combo_box_text_new(); GtkWidget *text = gtk_label_new( "$text" ); - int i; + guint i; gtk_box_pack_start( GTK_BOX( hbox ), text, FALSE, FALSE, 5 ); text = gtk_label_new( " " ); @@ -244,8 +246,8 @@ print << "CODE"; /* Create the OK and Cancel buttons */ gtkstock_create_ok_cancel( dialog.dialog, NULL, - G_CALLBACK( menu_options_$_->{name}_done ), - (gpointer) &dialog, NULL ); + G_CALLBACK( menu_options_$_->{name}_done ), + (gpointer) &dialog, NULL, DEFAULT_DESTROY ); /* Display the window */ gtk_widget_show_all( dialog.dialog ); @@ -265,6 +267,18 @@ CODE + if( $_->{postcheck} ) { + + print << "CODE"; + /* Get a copy of current settings */ + settings_info original_settings; + memset( &original_settings, 0, sizeof( settings_info ) ); + settings_copy( &original_settings, &settings_current ); + +CODE + + } + foreach my $widget ( @{ $_->{widgets} } ) { if( $widget->{type} eq "Checkbox" ) { @@ -286,7 +300,7 @@ print << "CODE"; free( settings_current.$widget->{value} ); settings_current.$widget->{value} = utils_safe_strdup( $_->{name}_$widget->{value}_combo[ - gtk_combo_box_get_active( GTK_COMBO_BOX( ptr->$widget->{value} ) ) ] ); + gtk_combo_box_get_active( GTK_COMBO_BOX( ptr->$widget->{value} ) ) ] ); CODE } else { @@ -294,6 +308,26 @@ } } + if( $_->{postcheck} ) { + + print << "CODE"; + int needs_hard_reset = $_->{postcheck}(); + + /* Confirm reset */ + if( needs_hard_reset && !gtkui_confirm("Some options need to reset the machine. Reset?" ) ) { + + /* Cancel new settings */ + settings_copy( &settings_current, &original_settings ); + settings_free( &original_settings ); + return; + } + + settings_free( &original_settings ); + +CODE + + } + print << "CODE"; gtk_widget_destroy( ptr->dialog ); @@ -307,6 +341,7 @@ gtk_main_quit(); } + CODE } Modified: trunk/fuse/ui/gtk/pokemem.c =================================================================== --- trunk/fuse/ui/gtk/pokemem.c 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/gtk/pokemem.c 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* pokemem.c: GTK+ interface that handles pok files Copyright (c) 2011 Philip Kendall, Sergio Baldoví - $Id: pokemem.c 4769 2012-11-22 12:42:08Z fredm $ + $Id: pokemem.c 4962 2013-05-19 05:25:15Z sbaldovi $ 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 @@ -182,6 +182,7 @@ gtkstock_create_ok_cancel( dialog, accel_group, G_CALLBACK( pokemem_update_list ), (gpointer) &dialog, + G_CALLBACK( pokemem_close ), G_CALLBACK( pokemem_close ) ); gtk_accel_group_disconnect_key( accel_group, GDK_KEY_Return, 0 ); Modified: trunk/fuse/ui/gtk/rollback.c =================================================================== --- trunk/fuse/ui/gtk/rollback.c 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/gtk/rollback.c 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* rollback.c: select a rollback point Copyright (c) 2004 Philip Kendall - $Id: rollback.c 4708 2012-05-25 12:14:50Z fredm $ + $Id: rollback.c 4962 2013-05-19 05:25:15Z sbaldovi $ 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 @@ -100,7 +100,7 @@ list = create_rollback_list(); gtkstock_create_ok_cancel( dialog, NULL, G_CALLBACK( select_row ), list, - NULL ); + DEFAULT_DESTROY, DEFAULT_DESTROY ); content_area = gtk_dialog_get_content_area( GTK_DIALOG( dialog ) ); gtk_box_pack_start( GTK_BOX( content_area ), list, TRUE, TRUE, 0 ); Modified: trunk/fuse/ui/gtk/roms.c =================================================================== --- trunk/fuse/ui/gtk/roms.c 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/gtk/roms.c 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* roms.c: ROM selector dialog box Copyright (c) 2003-2004 Philip Kendall - $Id: roms.c 4723 2012-07-08 13:26:15Z fredm $ + $Id: roms.c 4962 2013-05-19 05:25:15Z sbaldovi $ 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 @@ -75,7 +75,7 @@ /* Create the OK and Cancel buttons */ gtkstock_create_ok_cancel( dialog, NULL, G_CALLBACK( roms_done ), &info, - NULL ); + DEFAULT_DESTROY, DEFAULT_DESTROY ); /* And the current values of each of the ROMs */ vbox = GTK_BOX( gtk_dialog_get_content_area( GTK_DIALOG( dialog ) ) ); Modified: trunk/fuse/ui/gtk/stock.c =================================================================== --- trunk/fuse/ui/gtk/stock.c 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/gtk/stock.c 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* stock.c: 'standard' GTK+ widgets etc Copyright (c) 2004 Darren Salt, Philip Kendall - $Id: stock.c 4723 2012-07-08 13:26:15Z fredm $ + $Id: stock.c 4962 2013-05-19 05:25:15Z sbaldovi $ 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 @@ -147,14 +147,15 @@ GtkAccelGroup* gtkstock_create_ok_cancel( GtkWidget *widget, GtkAccelGroup *accel, - GCallback action, gpointer actiondata, - GCallback destroy ) + GCallback action, gpointer actiondata, + GCallback destroy_ok, GCallback destroy_cancel ) { gtkstock_button btn[] = { { GTK_STOCK_CANCEL, NULL, NULL, NULL, 0, 0, 0, 0 }, { GTK_STOCK_OK, NULL, NULL, NULL, 0, 0, 0, 0 }, }; - btn[1].destroy = btn[0].destroy = destroy ? destroy : DEFAULT_DESTROY; + btn[0].destroy = destroy_cancel ? destroy_cancel : NULL; + btn[1].destroy = destroy_ok ? destroy_ok : NULL; btn[1].action = action; btn[1].actiondata = actiondata; Modified: trunk/fuse/ui/options.dat =================================================================== --- trunk/fuse/ui/options.dat 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/options.dat 2013-05-19 12:37:08 UTC (rev 753) @@ -46,6 +46,7 @@ Checkbox, Spectra(n)et, spectranet, INPUT_KEY_n Checkbox, Spe(c)tranet disable, spectranet_disable, INPUT_KEY_c #endif +Postcheck, periph_postcheck Posthook, periph_posthook peripherals_disk @@ -63,6 +64,7 @@ Checkbox, (B)eta 128 interface, beta128, INPUT_KEY_b Checkbox, Beta 128 (a)uto-boot in 48K machines, beta128_48boot, INPUT_KEY_a Checkbox, (O)pus Discovery interface, opus, INPUT_KEY_o +Postcheck, periph_postcheck Posthook, periph_posthook rzx Modified: trunk/fuse/ui/widget/options.pl =================================================================== --- trunk/fuse/ui/widget/options.pl 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/widget/options.pl 2013-05-19 12:37:08 UTC (rev 753) @@ -3,7 +3,7 @@ # options.pl: generate options dialog boxes # Copyright (c) 2001-2008 Philip Kendall, Fredrick Meunier -# $Id: options.pl 4913 2013-03-25 11:00:51Z fredm $ +# $Id: options.pl 4961 2013-05-19 05:17:30Z sbaldovi $ # 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 @@ -363,11 +363,9 @@ int widget_options_finish( widget_finish_state finished ) { - int error = 0; - /* If we exited normally, actually set the options */ if( finished == WIDGET_FINISHED_OK ) { - error = settings_copy( &settings_current, &widget_options_settings ); + settings_copy( &settings_current, &widget_options_settings ); /* Bring the peripherals list into sync with the new options */ periph_posthook(); /* make the needed UI changes */ @@ -375,7 +373,6 @@ } settings_free( &widget_options_settings ); memset( &widget_options_settings, 0, sizeof( settings_info ) ); - if( error ) return error; return 0; } @@ -434,8 +431,7 @@ if( !widget_$_->{name}_running ) { /* we want to copy settings, only when start up */ highlight_line = 0; /* Get a copy of the current settings */ - error = settings_copy( &widget_options_settings, &settings_current ); - if( error ) { settings_free( &widget_options_settings ); return error; } + settings_copy( &widget_options_settings, &settings_current ); widget_$_->{name}_running = 1; } Modified: trunk/fuse/ui/widget/roms.c =================================================================== --- trunk/fuse/ui/widget/roms.c 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/widget/roms.c 2013-05-19 12:37:08 UTC (rev 753) @@ -1,7 +1,7 @@ /* roms.c: select ROMs widget Copyright (c) 2003-2004 Philip Kendall - $Id: roms.c 4633 2012-01-19 23:26:10Z pak21 $ + $Id: roms.c 4961 2013-05-19 05:17:30Z sbaldovi $ 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 @@ -44,7 +44,7 @@ int widget_roms_draw( void *data ) { - int i, error; + int i; char buffer[32]; char key[] = "\x0A "; @@ -59,11 +59,7 @@ ui_error( UI_ERROR_ERROR, "out of memory at %s:%d", __FILE__, __LINE__ ); return 1; } - error = settings_copy( widget_settings, &settings_current ); - if( error ) { - settings_free( widget_settings ); free( widget_settings ); - return error; - } + settings_copy( widget_settings, &settings_current ); info->initialised = 1; } @@ -158,11 +154,8 @@ int widget_roms_finish( widget_finish_state finished ) { - int error; - if( finished == WIDGET_FINISHED_OK ) { - error = settings_copy( &settings_current, widget_settings ); - if( error ) return error; + settings_copy( &settings_current, widget_settings ); } settings_free( widget_settings ); free( widget_settings ); Modified: trunk/fuse/ui/win32/options.pl =================================================================== --- trunk/fuse/ui/win32/options.pl 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/fuse/ui/win32/options.pl 2013-05-19 12:37:08 UTC (rev 753) @@ -1,9 +1,9 @@ #!/usr/bin/perl -w # options.pl: generate options dialog boxes -# $Id: options.pl 4643 2012-01-21 16:12:10Z pak21 $ +# $Id: options.pl 4962 2013-05-19 05:25:15Z sbaldovi $ -# Copyright (c) 2001-2007 Philip Kendall, Marek Januszewski, Stuart Brady +# Copyright (c) 2001-2013 Philip Kendall, Marek Januszewski, Stuart Brady # 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 @@ -35,14 +35,14 @@ my @dialogs = Fuse::Dialog::read( shift @ARGV ); print Fuse::GPL( 'options.c: options dialog boxes', - '2001-2009 Philip Kendall, Marek Januszewski, Stuart Brady' ) . << "CODE"; + '2001-2013 Philip Kendall, Marek Januszewski, Stuart Brady' ) . << "CODE"; /* This file is autogenerated from options.dat by options.pl. Do not edit unless you know what you\'re doing! */ #include <config.h> -#ifdef UI_WIN32 /* Use this file iff we're using WIN32 */ +#ifdef UI_WIN32 /* Use this file if we're using WIN32 */ #include <libspectrum.h> @@ -57,7 +57,7 @@ static int option_enumerate_combo( const char **options, char *value, int count, - int def ) { + int def ) { int i; if( value != NULL ) { for( i = 0; i < count; i++) { @@ -120,9 +120,9 @@ int option_enumerate_$_->{name}_$widget->{value}( void ) { return option_enumerate_combo( $_->{name}_$widget->{value}_combo, - settings_current.$widget->{value}, - $_->{name}_$widget->{value}_combo_count, - $combo_default{$widget->{value}} ); + settings_current.$widget->{value}, + $_->{name}_$widget->{value}_combo_count, + $combo_default{$widget->{value}} ); } CODE @@ -134,67 +134,54 @@ my $optname = uc( "OPT_$_->{name}" ); print << "CODE"; -static BOOL CALLBACK -menu_options_$_->{name}_proc( HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam ) +static void +menu_options_$_->{name}_init( HWND hwndDlg ) { char buffer[80]; int i; - + i = 0; - buffer[0] = '\\0'; /* Shut gcc up */ - - switch( msg ) - { - case WM_INITDIALOG: - { - /* FIXME: save the handle returned by LoadIcon() in win32ui.c */ - SendMessage( hwndDlg, WM_SETICON, ICON_SMALL, - (LPARAM)LoadIcon( fuse_hInstance, "win32_icon" ) ); + buffer[0] = '\\0'; /* Shut gcc up */ - /* initialize the controls with current settings */ - - /* FIXME split *_init and *_done functions out of *_proc function */ CODE - foreach my $widget ( @{ $_->{widgets} } ) { my $type = $widget->{type}; if( $type eq "Checkbox" ) { my $idcname = uc( "$widget->{value}" ); print << "CODE"; - SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, BM_SETCHECK, - settings_current.$widget->{value} ? BST_CHECKED : BST_UNCHECKED, 0 ); + SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, BM_SETCHECK, + settings_current.$widget->{value} ? BST_CHECKED : BST_UNCHECKED, 0 ); CODE } elsif( $widget->{type} eq "Entry" ) { my $idcname = uc( "$widget->{value}" ); print << "CODE"; - /* FIXME This is asuming SendDlgItemMessage is not UNICODE */ - snprintf( buffer, 80, "%d", settings_current.$widget->{value} ); - SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, WM_SETTEXT, - 0, (LPARAM) buffer ); + /* FIXME This is asuming SendDlgItemMessage is not UNICODE */ + snprintf( buffer, 80, "%d", settings_current.$widget->{value} ); + SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, WM_SETTEXT, + 0, (LPARAM) buffer ); CODE } elsif( $type eq "Combo" ) { my $idcname = uc( "$widget->{value}" ); print << "CODE"; - for( i = 0; i < $_->{name}_$widget->{value}_combo_count; i++ ) { - /* FIXME This is asuming SendDlgItemMessage is not UNICODE */ - SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, CB_ADDSTRING, - 0, (LPARAM) $_->{name}_$widget->{value}_combo[i] ); + for( i = 0; i < $_->{name}_$widget->{value}_combo_count; i++ ) { + /* FIXME This is asuming SendDlgItemMessage is not UNICODE */ + SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, CB_ADDSTRING, + 0, (LPARAM) $_->{name}_$widget->{value}_combo[i] ); + } + SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, CB_SETCURSEL, + (LPARAM) $combo_default{$widget->{value}}, 0 ); + if( settings_current.$widget->{value} != NULL ) { + for( i = 0; i < $_->{name}_$widget->{value}_combo_count; i++ ) { + if( !strcmp( settings_current.$widget->{value}, + $_->{name}_$widget->{value}_combo[i] ) ) { + SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, + CB_SETCURSEL, i, 0 ); } - SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, CB_SETCURSEL, - (LPARAM) $combo_default{$widget->{value}}, 0 ); - if( settings_current.$widget->{value} != NULL ) { - for( i = 0; i < $_->{name}_$widget->{value}_combo_count; i++ ) { - if( !strcmp( settings_current.$widget->{value}, - $_->{name}_$widget->{value}_combo[i] ) ) { - SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, - CB_SETCURSEL, i, 0 ); - } - } - } - + } + } CODE } else { die "Unknown type `$type'"; @@ -202,16 +189,29 @@ } print << "CODE"; - return FALSE; +} + +static void +menu_options_$_->{name}_done( HWND hwndDlg ) +{ + char buffer[80]; + + buffer[0] = '\\0'; /* Shut gcc up */ + +CODE + + if( $_->{postcheck} ) { + + print << "CODE"; + /* Get a copy of current settings */ + settings_info original_settings; + memset( &original_settings, 0, sizeof( settings_info ) ); + settings_copy( &original_settings, &settings_current ); + +CODE + } - case WM_COMMAND: - switch( LOWORD( wParam ) ) - { - case IDOK: - { - /* Read the controls and apply the settings */ -CODE foreach my $widget ( @{ $_->{widgets} } ) { my $type = $widget->{type}; @@ -219,25 +219,26 @@ my $idcname = uc( "$widget->{value}" ); print << "CODE"; - settings_current.$widget->{value} = - IsDlgButtonChecked( hwndDlg, IDC_${optname}_${idcname} ); + settings_current.$widget->{value} = + IsDlgButtonChecked( hwndDlg, IDC_${optname}_${idcname} ); CODE } elsif( $widget->{type} eq "Entry" ) { my $idcname = uc( "$widget->{value}" ); print << "CODE"; - /* FIXME This is asuming SendDlgItemMessage is not UNICODE */ - SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, WM_GETTEXT, 80, (LPARAM) buffer ); - settings_current.$widget->{value} = atoi( buffer ); + /* FIXME This is asuming SendDlgItemMessage is not UNICODE */ + SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, WM_GETTEXT, + 80, (LPARAM) buffer ); + settings_current.$widget->{value} = atoi( buffer ); CODE } elsif( $widget->{type} eq "Combo" ) { my $idcname = uc( "$widget->{value}" ); print << "CODE"; - free( settings_current.$widget->{value} ); - settings_current.$widget->{value} = - utils_safe_strdup( $_->{name}_$widget->{value}_combo[ - SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, CB_GETCURSEL, 0, 0 ) ] ); + free( settings_current.$widget->{value} ); + settings_current.$widget->{value} = + utils_safe_strdup( $_->{name}_$widget->{value}_combo[ + SendDlgItemMessage( hwndDlg, IDC_${optname}_${idcname}, CB_GETCURSEL, 0, 0 ) ] ); CODE } else { @@ -245,21 +246,70 @@ } } - print " $_->{posthook}();\n\n" if $_->{posthook}; + if( $_->{postcheck} ) { + print << "CODE"; + int needs_hard_reset = $_->{postcheck}(); + + /* Confirm reset */ + if( needs_hard_reset ) { + ShowWindow( hwndDlg, SW_HIDE ); + + if( !win32ui_confirm("Some options need to reset the machine. Reset?" ) ) { + /* Cancel new settings */ + settings_copy( &settings_current, &original_settings ); + settings_free( &original_settings ); + + ShowWindow( hwndDlg, SW_SHOW ); + return; + } + } + + settings_free( &original_settings ); + +CODE + } + + print " $_->{posthook}();\n\n" if $_->{posthook}; + print << "CODE"; - win32statusbar_set_visibility( settings_current.statusbar ); - display_refresh_all(); + win32statusbar_set_visibility( settings_current.statusbar ); + display_refresh_all(); - EndDialog( hwndDlg, 0 ); + EndDialog( hwndDlg, 0 ); +} + +static BOOL CALLBACK +menu_options_$_->{name}_proc( HWND hwndDlg, UINT msg, WPARAM wParam GCC_UNUSED, + LPARAM lParam GCC_UNUSED ) +{ + switch( msg ) + { + case WM_INITDIALOG: + { + /* FIXME: save the handle returned by LoadIcon() in win32ui.c */ + SendMessage( hwndDlg, WM_SETICON, ICON_SMALL, + (LPARAM)LoadIcon( fuse_hInstance, "win32_icon" ) ); + + /* initialize the controls with current settings */ + menu_options_$_->{name}_init( hwndDlg ); + + return TRUE; + } + + case WM_COMMAND: + switch( LOWORD( wParam ) ) + { + case IDOK: + /* Read the controls and apply the settings */ + menu_options_$_->{name}_done( hwndDlg ); return 0; - } case IDCANCEL: EndDialog( hwndDlg, 0 ); return 0; - } - break; + } + break; case WM_CLOSE: EndDialog( hwndDlg, 0 ); @@ -270,7 +320,7 @@ } void -menu_options_$_->{name}( int action ) +menu_options_$_->{name}( int action GCC_UNUSED ) { fuse_emulation_pause(); Index: trunk/libspectrum/libspectrum =================================================================== --- trunk/libspectrum/libspectrum 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/libspectrum/libspectrum 2013-05-19 12:37:08 UTC (rev 753) Property changes on: trunk/libspectrum/libspectrum ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/libspectrum:556-557 /vendor/fuse-emulator/0.10.0-pre1/libspectrum:545-546 -/vendor/fuse-emulator/current/libspectrum:530-749 +/vendor/fuse-emulator/current/libspectrum:530-752 /vendor/fuse-emulator/fuse-1.0.0a/libspectrum:668-669 /vendor/fuse-emulator/fuse-r4617/libspectrum:686 \ No newline at end of property Modified: trunk/libspectrum/libspectrum/doc/libspectrum.txt =================================================================== --- trunk/libspectrum/libspectrum/doc/libspectrum.txt 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/libspectrum/libspectrum/doc/libspectrum.txt 2013-05-19 12:37:08 UTC (rev 753) @@ -1,4 +1,4 @@ -libspectrum 1.0.0 +libspectrum 1.1.0 ================= libspectrum is a fairly simple library designed to make the handling @@ -1826,4 +1826,4 @@ Write `data' to register `reg' of the IDE channel `chn'. -$Id: libspectrum.txt 4860 2013-01-26 11:33:25Z fredm $ +$Id: libspectrum.txt 4964 2013-05-19 05:30:32Z sbaldovi $ Modified: trunk/libspectrum/libspectrum/hacking/ChangeLog =================================================================== --- trunk/libspectrum/libspectrum/hacking/ChangeLog 2013-05-19 11:10:39 UTC (rev 752) +++ trunk/libspectrum/libspectrum/hacking/ChangeLog 2013-05-19 12:37:08 UTC (rev 753) @@ -946,3 +946,4 @@ 20130516 doc/libspectrum.3: update version number and date for 1.1 release. 20130516 ChangeLog: update date in main changelog. 20130517 README: update one more date for the 1.1 release. +20130518 doc/libspectrum.txt: update version number for 1.1 release (Sergio). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-12-25 23:59:09
|
Revision: 768 http://sourceforge.net/p/fuse-for-macosx/code/768 Author: fredm Date: 2013-12-25 23:59:06 +0000 (Wed, 25 Dec 2013) Log Message: ----------- Xcode 5 gives OS X SDK 10.8 as minimal option so switch to that and as 10.7 and newer require x86_64 so stop building 32 bit support as it can't be used. Modified Paths: -------------- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj trunk/audiofile/audiofile.xcodeproj/project.pbxproj Modified: trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2013-12-25 12:41:05 UTC (rev 767) +++ trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2013-12-25 23:59:06 UTC (rev 768) @@ -480,7 +480,6 @@ COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; - GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = NO; INFOPLIST_FILE = Info.plist; @@ -490,7 +489,6 @@ "-lz", ); PRODUCT_NAME = FuseGenerator; - SDKROOT = macosx10.7; VALID_ARCHS = "ppc x86_64 i386"; WRAPPER_EXTENSION = qlgenerator; ZERO_LINK = YES; @@ -502,7 +500,6 @@ buildSettings = { COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; @@ -516,7 +513,6 @@ "-lz", ); PRODUCT_NAME = FuseGenerator; - SDKROOT = macosx10.7; VALID_ARCHS = "ppc x86_64 i386"; WARNING_CFLAGS = ( "-Wmost", @@ -530,8 +526,7 @@ 2CA326230896AD4900168862 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64"; + ARCHS = "$(ARCHS_STANDARD)"; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; @@ -543,14 +538,14 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.7; - SDKROOT = macosx10.7; + SDKROOT = macosx10.8; }; name = Debug; }; 2CA326240896AD4900168862 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; @@ -562,7 +557,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.7; - SDKROOT = macosx10.7; + SDKROOT = macosx10.8; }; name = Release; }; Modified: trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2013-12-25 12:41:05 UTC (rev 767) +++ trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2013-12-25 23:59:06 UTC (rev 768) @@ -338,7 +338,7 @@ 089C1669FE841209C02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0460; + LastUpgradeCheck = 0500; }; buildConfigurationList = B6B0E30008CC65D5001D8411 /* Build configuration list for PBXProject "FuseImporter" */; compatibilityVersion = "Xcode 3.2"; @@ -482,7 +482,6 @@ ); OTHER_REZFLAGS = ""; PRODUCT_NAME = FuseImporter; - SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( "-Wmost", @@ -516,7 +515,6 @@ ); OTHER_REZFLAGS = ""; PRODUCT_NAME = FuseImporter; - SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( "-Wmost", @@ -549,7 +547,6 @@ ); OTHER_REZFLAGS = ""; PRODUCT_NAME = FuseImporter; - SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( "-Wmost", @@ -564,55 +561,67 @@ B6B0E30108CC65D5001D8411 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; - SDKROOT = macosx10.7; + MACOSX_DEPLOYMENT_TARGET = 10.8; + SDKROOT = macosx10.8; }; name = Development; }; B6B0E30208CC65D5001D8411 /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_POSTPROCESSING = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; - SDKROOT = macosx10.7; + MACOSX_DEPLOYMENT_TARGET = 10.8; + SDKROOT = macosx10.8; }; name = Deployment; }; B6B0E30308CC65D5001D8411 /* Default */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; - SDKROOT = macosx10.7; + MACOSX_DEPLOYMENT_TARGET = 10.8; + SDKROOT = macosx10.8; }; name = Default; }; Modified: trunk/audiofile/audiofile.xcodeproj/project.pbxproj =================================================================== --- trunk/audiofile/audiofile.xcodeproj/project.pbxproj 2013-12-25 12:41:05 UTC (rev 767) +++ trunk/audiofile/audiofile.xcodeproj/project.pbxproj 2013-12-25 23:59:06 UTC (rev 768) @@ -441,8 +441,10 @@ B62395BD0C1CF586003B8E87 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1.2; FRAMEWORK_VERSION = 0.2.6; @@ -470,7 +472,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; - SDKROOT = macosx10.7; + SDKROOT = macosx10.8; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; @@ -481,8 +483,10 @@ B62395BE0C1CF586003B8E87 /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1.2; FRAMEWORK_VERSION = 0.2.6; @@ -509,7 +513,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; - SDKROOT = macosx10.7; + SDKROOT = macosx10.8; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; @@ -520,7 +524,9 @@ B62395BF0C1CF586003B8E87 /* Default */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1.2; FRAMEWORK_VERSION = 0.2.6; @@ -547,7 +553,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; - SDKROOT = macosx10.7; + SDKROOT = macosx10.8; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2014-02-12 10:16:57
|
Revision: 771 http://sourceforge.net/p/fuse-for-macosx/code/771 Author: fredm Date: 2014-02-12 10:16:52 +0000 (Wed, 12 Feb 2014) Log Message: ----------- Restore compo mode support. Modified Paths: -------------- trunk/README trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/config.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/libspectrum.h trunk/fuse/fusepb/resources/Fuse Help/html/rzx.html trunk/fuse/fusepb/xibs/Preferences.xib trunk/libgcrypt/config.h trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj trunk/libspectrum/config.h trunk/libspectrum/libspectrum.h trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj Added Paths: ----------- trunk/libgcrypt/ Property Changed: ---------------- trunk/libgcrypt/libgcrypt.xcodeproj/ Modified: trunk/README =================================================================== --- trunk/README 2014-02-09 12:27:33 UTC (rev 770) +++ trunk/README 2014-02-12 10:16:52 UTC (rev 771) @@ -12,6 +12,9 @@ cd audiofile xcodebuild -configuration Deployment cd .. +cd libgcrypt +xcodebuild -configuration Deployment +cd .. cd FuseGenerator xcodebuild -configuration Release cd .. Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2014-02-09 12:27:33 UTC (rev 770) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2014-02-12 10:16:52 UTC (rev 771) @@ -227,6 +227,8 @@ B6CE3A130CD217C2005ACDC8 /* pentagon1024.c in Sources */ = {isa = PBXBuildFile; fileRef = B6CE3A120CD217C2005ACDC8 /* pentagon1024.c */; }; B6CE7F420B2830A300EB65B3 /* cocoajoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = B6CE7F3C0B2830A300EB65B3 /* cocoajoystick.c */; }; B6CE7FCE0B28FBD600EB65B3 /* DisplayOpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = B6CE7FCC0B28FBD600EB65B3 /* DisplayOpenGLView.m */; }; + B6D65C3718A6431500170B64 /* gcrypt.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6D65C3618A6431500170B64 /* gcrypt.framework */; }; + B6D65C3818A645A100170B64 /* gcrypt.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6D65C3618A6431500170B64 /* gcrypt.framework */; }; B6DCBBBF114FA0E700DC9A11 /* bzip2.c in Sources */ = {isa = PBXBuildFile; fileRef = B6DCBB62114FA0E700DC9A11 /* bzip2.c */; }; B6DCBBC4114FA0E700DC9A11 /* creator.c in Sources */ = {isa = PBXBuildFile; fileRef = B6DCBB67114FA0E700DC9A11 /* creator.c */; }; B6DCBBC5114FA0E700DC9A11 /* crypto.c in Sources */ = {isa = PBXBuildFile; fileRef = B6DCBB68114FA0E700DC9A11 /* crypto.c */; }; @@ -366,6 +368,7 @@ dstSubfolderSpec = 10; files = ( B6FA75C60C1D76A5007F5A10 /* audiofile.framework in CopyFiles */, + B6D65C3818A645A100170B64 /* gcrypt.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -630,6 +633,7 @@ B6CE7FCC0B28FBD600EB65B3 /* DisplayOpenGLView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = DisplayOpenGLView.m; sourceTree = "<group>"; }; B6D2989105B061CB00C2AA14 /* MemoryBrowserController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MemoryBrowserController.h; path = controllers/MemoryBrowserController.h; sourceTree = "<group>"; }; B6D2989205B061CB00C2AA14 /* MemoryBrowserController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MemoryBrowserController.m; path = controllers/MemoryBrowserController.m; sourceTree = "<group>"; }; + B6D65C3618A6431500170B64 /* gcrypt.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = gcrypt.framework; path = ../../libgcrypt/build/Deployment/gcrypt.framework; sourceTree = "<group>"; }; B6DCBB62114FA0E700DC9A11 /* bzip2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bzip2.c; sourceTree = "<group>"; }; B6DCBB67114FA0E700DC9A11 /* creator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = creator.c; sourceTree = "<group>"; }; B6DCBB68114FA0E700DC9A11 /* crypto.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypto.c; sourceTree = "<group>"; }; @@ -787,6 +791,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + B6D65C3718A6431500170B64 /* gcrypt.framework in Frameworks */, B6FA759D0C1D7507007F5A10 /* audiofile.framework in Frameworks */, B61F469A09121DF100C8096C /* Cocoa.framework in Frameworks */, B61F469B09121DF100C8096C /* Foundation.framework in Frameworks */, @@ -824,6 +829,7 @@ isa = PBXGroup; children = ( B6FA759C0C1D7507007F5A10 /* audiofile.framework */, + B6D65C3618A6431500170B64 /* gcrypt.framework */, ); name = "Linked Frameworks"; sourceTree = "<group>"; @@ -1869,8 +1875,10 @@ "$(HOME)/Library/Frameworks", ../../, "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_2)", ); FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../audiofile/build/Deployment\""; + FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)/../../libgcrypt/build/Deployment\""; GCC_C_LANGUAGE_STANDARD = gnu89; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_CPP_EXCEPTIONS = NO; @@ -1882,6 +1890,7 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)/audiofile.framework/Headers", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_2)/gcrypt.framework/Headers", .., ); INFOPLIST_FILE = "Info-Fuse.plist"; @@ -1913,8 +1922,10 @@ "$(HOME)/Library/Frameworks", ../../, "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_2)", ); FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../audiofile/build/Deployment\""; + FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)/../../libgcrypt/build/Deployment\""; GCC_C_LANGUAGE_STANDARD = gnu89; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_CPP_EXCEPTIONS = NO; @@ -1924,6 +1935,7 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)/audiofile.framework/Headers", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_2)/gcrypt.framework/Headers", .., ); INFOPLIST_FILE = "Info-Fuse.plist"; @@ -1954,8 +1966,10 @@ "$(HOME)/Library/Frameworks", ../../, "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_2)", ); FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../audiofile/build/Deployment\""; + FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)/../../libgcrypt/build/Deployment\""; GCC_C_LANGUAGE_STANDARD = gnu89; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_CPP_EXCEPTIONS = NO; @@ -1965,6 +1979,7 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)/audiofile.framework/Headers", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_2)/gcrypt.framework/Headers", .., ); INFOPLIST_FILE = "Info-Fuse.plist"; Modified: trunk/fuse/fusepb/config.h =================================================================== --- trunk/fuse/fusepb/config.h 2014-02-09 12:27:33 UTC (rev 770) +++ trunk/fuse/fusepb/config.h 2014-02-12 10:16:52 UTC (rev 771) @@ -40,6 +40,9 @@ /* Define to 1 if you have the <libspectrum.h> header file. */ #define HAVE_LIBSPECTRUM_H 1 +/* Define to 1 if you have the <gcrypt.h> header file. */ +#define HAVE_GCRYPT_H 1 + /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2014-02-09 12:27:33 UTC (rev 770) +++ trunk/fuse/fusepb/controllers/FuseController.m 2014-02-12 10:16:52 UTC (rev 771) @@ -856,7 +856,6 @@ paused = 0; ui_statusbar_update( UI_STATUSBAR_ITEM_PAUSED, UI_STATUSBAR_STATE_INACTIVE ); - timer_estimate_reset(); [[DisplayOpenGLView instance] unpause]; } else { [[DisplayOpenGLView instance] pause]; Modified: trunk/fuse/fusepb/libspectrum.h =================================================================== --- trunk/fuse/fusepb/libspectrum.h 2014-02-09 12:27:33 UTC (rev 770) +++ trunk/fuse/fusepb/libspectrum.h 2014-02-12 10:16:52 UTC (rev 771) @@ -71,6 +71,7 @@ #define DEPRECATED #endif /* #ifdef __GNUC__ */ +#include <gcrypt.h> /* Standard typedefs */ #include <stdint.h> @@ -1298,7 +1299,8 @@ /* Where in the buffer is the signed data? */ const libspectrum_byte *start; ptrdiff_t length; -/* Signature parameters not stored as libgcrypt is not present */ + /* The DSA signature parameters 'r' and 's' */ + gcry_mpi_t r, s; } libspectrum_signature; Modified: trunk/fuse/fusepb/resources/Fuse Help/html/rzx.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/rzx.html 2014-02-09 12:27:33 UTC (rev 770) +++ trunk/fuse/fusepb/resources/Fuse Help/html/rzx.html 2014-02-12 10:16:52 UTC (rev 771) @@ -1,62 +1,103 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> -<head> - <meta http-equiv="content-type" - content="text/html; charset=ISO-8859-1"> -<!-- AppleSegStart="Recording Preferences" --> - <title>Recording Preferences</title> -</head> -<body> -<font face="Lucida Grande,Helvetica,Arial"><a - name="Recording Preferences"></a><!-- AppleSegDescription="This section describes the Fuse Recording preferences dialog." --></font> -<h2><font face="Lucida Grande,Helvetica,Arial"><span - style="font-style: italic;">Recording</span> preferences</font></h2> -<p><span class="emphasis"></span><font - face="Lucida Grande,Helvetica,Arial">Use the Recording pane of Fuse -preferences to -configure how Fuse deals with RZX emulator -input recordings.</font></p> -<p><span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em></em></font></span></p> -<table style="text-align: left; width: 100%;" cellpadding="2" - cellspacing="2"> - <tbody> - <tr> - <th style="vertical-align: top;"><font style="font-weight: bold;" - face="Lucida Grande,Helvetica,Arial">OPTION</font><br> - </th> - <th style="vertical-align: top;"><font style="font-weight: bold;" - face="Lucida Grande,Helvetica,Arial">DESCRIPTION</font><br> - </th> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Create -autosaves</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">If this option is -selected, Fuse will add a snapshot into the recording stream every 5 -seconds while creating an RZX file, thus enabling the rollback -facilities to be used without having to explicitly add snapshots into -the stream. Older snapshots will be pruned from the stream to keep the -file size and number of snapshots down: each snapshot up to 15 seconds -will be kept, then one snapshot every 15 seconds until one minute, then -one snapshot every minute until 5 minutes, and then one snapshot every -5 minutes. Note that this "pruning" applies only to automatically -inserted snapshots: snapshots manually inserted into the stream will -never be pruned.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Always -embed -snapshot</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Specify whether a -snapshot should be embedded in an RZX file when recording is -started from an ex</font><font face="Lucida Grande,Helvetica,Arial">isting -snapshot.</font></td> - </tr> - </tbody> -</table> -</body> + <head> + <meta http-equiv="content-type" content="text/html; + charset=ISO-8859-1"> + <!-- AppleSegStart="Recording Preferences" --> + <title>Recording Preferences</title> + </head> + <body> + <font face="Lucida Grande,Helvetica,Arial"><a name="Recording + Preferences"></a><!-- AppleSegDescription="This section describes the Fuse Recording preferences dialog." --></font> + <h2><font face="Lucida Grande,Helvetica,Arial"><span + style="font-style: italic;">Recording</span> preferences</font></h2> + <p><span class="emphasis"></span><font face="Lucida + Grande,Helvetica,Arial">Use the Recording pane of Fuse + preferences to configure how Fuse deals with RZX emulator input + recordings.</font></p> + <p><span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em></em></font></span></p> + <table style="text-align: left; width: 100%;" cellpadding="2" + cellspacing="2"> + <tbody> + <tr> + <th style="vertical-align: top;"><font style="font-weight: + bold;" face="Lucida Grande,Helvetica,Arial">OPTION</font><br> + </th> + <th style="vertical-align: top;"><font style="font-weight: + bold;" face="Lucida Grande,Helvetica,Arial">DESCRIPTION</font><br> + </th> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Emulator + recording create autosaves</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">If this option is selected, Fuse + will add a snapshot into the recording stream every 5 + seconds while creating an RZX file, thus enabling the + rollback facilities to be used without having to + explicitly add snapshots into the stream. Older snapshots + will be pruned from the stream to keep the file size and + number of snapshots down: each snapshot up to 15 seconds + will be kept, then one snapshot every 15 seconds until one + minute, then one snapshot every minute until 5 minutes, + and then one snapshot every 5 minutes. Note that this + "pruning" applies only to automatically inserted + snapshots: snapshots manually inserted into the stream + will never be pruned.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Emulator + recording always embed snapshot</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Specify whether a snapshot should + be embedded in an RZX file when recording is started from + an ex</font><font face="Lucida Grande,Helvetica,Arial">isting + + snapshot.</font></td> + </tr> + <tr> + <td valign="top"><span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Emulator recording + competition mode</em></font></span></td> + <td valign="top"><font face="Lucida Grande,Helvetica,Arial">Any + + input recordings which are started when this option is + selected will be made in "competition mode". In essence, + this means that Fuse will act just like a real Spectrum + would: you can't load snapshots, pause the emulation in + any way, change the speed or anything that you couldn't do + on the real machine. If any of these things are attempted, + or if the emulated Fuse is running more than 5% faster or + slower than normal Spectrum speed, then the recording will + immediately be stopped.<br> + <br> + Recordings made with competition mode active will be + digitally signed, in theory to "certify" that it was made + with the above restrictions in place.<i> However, this + procedure is not secure</i><i> (and cannot be made so), + so the presence of any signature on an RZX</i><i> file + should not be taken as providing proof that it was made + with</i><i> competition mode active.</i> This feature is + included in Fuse solely as it was one of the requirements + for Fuse to be used in an on-line tournament.</font><font + face="Lucida Grande,Helvetica,Arial">.</font></td> + </tr> + <tr> + <td valign="top"><span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Emulator recording + competition code</em></font></span></td> + <td valign="top"><font face="Lucida Grande,Helvetica,Arial">The + + numeric code entered here will be written into any RZX + files made in competition mode. This is another feature + for on-line tournaments which can be used to "prove" that + the recording was made after a specific code was released. + If you're not playing in such a tournament, you can safely + ignore this option.</font></td> + </tr> + </tbody> + </table> + </body> </html> Modified: trunk/fuse/fusepb/xibs/Preferences.xib =================================================================== --- trunk/fuse/fusepb/xibs/Preferences.xib 2014-02-09 12:27:33 UTC (rev 770) +++ trunk/fuse/fusepb/xibs/Preferences.xib 2014-02-12 10:16:52 UTC (rev 771) @@ -1,10424 +1,1976 @@ -<?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> - <data> - <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">12D78</string> - <string key="IBDocument.InterfaceBuilderVersion">3084</string> - <string key="IBDocument.AppKitVersion">1187.37</string> - <string key="IBDocument.HIToolboxVersion">626.00</string> - <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">3084</string> - </object> - <array key="IBDocument.IntegratedClassDependencies"> - <string>NSArrayController</string> - <string>NSBox</string> - <string>NSButton</string> - <string>NSButtonCell</string> - <string>NSCustomObject</string> - <string>NSCustomView</string> - <string>NSForm</string> - <string>NSFormCell</string> - <string>NSMatrix</string> - <string>NSMenu</string> - <string>NSMenuItem</string> - <string>NSNumberFormatter</string> - <string>NSObjectController</string> - <string>NSPopUpButton</string> - <string>NSPopUpButtonCell</string> - <string>NSScrollView</string> - <string>NSScroller</string> - <string>NSSlider</string> - <string>NSSliderCell</string> - <string>NSTableColumn</string> - <string>NSTableHeaderView</string> - <string>NSTableView</string> - <string>NSTextField</string> - <string>NSTextFieldCell</string> - <string>NSToolbar</string> - <string>NSToolbarItem</string> - <string>NSUserDefaultsController</string> - <string>NSView</string> - <string>NSWindowTemplate</string> - </array> - <array key="IBDocument.PluginDependencies"> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - </array> - <object class="NSMutableDictionary" key="IBDocument.Metadata"> - <string key="NS.key.0">PluginDependencyRecalculationVersion</string> - <integer value="1" key="NS.object.0"/> - </object> - <array class="NSMutableArray" key="IBDocument.RootObjects" id="729263285"> - <object class="NSCustomObject" id="363526684"> - <string key="NSClassName">PreferencesController</string> - </object> - <object class="NSCustomObject" id="341482335"> - <string key="NSClassName">FirstResponder</string> - </object> - <object class="NSCustomObject" id="218789108"> - <string key="NSClassName">NSApplication</string> - </object> - <object class="NSWindowTemplate" id="765474969"> - <int key="NSWindowStyleMask">3</int> - <int key="NSWindowBacking">2</int> - <string key="NSWindowRect">{{24, 202}, {627, 403}}</string> - <int key="NSWTFlags">1886912512</int> - <string key="NSWindowTitle">Preferences</string> - <string key="NSWindowClass">NSPanel</string> - <object class="NSToolbar" key="NSViewClass" id="281460241"> - <object class="NSMutableString" key="NSToolbarIdentifier"> - <characters key="NS.bytes">2B5EC7EB-5A6C-4F96-8405-91E5B21A019C</characters> - </object> - <nil key="NSToolbarDelegate"/> - <bool key="NSToolbarPrefersToBeShown">YES</bool> - <bool key="NSToolbarShowsBaselineSeparator">NO</bool> - <bool key="NSToolbarAllowsUserCustomization">NO</bool> - <bool key="NSToolbarAutosavesConfiguration">YES</bool> - <int key="NSToolbarDisplayMode">1</int> - <int key="NSToolbarSizeMode">1</int> - <dictionary class="NSMutableDictionary" key="NSToolbarIBIdentifiedItems"> - <object class="NSToolbarItem" key="1D3C684F-4B0A-4828-ADF3-E4106D08C1CD" id="761998648"> - <object class="NSMutableString" key="NSToolbarItemIdentifier"> - <characters key="NS.bytes">1D3C684F-4B0A-4828-ADF3-E4106D08C1CD</characters> - </object> - <string key="NSToolbarItemLabel">Sound</string> - <string key="NSToolbarItemPaletteLabel">Sound</string> - <string key="NSToolbarItemToolTip"/> - <nil key="NSToolbarItemView"/> - <object class="NSCustomResource" key="NSToolbarItemImage"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">Sound</string> - </object> - <nil key="NSToolbarItemTarget"/> - <nil key="NSToolbarItemAction"/> - <string key="NSToolbarItemMinSize">{0, 0}</string> - <string key="NSToolbarItemMaxSize">{0, 0}</string> - <bool key="NSToolbarItemEnabled">YES</bool> - <bool key="NSToolbarItemAutovalidates">NO</bool> - <int key="NSToolbarItemTag">1</int> - <bool key="NSToolbarIsUserRemovable">YES</bool> - <int key="NSToolbarItemVisibilityPriority">0</int> - </object> - <object class="NSToolbarItem" key="2C4BF74A-9900-4A0E-A2FC-50ADDA64B166" id="141636598"> - <object class="NSMutableString" key="NSToolbarItemIdentifier"> - <characters key="NS.bytes">2C4BF74A-9900-4A0E-A2FC-50ADDA64B166</characters> - </object> - <string key="NSToolbarItemLabel">Video</string> - <string key="NSToolbarItemPaletteLabel">Video</string> - <string key="NSToolbarItemToolTip"/> - <nil key="NSToolbarItemView"/> - <object class="NSCustomResource" key="NSToolbarItemImage"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">Graphics_Filter</string> - </object> - <nil key="NSToolbarItemTarget"/> - <nil key="NSToolbarItemAction"/> - <string key="NSToolbarItemMinSize">{0, 0}</string> - <string key="NSToolbarItemMaxSize">{0, 0}</string> - <bool key="NSToolbarItemEnabled">YES</bool> - <bool key="NSToolbarItemAutovalidates">NO</bool> - <int key="NSToolbarItemTag">7</int> - <bool key="NSToolbarIsUserRemovable">YES</bool> - <int key="NSToolbarItemVisibilityPriority">0</int> - </object> - <object class="NSToolbarItem" key="4F5A5E26-7A02-464D-80D8-F49DECE3E69B" id="160350779"> - <object class="NSMutableString" key="NSToolbarItemIdentifier"> - <characters key="NS.bytes">4F5A5E26-7A02-464D-80D8-F49DECE3E69B</characters> - </object> - <string key="NSToolbarItemLabel">Peripherals</string> - <string key="NSToolbarItemPaletteLabel">Peripherals</string> - <string key="NSToolbarItemToolTip"/> - <nil key="NSToolbarItemView"/> - <object class="NSCustomResource" key="NSToolbarItemImage"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">Peripherals</string> - </object> - <nil key="NSToolbarItemTarget"/> - <nil key="NSToolbarItemAction"/> - <string key="NSToolbarItemMinSize">{0, 0}</string> - <string key="NSToolbarItemMaxSize">{0, 0}</string> - <bool key="NSToolbarItemEnabled">YES</bool> - <bool key="NSToolbarItemAutovalidates">NO</bool> - <int key="NSToolbarItemTag">2</int> - <bool key="NSToolbarIsUserRemovable">YES</bool> - <int key="NSToolbarItemVisibilityPriority">0</int> - </object> - <object class="NSToolbarItem" key="75749378-6992-4894-9B4C-43B464285D3E" id="924265735"> - <object class="NSMutableString" key="NSToolbarItemIdentifier"> - <characters key="NS.bytes">75749378-6992-4894-9B4C-43B464285D3E</characters> - </object> - <string key="NSToolbarItemLabel">General</string> - <string key="NSToolbarItemPaletteLabel">General</string> - <string key="NSToolbarItemToolTip"/> - <nil key="NSToolbarItemView"/> - <object class="NSCustomResource" key="NSToolbarItemImage"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">NSPreferencesGeneral</string> - </object> - <nil key="NSToolbarItemTarget"/> - <nil key="NSToolbarItemAction"/> - <string key="NSToolbarItemMinSize">{0, 0}</string> - <string key="NSToolbarItemMaxSize">{0, 0}</string> - <bool key="NSToolbarItemEnabled">YES</bool> - <bool key="NSToolbarItemAutovalidates">NO</bool> - <int key="NSToolbarItemTag">0</int> - <bool key="NSToolbarIsUserRemovable">YES</bool> - <int key="NSToolbarItemVisibilityPriority">0</int> - </object> - <object class="NSToolbarItem" key="BE697B6E-7F18-4D78-9F89-364AF4806055" id="490785676"> - <object class="NSMutableString" key="NSToolbarItemIdentifier"> - <characters key="NS.bytes">BE697B6E-7F18-4D78-9F89-364AF4806055</characters> - </object> - <string key="NSToolbarItemLabel">Recording</string> - <string key="NSToolbarItemPaletteLabel">Recording</string> - <string key="NSToolbarItemToolTip"/> - <nil key="NSToolbarItemView"/> - <object class="NSCustomResource" key="NSToolbarItemImage"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">RZX</string> - </object> - <nil key="NSToolbarItemTarget"/> - <nil key="NSToolbarItemAction"/> - <string key="NSToolbarItemMinSize">{0, 0}</string> - <string key="NSToolbarItemMaxSize">{0, 0}</string> - <bool key="NSToolbarItemEnabled">YES</bool> - <bool key="NSToolbarItemAutovalidates">NO</bool> - <int key="NSToolbarItemTag">3</int> - <bool key="NSToolbarIsUserRemovable">YES</bool> - <int key="NSToolbarItemVisibilityPriority">0</int> - </object> - <object class="NSToolbarItem" key="D64DF5CD-B687-4DAB-8B9B-CB7BCB98DECE" id="367507624"> - <object class="NSMutableString" key="NSToolbarItemIdentifier"> - <characters key="NS.bytes">D64DF5CD-B687-4DAB-8B9B-CB7BCB98DECE</characters> - </object> - <string key="NSToolbarItemLabel">ROM</string> - <string key="NSToolbarItemPaletteLabel">ROM</string> - <string key="NSToolbarItemToolTip"/> - <nil key="NSToolbarItemView"/> - <object class="NSCustomResource" key="NSToolbarItemImage"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">Select_ROMs</string> - </object> - <nil key="NSToolbarItemTarget"/> - <nil key="NSToolbarItemAction"/> - <string key="NSToolbarItemMinSize">{0, 0}</string> - <string key="NSToolbarItemMaxSize">{0, 0}</string> - <bool key="NSToolbarItemEnabled">YES</bool> - <bool key="NSToolbarItemAutovalidates">NO</bool> - <int key="NSToolbarItemTag">5</int> - <bool key="NSToolbarIsUserRemovable">YES</bool> - <int key="NSToolbarItemVisibilityPriority">0</int> - </object> - <object class="NSToolbarItem" key="F897F259-A5D7-4274-A9C8-9D7D7C86199E" id="156451834"> - <object class="NSMutableString" key="NSToolbarItemIdentifier"> - <characters key="NS.bytes">F897F259-A5D7-4274-A9C8-9D7D7C86199E</characters> - </object> - <string key="NSToolbarItemLabel">Inputs</string> - <string key="NSToolbarItemPaletteLabel">Inputs</string> - <string key="NSToolbarItemToolTip"/> - <nil key="NSToolbarItemView"/> - <object class="NSCustomResource" key="NSToolbarItemImage"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">qs2t_icon</string> - </object> - <nil key="NSToolbarItemTarget"/> - <nil key="NSToolbarItemAction"/> - <string key="NSToolbarItemMinSize">{0, 0}</string> - <string key="NSToolbarItemMaxSize">{0, 0}</string> - <bool key="NSToolbarItemEnabled">YES</bool> - <bool key="NSToolbarItemAutovalidates">NO</bool> - <int key="NSToolbarItemTag">4</int> - <bool key="NSToolbarIsUserRemovable">YES</bool> - <int key="NSToolbarItemVisibilityPriority">0</int> - </object> - <object class="NSToolbarItem" key="FD445694-259E-4F31-A40E-117D01F46BB6" id="943816128"> - <object class="NSMutableString" key="NSToolbarItemIdentifier"> - <characters key="NS.bytes">FD445694-259E-4F31-A40E-117D01F46BB6</characters> - </object> - <string key="NSToolbarItemLabel">Machine</string> - <string key="NSToolbarItemPaletteLabel">Machine</string> - <string key="NSToolbarItemToolTip"/> - <nil key="NSToolbarItemView"/> - <object class="NSCustomResource" key="NSToolbarItemImage"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">Machine</string> - </object> - <nil key="NSToolbarItemTarget"/> - <nil key="NSToolbarItemAction"/> - <string key="NSToolbarItemMinSize">{0, 0}</string> - <string key="NSToolbarItemMaxSize">{0, 0}</string> - <bool key="NSToolbarItemEnabled">YES</bool> - <bool key="NSToolbarItemAutovalidates">NO</bool> - <int key="NSToolbarItemTag">6</int> - <bool key="NSToolbarIsUserRemovable">YES</bool> - <int key="NSToolbarItemVisibilityPriority">0</int> - </object> - </dictionary> - <array key="NSToolbarIBAllowedItems"> - <reference ref="924265735"/> - <reference ref="761998648"/> - <reference ref="160350779"/> - <reference ref="490785676"/> - <reference ref="156451834"/> - <reference ref="367507624"/> - <reference ref="943816128"/> - <reference ref="141636598"/> - </array> - <array key="NSToolbarIBDefaultItems"> - <reference ref="924265735"/> - <reference ref="761998648"/> - <reference ref="160350779"/> - <reference ref="490785676"/> - <reference ref="156451834"/> - <reference ref="367507624"/> - <reference ref="943816128"/> - <reference ref="141636598"/> - </array> - <array key="NSToolbarIBSelectableItems" id="0"/> - </object> - <nil key="NSUserInterfaceItemIdentifier"/> - <string key="NSWindowContentMinSize">{213, 107}</string> - <object class="NSView" key="NSWindowView" id="41054612"> - <reference key="NSNextResponder"/> - <int key="NSvFlags">256</int> - <string key="NSFrameSize">{627, 403}</string> - <reference key="NSSuperview"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView"/> - </object> - <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string> - <string key="NSMinSize">{213, 184}</string> - <string key="NSMaxSize">{10000000000000, 10000000000000}</string> - <string key="NSFrameAutosaveName"/> - <bool key="NSWindowIsRestorable">YES</bool> - </object> - <object class="NSCustomView" id="869768206"> - <reference key="NSNextResponder"/> - <int key="NSvFlags">268</int> - <array class="NSMutableArray" key="NSSubviews"> - <object class="NSButton" id="382408068"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{119, 49}, {123, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="934579195"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="508894506"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Confirm actions</string> - <object class="NSFont" key="NSSupport" id="447006373"> - <string key="NSName">LucidaGrande</string> - <double key="NSSize">13</double> - <int key="NSfFlags">1044</int> - </object> - <reference key="NSControlView" ref="382408068"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <object class="NSButtonImageSource" key="NSAlternateImage" id="529831564"> - <string key="NSImageName">NSSwitch</string> - </object> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSButton" id="691708568"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{293, 169}, {131, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="281223997"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="565379702"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Issue 2 keyboard</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="691708568"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <reference key="NSAlternateImage" ref="529831564"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSButton" id="236482654"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{119, 69}, {168, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="382408068"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="1036853429"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Show tape/disk status</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="236482654"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <reference key="NSAlternateImage" ref="529831564"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSButton" id="876021687"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{119, 89}, {165, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="706432924"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="288530032"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Auto-load media</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="876021687"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <reference key="NSAlternateImage" ref="529831564"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSButton" id="632257383"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{293, 109}, {105, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="876021687"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="336105546"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Use .slt traps</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="632257383"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <reference key="NSAlternateImage" ref="529831564"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSButton" id="776295189"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{119, 169}, {113, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="691708568"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="921014375"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Use tape traps</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="776295189"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <reference key="NSAlternateImage" ref="529831564"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSButton" id="706432924"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{293, 89}, {214, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="236482654"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="71439217"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Set joysticks on snapshot load</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="706432924"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <reference key="NSAlternateImage" ref="529831564"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSButton" id="173497110"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{293, 129}, {151, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="695941014"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="279939766"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Allow writes to ROM</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="173497110"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <reference key="NSAlternateImage" ref="529831564"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSForm" id="418457192"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{121, 193}, {279, 52}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="776295189"/> - <bool key="NSEnabled">YES</bool> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - <int key="NSNumRows">2</int> - <int key="NSNumCols">1</int> - <array class="NSMutableArray" key="NSCells"> - <object class="NSFormCell" id="494277899"> - <int key="NSCellFlags">-1804599231</int> - <int key="NSCellFlags2">-1941961728</int> - <string key="NSContents"/> - <reference key="NSSupport" ref="447006373"/> - <object class="NSNumberFormatter" key="NSFormatter" id="815687010"> - <dictionary class="NSMutableDictionary" key="NS.attributes"> - <integer value="1" key="allowsFloats"/> - <string key="decimalSeparator">.</string> - <integer value="1000" key="formatterBehavior"/> - <string key="groupingSeparator">,</string> - <integer value="1" key="minimum"/> - <integer value="1" key="multiplier"/> - <string key="negativeFormat">-#,##0.00</string> - <integer value="3" key="numberStyle"/> - <string key="positiveFormat">#,##0%</string> - <boolean value="YES" key="usesGroupingSeparator"/> - </dictionary> - <string key="NS.positiveformat">#,##0%</string> - <string key="NS.negativeformat">-#,##0.00</string> - <nil key="NS.positiveattrs"/> - <nil key="NS.negativeattrs"/> - <object class="NSAttributedString" key="NS.zero"> - <string key="NSString">0</string> - <dictionary key="NSAttributes" id="769847889"/> - </object> - <object class="NSAttributedString" key="NS.nil"> - <string key="NSString"/> - </object> - <object class="NSAttributedString" key="NS.nan"> - <string key="NSString">NaN</string> - <reference key="NSAttributes" ref="769847889"/> - </object> - <integer value="1" key="NS.min"/> - <object class="NSDecimalNumberPlaceholder" key="NS.max" id="648108068"> - <int key="NS.exponent">0</int> - <int key="NS.length">0</int> - <bool key="NS.negative">YES</bool> - <bool key="NS.compact">NO</bool> - <int key="NS.mantissa.bo">1</int> - <bytes key="NS.mantissa">AAAAAAAAAAAAAAAAAAAAAA</bytes> - </object> - <nil key="NS.rounding"/> - <string key="NS.decimal">.</string> - <string key="NS.thousand">,</string> - <bool key="NS.hasthousands">YES</bool> - <bool key="NS.localized">YES</bool> - <bool key="NS.allowsfloats">YES</bool> - </object> - <reference key="NSControlView" ref="418457192"/> - <double key="NSTitleWidth">161</double> - <object class="NSCell" key="NSTitleCell"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">67108864</int> - <string key="NSContents">Emulation speed:</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="418457192"/> - </object> - </object> - <object class="NSFormCell" id="319020855"> - <int key="NSCellFlags">-1804599231</int> - <int key="NSCellFlags2">205521920</int> - <reference key="NSSupport" ref="447006373"/> - <object class="NSNumberFormatter" key="NSFormatter" id="657991658"> - <dictionary class="NSMutableDictionary" key="NS.attributes"> - <integer value="1" key="allowsFloats"/> - <integer value="1040" key="formatterBehavior"/> - <object class="NSLocale" key="locale" id="514081757"> - <string key="NS.identifier"/> - </object> - <real value="50" key="maximum"/> - <integer value="1" key="minimum"/> - <integer value="0" key="numberStyle"/> - </dictionary> - <string key="NS.positiveformat">#</string> - <string key="NS.negativeformat">#</string> - <nil key="NS.positiveattrs"/> - <nil key="NS.negativeattrs"/> - <nil key="NS.zero"/> - <nil key="NS.nil"/> - <object class="NSAttributedString" key="NS.nan"> - <string key="NSString">NaN</string> - <reference key="NSAttributes" ref="769847889"/> - </object> - <integer value="1" key="NS.min"/> - <real value="50" key="NS.max"/> - <object class="NSDecimalNumberHandler" key="NS.rounding"> - <int key="NS.roundingmode">3</int> - <bool key="NS.raise.overflow">YES</bool> - <bool key="NS.raise.underflow">YES</bool> - <bool key="NS.raise.dividebyzero">YES</bool> - </object> - <string key="NS.decimal">.</string> - <string key="NS.thousand">,</string> - <bool key="NS.hasthousands">NO</bool> - <bool key="NS.localized">NO</bool> - <bool key="NS.allowsfloats">YES</bool> - </object> - <reference key="NSControlView" ref="418457192"/> - <int key="NSTag">1</int> - <double key="NSTitleWidth">161</double> - <object class="NSCell" key="NSTitleCell"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">67108864</int> - <string key="NSContents">Screen refresh rate (1:n):</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="418457192"/> - </object> - </object> - </array> - <string key="NSCellSize">{279, 22}</string> - <string key="NSIntercellSpacing">{1, 8}</string> - <int key="NSMatrixFlags">67633152</int> - <string key="NSCellClass">NSActionCell</string> - <object class="NSFormCell" key="NSProtoCell" id="912393328"> - <int key="NSCellFlags">342884416</int> - <int key="NSCellFlags2">205521920</int> - <string key="NSContents"/> - <reference key="NSSupport" ref="447006373"/> - <double key="NSTitleWidth">161</double> - <object class="NSCell" key="NSTitleCell"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">67108864</int> - <string key="NSContents">Field:</string> - <reference key="NSSupport" ref="447006373"/> - </object> - </object> - <int key="NSSelectedRow">-1</int> - <int key="NSSelectedCol">-1</int> - <object class="NSColor" key="NSBackgroundColor" id="519317542"> - <int key="NSColorSpace">6</int> - <string key="NSCatalogName">System</string> - <string key="NSColorName">controlColor</string> - <object class="NSColor" key="NSColor" id="429360493"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes> - </object> - </object> - <object class="NSColor" key="NSCellBackgroundColor" id="70288484"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MQA</bytes> - </object> - <reference key="NSFont" ref="447006373"/> - </object> - <object class="NSButton" id="281223997"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{119, 149}, {131, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="384664460"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="787494350"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Fast tape loading</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="281223997"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <reference key="NSAlternateImage" ref="529831564"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSButton" id="695941014"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{119, 109}, {145, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="632257383"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="539932935"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Detect tape loaders</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="695941014"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <reference key="NSAlternateImage" ref="529831564"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSButton" id="759805714"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{119, 129}, {170, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="173497110"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="153178233"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Accelerate tape loaders</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="759805714"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <reference key="NSAlternateImage" ref="529831564"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSButton" id="384664460"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{293, 149}, {151, 18}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="759805714"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="696843910"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Late CPU timings</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="384664460"/> - <int key="NSButtonFlags">1211912448</int> - <int key="NSButtonFlags2">2</int> - <reference key="NSAlternateImage" ref="529831564"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSButton" id="934579195"> - <reference key="NSNextResponder" ref="869768206"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{461, 12}, {152, 32}}</string> - <reference key="NSSuperview" ref="869768206"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="305612276"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">134217728</int> - <string key="NSContents">Reset Preferences</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="934579195"/> - <int key="NSButtonFlags">-2038284288</int> - <int key="NSButtonFlags2">1</int> - <reference key="NSAlternateImage" ref="447006373"/> - <string key="NSAlternateContents"/> - <object class="NSMutableString" key="NSKeyEquivalent"> - <characters key="NS.bytes"/> - </object> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - </array> - <string key="NSFrameSize">{627, 265}</string> - <reference key="NSSuperview"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="418457192"/> - <string key="NSClassName">NSView</string> - </object> - <object class="NSCustomView" id="803517542"> - <reference key="NSNextResponder"/> - <int key="NSvFlags">268</int> - <array class="NSMutableArray" key="NSSubviews"> - <object class="NSSlider" id="519106344"> - <reference key="NSNextResponder" ref="803517542"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{360, 126}, {115, 25}}</string> - <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="292110812"/> - <bool key="NSEnabled">YES</bool> - <object class="NSSliderCell" key="NSCell" id="458739798"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">0</int> - <object class="NSMutableString" key="NSContents"> - <characters key="NS.bytes"/> - </object> - <object class="NSFont" key="NSSupport" id="333640230"> - <string key="NSName">Helvetica</string> - <double key="NSSize">12</double> - <int key="NSfFlags">16</int> - </object> - <reference key="NSControlView" ref="519106344"/> - <double key="NSMaxValue">100</double> - <double key="NSMinValue">0.0</double> - <double key="NSValue">100</double> - <double key="NSAltIncValue">0.0</double> - <int key="NSNumberOfTickMarks">10</int> - <int key="NSTickMarkPosition">0</int> - <bool key="NSAllowsTickMarkValuesOnly">YES</bool> - <bool key="NSVertical">NO</bool> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSTextField" id="516188975"> - <reference key="NSNextResponder" ref="803517542"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{232, 126}, {125, 24}}</string> - <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="519106344"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="864030352"> - <int key="NSCellFlags">67108864</int> - <int key="NSCellFlags2">4194304</int> - <string key="NSContents">SpecDrum Volume</string> - <reference key="NSSupport" ref="447006373"/> - <reference key="NSControlView" ref="516188975"/> - <reference key="NSBackgroundColor" ref="519317542"/> - <object class="NSColor" key="NSTextColor" id="696958365"> - <int key="NSColorSpace">6</int> - <string key="NSCatalogName">System</string> - <string key="NSColorName">controlTextColor</string> - <object class="NSColor" key="NSColor" id="399634204"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MAA</bytes> - </object> - </object> - </object> - <bool key="NSAllowsLogicalLayoutDirection">NO</bool> - </object> - <object class="NSPopUpButton" id="210111604"> - <reference key="NSNextResponder" ref="803517542"/> - <int key="NSvFlags">268</int> - <string key="NSFrame">{{323, 61}, {153, 26}}</string> - <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="441962883"/> - <string key="NSReuseIdentifierKey">_NS:9</string> - <bool key="NSEnabled">YES</bool> - <object class="NSPopUpButtonCell" key="NSCell" id="322746189"> - <int key="NSCellFlags">-2076180416</int> - <int key="NSCellFlags2">2048</int> - <reference key="NSSupport" ref="447006373"/> - <string key="NSCellIdentifier">_NS:9</string> - <reference key="NSControlView" ref="210111604"/> - <int key="NSButtonFlags">109199360</int> - <int key="NSButtonFlags2">129</int> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">400</int> - <int key="NSPeriodicInterval">75</int> - <object class="NSMenuItem" key="NSMenuItem" id="444900169"> - <reference key="NSMenu" ref="367979483"/> - <string key="NSTitle">Item 1</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <int key="NSState">1</int> - <object class="NSCustomResource" key="NSOnImage" id="27507601"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">NSMenuCheckmark</string> - </object> - <object class="NSCustomResource" key="NSMixedImage" id="460218791"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">NSMenuMixedState</string> - </object> - <string key="NSAction">_popUpItemAction:</string> - <reference key="NSTarget" ref="322746189"/> - </object> - <bool key="NSMenuItemRespectAlignment">YES</bool> - <object class="NSMenu" key="NSMenu" id="367979483"> - <string key="NSTitle">OtherViews</string> - <array class="NSMutableArray" key="NSMenuItems"> - <reference ref="444900169"/> - <object class="NSMenuItem" id="923430656"> - <reference key="NSMenu" ref="367979483"/> - <string key="NSTitle">Item 2</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="27507601"/> - <reference key="NSMixedImage" ref="460218791"/> - <string key="NSAction">_popUpItemAction:</string> - <reference key="NSTarget" ref="322746189"/> - </object> - <object class="NSMenuItem" id="641029084"> - <reference key="NSMenu" ref="367979483"/> - <string key="NSTitle">Item 3</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">214748... [truncated message content] |
From: <fr...@us...> - 2014-12-09 12:44:55
|
Revision: 780 http://sourceforge.net/p/fuse-for-macosx/code/780 Author: fredm Date: 2014-12-09 12:44:47 +0000 (Tue, 09 Dec 2014) Log Message: ----------- Migrate to XCode 6.1 and Mac OS X 10.9 SDK Modified Paths: -------------- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj trunk/audiofile/audiofile.xcodeproj/project.pbxproj trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj Modified: trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2014-08-14 14:04:13 UTC (rev 779) +++ trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2014-12-09 12:44:47 UTC (rev 780) @@ -363,7 +363,7 @@ 089C1669FE841209C02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0460; + LastUpgradeCheck = 0610; }; buildConfigurationList = 2CA326220896AD4900168862 /* Build configuration list for PBXProject "FuseGenerator" */; compatibilityVersion = "Xcode 3.2"; @@ -526,38 +526,51 @@ 2CA326230896AD4900168862 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD)"; + CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.7; - SDKROOT = macosx10.8; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx10.9; }; name = Debug; }; 2CA326240896AD4900168862 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD)"; + CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.7; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; }; name = Release; }; Modified: trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2014-08-14 14:04:13 UTC (rev 779) +++ trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2014-12-09 12:44:47 UTC (rev 780) @@ -338,7 +338,7 @@ 089C1669FE841209C02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0500; + LastUpgradeCheck = 0610; }; buildConfigurationList = B6B0E30008CC65D5001D8411 /* Build configuration list for PBXProject "FuseImporter" */; compatibilityVersion = "Xcode 3.2"; @@ -566,8 +566,10 @@ CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; @@ -576,7 +578,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; }; name = Development; }; @@ -588,9 +590,11 @@ CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_POSTPROCESSING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; @@ -599,7 +603,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; }; name = Deployment; }; @@ -611,8 +615,10 @@ CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; @@ -621,7 +627,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; }; name = Default; }; Modified: trunk/audiofile/audiofile.xcodeproj/project.pbxproj =================================================================== --- trunk/audiofile/audiofile.xcodeproj/project.pbxproj 2014-08-14 14:04:13 UTC (rev 779) +++ trunk/audiofile/audiofile.xcodeproj/project.pbxproj 2014-12-09 12:44:47 UTC (rev 780) @@ -303,7 +303,7 @@ 000000000000000016601A90 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0450; + LastUpgradeCheck = 0610; }; buildConfigurationList = B62395470C1CF4F8003B8E87 /* Build configuration list for PBXProject "audiofile" */; compatibilityVersion = "Xcode 3.2"; @@ -402,7 +402,6 @@ B62395480C1CF4F8003B8E87 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_POSTPROCESSING = NO; FRAMEWORK_VERSION = 0.2.6; @@ -415,7 +414,6 @@ B62395490C1CF4F8003B8E87 /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_POSTPROCESSING = YES; FRAMEWORK_VERSION = 0.2.6; @@ -428,7 +426,6 @@ B623954A0C1CF4F8003B8E87 /* Default */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_POSTPROCESSING = NO; FRAMEWORK_VERSION = 0.2.6; @@ -441,7 +438,6 @@ B62395BD0C1CF586003B8E87 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; @@ -472,7 +468,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; @@ -483,7 +479,6 @@ B62395BE0C1CF586003B8E87 /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; @@ -513,7 +508,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; @@ -524,7 +519,6 @@ B62395BF0C1CF586003B8E87 /* Default */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DYLIB_COMPATIBILITY_VERSION = 1; @@ -553,7 +547,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2014-08-14 14:04:13 UTC (rev 779) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2014-12-09 12:44:47 UTC (rev 780) @@ -1552,7 +1552,7 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0500; + LastUpgradeCheck = 0610; }; buildConfigurationList = B63319B3086803BA00732AA3 /* Build configuration list for PBXProject "Fuse" */; compatibilityVersion = "Xcode 3.2"; @@ -1903,7 +1903,7 @@ ); PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; - SDKROOT = macosx10.8; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; @@ -1948,7 +1948,7 @@ ); PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; - SDKROOT = macosx10.8; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; @@ -1992,7 +1992,7 @@ ); PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; - SDKROOT = macosx10.8; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; @@ -2011,7 +2011,7 @@ GCC_VERSION = ""; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; MACOSX_DEPLOYMENT_TARGET = 10.8; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = YES; @@ -2030,7 +2030,7 @@ GCC_VERSION = ""; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; MACOSX_DEPLOYMENT_TARGET = 10.8; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = NO; @@ -2048,7 +2048,7 @@ GCC_VERSION = ""; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; MACOSX_DEPLOYMENT_TARGET = 10.8; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = NO; Modified: trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj =================================================================== --- trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj 2014-08-14 14:04:13 UTC (rev 779) +++ trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj 2014-12-09 12:44:47 UTC (rev 780) @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 42; + objectVersion = 46; objects = { /* Begin PBXBuildFile section */ @@ -357,9 +357,10 @@ 00000000000000001640F4D0 /* Project object */ = { isa = PBXProject; attributes = { + LastUpgradeCheck = 0610; }; buildConfigurationList = B61D2B3F0A59ED600008B6CC /* Build configuration list for PBXProject "libgcrypt" */; - compatibilityVersion = "Xcode 2.4"; + compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( @@ -454,6 +455,7 @@ B61D2B390A59ED5F0008B6CC /* Development */ = { isa = XCBuildConfiguration; buildSettings = { + COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; DYLIB_COMPATIBILITY_VERSION = 13; DYLIB_CURRENT_VERSION = 13.1; @@ -491,6 +493,7 @@ B61D2B3A0A59ED5F0008B6CC /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { + COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = YES; DYLIB_COMPATIBILITY_VERSION = 13; DYLIB_CURRENT_VERSION = 13.1; @@ -527,6 +530,7 @@ B61D2B3B0A59ED5F0008B6CC /* Default */ = { isa = XCBuildConfiguration; buildSettings = { + COMBINE_HIDPI_IMAGES = YES; DYLIB_COMPATIBILITY_VERSION = 13; DYLIB_CURRENT_VERSION = 13.1; FRAMEWORK_VERSION = 1.2.4; @@ -563,7 +567,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; MACOSX_DEPLOYMENT_TARGET = 10.8; PREBINDING = NO; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; }; name = Development; }; @@ -574,7 +578,7 @@ DEPLOYMENT_POSTPROCESSING = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; PREBINDING = NO; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; }; name = Deployment; }; @@ -584,7 +588,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; MACOSX_DEPLOYMENT_TARGET = 10.8; PREBINDING = NO; - SDKROOT = macosx10.8; + SDKROOT = macosx10.9; }; name = Default; }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2016-03-25 09:56:38
|
Revision: 793 http://sourceforge.net/p/fuse-for-macosx/code/793 Author: fredm Date: 2016-03-25 09:56:36 +0000 (Fri, 25 Mar 2016) Log Message: ----------- Update for XCode 7.3 Modified Paths: -------------- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj trunk/FuseGenerator/Info.plist trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj trunk/FuseImporter/Info.plist trunk/audiofile/audiofile.xcodeproj/project.pbxproj trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/Info-Fuse.plist trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj Modified: trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2015-06-05 11:36:46 UTC (rev 792) +++ trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2016-03-25 09:56:36 UTC (rev 793) @@ -363,7 +363,7 @@ 089C1669FE841209C02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + LastUpgradeCheck = 0730; }; buildConfigurationList = 2CA326220896AD4900168862 /* Build configuration list for PBXProject "FuseGenerator" */; compatibilityVersion = "Xcode 3.2"; @@ -488,6 +488,7 @@ "-lbz2", "-lz", ); + PRODUCT_BUNDLE_IDENTIFIER = "net.sourceforge.projects.fuse-emulator.quicklookgenerator"; PRODUCT_NAME = FuseGenerator; VALID_ARCHS = "ppc x86_64 i386"; WRAPPER_EXTENSION = qlgenerator; @@ -512,6 +513,7 @@ "-lbz2", "-lz", ); + PRODUCT_BUNDLE_IDENTIFIER = "net.sourceforge.projects.fuse-emulator.quicklookgenerator"; PRODUCT_NAME = FuseGenerator; VALID_ARCHS = "ppc x86_64 i386"; WARNING_CFLAGS = ( @@ -535,7 +537,9 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEAD_CODE_STRIPPING = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; @@ -545,7 +549,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.7; ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx10.9; + SDKROOT = macosx; }; name = Debug; }; @@ -562,6 +566,7 @@ DEAD_CODE_STRIPPING = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; @@ -570,7 +575,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.7; - SDKROOT = macosx10.9; + SDKROOT = macosx; }; name = Release; }; Modified: trunk/FuseGenerator/Info.plist =================================================================== --- trunk/FuseGenerator/Info.plist 2015-06-05 11:36:46 UTC (rev 792) +++ trunk/FuseGenerator/Info.plist 2016-03-25 09:56:36 UTC (rev 793) @@ -51,7 +51,7 @@ <key>CFBundleIconFile</key> <string></string> <key>CFBundleIdentifier</key> - <string>net.sourceforge.projects.fuse-emulator.quicklookgenerator</string> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> Modified: trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2015-06-05 11:36:46 UTC (rev 792) +++ trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2016-03-25 09:56:36 UTC (rev 793) @@ -338,7 +338,7 @@ 089C1669FE841209C02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + LastUpgradeCheck = 0730; }; buildConfigurationList = B6B0E30008CC65D5001D8411 /* Build configuration list for PBXProject "FuseImporter" */; compatibilityVersion = "Xcode 3.2"; @@ -481,6 +481,7 @@ "-lz", ); OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "net.sourceforge.projects.fuse-emulator.importer"; PRODUCT_NAME = FuseImporter; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( @@ -514,6 +515,7 @@ "-lz", ); OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "net.sourceforge.projects.fuse-emulator.importer"; PRODUCT_NAME = FuseImporter; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( @@ -546,6 +548,7 @@ "-lz", ); OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "net.sourceforge.projects.fuse-emulator.importer"; PRODUCT_NAME = FuseImporter; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( @@ -570,6 +573,8 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_NO_COMMON_BLOCKS = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; @@ -578,7 +583,8 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; - SDKROOT = macosx10.9; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; }; name = Development; }; @@ -595,6 +601,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_POSTPROCESSING = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; @@ -603,7 +610,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; - SDKROOT = macosx10.9; + SDKROOT = macosx; }; name = Deployment; }; @@ -619,6 +626,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; @@ -627,7 +635,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; - SDKROOT = macosx10.9; + SDKROOT = macosx; }; name = Default; }; Modified: trunk/FuseImporter/Info.plist =================================================================== --- trunk/FuseImporter/Info.plist 2015-06-05 11:36:46 UTC (rev 792) +++ trunk/FuseImporter/Info.plist 2016-03-25 09:56:36 UTC (rev 793) @@ -53,7 +53,7 @@ <key>CFBundleIconFile</key> <string></string> <key>CFBundleIdentifier</key> - <string>net.sourceforge.projects.fuse-emulator.importer</string> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleVersion</key> Modified: trunk/audiofile/audiofile.xcodeproj/project.pbxproj =================================================================== --- trunk/audiofile/audiofile.xcodeproj/project.pbxproj 2015-06-05 11:36:46 UTC (rev 792) +++ trunk/audiofile/audiofile.xcodeproj/project.pbxproj 2016-03-25 09:56:36 UTC (rev 793) @@ -303,7 +303,7 @@ 000000000000000016601A90 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + LastUpgradeCheck = 0730; }; buildConfigurationList = B62395470C1CF4F8003B8E87 /* Build configuration list for PBXProject "audiofile" */; compatibilityVersion = "Xcode 3.2"; @@ -402,11 +402,28 @@ B62395480C1CF4F8003B8E87 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_POSTPROCESSING = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; FRAMEWORK_VERSION = 0.2.6; + GCC_NO_COMMON_BLOCKS = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.5; + ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; name = Development; @@ -414,10 +431,25 @@ B62395490C1CF4F8003B8E87 /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_POSTPROCESSING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_VERSION = 0.2.6; + GCC_NO_COMMON_BLOCKS = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.5; SDKROOT = macosx; }; @@ -426,10 +458,25 @@ B623954A0C1CF4F8003B8E87 /* Default */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_POSTPROCESSING = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_VERSION = 0.2.6; + GCC_NO_COMMON_BLOCKS = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.5; SDKROOT = macosx; }; @@ -468,7 +515,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; - SDKROOT = macosx10.9; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; @@ -508,7 +555,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; - SDKROOT = macosx10.9; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; @@ -547,7 +594,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; - SDKROOT = macosx10.9; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2015-06-05 11:36:46 UTC (rev 792) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2016-03-25 09:56:36 UTC (rev 793) @@ -1552,7 +1552,7 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0630; + LastUpgradeCheck = 0730; }; buildConfigurationList = B63319B3086803BA00732AA3 /* Build configuration list for PBXProject "Fuse" */; compatibilityVersion = "Xcode 3.2"; @@ -1884,7 +1884,6 @@ GCC_ENABLE_CPP_RTTI = NO; GCC_ENABLE_OBJC_EXCEPTIONS = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_CPU = ""; GCC_OPTIMIZATION_LEVEL = 0; GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( @@ -1900,9 +1899,10 @@ "-lbz2", "-lz", ); + PRODUCT_BUNDLE_IDENTIFIER = FusePreferences; PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; - SDKROOT = macosx10.9; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; @@ -1929,7 +1929,7 @@ GCC_ENABLE_CPP_EXCEPTIONS = NO; GCC_ENABLE_CPP_RTTI = NO; GCC_ENABLE_OBJC_EXCEPTIONS = NO; - GCC_OPTIMIZATION_LEVEL = 2; + GCC_OPTIMIZATION_LEVEL = 3; GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)/audiofile.framework/Headers", @@ -1944,9 +1944,10 @@ "-lbz2", "-lz", ); + PRODUCT_BUNDLE_IDENTIFIER = FusePreferences; PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; - SDKROOT = macosx10.9; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; @@ -1972,7 +1973,7 @@ GCC_ENABLE_CPP_EXCEPTIONS = NO; GCC_ENABLE_CPP_RTTI = NO; GCC_ENABLE_OBJC_EXCEPTIONS = NO; - GCC_OPTIMIZATION_LEVEL = 2; + GCC_OPTIMIZATION_LEVEL = 3; GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)/audiofile.framework/Headers", @@ -1987,9 +1988,10 @@ "-lbz2", "-lz", ); + PRODUCT_BUNDLE_IDENTIFIER = FusePreferences; PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; - SDKROOT = macosx10.9; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; @@ -2002,9 +2004,10 @@ buildSettings = { DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_AUTO_VECTORIZATION = NO; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c89; GCC_DYNAMIC_NO_PIC = YES; + GCC_OPTIMIZATION_LEVEL = 0; GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; @@ -2013,8 +2016,9 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; + ONLY_ACTIVE_ARCH = YES; RUN_CLANG_STATIC_ANALYZER = YES; - SDKROOT = macosx10.9; + SDKROOT = macosx; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = YES; @@ -2027,9 +2031,9 @@ DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEPLOYMENT_POSTPROCESSING = YES; - GCC_AUTO_VECTORIZATION = NO; GCC_C_LANGUAGE_STANDARD = c89; GCC_DYNAMIC_NO_PIC = YES; + GCC_OPTIMIZATION_LEVEL = 3; GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; @@ -2039,7 +2043,7 @@ LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; RUN_CLANG_STATIC_ANALYZER = YES; - SDKROOT = macosx10.9; + SDKROOT = macosx; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = NO; @@ -2051,7 +2055,6 @@ buildSettings = { DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_AUTO_VECTORIZATION = NO; GCC_C_LANGUAGE_STANDARD = c89; GCC_DYNAMIC_NO_PIC = YES; GCC_VERSION = ""; @@ -2063,7 +2066,7 @@ LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; RUN_CLANG_STATIC_ANALYZER = YES; - SDKROOT = macosx10.9; + SDKROOT = macosx; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = NO; Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2015-06-05 11:36:46 UTC (rev 792) +++ trunk/fuse/fusepb/Info-Fuse.plist 2016-03-25 09:56:36 UTC (rev 793) @@ -540,7 +540,7 @@ <key>CFBundleIconFile</key> <string>Fuse</string> <key>CFBundleIdentifier</key> - <string>FusePreferences</string> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> Modified: trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj =================================================================== --- trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj 2015-06-05 11:36:46 UTC (rev 792) +++ trunk/libgcrypt/libgcrypt.xcodeproj/project.pbxproj 2016-03-25 09:56:36 UTC (rev 793) @@ -357,7 +357,7 @@ 00000000000000001640F4D0 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + LastUpgradeCheck = 0730; }; buildConfigurationList = B61D2B3F0A59ED600008B6CC /* Build configuration list for PBXProject "libgcrypt" */; compatibilityVersion = "Xcode 3.2"; @@ -565,9 +565,11 @@ isa = XCBuildConfiguration; buildSettings = { DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_TESTABILITY = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; + ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; - SDKROOT = macosx10.9; + SDKROOT = macosx; }; name = Development; }; @@ -578,7 +580,7 @@ DEPLOYMENT_POSTPROCESSING = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; PREBINDING = NO; - SDKROOT = macosx10.9; + SDKROOT = macosx; }; name = Deployment; }; @@ -588,7 +590,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; MACOSX_DEPLOYMENT_TARGET = 10.8; PREBINDING = NO; - SDKROOT = macosx10.9; + SDKROOT = macosx; }; name = Default; }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2016-05-25 11:30:56
|
Revision: 803 http://sourceforge.net/p/fuse-for-macosx/code/803 Author: fredm Date: 2016-05-25 11:30:52 +0000 (Wed, 25 May 2016) Log Message: ----------- Merge up to vendor 1.2.0 release branches r5525. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/5525 Modified Paths: -------------- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj trunk/FuseGenerator/Info.plist trunk/FuseGenerator/LibspectrumSCRExtractor.m trunk/FuseGenerator/generate.pl trunk/FuseGenerator/libspectrum.h trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj trunk/FuseImporter/Info.plist trunk/FuseImporter/LibspectrumMetadataImporter.m trunk/FuseImporter/generate.pl trunk/FuseImporter/libspectrum.h trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/generate.pl trunk/fuse/fusepb/libspectrum.h trunk/libspectrum/generate.pl trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/Makefile.am trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/accessor.pl trunk/libspectrum/libspectrum/autogen.sh trunk/libspectrum/libspectrum/bzip2.c trunk/libspectrum/libspectrum/configure.ac trunk/libspectrum/libspectrum/creator.c trunk/libspectrum/libspectrum/crypto.c trunk/libspectrum/libspectrum/csw.c trunk/libspectrum/libspectrum/dck.c trunk/libspectrum/libspectrum/dll.c trunk/libspectrum/libspectrum/doc/libspectrum.3 trunk/libspectrum/libspectrum/doc/libspectrum.txt trunk/libspectrum/libspectrum/generate.pl.in trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum/ide.c 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/memory.c trunk/libspectrum/libspectrum/microdrive.c trunk/libspectrum/libspectrum/myglib/garray.c trunk/libspectrum/libspectrum/myglib/ghash.c trunk/libspectrum/libspectrum/myglib/gslist.c trunk/libspectrum/libspectrum/plusd.c trunk/libspectrum/libspectrum/pzx_read.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/snp.c trunk/libspectrum/libspectrum/sp.c trunk/libspectrum/libspectrum/symbol_table.c trunk/libspectrum/libspectrum/szx.c trunk/libspectrum/libspectrum/tap.c trunk/libspectrum/libspectrum/tape.c 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/timings.c trunk/libspectrum/libspectrum/tzx_read.c trunk/libspectrum/libspectrum/tzx_write.c trunk/libspectrum/libspectrum/utilities.c trunk/libspectrum/libspectrum/warajevo_read.c trunk/libspectrum/libspectrum/wav.c trunk/libspectrum/libspectrum/z80.c trunk/libspectrum/libspectrum/z80em.c trunk/libspectrum/libspectrum/zlib.c trunk/libspectrum/libspectrum/zxs.c trunk/libspectrum/libspectrum.h trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj Added Paths: ----------- trunk/libspectrum/libspectrum/m4/ax_create_stdint_h.m4 trunk/libspectrum/libspectrum/m4/pkg.m4 Property Changed: ---------------- trunk/libspectrum/libspectrum/ trunk/libspectrum/libspectrum/AUTHORS trunk/libspectrum/libspectrum/COPYING trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/Makefile.am trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/THANKS trunk/libspectrum/libspectrum/accessor.pl trunk/libspectrum/libspectrum/autogen.sh trunk/libspectrum/libspectrum/bzip2.c trunk/libspectrum/libspectrum/configure.ac trunk/libspectrum/libspectrum/creator.c trunk/libspectrum/libspectrum/crypto.c trunk/libspectrum/libspectrum/csw.c trunk/libspectrum/libspectrum/dck.c trunk/libspectrum/libspectrum/dll.c trunk/libspectrum/libspectrum/doc/Makefile.am trunk/libspectrum/libspectrum/generate.pl.in trunk/libspectrum/libspectrum/hacking/Makefile.am trunk/libspectrum/libspectrum/ide.c trunk/libspectrum/libspectrum/internals.h trunk/libspectrum/libspectrum/libspectrum.c trunk/libspectrum/libspectrum/libspectrum.h.in trunk/libspectrum/libspectrum/libspectrum.qpg.in trunk/libspectrum/libspectrum/m4/audiofile.m4 trunk/libspectrum/libspectrum/make-perl.c trunk/libspectrum/libspectrum/memory.c trunk/libspectrum/libspectrum/microdrive.c trunk/libspectrum/libspectrum/myglib/Makefile.am trunk/libspectrum/libspectrum/myglib/garray.c trunk/libspectrum/libspectrum/myglib/ghash.c trunk/libspectrum/libspectrum/myglib/gslist.c trunk/libspectrum/libspectrum/plusd.c trunk/libspectrum/libspectrum/pzx_read.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/snp.c trunk/libspectrum/libspectrum/sp.c trunk/libspectrum/libspectrum/symbol_table.c trunk/libspectrum/libspectrum/szx.c trunk/libspectrum/libspectrum/tap.c trunk/libspectrum/libspectrum/tape.c trunk/libspectrum/libspectrum/tape_accessors.pl trunk/libspectrum/libspectrum/tape_accessors.txt trunk/libspectrum/libspectrum/tape_block.c trunk/libspectrum/libspectrum/tape_block.h trunk/libspectrum/libspectrum/tape_set.pl trunk/libspectrum/libspectrum/test/Makefile.am trunk/libspectrum/libspectrum/test/complete-tzx.pl trunk/libspectrum/libspectrum/test/edges.c trunk/libspectrum/libspectrum/test/invalid-hardwareinfo.tzx trunk/libspectrum/libspectrum/test/invalid.tzx trunk/libspectrum/libspectrum/test/loopend.tzx trunk/libspectrum/libspectrum/test/test.c trunk/libspectrum/libspectrum/test/test.h trunk/libspectrum/libspectrum/test/test15.c trunk/libspectrum/libspectrum/timings.c trunk/libspectrum/libspectrum/tzx_read.c trunk/libspectrum/libspectrum/tzx_write.c trunk/libspectrum/libspectrum/utilities.c trunk/libspectrum/libspectrum/warajevo_read.c trunk/libspectrum/libspectrum/wav.c trunk/libspectrum/libspectrum/windres.rc trunk/libspectrum/libspectrum/z80.c trunk/libspectrum/libspectrum/z80em.c trunk/libspectrum/libspectrum/zlib.c trunk/libspectrum/libspectrum/zxs.c Modified: trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2016-05-25 11:30:52 UTC (rev 803) @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 47; objects = { /* Begin PBXBuildFile section */ @@ -366,7 +366,7 @@ LastUpgradeCheck = 0730; }; buildConfigurationList = 2CA326220896AD4900168862 /* Build configuration list for PBXProject "FuseGenerator" */; - compatibilityVersion = "Xcode 3.2"; + compatibilityVersion = "Xcode 6.3"; developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( @@ -547,7 +547,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.8; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -574,7 +574,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.8; SDKROOT = macosx; }; name = Release; Modified: trunk/FuseGenerator/Info.plist =================================================================== --- trunk/FuseGenerator/Info.plist 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/FuseGenerator/Info.plist 2016-05-25 11:30:52 UTC (rev 803) @@ -59,7 +59,7 @@ <key>CFBundleShortVersionString</key> <string>1</string> <key>CFBundleVersion</key> - <string>1.0</string> + <string>1.2</string> <key>CFPlugInDynamicRegisterFunction</key> <string></string> <key>CFPlugInDynamicRegistration</key> Modified: trunk/FuseGenerator/LibspectrumSCRExtractor.m =================================================================== --- trunk/FuseGenerator/LibspectrumSCRExtractor.m 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/FuseGenerator/LibspectrumSCRExtractor.m 2016-05-25 11:30:52 UTC (rev 803) @@ -192,8 +192,6 @@ libspectrum_tape_iterator iterator; libspectrum_tape_block *block; - int seen_scr_header = 0; - tape = libspectrum_tape_alloc(); error = libspectrum_tape_read( tape, buffer, length, LIBSPECTRUM_ID_UNKNOWN, @@ -208,6 +206,7 @@ case LIBSPECTRUM_TAPE_BLOCK_ROM: case LIBSPECTRUM_TAPE_BLOCK_TURBO: + case LIBSPECTRUM_TAPE_BLOCK_DATA_BLOCK: /* See if this looks like a standard Spectrum screen and if so display it if we haven't already assigned an image */ if( scrData ) { @@ -215,30 +214,15 @@ continue; } - if( seen_scr_header ) { - // SCREEN$ is 6912 bytes plus flag and checksum - if( libspectrum_tape_block_data_length( block ) == - STANDARD_SCR_SIZE + 2 ) { - libspectrum_byte *data = libspectrum_tape_block_data( block ); + // SCREEN$ is 6912 bytes plus flag and checksum + if( libspectrum_tape_block_data_length( block ) == + STANDARD_SCR_SIZE + 2 ) { + libspectrum_byte *data = libspectrum_tape_block_data( block ); - scrData = [NSData dataWithBytes:(const void *)(data+1) - length:STANDARD_SCR_SIZE]; + scrData = [NSData dataWithBytes:(const void *)(data+1) + length:STANDARD_SCR_SIZE]; - image_type = TYPE_SCR; - } - - seen_scr_header = 0; - } else { - // Header is 17 bytes plus flag and checksum - if( libspectrum_tape_block_data_length( block ) == 19 ) { - libspectrum_byte *data = libspectrum_tape_block_data( block ); - - /* Flag byte is 0x00 for headers, type is 3 for CODE, length is 6912 */ - if( data[0] == 0x00 && data[1] == 0x03 && - ( data[12] + data[13] * 0x100 == STANDARD_SCR_SIZE ) ) { - seen_scr_header = 1; - } - } + image_type = TYPE_SCR; } break; @@ -293,7 +277,7 @@ break; default: - seen_scr_header = 0; + break; } block = libspectrum_tape_iterator_next( &iterator ); Modified: trunk/FuseGenerator/generate.pl =================================================================== --- trunk/FuseGenerator/generate.pl 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/FuseGenerator/generate.pl 2016-05-25 11:30:52 UTC (rev 803) @@ -208,6 +208,13 @@ CODE } +if( /LIBSPECTRUM_AUTOGEN_WARNING/ ) { + $_ = << "CODE"; +/* NB: This file is autogenerated from libspectrum.h.in. Do not edit + unless you know what you're doing */ +CODE +} + if( /LIBSPECTRUM_SNAP_ACCESSORS/ ) { open( DATAFILE, '<' . "$ENV{SRCROOT}/libspectrum/snap_accessors.txt" ) or die "Couldn't open `$ENV{SRCROOT}/libspectrum/snap_accessors.txt': $!"; Modified: trunk/FuseGenerator/libspectrum.h =================================================================== --- trunk/FuseGenerator/libspectrum.h 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/FuseGenerator/libspectrum.h 2016-05-25 11:30:52 UTC (rev 803) @@ -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 + Copyright (c) 2001-2015 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.h.in 4836 2012-12-31 15:40:10Z zubzero $ + $Id: libspectrum.h.in 5422 2016-04-29 12:54:59Z 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 @@ -281,14 +281,6 @@ 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 ); @@ -326,12 +318,26 @@ } libspectrum_mem_vtable_t; WIN32_DLL void* libspectrum_malloc( size_t size ); -WIN32_DLL void* libspectrum_calloc( size_t nmemb, size_t size ); +WIN32_DLL void* libspectrum_malloc_n( size_t nmemb, size_t size ); +WIN32_DLL void* libspectrum_malloc0_n( size_t nmemb, size_t size ); WIN32_DLL void* libspectrum_realloc( void *ptr, size_t size ); +WIN32_DLL void* libspectrum_realloc_n( void *ptr, size_t nmemb, size_t size ); WIN32_DLL void libspectrum_free( void *ptr ); WIN32_DLL void libspectrum_mem_set_vtable( libspectrum_mem_vtable_t *table ); +#define libspectrum_new( type, count ) \ + ( ( type * ) libspectrum_malloc_n( (count), sizeof( type ) ) ) + +#define libspectrum_new0( type, count ) \ + ( ( type * ) libspectrum_malloc0_n( (count), sizeof( type ) ) ) + +#define libspectrum_renew( type, mem, count ) \ + ( ( type * ) libspectrum_realloc_n( (void *)mem, (count), sizeof( type ) ) ) + +/* Deprecated */ +#define libspectrum_calloc libspectrum_malloc0_n + /* Attempt to identify a given file */ /* Various types of file we might manage to identify */ @@ -401,12 +407,20 @@ LIBSPECTRUM_ID_DISK_SAD, /* .sad generic disk image */ LIBSPECTRUM_ID_DISK_TD0, /* .td0 generic disk image */ + /* Below here, present only in 1.0.0 and later */ + LIBSPECTRUM_ID_DISK_OPD, /* .opu/.opd Opus Discovery disk image */ + /* Below here, present only in 1.1.0 and later */ + LIBSPECTRUM_ID_TAPE_PZX, /* PZX tape image */ LIBSPECTRUM_ID_AUX_POK, /* POKE file */ + /* Below here, present only in 1.2.0 and later */ + + LIBSPECTRUM_ID_DISK_D80, /* .d80/.d40 Didaktik disk image */ + LIBSPECTRUM_ID_SCREEN_SCR, /* .scr screen file */ } libspectrum_id_t; @@ -445,8 +459,14 @@ LIBSPECTRUM_CLASS_DISK_GENERIC, /* generic disk image */ + /* Below here, present only in 1.1.0 and later */ + LIBSPECTRUM_CLASS_AUXILIARY, /* auxiliary supported file */ + /* Below here, present only in 1.2.0 and later */ + + LIBSPECTRUM_CLASS_DISK_DIDAKTIK, /* Didaktik disk */ + LIBSPECTRUM_CLASS_SCREENSHOT, /* Screenshot */ } libspectrum_class_t; @@ -962,6 +982,70 @@ WIN32_DLL void libspectrum_snap_set_late_timings( libspectrum_snap *snap, int late_timings ); WIN32_DLL int libspectrum_snap_zx_printer_active( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_zx_printer_active( libspectrum_snap *snap, int zx_printer_active ); +WIN32_DLL int libspectrum_snap_usource_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_usource_active( libspectrum_snap *snap, int usource_active ); +WIN32_DLL int libspectrum_snap_usource_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_usource_paged( libspectrum_snap *snap, int usource_paged ); +WIN32_DLL int libspectrum_snap_usource_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_usource_custom_rom( libspectrum_snap *snap, int usource_custom_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_usource_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_usource_rom( libspectrum_snap *snap, int idx, libspectrum_byte* usource_rom ); +WIN32_DLL size_t libspectrum_snap_usource_rom_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_usource_rom_length( libspectrum_snap *snap, int idx, size_t usource_rom_length ); +WIN32_DLL int libspectrum_snap_disciple_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_active( libspectrum_snap *snap, int disciple_active ); +WIN32_DLL int libspectrum_snap_disciple_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_paged( libspectrum_snap *snap, int disciple_paged ); +WIN32_DLL int libspectrum_snap_disciple_inhibit_button( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_inhibit_button( libspectrum_snap *snap, int disciple_inhibit_button ); +WIN32_DLL int libspectrum_snap_disciple_drive_count( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_drive_count( libspectrum_snap *snap, int disciple_drive_count ); +WIN32_DLL int libspectrum_snap_disciple_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_custom_rom( libspectrum_snap *snap, int disciple_custom_rom ); +WIN32_DLL size_t libspectrum_snap_disciple_rom_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_disciple_rom_length( libspectrum_snap *snap, int idx, size_t disciple_rom_length ); +WIN32_DLL int libspectrum_snap_disciple_direction( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_direction( libspectrum_snap *snap, int disciple_direction ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_control( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_control( libspectrum_snap *snap, libspectrum_byte disciple_control ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_track( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_track( libspectrum_snap *snap, libspectrum_byte disciple_track ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_sector( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_sector( libspectrum_snap *snap, libspectrum_byte disciple_sector ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_data( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_data( libspectrum_snap *snap, libspectrum_byte disciple_data ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_status( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_status( libspectrum_snap *snap, libspectrum_byte disciple_status ); +WIN32_DLL libspectrum_byte * libspectrum_snap_disciple_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_disciple_rom( libspectrum_snap *snap, int idx, libspectrum_byte* disciple_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_disciple_ram( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_disciple_ram( libspectrum_snap *snap, int idx, libspectrum_byte* disciple_ram ); +WIN32_DLL int libspectrum_snap_didaktik80_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_active( libspectrum_snap *snap, int didaktik80_active ); +WIN32_DLL int libspectrum_snap_didaktik80_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_paged( libspectrum_snap *snap, int didaktik80_paged ); +WIN32_DLL int libspectrum_snap_didaktik80_drive_count( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_drive_count( libspectrum_snap *snap, int didaktik80_drive_count ); +WIN32_DLL int libspectrum_snap_didaktik80_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_custom_rom( libspectrum_snap *snap, int didaktik80_custom_rom ); +WIN32_DLL size_t libspectrum_snap_didaktik80_rom_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_didaktik80_rom_length( libspectrum_snap *snap, int idx, size_t didaktik80_rom_length ); +WIN32_DLL int libspectrum_snap_didaktik80_direction( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_direction( libspectrum_snap *snap, int didaktik80_direction ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_aux( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_aux( libspectrum_snap *snap, libspectrum_byte didaktik80_aux ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_track( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_track( libspectrum_snap *snap, libspectrum_byte didaktik80_track ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_sector( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_sector( libspectrum_snap *snap, libspectrum_byte didaktik80_sector ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_data( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_data( libspectrum_snap *snap, libspectrum_byte didaktik80_data ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_status( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_status( libspectrum_snap *snap, libspectrum_byte didaktik80_status ); +WIN32_DLL libspectrum_byte * libspectrum_snap_didaktik80_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_didaktik80_rom( libspectrum_snap *snap, int idx, libspectrum_byte* didaktik80_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_didaktik80_ram( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_didaktik80_ram( libspectrum_snap *snap, int idx, libspectrum_byte* didaktik80_ram ); /* * Tape handling routines @@ -1349,6 +1433,8 @@ libspectrum_rzx_iterator_begin( libspectrum_rzx *rzx ); WIN32_DLL libspectrum_rzx_iterator libspectrum_rzx_iterator_next( libspectrum_rzx_iterator it ); +WIN32_DLL libspectrum_rzx_iterator +libspectrum_rzx_iterator_last( libspectrum_rzx *rzx ); WIN32_DLL libspectrum_rzx_block_id libspectrum_rzx_iterator_get_type( libspectrum_rzx_iterator it ); @@ -1363,6 +1449,9 @@ WIN32_DLL int libspectrum_rzx_iterator_snap_is_automatic( libspectrum_rzx_iterator it ); +WIN32_DLL libspectrum_error +libspectrum_rzx_finalise( libspectrum_rzx *rzx ); + /* * Microdrive image handling routines */ Modified: trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2016-05-25 11:30:52 UTC (rev 803) @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 47; objects = { /* Begin PBXBuildFile section */ @@ -341,7 +341,7 @@ LastUpgradeCheck = 0730; }; buildConfigurationList = B6B0E30008CC65D5001D8411 /* Build configuration list for PBXProject "FuseImporter" */; - compatibilityVersion = "Xcode 3.2"; + compatibilityVersion = "Xcode 6.3"; developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( Modified: trunk/FuseImporter/Info.plist =================================================================== --- trunk/FuseImporter/Info.plist 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/FuseImporter/Info.plist 2016-05-25 11:30:52 UTC (rev 803) @@ -57,7 +57,7 @@ <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleVersion</key> - <string>1.1</string> + <string>1.2</string> <key>CFPlugInDynamicRegisterFunction</key> <string></string> <key>CFPlugInDynamicRegistration</key> Modified: trunk/FuseImporter/LibspectrumMetadataImporter.m =================================================================== --- trunk/FuseImporter/LibspectrumMetadataImporter.m 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/FuseImporter/LibspectrumMetadataImporter.m 2016-05-25 11:30:52 UTC (rev 803) @@ -379,6 +379,12 @@ case LIBSPECTRUM_TAPE_BLOCK_GENERALISED_DATA: break; + + case LIBSPECTRUM_TAPE_BLOCK_PULSE_SEQUENCE: + break; + + case LIBSPECTRUM_TAPE_BLOCK_DATA_BLOCK: + break; default: NSLog(@"LibspectrumMetadataImporter: (Sorry -- can't handle that kind of block. Skipping it)\n"); @@ -426,7 +432,7 @@ } if( libspectrum_snap_joystick_active_count( snap ) ) { - size_t i; + int i; for( i=0; i< libspectrum_snap_joystick_active_count( snap ); i++ ) { if(libspectrum_snap_joystick_list(snap, i) != LIBSPECTRUM_JOYSTICK_NONE) { @@ -459,7 +465,42 @@ if( libspectrum_snap_plusd_active( snap ) ) { [peripherals addObject:@"+D Disk"]; } - + if( libspectrum_snap_opus_active( snap ) ) { + [peripherals addObject:@"Opus Disk"]; + } + if( libspectrum_snap_kempston_mouse_active( snap ) ) { + [peripherals addObject:@"Kempston Mouse"]; + } + if( libspectrum_snap_simpleide_active( snap ) ) { + [peripherals addObject:@"Simple IDE"]; + } + if( libspectrum_snap_divide_active( snap ) ) { + [peripherals addObject:@"DivIDE"]; + } + if( libspectrum_snap_fuller_box_active( snap ) ) { + [peripherals addObject:@"Fuller Box"]; + } + if( libspectrum_snap_melodik_active( snap ) ) { + [peripherals addObject:@"Melodik"]; + } + if( libspectrum_snap_specdrum_active( snap ) ) { + [peripherals addObject:@"SpecDrum"]; + } + if( libspectrum_snap_spectranet_active( snap ) ) { + [peripherals addObject:@"Spectranet"]; + } + if( libspectrum_snap_zx_printer_active( snap ) ) { + [peripherals addObject:@"ZX Printer"]; + } + if( libspectrum_snap_usource_active( snap ) ) { + [peripherals addObject:@"Currah µSource"]; + } + if( libspectrum_snap_disciple_active( snap ) ) { + [peripherals addObject:@"DISCiPLE"]; + } + if( libspectrum_snap_didaktik80_active( snap ) ) { + [peripherals addObject:@"Didaktik D80"]; + } if( [peripherals count] ) { [attributes setObject:peripherals forKey:@"net_sourceforge_projects_fuse_emulator_Peripherals"]; @@ -603,6 +644,26 @@ } - (BOOL) +process_opd +{ + BOOL error = NO; + + /* FIXME: size, %full?, read-only vs read-write etc? */ + + return error; +} + +- (BOOL) +process_d80 +{ + BOOL error = NO; + + /* FIXME: size, %full?, read-only vs read-write etc? */ + + return error; +} + +- (BOOL) process_if2r { BOOL error = NO; @@ -622,7 +683,8 @@ return error; } -- (BOOL)process_hdr +- (BOOL) +process_hdr { BOOL error = NO; @@ -712,6 +774,14 @@ retval = [self process_hdr]; break; + case LIBSPECTRUM_CLASS_DISK_OPUS: + retval = [self process_opd]; + break; + + case LIBSPECTRUM_CLASS_DISK_DIDAKTIK: + retval = [self process_d80]; + break; + default: NSLog(@"LibspectrumMetadataImporter: loadFile: unknown class %d!\n", lsclass ); retval = NO; Modified: trunk/FuseImporter/generate.pl =================================================================== --- trunk/FuseImporter/generate.pl 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/FuseImporter/generate.pl 2016-05-25 11:30:52 UTC (rev 803) @@ -208,6 +208,13 @@ CODE } +if( /LIBSPECTRUM_AUTOGEN_WARNING/ ) { + $_ = << "CODE"; +/* NB: This file is autogenerated from libspectrum.h.in. Do not edit + unless you know what you're doing */ +CODE +} + if( /LIBSPECTRUM_SNAP_ACCESSORS/ ) { open( DATAFILE, '<' . "$ENV{SRCROOT}/libspectrum/snap_accessors.txt" ) or die "Couldn't open `$ENV{SRCROOT}/libspectrum/snap_accessors.txt': $!"; Modified: trunk/FuseImporter/libspectrum.h =================================================================== --- trunk/FuseImporter/libspectrum.h 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/FuseImporter/libspectrum.h 2016-05-25 11:30:52 UTC (rev 803) @@ -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 + Copyright (c) 2001-2015 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.h.in 4836 2012-12-31 15:40:10Z zubzero $ + $Id: libspectrum.h.in 5422 2016-04-29 12:54:59Z 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 @@ -281,14 +281,6 @@ 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 ); @@ -326,12 +318,26 @@ } libspectrum_mem_vtable_t; WIN32_DLL void* libspectrum_malloc( size_t size ); -WIN32_DLL void* libspectrum_calloc( size_t nmemb, size_t size ); +WIN32_DLL void* libspectrum_malloc_n( size_t nmemb, size_t size ); +WIN32_DLL void* libspectrum_malloc0_n( size_t nmemb, size_t size ); WIN32_DLL void* libspectrum_realloc( void *ptr, size_t size ); +WIN32_DLL void* libspectrum_realloc_n( void *ptr, size_t nmemb, size_t size ); WIN32_DLL void libspectrum_free( void *ptr ); WIN32_DLL void libspectrum_mem_set_vtable( libspectrum_mem_vtable_t *table ); +#define libspectrum_new( type, count ) \ + ( ( type * ) libspectrum_malloc_n( (count), sizeof( type ) ) ) + +#define libspectrum_new0( type, count ) \ + ( ( type * ) libspectrum_malloc0_n( (count), sizeof( type ) ) ) + +#define libspectrum_renew( type, mem, count ) \ + ( ( type * ) libspectrum_realloc_n( (void *)mem, (count), sizeof( type ) ) ) + +/* Deprecated */ +#define libspectrum_calloc libspectrum_malloc0_n + /* Attempt to identify a given file */ /* Various types of file we might manage to identify */ @@ -401,12 +407,20 @@ LIBSPECTRUM_ID_DISK_SAD, /* .sad generic disk image */ LIBSPECTRUM_ID_DISK_TD0, /* .td0 generic disk image */ + /* Below here, present only in 1.0.0 and later */ + LIBSPECTRUM_ID_DISK_OPD, /* .opu/.opd Opus Discovery disk image */ + /* Below here, present only in 1.1.0 and later */ + LIBSPECTRUM_ID_TAPE_PZX, /* PZX tape image */ LIBSPECTRUM_ID_AUX_POK, /* POKE file */ + /* Below here, present only in 1.2.0 and later */ + + LIBSPECTRUM_ID_DISK_D80, /* .d80/.d40 Didaktik disk image */ + LIBSPECTRUM_ID_SCREEN_SCR, /* .scr screen file */ } libspectrum_id_t; @@ -445,8 +459,14 @@ LIBSPECTRUM_CLASS_DISK_GENERIC, /* generic disk image */ + /* Below here, present only in 1.1.0 and later */ + LIBSPECTRUM_CLASS_AUXILIARY, /* auxiliary supported file */ + /* Below here, present only in 1.2.0 and later */ + + LIBSPECTRUM_CLASS_DISK_DIDAKTIK, /* Didaktik disk */ + LIBSPECTRUM_CLASS_SCREENSHOT, /* Screenshot */ } libspectrum_class_t; @@ -962,6 +982,70 @@ WIN32_DLL void libspectrum_snap_set_late_timings( libspectrum_snap *snap, int late_timings ); WIN32_DLL int libspectrum_snap_zx_printer_active( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_zx_printer_active( libspectrum_snap *snap, int zx_printer_active ); +WIN32_DLL int libspectrum_snap_usource_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_usource_active( libspectrum_snap *snap, int usource_active ); +WIN32_DLL int libspectrum_snap_usource_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_usource_paged( libspectrum_snap *snap, int usource_paged ); +WIN32_DLL int libspectrum_snap_usource_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_usource_custom_rom( libspectrum_snap *snap, int usource_custom_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_usource_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_usource_rom( libspectrum_snap *snap, int idx, libspectrum_byte* usource_rom ); +WIN32_DLL size_t libspectrum_snap_usource_rom_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_usource_rom_length( libspectrum_snap *snap, int idx, size_t usource_rom_length ); +WIN32_DLL int libspectrum_snap_disciple_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_active( libspectrum_snap *snap, int disciple_active ); +WIN32_DLL int libspectrum_snap_disciple_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_paged( libspectrum_snap *snap, int disciple_paged ); +WIN32_DLL int libspectrum_snap_disciple_inhibit_button( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_inhibit_button( libspectrum_snap *snap, int disciple_inhibit_button ); +WIN32_DLL int libspectrum_snap_disciple_drive_count( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_drive_count( libspectrum_snap *snap, int disciple_drive_count ); +WIN32_DLL int libspectrum_snap_disciple_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_custom_rom( libspectrum_snap *snap, int disciple_custom_rom ); +WIN32_DLL size_t libspectrum_snap_disciple_rom_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_disciple_rom_length( libspectrum_snap *snap, int idx, size_t disciple_rom_length ); +WIN32_DLL int libspectrum_snap_disciple_direction( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_direction( libspectrum_snap *snap, int disciple_direction ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_control( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_control( libspectrum_snap *snap, libspectrum_byte disciple_control ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_track( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_track( libspectrum_snap *snap, libspectrum_byte disciple_track ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_sector( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_sector( libspectrum_snap *snap, libspectrum_byte disciple_sector ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_data( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_data( libspectrum_snap *snap, libspectrum_byte disciple_data ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_status( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_status( libspectrum_snap *snap, libspectrum_byte disciple_status ); +WIN32_DLL libspectrum_byte * libspectrum_snap_disciple_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_disciple_rom( libspectrum_snap *snap, int idx, libspectrum_byte* disciple_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_disciple_ram( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_disciple_ram( libspectrum_snap *snap, int idx, libspectrum_byte* disciple_ram ); +WIN32_DLL int libspectrum_snap_didaktik80_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_active( libspectrum_snap *snap, int didaktik80_active ); +WIN32_DLL int libspectrum_snap_didaktik80_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_paged( libspectrum_snap *snap, int didaktik80_paged ); +WIN32_DLL int libspectrum_snap_didaktik80_drive_count( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_drive_count( libspectrum_snap *snap, int didaktik80_drive_count ); +WIN32_DLL int libspectrum_snap_didaktik80_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_custom_rom( libspectrum_snap *snap, int didaktik80_custom_rom ); +WIN32_DLL size_t libspectrum_snap_didaktik80_rom_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_didaktik80_rom_length( libspectrum_snap *snap, int idx, size_t didaktik80_rom_length ); +WIN32_DLL int libspectrum_snap_didaktik80_direction( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_direction( libspectrum_snap *snap, int didaktik80_direction ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_aux( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_aux( libspectrum_snap *snap, libspectrum_byte didaktik80_aux ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_track( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_track( libspectrum_snap *snap, libspectrum_byte didaktik80_track ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_sector( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_sector( libspectrum_snap *snap, libspectrum_byte didaktik80_sector ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_data( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_data( libspectrum_snap *snap, libspectrum_byte didaktik80_data ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_status( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_status( libspectrum_snap *snap, libspectrum_byte didaktik80_status ); +WIN32_DLL libspectrum_byte * libspectrum_snap_didaktik80_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_didaktik80_rom( libspectrum_snap *snap, int idx, libspectrum_byte* didaktik80_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_didaktik80_ram( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_didaktik80_ram( libspectrum_snap *snap, int idx, libspectrum_byte* didaktik80_ram ); /* * Tape handling routines @@ -1349,6 +1433,8 @@ libspectrum_rzx_iterator_begin( libspectrum_rzx *rzx ); WIN32_DLL libspectrum_rzx_iterator libspectrum_rzx_iterator_next( libspectrum_rzx_iterator it ); +WIN32_DLL libspectrum_rzx_iterator +libspectrum_rzx_iterator_last( libspectrum_rzx *rzx ); WIN32_DLL libspectrum_rzx_block_id libspectrum_rzx_iterator_get_type( libspectrum_rzx_iterator it ); @@ -1363,6 +1449,9 @@ WIN32_DLL int libspectrum_rzx_iterator_snap_is_automatic( libspectrum_rzx_iterator it ); +WIN32_DLL libspectrum_error +libspectrum_rzx_finalise( libspectrum_rzx *rzx ); + /* * Microdrive image handling routines */ Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2016-05-25 11:30:52 UTC (rev 803) @@ -1902,7 +1902,7 @@ PRODUCT_BUNDLE_IDENTIFIER = FusePreferences; PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; - SDKROOT = macosx10.11; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; @@ -1947,7 +1947,7 @@ PRODUCT_BUNDLE_IDENTIFIER = FusePreferences; PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; - SDKROOT = macosx10.11; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; @@ -1991,7 +1991,7 @@ PRODUCT_BUNDLE_IDENTIFIER = FusePreferences; PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; - SDKROOT = macosx10.11; + SDKROOT = macosx; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; @@ -2018,7 +2018,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.8; ONLY_ACTIVE_ARCH = YES; RUN_CLANG_STATIC_ANALYZER = YES; - SDKROOT = macosx10.11; + SDKROOT = macosx; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = YES; @@ -2043,7 +2043,7 @@ LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; RUN_CLANG_STATIC_ANALYZER = YES; - SDKROOT = macosx10.11; + SDKROOT = macosx; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = NO; @@ -2066,7 +2066,7 @@ LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; RUN_CLANG_STATIC_ANALYZER = YES; - SDKROOT = macosx10.11; + SDKROOT = macosx; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = NO; Modified: trunk/fuse/fusepb/generate.pl =================================================================== --- trunk/fuse/fusepb/generate.pl 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/fuse/fusepb/generate.pl 2016-05-25 11:30:52 UTC (rev 803) @@ -220,6 +220,13 @@ CODE } +if( /LIBSPECTRUM_AUTOGEN_WARNING/ ) { + $_ = << "CODE"; +/* NB: This file is autogenerated from libspectrum.h.in. Do not edit + unless you know what you're doing */ +CODE +} + if( /LIBSPECTRUM_SNAP_ACCESSORS/ ) { open( DATAFILE, '<' . "$ENV{SRCROOT}/libspectrum/snap_accessors.txt" ) or die "Couldn't open `$ENV{SRCROOT}/libspectrum/snap_accessors.txt': $!"; Modified: trunk/fuse/fusepb/libspectrum.h =================================================================== --- trunk/fuse/fusepb/libspectrum.h 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/fuse/fusepb/libspectrum.h 2016-05-25 11:30:52 UTC (rev 803) @@ -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 + Copyright (c) 2001-2015 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.h.in 4836 2012-12-31 15:40:10Z zubzero $ + $Id: libspectrum.h.in 5422 2016-04-29 12:54:59Z 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 @@ -327,12 +327,26 @@ } libspectrum_mem_vtable_t; WIN32_DLL void* libspectrum_malloc( size_t size ); -WIN32_DLL void* libspectrum_calloc( size_t nmemb, size_t size ); +WIN32_DLL void* libspectrum_malloc_n( size_t nmemb, size_t size ); +WIN32_DLL void* libspectrum_malloc0_n( size_t nmemb, size_t size ); WIN32_DLL void* libspectrum_realloc( void *ptr, size_t size ); +WIN32_DLL void* libspectrum_realloc_n( void *ptr, size_t nmemb, size_t size ); WIN32_DLL void libspectrum_free( void *ptr ); WIN32_DLL void libspectrum_mem_set_vtable( libspectrum_mem_vtable_t *table ); +#define libspectrum_new( type, count ) \ + ( ( type * ) libspectrum_malloc_n( (count), sizeof( type ) ) ) + +#define libspectrum_new0( type, count ) \ + ( ( type * ) libspectrum_malloc0_n( (count), sizeof( type ) ) ) + +#define libspectrum_renew( type, mem, count ) \ + ( ( type * ) libspectrum_realloc_n( (void *)mem, (count), sizeof( type ) ) ) + +/* Deprecated */ +#define libspectrum_calloc libspectrum_malloc0_n + /* Attempt to identify a given file */ /* Various types of file we might manage to identify */ @@ -402,12 +416,20 @@ LIBSPECTRUM_ID_DISK_SAD, /* .sad generic disk image */ LIBSPECTRUM_ID_DISK_TD0, /* .td0 generic disk image */ + /* Below here, present only in 1.0.0 and later */ + LIBSPECTRUM_ID_DISK_OPD, /* .opu/.opd Opus Discovery disk image */ + /* Below here, present only in 1.1.0 and later */ + LIBSPECTRUM_ID_TAPE_PZX, /* PZX tape image */ LIBSPECTRUM_ID_AUX_POK, /* POKE file */ + /* Below here, present only in 1.2.0 and later */ + + LIBSPECTRUM_ID_DISK_D80, /* .d80/.d40 Didaktik disk image */ + LIBSPECTRUM_ID_SCREEN_SCR, /* .scr screen file */ } libspectrum_id_t; @@ -446,8 +468,14 @@ LIBSPECTRUM_CLASS_DISK_GENERIC, /* generic disk image */ + /* Below here, present only in 1.1.0 and later */ + LIBSPECTRUM_CLASS_AUXILIARY, /* auxiliary supported file */ + /* Below here, present only in 1.2.0 and later */ + + LIBSPECTRUM_CLASS_DISK_DIDAKTIK, /* Didaktik disk */ + LIBSPECTRUM_CLASS_SCREENSHOT, /* Screenshot */ } libspectrum_class_t; @@ -963,6 +991,70 @@ WIN32_DLL void libspectrum_snap_set_late_timings( libspectrum_snap *snap, int late_timings ); WIN32_DLL int libspectrum_snap_zx_printer_active( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_zx_printer_active( libspectrum_snap *snap, int zx_printer_active ); +WIN32_DLL int libspectrum_snap_usource_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_usource_active( libspectrum_snap *snap, int usource_active ); +WIN32_DLL int libspectrum_snap_usource_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_usource_paged( libspectrum_snap *snap, int usource_paged ); +WIN32_DLL int libspectrum_snap_usource_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_usource_custom_rom( libspectrum_snap *snap, int usource_custom_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_usource_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_usource_rom( libspectrum_snap *snap, int idx, libspectrum_byte* usource_rom ); +WIN32_DLL size_t libspectrum_snap_usource_rom_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_usource_rom_length( libspectrum_snap *snap, int idx, size_t usource_rom_length ); +WIN32_DLL int libspectrum_snap_disciple_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_active( libspectrum_snap *snap, int disciple_active ); +WIN32_DLL int libspectrum_snap_disciple_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_paged( libspectrum_snap *snap, int disciple_paged ); +WIN32_DLL int libspectrum_snap_disciple_inhibit_button( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_inhibit_button( libspectrum_snap *snap, int disciple_inhibit_button ); +WIN32_DLL int libspectrum_snap_disciple_drive_count( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_drive_count( libspectrum_snap *snap, int disciple_drive_count ); +WIN32_DLL int libspectrum_snap_disciple_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_custom_rom( libspectrum_snap *snap, int disciple_custom_rom ); +WIN32_DLL size_t libspectrum_snap_disciple_rom_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_disciple_rom_length( libspectrum_snap *snap, int idx, size_t disciple_rom_length ); +WIN32_DLL int libspectrum_snap_disciple_direction( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_direction( libspectrum_snap *snap, int disciple_direction ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_control( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_control( libspectrum_snap *snap, libspectrum_byte disciple_control ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_track( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_track( libspectrum_snap *snap, libspectrum_byte disciple_track ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_sector( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_sector( libspectrum_snap *snap, libspectrum_byte disciple_sector ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_data( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_data( libspectrum_snap *snap, libspectrum_byte disciple_data ); +WIN32_DLL libspectrum_byte libspectrum_snap_disciple_status( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_disciple_status( libspectrum_snap *snap, libspectrum_byte disciple_status ); +WIN32_DLL libspectrum_byte * libspectrum_snap_disciple_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_disciple_rom( libspectrum_snap *snap, int idx, libspectrum_byte* disciple_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_disciple_ram( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_disciple_ram( libspectrum_snap *snap, int idx, libspectrum_byte* disciple_ram ); +WIN32_DLL int libspectrum_snap_didaktik80_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_active( libspectrum_snap *snap, int didaktik80_active ); +WIN32_DLL int libspectrum_snap_didaktik80_paged( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_paged( libspectrum_snap *snap, int didaktik80_paged ); +WIN32_DLL int libspectrum_snap_didaktik80_drive_count( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_drive_count( libspectrum_snap *snap, int didaktik80_drive_count ); +WIN32_DLL int libspectrum_snap_didaktik80_custom_rom( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_custom_rom( libspectrum_snap *snap, int didaktik80_custom_rom ); +WIN32_DLL size_t libspectrum_snap_didaktik80_rom_length( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_didaktik80_rom_length( libspectrum_snap *snap, int idx, size_t didaktik80_rom_length ); +WIN32_DLL int libspectrum_snap_didaktik80_direction( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_direction( libspectrum_snap *snap, int didaktik80_direction ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_aux( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_aux( libspectrum_snap *snap, libspectrum_byte didaktik80_aux ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_track( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_track( libspectrum_snap *snap, libspectrum_byte didaktik80_track ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_sector( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_sector( libspectrum_snap *snap, libspectrum_byte didaktik80_sector ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_data( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_data( libspectrum_snap *snap, libspectrum_byte didaktik80_data ); +WIN32_DLL libspectrum_byte libspectrum_snap_didaktik80_status( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_didaktik80_status( libspectrum_snap *snap, libspectrum_byte didaktik80_status ); +WIN32_DLL libspectrum_byte * libspectrum_snap_didaktik80_rom( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_didaktik80_rom( libspectrum_snap *snap, int idx, libspectrum_byte* didaktik80_rom ); +WIN32_DLL libspectrum_byte * libspectrum_snap_didaktik80_ram( libspectrum_snap *snap, int idx ); +WIN32_DLL void libspectrum_snap_set_didaktik80_ram( libspectrum_snap *snap, int idx, libspectrum_byte* didaktik80_ram ); /* * Tape handling routines @@ -1351,6 +1443,8 @@ libspectrum_rzx_iterator_begin( libspectrum_rzx *rzx ); WIN32_DLL libspectrum_rzx_iterator libspectrum_rzx_iterator_next( libspectrum_rzx_iterator it ); +WIN32_DLL libspectrum_rzx_iterator +libspectrum_rzx_iterator_last( libspectrum_rzx *rzx ); WIN32_DLL libspectrum_rzx_block_id libspectrum_rzx_iterator_get_type( libspectrum_rzx_iterator it ); @@ -1365,6 +1459,9 @@ WIN32_DLL int libspectrum_rzx_iterator_snap_is_automatic( libspectrum_rzx_iterator it ); +WIN32_DLL libspectrum_error +libspectrum_rzx_finalise( libspectrum_rzx *rzx ); + /* * Microdrive image handling routines */ Modified: trunk/libspectrum/generate.pl =================================================================== --- trunk/libspectrum/generate.pl 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/libspectrum/generate.pl 2016-05-25 11:30:52 UTC (rev 803) @@ -177,14 +177,13 @@ if( /LIBSPECTRUM_INCLUDE_GCRYPT/ ) { - $_ = ''; + $_ = "#include <gcrypt.h>\n"; } if( /LIBSPECTRUM_SIGNATURE_PARAMETERS/ ) { - $_ = "/* Signature parameters not stored as libgcrypt is not present */ -"; + $_ = " /* The DSA signature parameters 'r' and 's' */\n gcry_mpi_t r, s;\n"; } @@ -216,6 +215,13 @@ CODE } +if( /LIBSPECTRUM_AUTOGEN_WARNING/ ) { + $_ = << "CODE"; +/* NB: This file is autogenerated from libspectrum.h.in. Do not edit + unless you know what you're doing */ +CODE +} + if( /LIBSPECTRUM_SNAP_ACCESSORS/ ) { open( DATAFILE, '<' . "$ENV{SRCROOT}/libspectrum/snap_accessors.txt" ) or die "Couldn't open `$ENV{SRCROOT}/libspectrum/snap_accessors.txt': $!"; Index: trunk/libspectrum/libspectrum =================================================================== --- trunk/libspectrum/libspectrum 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/libspectrum/libspectrum 2016-05-25 11:30:52 UTC (rev 803) Property changes on: trunk/libspectrum/libspectrum ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/libspectrum:556-557 /vendor/fuse-emulator/0.10.0-pre1/libspectrum:545-546 -/vendor/fuse-emulator/current/libspectrum:530-755 +/vendor/fuse-emulator/current/libspectrum:530-802 /vendor/fuse-emulator/fuse-1.0.0a/libspectrum:668-669 /vendor/fuse-emulator/fuse-r4617/libspectrum:686 \ No newline at end of property Index: trunk/libspectrum/libspectrum/AUTHORS =================================================================== --- trunk/libspectrum/libspectrum/AUTHORS 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/libspectrum/libspectrum/AUTHORS 2016-05-25 11:30:52 UTC (rev 803) Property changes on: trunk/libspectrum/libspectrum/AUTHORS ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: trunk/libspectrum/libspectrum/COPYING =================================================================== --- trunk/libspectrum/libspectrum/COPYING 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/libspectrum/libspectrum/COPYING 2016-05-25 11:30:52 UTC (rev 803) Property changes on: trunk/libspectrum/libspectrum/COPYING ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/libspectrum/libspectrum/ChangeLog =================================================================== --- trunk/libspectrum/libspectrum/ChangeLog 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/libspectrum/libspectrum/ChangeLog 2016-05-25 11:30:52 UTC (rev 803) @@ -1,3 +1,42 @@ +2016-??-?? Philip Kendall <phi...@sh...> + + * libspectrum 1.2.0 released. + + * Allow finalising RZX recordings (Sergio Baldoví). + + * Support for Didaktik D80 disk class (Gergely Szasz). + + * Use SZX format for interspersed snapshots in RZX recordings (Sergio + Baldoví). + + * Add libspectrum_{new,new0,renew}(), libspectrum_{m,re}alloc_n() + memory macros (Stuart Brady). + + * Rename libspectrum_calloc() to libspectrum_malloc0_n() (Stuart Brady). + + * Various minor bug fixes/improvements: + * Modernise autoconf support (Sergio Baldoví). + * Fix snapshot insertion in RZX recordings (Sergio Baldoví). + * Ensure we have an edge at the end of a tape - fixes loading of Moon + Cresta (Fredrick Meunier). + * Avoid reliance on undefined pointer overflow in buffer length checks + (Stuart Brady). + * Add ARRAY_SIZE macro (Stuart Brady). + * Fix overallocation for uncompressed Z80 v2 data blocks (Stuart + Brady). + * Check for overflow in libspectrum_calloc() (Stuart Brady). + * Replace automatic fallback to GLib replacement with --with-fake-glib + flag (Stuart Brady). + * const and static cleanups (Stuart Brady). + * Fix compilation on systems without stdint.h (Stuart Brady). + * C89 compilation fixes (Adrien Destugues) + * Refactor frame timings (Stuart Brady). + * Add pkg.m4 for PKG_CHECK_MODULES in case the platform doesn't have + pkg-config installed (Sergio Baldoví). + * Enable silent rules for perl and windres commands (Sergio Baldoví). + * Allow for the inital_level of PZX data blocks to have the default + value (Fredrick Meunier). + 2013-05-24 Philip Kendall <phi...@sh...> * libspectrum 1.1.1 released. @@ -340,5 +379,5 @@ * libspectrum separated from Fuse just before the 0.5.0 release of Fuse; see Fuse's ChangeLog for changes up to this point -$Id: ChangeLog 4994 2013-05-24 19:52:37Z zubzero $ +$Id: ChangeLog 5413 2016-04-27 11:50:17Z fredm $ Property changes on: trunk/libspectrum/libspectrum/ChangeLog ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/libspectrum/libspectrum/Makefile.am =================================================================== --- trunk/libspectrum/libspectrum/Makefile.am 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/libspectrum/libspectrum/Makefile.am 2016-05-25 11:30:52 UTC (rev 803) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in -## Copyright (c) 2001-2013 Philip Kendall +## Copyright (c) 2001-2016 Philip Kendall -## $Id: Makefile.am 4985 2013-05-24 17:27:14Z zubzero $ +## $Id: Makefile.am 5438 2016-05-01 16:27:08Z sbaldovi $ ## 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 @@ -63,7 +63,7 @@ zlib.c \ zxs.c -libspectrum_la_LDFLAGS = -version-info 9:0:1 -no-undefined @WINDRES_LDFLAGS@ +libspectrum_la_LDFLAGS = -version-info 10:0:2 -no-undefined @WINDRES_LDFLAGS@ libspectrum_la_LIBADD = @AUDIOFILE_LIBS@ @GLIB_LIBS@ -lm @@ -80,32 +80,35 @@ AM_CFLAGS = -DLIBSPECTRUM_EXPORTS make-perl$(EXEEXT): $(srcdir)/make-perl.c config.h - $(CC_FOR_BUILD) -I. $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< + $(AM_V_CC)$(CC_FOR_BUILD) -I. -o $@ $< libspectrum.h: libspectrum.h.in generate.pl snap_accessors.txt tape_accessors.txt config.h - @PERL@ -p generate.pl $(srcdir) $(srcdir)/libspectrum.h.in > $@.tmp && mv $@.tmp $@ + $(AM_V_GEN)$(PERL) -p generate.pl $(srcdir) $(srcdir)/libspectrum.h.in > $@.tmp && mv $@.tmp $@ generate.pl: make-perl$(EXEEXT) generate.pl.in - ./make-perl$(EXEEXT) > $@ - cat $(srcdir)/generate.pl.in >> $@ + $(AM_V_GEN)./make-perl$(EXEEXT) > $@ + $(AM_V_at)cat $(srcdir)/generate.pl.in >> $@ snap_accessors.c: accessor.pl snap_accessors.txt - @PERL@ $(srcdir)/accessor.pl $(srcdir)/snap_accessors.txt > $@.tmp && mv $@.tmp $@ + $(AM_V_GEN)$(PERL) $(srcdir)/accessor.pl $(srcdir)/snap_accessors.txt > $@.tmp && mv $@.tmp $@ tape_accessors.c: tape_accessors.pl tape_accessors.txt - @PERL@ $(srcdir)/tape_accessors.pl $(srcdir)/tape_accessors.txt > $@.tmp && mv $@.tmp $@ + $(AM_V_GEN)$(PERL) $(srcdir)/tape_accessors.pl $(srcdir)/tape_accessors.txt > $@.tmp && mv $@.tmp $@ tape_set.c: tape_set.pl tape_accessors.txt - @PERL@ $(srcdir)/tape_set.pl $(srcdir)/tape_accessors.txt > $@.tmp && mv $@.tmp $@ + $(AM_V_GEN)$(PERL) $(srcdir)/tape_set.pl $(srcdir)/tape_accessors.txt > $@.tmp && mv $@.tmp $@ windres.o: windres.rc - @WINDRES@ -I. $(srcdir)/windres.rc windres.o + $(AM_V_GEN)$(WINDRES) -I. $(srcdir)/windres.rc windres.o AM_CPPFLAGS = @GLIB_CFLAGS@ @AUDIOFILE_CFLAGS@ EXTRA_DIST = accessor.pl \ + dll.c \ generate.pl.in \ m4/audiofile.m4 \ + m4/ax_create_stdint_h.m4 \ + m4/pkg.m4 \ make-perl.c \ tape_accessors.pl \ tape_accessors.txt \ Property changes on: trunk/libspectrum/libspectrum/Makefile.am ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/libspectrum/libspectrum/README =================================================================== --- trunk/libspectrum/libspectrum/README 2016-05-24 14:57:07 UTC (rev 802) +++ trunk/libspectrum/libspectrum/README 2016-05-25 11:30:52 UTC (rev 803) @@ -1,4 +1,4 @@ -libspectrum 1.1.1 +libspectrum 1.2.0 ================= libspectrum is a library which is designed to make the input and @@ -13,8 +13,8 @@ * Tape images: .tzx, .tap, .spc, .sta and .ltp (read/write) and .pzx, Warajevo .tap, Z80Em and CSW version 1 (read only). * Input recordings: .rzx (read/write). -* Disk images: .dsk (both plain and extended), .fdi, .sad, .scl, .td0, - .trd and .udi (identification only). +* Disk images: .dsk (both plain and extended), .d40, .d80, .fdi, .img, + .mgt, .opd, .sad, .scl, .td0, .trd and .udi (identification only). * Timex cartridges: .dck (read only). * IDE hard disk images: .hdf (read/write). * Microdrive cartridge images: .mdr (read/write). @@ -59,7 +59,7 @@ ./configure --target=powerpc-gekko --host=powerpc-gekko \ --prefix=$DEVKITPPC \ - --without-gcrypt --without-glib --without-libaudiofile + --without-gcrypt --with-fake-glib --without-libaudiofile That is assuming you don't have gcrypt, glib and libaudiofile for the Wii. At the time of writing, those haven't been ported yet. @@ -69,4 +69,4 @@ Philip Kendall <phi...@sh...> 24th May, 2013 -$Id: README 4992 2013-05-24 19:49:15Z zubzero $ +$Id: README 5428 2016-04-30 07:03:25Z sbaldovi $ Property changes on: trunk/libspectrum/libspectrum/README ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of prope... [truncated message content] |
From: <fr...@us...> - 2016-06-07 12:51:55
|
Revision: 807 http://sourceforge.net/p/fuse-for-macosx/code/807 Author: fredm Date: 2016-06-07 12:51:52 +0000 (Tue, 07 Jun 2016) Log Message: ----------- Merge up to vendor release 1.2.0 (r5597). Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/5597 Modified Paths: -------------- trunk/fuse/AUTHORS trunk/fuse/ChangeLog trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/configure.ac trunk/fuse/data/shell-completion/bash/fuse trunk/fuse/debugger/commandl.l trunk/fuse/debugger/commandy.y trunk/fuse/debugger/event.c trunk/fuse/debugger/expression.c trunk/fuse/fuse.c trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html trunk/fuse/hacking/ChangeLog trunk/fuse/lib/Makefile.am trunk/fuse/man/fuse.1 trunk/fuse/menu.c trunk/fuse/rzx.c trunk/fuse/svg.c trunk/fuse/tape.c trunk/fuse/ui/fb/Makefile.am trunk/fuse/ui/gtk/Makefile.am trunk/fuse/ui/sdl/Makefile.am trunk/fuse/ui/svga/Makefile.am trunk/fuse/ui/widget/Makefile.am trunk/fuse/ui/wii/Makefile.am trunk/fuse/ui/win32/Makefile.am trunk/fuse/ui/xlib/Makefile.am trunk/fuse/z80/Makefile.am trunk/fuse/z80/z80.c trunk/libspectrum/Info.plist trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/configure.ac trunk/libspectrum/libspectrum/doc/libspectrum.3 trunk/libspectrum/libspectrum/doc/libspectrum.txt trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum.h trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj Property Changed: ---------------- trunk/fuse/ trunk/libspectrum/libspectrum/ Index: trunk/fuse =================================================================== --- trunk/fuse 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse 2016-06-07 12:51:52 UTC (rev 807) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-803 +/vendor/fuse-emulator/current/fuse:530-806 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/AUTHORS =================================================================== --- trunk/fuse/AUTHORS 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/AUTHORS 2016-06-07 12:51:52 UTC (rev 807) @@ -42,7 +42,7 @@ * Garry Lancaster: the simple 8-bit IDE, ZXATASP and ZXCF support. * Gergely Szasz: +3, +D, Opus, Didaktik 80 and Interface 1/Microdrive emulation, - the 'movie' code and the ALSO and ao sound drivers. + the 'movie' code and the ALSA and ao sound drivers. * Bjoern Giesler: the original Wii port. @@ -54,4 +54,4 @@ * Philip Kendall: everything else. -$Id: AUTHORS 5357 2016-02-23 23:43:54Z sbaldovi $ +$Id: AUTHORS 5569 2016-06-01 11:12:38Z fredm $ Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/ChangeLog 2016-06-07 12:51:52 UTC (rev 807) @@ -1,4 +1,4 @@ -2016-??-?? Philip Kendall <phi...@sh...> +2016-06-06 Philip Kendall <phi...@sh...> * Fuse 1.2.0 released. @@ -12,46 +12,51 @@ * Allow continuing RZX recordings if there is a final snapshot in the RZX (Sergio Baldoví). * Fix the prune function on RZX rollback (Sergio Baldoví). + * Use SZX format for the initial snapshot in RZX files (Sergio + Baldoví). * Fix loading of EDSK files with Sector Offset block (Sergio Baldoví). - * Fix speech in Cobra's Arc - Medium Case.tzx when loaded with tape - traps enabled (thanks, zx81 and Sergio Baldoví) (Fredrick Meunier). * Migrate disk "index event" handling to the FDD layer and have the FDC layer use it for their STATUS registers (Gergely Szasz). - * Set AF, AF' and SP to 0xffff on reset (Stuart Brady). - * Leave most registers unchanged on a soft reset (Stuart Brady). - * Emulate interrupt and NMI timings more precisely (Stuart Brady). - * Emulate NMOS and CMOS Z80 variants (Stuart Brady). - * Switch to 2KB page size (Stuart Brady). * Implement WD2797 emulation (Gergely Szasz). - * Skip tape traps if VERIFY is requested (UB880D). - * Fix inaccurate output when AY envelopes are used (Matthew Westcott - and Fredrick Meunier) - * Fix some peripherals activation when loading snapshots (Sergio - Baldoví). - * Fix loading sound with some custom loaders (Fredrick Meunier). * Centralise the "Disk icon" update code to the FDD layer (Gergely Szasz). - * Check if data blocks are headers for handling PZX files (Fredrick - Meunier). - * Correct display of pulses in PZX pulse block for tape browser - (Fredrick Meunier). * Fix disk image corruption after saving UDI files (Sergio Baldoví). * Check ready status after loading a disk into floppy disk drive (thanks, John Elliott) (Sergio Baldoví). * Fix overlapped SEEK commands (Sergio Baldoví). * Fix length of data returned by READ_DIAG (thanks, Fredrick Meunier) (Sergio Baldoví). + * Fix writing .td0 format disk files (Sergio Baldoví). + * Fix speech in Cobra's Arc - Medium Case.tzx when loaded with tape + traps enabled (thanks, zx81 and Sergio Baldoví) (Fredrick Meunier). + * Skip tape traps if VERIFY is requested (UB880D). + * Fix loading sound with some custom loaders (Fredrick Meunier). + * Check if data blocks are headers for handling PZX files (Fredrick + Meunier). + * Correct display of pulses in PZX pulse block for tape browser + (Fredrick Meunier). + * Set AF, AF' and SP to 0xffff on reset (Stuart Brady). + * Leave most registers unchanged on a soft reset (Stuart Brady). + * Emulate interrupt and NMI timings more precisely (Stuart Brady). + * Emulate NMOS and CMOS Z80 variants (Stuart Brady). + * Switch to 2KB page size (Stuart Brady). + * Fix inaccurate output when AY envelopes are used (Matthew Westcott + and Fredrick Meunier). + * Fix some peripherals activation when loading snapshots (Sergio + Baldoví). * Machine specific improvements: - * The Timex SCLD is contended in all of the home, Dock and Exrom banks - in the 0x4000 - 0x7FFF range (thanks, rga24 from WoS) (Fredrick - Meunier). + * The address range 0x4000 - 0x7FFF is contended on the TS2068 in the + home, Dock and Exrom banks (thanks, Richard Atkinson). It is assumed + that this is the same for other Timex models (Fredrick Meunier). * Clear all Opus RAM on hard reset (Stuart Brady). * Ensure the ZX Printer does not require a hard reset to enable (thanks, RMartins) (Fredrick Meunier). * Fix timing of events when emulating Scorpion (Stuart Brady). * Ensure we have successfully selected a Pentagon or a Timex machine before inserting their media (Fredrick Meunier). + * Prefer Scorpion to Pentagon when loading SCL/TRD disks for better + timing compatibility (thanks, windale) (Sergio Baldoví). * Fix Beta 128 type II commands (thanks, windale and BogDan Vatra) (Sergio Baldoví). * Don't enable the Beta 128 interface when loading a snapshot on a @@ -61,10 +66,7 @@ Meunier). * Spectranet: fix segfault in error handling when setting SO_REUSEADDR (Stuart Brady). - * Prefer Scorpion to Pentagon when loading SCL/TRD disks for better - timing compatibility (part of feature request #90) (thanks, windale) - (Sergio Baldoví). - * Update SE ROMs to v4.07 (thanks, Andrew Owen) (Sergio Baldoví). + * Update SE ROMs to v4.07 (thanks, Andrew Owen) (Sergio Baldoví). * Debugger improvements: * Fix disassembly of LD (HL), LD (IX) and LD (IY) (BogDan Vatra). @@ -75,7 +77,6 @@ Baldoví). * Timex EXROM and Dock text was truncated in the debugger UI (thanks, Andrew Owen and Sergio Baldoví) (Fredrick Meunier). - * Don't trap on breakpoints whilst halted (Stuart Brady). * Win32: relocate halted flag and set monospaced font (Sergio Baldoví). * Fix memory issues when removing a matched breakpoint (Tom Seddon). @@ -85,6 +86,11 @@ * Fix documentation of address syntax used in debugger section (Sergio Baldoví). * Allow debugger to dereference memory locations (Philip Kendall). + * Allow strings with escaped spaces in the debugger (Sergio Baldoví). + * Make wildcard event breakpoints work (thanks, Sergio Baldoví) + (Philip Kendall). + * Protect divide expression from a divide by zero exception (Fredrick + Meunier). * Miscellaneous improvements: * Remove warnings in aosound (Rene Ladan). @@ -107,7 +113,7 @@ * Link to autoload snapshot for NTSC Spectrum (Sergio Baldoví). * Fix desktop integration rules to cope with VPATH builds (Sergio Baldoví). - * Modernise autoconf support (Sergio Baldoví Baldoví). + * Modernise autoconf support (Sergio Baldoví). * Use unzipped tapes for peripheral tests (thanks, Phil Reynolds) (Sergio Baldoví). * Fix empty list in pokefinder on GTK+ 3 (Sergio Baldoví). @@ -121,7 +127,8 @@ * Don't show an error when rewinding an empty tape (Sergio Baldoví). * GTK UI: clear out row mark in tape browser when selecting another block (Sergio Baldoví). - * Add missing const qualifiers and casts (Stuart and Sergio Baldoví). + * Add missing const qualifiers and casts (Stuart Brady and Sergio + Baldoví). * Split Select ROMs menu into Machines and Peripherals (Gergely Szasz). * Only try to load the fallback ROM if it is different to the standard @@ -159,11 +166,11 @@ (Fredrick Meunier). * GTK+ and Win32 UI: add file filters in open/save dialogs (thanks, Crisis) (Sergio Baldoví). - * Don't show hidden files/directories in the file selector on Widget + * Don't show hidden files/directories in the file selector on Widget UIs (Sergio Baldoví). - * Remember filename when saving a recently formatted disk (Sergio + * Remember filename when saving a recently formatted disk (Sergio Baldoví). - * GTK UI: Change the resizing method for GTK+ UI for better + * GTK UI: Change the resizing method for GTK+ UI for better compatibility with GTK+ 3.20+ (thanks, Alberto Garcia) (Sergio Baldoví). @@ -1288,4 +1295,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 5519 2016-05-23 19:15:02Z pak21 $ +$Id: ChangeLog 5594 2016-06-06 10:46:46Z fredm $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/Makefile.am 2016-06-07 12:51:52 UTC (rev 807) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2015 Philip Kendall -## $Id: Makefile.am 5434 2016-05-01 04:22:45Z fredm $ +## $Id: Makefile.am 5537 2016-05-29 06:17:00Z sbaldovi $ ## 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 @@ -131,6 +131,7 @@ THANKS \ keysyms.dat \ keysyms.pl \ + m4/ax_create_stdint_h.m4 \ m4/ax_pthread.m4 \ m4/glib-2.0.m4 \ m4/gtk-2.0.m4 \ Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/README 2016-06-07 12:51:52 UTC (rev 807) @@ -24,9 +24,11 @@ * Emulation of some of the printers you could attach to a Spectrum. * Support for the RZX input recording file format, including rollback and 'competition mode'. -* Emulation of the DivIDE, Interface 1, Kempston mouse, Spectrum +3e, - ZXATASP, ZXCF, Beta 128, Opus Discovery, +D, DISCiPLE and Didaktik 80/40 +* Emulation of the Currah µSource, DivIDE, Fuller audio box, Interface 1, + Kempston mouse, SpecDrum, Spectrum +3e, ZXATASP and ZXCF interfaces. +* Emulation of the Beta 128, +D, Didaktik 80/40, DISCiPLE and Opus Discovery interfaces. +* Emulation of the Spectranet and SpeccyBoot interfaces. Help! <xyz> doesn't work ------------------------ @@ -106,6 +108,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -24th May, 2013 +6th June, 2016 -$Id: README 5403 2016-04-25 13:10:53Z fredm $ +$Id: README 5594 2016-06-06 10:46:46Z fredm $ Modified: trunk/fuse/configure.ac =================================================================== --- trunk/fuse/configure.ac 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/configure.ac 2016-06-07 12:51:52 UTC (rev 807) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.ac 5500 2016-05-21 05:38:43Z fredm $ +dnl $Id: configure.ac 5594 2016-06-06 10:46:46Z fredm $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -31,7 +31,7 @@ m4_define([fuse_rc_version], [fuse_major_version,fuse_minor_version,fuse_micro_version,fuse_nano_version]) dnl Package info -m4_define([fuse_copyright], ["(c) 1999-2013 Philip Kendall and others"]) +m4_define([fuse_copyright], ["(c) 1999-2016 Philip Kendall and others"]) m4_define([fuse_url], [http://fuse-emulator.sourceforge.net/]) m4_define([fuse_bugreport], [http://sourceforge.net/p/fuse-emulator/bugs/]) Modified: trunk/fuse/data/shell-completion/bash/fuse =================================================================== --- trunk/fuse/data/shell-completion/bash/fuse 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/data/shell-completion/bash/fuse 2016-06-07 12:51:52 UTC (rev 807) @@ -1,6 +1,5 @@ -#!/bin/bash +# fuse: bash completion for fuse-emulator -# fuse: bash completion for fuse-emulator # Copyright (c) 2015 Sergio Baldoví # This program is free software; you can redistribute it and/or modify @@ -51,7 +50,7 @@ case $prev in --betadisk|--discipledisk|--didaktik80disk|--opusdisk| \ --plus3disk|--plusddisk) - _filedir '@(d40|D40|d80|D80|dsk|DSK|img|IMG|fdi|FDI|mgt|MGT|opd|OPD|opu|OPU|sad|SAD|scl|SCL|td0|TD0|udi|UDI)' + _filedir '@(d40|D40|d80|D80|dsk|DSK|img|IMG|fdi|FDI|mgt|MGT|opd|OPD|opu|OPU|sad|SAD|scl|SCL|td0|TD0|trd|TRD|udi|UDI)' return 0 ;; --disk-try-merge) @@ -222,7 +221,6 @@ --no-movie-stop-after-rzx --no-opus --no-pal-tv2x --no-plus3-detect-speedlock --no-plusd --no-printer --no-raw-s-net --no-rs232-handshake - --no-rs232-rx --no-rs232-tx --no-rzx-autosaves --no-simpleide --no-slt --no-sound --no-sound-force-8bit --no-speccyboot --no-specdrum --no-spectranet --no-spectranet-disable --no-statusbar @@ -258,7 +256,7 @@ --zxatasp-write-protect --zxcf --zxcf-cffile --zxcf-upload --zxprinter' -- "$cur" ) ) else - _filedir '@(csw|CSW|ltp|LTP|pzx|PZX|spc|SPC|sta|STA|tap|TAP|tzx|TZX|wav|WAV|slt|SLT|sna?(pshot)|SNA?(PSHOT)|?(mgt)snp|?(MGT)SNP|sp|SP|szx|SZX|z80|Z80|zxs|ZXS|d40|D40|d80|D80|dsk|DSK|img|IMG|fdi|FDI|mgt|MGT|opd|OPD|opu|OPU|sad|SAD|scl|SCL|td0|TD0|udi|UDI|rzx|RZX|dck|DCK|hdf|HDF|mdr|MDR)' + _filedir '@(csw|CSW|ltp|LTP|pzx|PZX|spc|SPC|sta|STA|tap|TAP|tzx|TZX|wav|WAV|slt|SLT|sna?(pshot)|SNA?(PSHOT)|?(mgt)snp|?(MGT)SNP|sp|SP|szx|SZX|z80|Z80|zxs|ZXS|d40|D40|d80|D80|dsk|DSK|img|IMG|fdi|FDI|mgt|MGT|opd|OPD|opu|OPU|sad|SAD|scl|SCL|td0|TD0|trd|TRD|udi|UDI|rzx|RZX|dck|DCK|hdf|HDF|mdr|MDR)' fi } && complete -F _fuse -o filenames fuse Modified: trunk/fuse/debugger/commandl.l =================================================================== --- trunk/fuse/debugger/commandl.l 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/debugger/commandl.l 2016-06-07 12:51:52 UTC (rev 807) @@ -2,7 +2,7 @@ Copyright (c) 2002-2013 Philip Kendall Copyright (c) 2015 Sergio Baldoví - $Id: commandl.l 5518 2016-05-23 19:12:31Z pak21 $ + $Id: commandl.l 5539 2016-05-29 10:49:51Z 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 @@ -47,7 +47,7 @@ %} -ID [a-z][a-z0-9]+ +ID [a-z]([a-z0-9]|\\[ ])+ %option caseless @@ -124,8 +124,8 @@ "+" { return '+'; } "-" { return '-'; } -"*" { yylval.token = '*'; return TIMES_DIVIDE; } -"/" { yylval.token = '/'; return TIMES_DIVIDE; } +"*" { return '*'; } +"/" { return '/'; } "&" { return '&'; } "^" { return '^'; } @@ -146,7 +146,20 @@ if( YY_START == COMMANDSTATE1 ) BEGIN( COMMANDSTATE2 ); return NUMBER; } -{ID} { yylval.string = mempool_strdup( debugger_memory_pool, yytext ); return STRING; } +{ID} { char *dest, *source; + yylval.string = mempool_malloc( debugger_memory_pool, strlen( yytext ) + 1 ); + /* remove escape characters */ + dest = yylval.string; + source = yytext; + while( *source ) { + if( *source != '\\' ) { + *dest++ = *source; + } + source++; + } + *dest = '\0'; + return STRING; } + ${ID} { yylval.string = mempool_strdup( debugger_memory_pool, yytext + 1 ); return VARIABLE; } \n { return '\n'; } Modified: trunk/fuse/debugger/commandy.y =================================================================== --- trunk/fuse/debugger/commandy.y 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/debugger/commandy.y 2016-06-07 12:51:52 UTC (rev 807) @@ -2,7 +2,7 @@ Copyright (c) 2002-2015 Philip Kendall Copyright (c) 2015 Sergio Baldoví - $Id: commandy.y 5518 2016-05-23 19:12:31Z pak21 $ + $Id: commandy.y 5539 2016-05-29 10:49:51Z 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 @@ -72,7 +72,6 @@ %token <token> COMPARISON /* < > <= >= */ %token <token> EQUALITY /* == != */ %token <token> NEGATE /* ! ~ */ -%token <token> TIMES_DIVIDE /* * / */ %token BASE %token BREAK @@ -138,7 +137,7 @@ %left EQUALITY %left COMPARISON %left '+' '-' -%left TIMES_DIVIDE +%left '*' '/' %right NEGATE /* Unary minus, unary plus, !, ~ */ /* High precedence */ @@ -169,6 +168,10 @@ debugger_breakpoint_add_event( DEBUGGER_BREAKPOINT_TYPE_EVENT, $3, $5, 0, $1, $6 ); } + | breakpointlife EVENT STRING ':' '*' optionalcondition { + debugger_breakpoint_add_event( DEBUGGER_BREAKPOINT_TYPE_EVENT, + $3, "*", 0, $1, $6 ); + } | CLEAR numberorpc { debugger_breakpoint_clear( $2 ); } | COMMANDS number '\n' debuggercommands DEBUGGER_END { debugger_breakpoint_set_commands( $2, $4 ); } | CONDITION NUMBER expressionornull { @@ -268,10 +271,14 @@ $$ = debugger_expression_new_binaryop( '-', $1, $3, debugger_memory_pool ); if( !$$ ) YYABORT; } - | expression TIMES_DIVIDE expression { - $$ = debugger_expression_new_binaryop( $2, $1, $3, debugger_memory_pool ); + | expression '*' expression { + $$ = debugger_expression_new_binaryop( '*', $1, $3, debugger_memory_pool ); if( !$$ ) YYABORT; } + | expression '/' expression { + $$ = debugger_expression_new_binaryop( '/', $1, $3, debugger_memory_pool ); + if( !$$ ) YYABORT; + } | expression EQUALITY expression { $$ = debugger_expression_new_binaryop( $2, $1, $3, debugger_memory_pool ); if( !$$ ) YYABORT; Modified: trunk/fuse/debugger/event.c =================================================================== --- trunk/fuse/debugger/event.c 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/debugger/event.c 2016-06-07 12:51:52 UTC (rev 807) @@ -65,6 +65,7 @@ { if( strcasecmp( type, event->type ) ) return 0; if( strcmp( detail, "*" ) == 0 ) return 1; + if( strcmp( event->detail, "*" ) == 0 ) return 1; return strcasecmp( detail, event->detail ) == 0; } Modified: trunk/fuse/debugger/expression.c =================================================================== --- trunk/fuse/debugger/expression.c 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/debugger/expression.c 2016-06-07 12:51:52 UTC (rev 807) @@ -367,8 +367,14 @@ case '*': return debugger_expression_evaluate( binary->op1 ) * debugger_expression_evaluate( binary->op2 ); - case '/': return debugger_expression_evaluate( binary->op1 ) / - debugger_expression_evaluate( binary->op2 ); + case '/': { + libspectrum_dword op2 = debugger_expression_evaluate( binary->op2 ); + if( op2 == 0 ) { + ui_error( UI_ERROR_ERROR, "divide by 0" ); + return 0; + } + return debugger_expression_evaluate( binary->op1 ) / op2; + } case DEBUGGER_TOKEN_EQUAL_TO: return debugger_expression_evaluate( binary->op1 ) == Modified: trunk/fuse/fuse.c =================================================================== --- trunk/fuse/fuse.c 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/fuse.c 2016-06-07 12:51:52 UTC (rev 807) @@ -607,13 +607,11 @@ start_files->disk_beta = filename; break; case LIBSPECTRUM_CLASS_DISK_GENERIC: - if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 || - machine_current->machine == LIBSPECTRUM_MACHINE_PLUS2A ) + if( machine_current->capabilities & + LIBSPECTRUM_MACHINE_CAPABILITY_PLUS3_DISK ) start_files->disk_plus3 = filename; - else if( machine_current->machine == LIBSPECTRUM_MACHINE_PENT || - machine_current->machine == LIBSPECTRUM_MACHINE_PENT512 || - machine_current->machine == LIBSPECTRUM_MACHINE_PENT1024 || - machine_current->machine == LIBSPECTRUM_MACHINE_SCORP ) + else if( machine_current->capabilities & + LIBSPECTRUM_MACHINE_CAPABILITY_TRDOS_DISK ) start_files->disk_beta = filename; else { if( periph_is_active( PERIPH_TYPE_BETA128 ) ) Modified: trunk/fuse/fusepb/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/fusepb/Info-Fuse.plist 2016-06-07 12:51:52 UTC (rev 807) @@ -582,11 +582,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>1.2.0-pre1</string> + <string>1.2.0</string> <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>1.2.0-pre1</string> + <string>1.2.0</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2016-06-07 12:51:52 UTC (rev 807) @@ -40,15 +40,49 @@ Grande,Helvetica,Arial"><font face="Lucida Grande,Helvetica,Arial">emulator recording</font> rollback (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial"><font + face="Lucida Grande,Helvetica,Arial">Use SZX format for + the initial snapshot in <font face="Lucida + Grande,Helvetica,Arial">emulator recording</font> + files (Sergio<font face="Lucida Grande,Helvetica,Arial"> + </font>Baldoví).</font><br> + </font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix loading of EDSK files with Sector Offset block (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Migrate disk + "index event" handling to the FDD layer and have the FDC + layer use it for their STATUS registers (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Implement + WD2797 emulation (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Centralise the + "Disk icon" update code to the FDD layer (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix disk image + corruption after saving UDI files (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Check ready + status after loading a disk into floppy disk drive + (thanks, John Elliott) (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix overlapped + SEEK commands (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix length of + data returned by READ_DIAG (thanks, Fredrick Meunier) + (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix writing + .td0 format disk files (Sergio Baldoví).<br> + </font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix speech in Cobra's Arc - Medium Case.tzx when loaded with tape traps enabled (thanks, zx81 and Sergio Baldoví) (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Migrate disk - "index event" handling to the FDD layer and have the FDC - layer use it for their STATUS registers (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Skip tape traps + if VERIFY is requested (UB880D).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix loading + sound with some custom loaders (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Check if data + blocks are headers for handling PZX files (Fredrick + Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Correct display + of pulses in PZX pulse block for tape browser (Fredrick + Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Set AF, AF' and SP to 0xffff on reset (Stuart Brady).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Leave most @@ -59,36 +93,12 @@ and CMOS Z80 variants (Stuart Brady).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Switch to 2KB page size (Stuart Brady).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Implement - WD2797 emulation (Gergely Szasz).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Skip tape traps - if VERIFY is requested (UB880D).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix inaccurate output when AY envelopes are used (Matthew Westcott and Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix some peripherals activation when loading snapshots (Sergio Baldoví).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix loading - sound with some custom loaders (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Centralise the - "Disk icon" update code to the FDD layer (Gergely Szasz).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Check if data - blocks are headers for handling PZX files (Fredrick - Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Correct display - of pulses in PZX pulse block for tape browser (Fredrick - Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix disk image - corruption after saving UDI files (Sergio Baldoví).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Check ready - status after loading a disk into floppy disk drive - (thanks, John Elliott) (Sergio Baldoví).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix overlapped - SEEK commands (Sergio Baldoví).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix length of - data returned by READ_DIAG (thanks, Fredrick Meunier) - (Sergio Baldoví).</font></li> </ul> <br> </li> @@ -96,10 +106,11 @@ improvements:</font></li> <li style="list-style: none outside none;"> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">The Timex SCLD - is contended in all of the home, Dock and EXROM banks in - the 0x4000 - 0x7FFF range (thanks, rga24 from WoS) - (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">The address + range 0x4000 - 0x7FFF is contended on the TS2068 in + the home, Dock and Exrom banks (thanks, Richard + Atkinson). It is assumed that this is the same for other + Timex models (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Clear all Opus RAM on hard reset (Stuart Brady).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Ensure the ZX @@ -164,6 +175,15 @@ (Sergio Baldoví).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Allow debugger to dereference memory locations (Philip Kendall).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Allow strings + with escaped spaces in the debugger (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Make wildcard + event breakpoints work (thanks, Sergio Baldoví) (Philip + Kendall).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Protect divide + expression from a divide by zero exception (Fredrick + Meunier).<br> + </font></li> </ul> <br> </li> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html 2016-06-07 12:51:52 UTC (rev 807) @@ -2,7 +2,7 @@ <html> <head> <meta http-equiv="content-type" content="text/html; - charset=ISO-8859-1"> + charset=windows-1252"> <!-- AppleSegStart="Monitor/Debugger" --> <title>Monitor/Debugger</title> </head> @@ -12,395 +12,262 @@ <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">Monitor/Debugger</font></h2> </div> - <p> - <font face="Lucida Grande,Helvetica,Arial">Fuse features a - moderately - powerful, completely transparent - monitor/debugger, which can be activated via the - <span class="emphasis"><em>Machine, Debugger...</em></span> menu - option. A debugger window will appear, showing the current state - of - the emulated machine: the top-left `pane' shows the current - state - of the Z80 and the last bytes written to any emulated - peripherals. - The bottom-left pane lists any active breakpoints. Moving right, - the next pane shows a disassembly, which by default starts at - the current program counter, although this can be modified - either by - the `disassemble' command (see below) or by dragging the - scrollbar next - to it. The next pane shows the current stack, and the next pane - has any - `events' which are due to occur and could affect emulation. - Below the - events pane is the Spectrum's 64K memory map (the - <span class="emphasis"><em>W?</em></span> and - <span class="emphasis"><em>C?</em></span> indicate whether each - displayed chunk is writable or contended respectively). - Fuse tracks the memory mapping of the overall address space in 2KB chunks but - will summarise the mapped pages where they are part of the same page of the - underlying memory source (e.g. 8KB page sizes in the Spectrum 128K and 4KB - pages in the Timex clones' DOCK and EXROM banks). - Below the displays are an entry box for debugger commands, and five buttons - for controlling the debugger:</font></p> - <p> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Evaluate</em></font></span> - <font face="Lucida Grande,Helvetica,Arial">Evaluate the command - currently in the entry - box.</font></p> - <p> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Single - Step</em></font></span> - <font face="Lucida Grande,Helvetica,Arial">Run precisely one Z80 - opcode - and then stop emulation - again.</font></p> - <p> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Continue</em></font></span> - <font face="Lucida Grande,Helvetica,Arial">Restart emulation, but - leave - the debugger window open. Note that - the debugger window will not be updated while emulation is - running.</font></p> - <p> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Break</em></font></span> - <font face="Lucida Grande,Helvetica,Arial">Stop emulation and - return to - the - debugger.</font></p> - <p> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Close</em></font></span> - <font face="Lucida Grande,Helvetica,Arial">Close the debugger - window - and restart - emulation.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">Double-clicking on an - entry - in the stack pane will cause emulation - to run until the program counter reaches the value stored at - that - address, while double-clicking on an entry in the `events' pane - will cause emulation to run until that time is - reached.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">The main power of the - debugger is via the commands entered into the - entry box, which are similar in nature (but definitely not - identical to or as powerful as) to those in the - <em><span class="citerefentry">gdb</span></em> debugger. In - general, the debugger is case-insensitive, and numbers will be - interpreted as decimal, unless prefixed by either - `<span class="emphasis"><em>0x</em></span>' or - `<span class="emphasis"><em>$</em></span>' when they will be + <p> <font face="Lucida Grande,Helvetica,Arial">Fuse features a + moderately powerful, completely transparent monitor/debugger, + which can be activated via the <span class="emphasis"><em>Machine, + Debugger...</em></span> menu option. A debugger window will + appear, showing the current state of the emulated machine: the + top-left `pane' shows the current state of the Z80 and the last + bytes written to any emulated peripherals. The bottom-left pane + lists any active breakpoints. Moving right, the next pane shows + a disassembly, which by default starts at the current program + counter, although this can be modified either by the + `disassemble' command (see below) or by dragging the scrollbar + next to it. The next pane shows the current stack, and the next + pane has any `events' which are due to occur and could affect + emulation. Below the events pane is the Spectrum's 64K memory + map (the <span class="emphasis"><em>W?</em></span> and <span + class="emphasis"><em>C?</em></span> indicate whether each + displayed chunk is writable or contended respectively). Fuse + tracks the memory mapping of the overall address space in 2KB + chunks but will summarise the mapped pages where they are part + of the same page of the underlying memory source (e.g. 8KB page + sizes in the Spectrum 128K and 4KB pages in the Timex clones' + DOCK and EXROM banks). Below the displays are an entry box for + debugger commands, and five buttons for controlling the + debugger:</font></p> + <p> <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Evaluate</em></font></span> <font + face="Lucida Grande,Helvetica,Arial">Evaluate the command + currently in the entry box.</font></p> + <p> <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Single Step</em></font></span> <font + face="Lucida Grande,Helvetica,Arial">Run precisely one Z80 + opcode and then stop emulation again.</font></p> + <p> <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Continue</em></font></span> <font + face="Lucida Grande,Helvetica,Arial">Restart emulation, but + leave the debugger window open. Note that the debugger window + will not be updated while emulation is running.</font></p> + <p> <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Break</em></font></span> <font + face="Lucida Grande,Helvetica,Arial">Stop emulation and return + to the debugger.</font></p> + <p> <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Close</em></font></span> <font + face="Lucida Grande,Helvetica,Arial">Close the debugger window + and restart emulation.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">Double-clicking on + an entry in the stack pane will cause emulation to run until the + program counter reaches the value stored at that address, while + double-clicking on an entry in the `events' pane will cause + emulation to run until that time is reached.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">The main power of + the debugger is via the commands entered into the entry box, + which are similar in nature (but definitely not identical to or + as powerful as) to those in the <em><span class="citerefentry">gdb</span></em> + debugger. In general, the debugger is case-insensitive, and + numbers will be interpreted as decimal, unless prefixed by + either `<span class="emphasis"><em>0x</em></span>' or `<span + class="emphasis"><em>$</em></span>' when they will be interpreted as hex. Each command can be abbreviated to the - portion - not in curly - braces.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">ba{se} <span - class="emphasis"><em>number</em></span> Change the - debugger window to displaying output in base - <span class="emphasis"><em>number</em></span>. Available values - are - 10 (decimal) or 16 - (hex).</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} [<span - class="emphasis"><em>address</em></span>] - [if <span class="emphasis"><em>condition</em></span>] Set a - breakpoint + portion not in curly braces.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">ba{se} <span + class="emphasis"><em>number</em></span> Change the debugger + window to displaying output in base <span class="emphasis"><em>number</em></span>. + Available values are 10 (decimal) or 16 (hex).</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} [<span + class="emphasis"><em>address</em></span>] [if <span + class="emphasis"><em>condition</em></span>] Set a breakpoint to stop emulation and return to the debugger whenever an opcode - is - executed at <span class="emphasis"><em>address</em></span> and - <span class="emphasis"><em>condition</em></span> evaluates true. - If - <span class="emphasis"><em>address</em></span> is omitted, it - defaults to the current value of - PC.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} p{ort} - (r{ead}|w{rite}) - <span class="emphasis"><em>port</em></span> + is executed at <span class="emphasis"><em>address</em></span> + and <span class="emphasis"><em>condition</em></span> evaluates + true. If <span class="emphasis"><em>address</em></span> is + omitted, it defaults to the current value of PC.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} p{ort} + (r{ead}|w{rite}) <span class="emphasis"><em>port</em></span> [if <span class="emphasis"><em>condition</em></span>] Set a - breakpoint - to trigger whenever IO port - <span class="emphasis"><em>port</em></span> is read from or - written - to and <span class="emphasis"><em>condition</em></span> - evaluates - true.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} - (r{ead}|w{rite}) - [<span class="emphasis"><em>address</em></span>] + breakpoint to trigger whenever IO port <span class="emphasis"><em>port</em></span> + is read from or written to and <span class="emphasis"><em>condition</em></span> + evaluates true.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} + (r{ead}|w{rite}) [<span class="emphasis"><em>address</em></span>] [if <span class="emphasis"><em>condition</em></span>] Set a - breakpoint - to trigger whenever memory location - <span class="emphasis"><em>address</em></span> is read from - (other - than via an opcode fetch) or written to and - <span class="emphasis"><em>condition</em></span> evaluates true. - <span class="emphasis"><em>Address</em></span> again defaults to - the current value of PC if - omitted.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} ti{me} <span - class="emphasis"><em>time</em></span> - [if <span class="emphasis"><em>condition</em></span>] Set a - breakpoint + breakpoint to trigger whenever memory location <span + class="emphasis"><em>address</em></span> is read from (other + than via an opcode fetch) or written to and <span + class="emphasis"><em>condition</em></span> evaluates true. <span + class="emphasis"><em>Address</em></span> again defaults to the + current value of PC if omitted.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} ti{me} + <span class="emphasis"><em>time</em></span> [if <span + class="emphasis"><em>condition</em></span>] Set a breakpoint to occur <span class="emphasis"><em>time</em></span> tstates - after - the start of every frame, assuming - <span class="emphasis"><em>condition</em></span> evaluates true - (if - one is - given).</font></p> + after the start of every frame, assuming <span class="emphasis"><em>condition</em></span> + evaluates true (if one is given).</font></p> <p><font face="Lucida Grande,Helvetica,Arial">br{eakpoint} ev{ent} <span class="emphasis"><em>area</em></span>:<span class="emphasis"><em>detail</em></span> [if <span class="emphasis"><em>condition</em></span>] Set a - breakpoint - to occur when the event specified by <span class="emphasis"><em>area</em></span> - <span class="emphasis"><em>detail</em></span> occurs and <span - class="emphasis"><em>condition</em></span> evaluates to true. - The - events which can be caught are:</font></p> + breakpoint to occur when the event specified by <span + class="emphasis"><em>area</em></span> <span class="emphasis"><em>detail</em></span> + occurs and <span class="emphasis"><em>condition</em></span> + evaluates to true. The events which can be caught are:</font></p> <p style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">divide:page - <br> + Grande,Helvetica,Arial">divide:page <br> divide:unpage</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">The - DivIDE - interface is paged - into or out of memory respectively</font></p> + Grande,Helvetica,Arial">The DivIDE interface is paged into or + out of memory respectively</font></p> <p style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">if1:page - <br> + Grande,Helvetica,Arial">if1:page <br> if1:unpage</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">The - Interface - 1 shadow ROM is - paged into or out of memory</font></p> + Grande,Helvetica,Arial">The Interface 1 shadow ROM is paged into + or out of memory</font></p> <p style="margin-left: 40px;"><font face="Lucida Grande,Helvetica,Arial">rzx:end</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">An - RZX - recording finishes - playing</font></p> + Grande,Helvetica,Arial">An RZX recording finishes playing</font></p> <p style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">tape:play - <br> + Grande,Helvetica,Arial">tape:play <br> tape:stop</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">The - emulated - tape starts or - stops playing</font></p> + Grande,Helvetica,Arial">The emulated tape starts or stops + playing</font></p> <p style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">zxcf:page - <br> + Grande,Helvetica,Arial">zxcf:page <br> zxcf:unpage</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">The - ZXCF - interface is paged - into or out of memory</font></p> + Grande,Helvetica,Arial">The ZXCF interface is paged into or out + of memory</font></p> <p style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">zxatasp:page - <br> + Grande,Helvetica,Arial">zxatasp:page <br> zxatasp:unpage</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">The - ZXATASP - interface is paged - into or out of memory</font></p> - <p><font face="Lucida Grande,Helvetica,Arial">In all cases, - the event can be specified as <i>area</i>:* to catch all - events from that area.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">cl{ear} [<span + Grande,Helvetica,Arial">The ZXATASP interface is paged into or + out of memory</font></p> + <p><font face="Lucida Grande,Helvetica,Arial">In all cases, the + event can be specified as <i>area</i>:* to catch all events + from that area.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">cl{ear} [<span class="emphasis"><em>address</em></span>] Remove all breakpoints at <span class="emphasis"><em>address</em></span> - or - the current value of PC if - <span class="emphasis"><em>address</em></span> is omitted. Port - read/write breakpoints are - unaffected.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">cond{ition} <span - class="emphasis"><em>id</em></span> - [<span class="emphasis"><em>condition</em></span>] Set - breakpoint - <span class="emphasis"><em>id</em></span> to trigger only when - <span class="emphasis"><em>condition</em></span> is true, or - unconditionally if <span class="emphasis"><em>condition</em></span> - is - omitted.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">co{ntinue} Equivalent - to the - <span class="emphasis"><em>Continue</em></span> + or the current value of PC if <span class="emphasis"><em>address</em></span> + is omitted. Port read/write breakpoints are unaffected.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">cond{ition} <span + class="emphasis"><em>id</em></span> [<span class="emphasis"><em>condition</em></span>] + Set breakpoint <span class="emphasis"><em>id</em></span> to + trigger only when <span class="emphasis"><em>condition</em></span> + is true, or unconditionally if <span class="emphasis"><em>condition</em></span> + is omitted.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">co{ntinue} + Equivalent to the <span class="emphasis"><em>Continue</em></span> button.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">del{ete} [<span - class="emphasis"><em>id</em></span>] Remove - breakpoint <span class="emphasis"><em>id</em></span>, or all - breakpoints if <span class="emphasis"><em>id</em></span> is - omitted.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">di{sassemble} <span - class="emphasis"><em>address</em></span> Set - the centre panel disassembly to begin at - <span class="emphasis"><em>address</em></span>.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">fi{nish} Exit from the - current CALL or equivalent. This isn't - infallible: it works by setting a temporary breakpoint at the - current contents of the stack pointer, so will not function - correctly if the code returns to some other point or plays with - its - stack in other ways. Also, setting this breakpoint doesn't - disable - other breakpoints, which may trigger before this one. In that - case, + <p> <font face="Lucida Grande,Helvetica,Arial">del{ete} [<span + class="emphasis"><em>id</em></span>] Remove breakpoint <span + class="emphasis"><em>id</em></span>, or all breakpoints if <span + class="emphasis"><em>id</em></span> is omitted.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">di{sassemble} <span + class="emphasis"><em>address</em></span> Set the centre panel + disassembly to begin at <span class="emphasis"><em>address</em></span>.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">fi{nish} Exit from + the current CALL or equivalent. This isn't infallible: it works + by setting a temporary breakpoint at the current contents of the + stack pointer, so will not function correctly if the code + returns to some other point or plays with its stack in other + ways. Also, setting this breakpoint doesn't disable other + breakpoints, which may trigger before this one. In that case, the temporary breakpoint remains, and the `continue' command can - be - used to return to - it.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">i{gnore} <span - class="emphasis"><em>id count</em></span> Do not - trigger the next <span class="emphasis"><em>count</em></span> - times - that breakpoint <span class="emphasis"><em>id</em></span> would - have + be used to return to it.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">i{gnore} <span + class="emphasis"><em>id count</em></span> Do not trigger the + next <span class="emphasis"><em>count</em></span> times that + breakpoint <span class="emphasis"><em>id</em></span> would have triggered.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">n{ext} Step to the - opcode - following the current one. As with the - `finish' command, this works by setting a temporary breakpoint - at - the next opcode, so is not - infalliable.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">o{ut} <span - class="emphasis"><em>port - value</em></span> Write - <span class="emphasis"><em>value</em></span> to IO port - <span class="emphasis"><em>port</em></span>.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">se{t} <span - class="emphasis"><em>address - value</em></span> Poke - <span class="emphasis"><em>value</em></span> into memory at - <span class="emphasis"><em>address</em></span>.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">se{t} <span - class="emphasis"><em>register - value</em></span> Set the - value of the Z80 register - <span class="emphasis"><em>register</em></span> to - <span class="emphasis"><em>value</em></span>.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">se{t} <span + <p> <font face="Lucida Grande,Helvetica,Arial">n{ext} Step to the + opcode following the current one. As with the `finish' command, + this works by setting a temporary breakpoint at the next opcode, + so is not infalliable.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">o{ut} <span + class="emphasis"><em>port value</em></span> Write <span + class="emphasis"><em>value</em></span> to IO port <span + class="emphasis"><em>port</em></span>.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">se{t} <span + class="emphasis"><em>address value</em></span> Poke <span + class="emphasis"><em>value</em></span> into memory at <span + class="emphasis"><em>address</em></span>.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">se{t} <span + class="emphasis"><em>register value</em></span> Set the value + of the Z80 register <span class="emphasis"><em>register</em></span> + to <span class="emphasis"><em>value</em></span>.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">se{t} <span style="font-style: italic;">mode</span><span class="emphasis"><em> value</em></span> Set the interrupt mode or interrupt flip flops (im, iff1 or iff2)</font><font face="Lucida - Grande,Helvetica,Arial"> to - <span class="emphasis"><em>value</em></span>.</font><font + Grande,Helvetica,Arial"> to <span class="emphasis"><em>value</em></span>.</font><font face="Lucida Grande,Helvetica,Arial"> If the im mode is not 0, 1 or 2 it will be ignored, while non-zero iff values will be converted to one.</font></p> <p><font face="Lucida Grande,Helvetica,Arial">se{t} <span - class="emphasis"><em>$variable - value</em></span> Set the value of the debugger variable - <span class="emphasis"><em>variable</em></span> to <span - class="emphasis"><em>value</em></span>.</font></p> + class="emphasis"><em>$variable value</em></span> Set the value + of the debugger variable <span class="emphasis"><em>variable</em></span> + to <span class="emphasis"><em>value</em></span>.</font></p> <p><font face="Lucida Grande,Helvetica,Arial">s{tep} Equivalent to - the <span class="emphasis"><em>Single - Step</em></span> - button.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">t{breakpoint} [<span - class="emphasis"><em>options</em></span>] This - is the same as the `breakpoint' command in its various forms, - except that the breakpoint is temporary: it will trigger once - and - once only, and then be - removed.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">Addresses can be - specified - in one of two forms: either an absolute - addresses, specifed by an integer in the range 0x0000 to 0xFFFF - or - as a - `<span class="emphasis"><em>source</em></span>:<span class="emphasis"><em>page</em></span>:<span - class="emphasis"> - <em>offset</em></span> ' combination, which refers to a - location - <span class="emphasis"><em>offset</em></span> bytes into the - memory bank <span class="emphasis"><em>page</em></span>, - independent - of where that bank is currently paged into memory. RAM - and ROM pages are indicated, respectively, by - `<span style="font-style: italic;">RAM</span>' - and - `<span style="font-style: italic;">ROM</span>' - sources (e.g. offset 0x1234 in ROM 1 is specified as - `<span style="font-style: italic;">ROM:1:0x1234</span>'). - Other available sources are: - `<span style="font-style: italic;">Betadisk</span>', - `<span style="font-style: italic;">"Didaktik RAM"</span>', - `<span style="font-style: italic;">"Didaktik ROM"</span>', - `<span style="font-style: italic;">"DISCiPLE RAM"</span>', - `<span style="font-style: italic;">"DISCiPLE ROM"</span>', - `<span style="font-style: italic;">"DivIDE EPROM"</span>', - `<span style="font-style: italic;">"DivIDE RAM"</span>', - `<span style="font-style: italic;">If1</span>', - `<span style="font-style: italic;">If2</span>', - `<span style="font-style: italic;">"Opus RAM"</span>', - `<span style="font-style: italic;">"Opus ROM"</span>', - `<span style="font-style: italic;">PlusD</span>', - `<span style="font-style: italic;">SpeccyBoot</span>', - `<span style="font-style: italic;">Spectranet</span>', - `<span style="font-style: italic;">"Timex Dock"</span>', - `<span style="font-style: italic;">"Timex EXROM"</span>', - `<span style="font-style: italic;">ZXATASP</span>' - and - `<span style="font-style: italic;">ZXCF</span>'. - The 48K machines are treated as having a permanent - mapping of page 5 at 0x4000, page 2 - at 0x8000 and page 0 at 0xC000; the 16K Spectrum is treated as - having - page 5 at 0x4000 and no page at 0x8000 and 0xC000.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">Anywhere the debugger - is - expecting a numeric value, except where it - expects a breakpoint id, you can instead use a numeric - expression, - which uses a restricted version of C's syntax; exactly the same - syntax is used for conditional breakpoints, with `0' being false - and any other value being true. In numeric expressions, you can - use + the <span class... [truncated message content] |
From: <fr...@us...> - 2016-07-18 11:56:37
|
Revision: 817 http://sourceforge.net/p/fuse-for-macosx/code/817 Author: fredm Date: 2016-07-18 11:56:29 +0000 (Mon, 18 Jul 2016) Log Message: ----------- Merge up to vendor release 1.2.1 Modified Paths: -------------- trunk/FuseGenerator/config.h trunk/FuseGenerator/generate.pl trunk/FuseImporter/config.h trunk/FuseImporter/generate.pl trunk/fuse/ChangeLog trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/compat/Makefile.am trunk/fuse/configure.ac trunk/fuse/data/fuse.desktop.in trunk/fuse/debugger/Makefile.am trunk/fuse/debugger/breakpoint.c trunk/fuse/debugger/breakpoint.h trunk/fuse/debugger/command.c trunk/fuse/debugger/commandl.l trunk/fuse/debugger/commandy.y trunk/fuse/debugger/debugger.c trunk/fuse/debugger/debugger.h trunk/fuse/debugger/debugger_internals.h trunk/fuse/debugger/event.c trunk/fuse/debugger/expression.c trunk/fuse/display.c trunk/fuse/display.h trunk/fuse/event.c trunk/fuse/event.h trunk/fuse/fuse.c trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/config.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/generate.pl trunk/fuse/fusepb/libspectrum.h trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.helpindex trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html trunk/fuse/fusepb/settings-header.pl trunk/fuse/fusepb/timer/timer.c trunk/fuse/hacking/ChangeLog trunk/fuse/infrastructure/startup_manager.c trunk/fuse/machine.c trunk/fuse/machine.h trunk/fuse/machines/machines_periph.c trunk/fuse/machines/machines_periph.h trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/memory.h trunk/fuse/mempool.c trunk/fuse/mempool.h trunk/fuse/peripherals/ay.c trunk/fuse/peripherals/ay.h trunk/fuse/peripherals/disk/beta.c trunk/fuse/peripherals/disk/beta.h trunk/fuse/peripherals/disk/didaktik.c trunk/fuse/peripherals/disk/didaktik.h trunk/fuse/peripherals/disk/disciple.c trunk/fuse/peripherals/disk/disciple.h trunk/fuse/peripherals/disk/fdd.c trunk/fuse/peripherals/disk/fdd.h trunk/fuse/peripherals/disk/opus.c trunk/fuse/peripherals/disk/opus.h trunk/fuse/peripherals/disk/plusd.c trunk/fuse/peripherals/disk/plusd.h trunk/fuse/peripherals/fuller.c trunk/fuse/peripherals/fuller.h trunk/fuse/peripherals/ide/divide.c trunk/fuse/peripherals/ide/divide.h trunk/fuse/peripherals/ide/simpleide.c trunk/fuse/peripherals/ide/simpleide.h trunk/fuse/peripherals/ide/zxatasp.c trunk/fuse/peripherals/ide/zxatasp.h trunk/fuse/peripherals/ide/zxcf.c trunk/fuse/peripherals/ide/zxcf.h trunk/fuse/peripherals/if1.c trunk/fuse/peripherals/if1.h trunk/fuse/peripherals/if2.c trunk/fuse/peripherals/if2.h trunk/fuse/peripherals/joystick.c trunk/fuse/peripherals/kempmouse.c trunk/fuse/peripherals/kempmouse.h trunk/fuse/peripherals/melodik.c trunk/fuse/peripherals/melodik.h trunk/fuse/peripherals/printer.c trunk/fuse/peripherals/printer.h trunk/fuse/peripherals/scld.c trunk/fuse/peripherals/scld.h trunk/fuse/peripherals/speccyboot.c trunk/fuse/peripherals/speccyboot.h trunk/fuse/peripherals/specdrum.c trunk/fuse/peripherals/specdrum.h trunk/fuse/peripherals/spectranet.c trunk/fuse/peripherals/spectranet.h trunk/fuse/peripherals/ula.c trunk/fuse/peripherals/ula.h trunk/fuse/peripherals/usource.c trunk/fuse/peripherals/usource.h trunk/fuse/profile.c trunk/fuse/profile.h trunk/fuse/psg.c trunk/fuse/psg.h trunk/fuse/rzx.c trunk/fuse/rzx.h trunk/fuse/settings-header.pl trunk/fuse/settings.pl trunk/fuse/slt.c trunk/fuse/slt.h trunk/fuse/sound/alsasound.c trunk/fuse/sound.c trunk/fuse/sound.h trunk/fuse/spectrum.c trunk/fuse/spectrum.h trunk/fuse/tape.c trunk/fuse/tape.h trunk/fuse/timer/timer.c trunk/fuse/timer/timer.h trunk/fuse/ui/widget/menu.c trunk/fuse/ui/widget/query.c trunk/fuse/unittests/unittests.c trunk/fuse/utils.c trunk/fuse/utils.h trunk/fuse/z80/Makefile.am trunk/fuse/z80/coretest.c trunk/fuse/z80/z80.c trunk/fuse/z80/z80.h trunk/libspectrum/Info.plist trunk/libspectrum/config.h trunk/libspectrum/generate.pl trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/Makefile.am trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/configure.ac trunk/libspectrum/libspectrum/doc/libspectrum.3 trunk/libspectrum/libspectrum/doc/libspectrum.txt trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum/make-perl.c trunk/libspectrum/libspectrum/myglib/garray.c trunk/libspectrum/libspectrum/myglib/ghash.c trunk/libspectrum/libspectrum.h trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj Added Paths: ----------- trunk/fuse/debugger/system_variable.c trunk/fuse/infrastructure/ trunk/fuse/z80/z80_debugger_variables.c trunk/fuse/z80/z80_internals.h Removed Paths: ------------- trunk/fuse/compat/mkstemp.c Property Changed: ---------------- trunk/fuse/ trunk/libspectrum/libspectrum/ Modified: trunk/FuseGenerator/config.h =================================================================== --- trunk/FuseGenerator/config.h 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/FuseGenerator/config.h 2016-07-18 11:56:29 UTC (rev 817) @@ -83,7 +83,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "1.1.0" +#define VERSION "1.2.1" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Modified: trunk/FuseGenerator/generate.pl =================================================================== --- trunk/FuseGenerator/generate.pl 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/FuseGenerator/generate.pl 2016-07-18 11:56:29 UTC (rev 817) @@ -17,6 +17,8 @@ if( /LIBSPECTRUM_GLIB_REPLACEMENT/ ) { $_ = << "CODE"; +#define LIBSPECTRUM_HAS_GLIB_REPLACEMENT 1 + #ifndef FALSE #define FALSE (0) #endif @@ -155,10 +157,13 @@ WIN32_DLL GArray* g_array_new( gboolean zero_terminated, gboolean clear, guint element_size ); +WIN32_DLL GArray* g_array_sized_new( gboolean zero_terminated, gboolean clear, + guint element_size, guint reserved_size ); #define g_array_append_val(a,v) g_array_append_vals( a, &(v), 1 ); WIN32_DLL GArray* g_array_append_vals( GArray *array, gconstpointer data, guint len ); #define g_array_index(a,t,i) (*(((t*)a->data)+i)) WIN32_DLL GArray* g_array_set_size( GArray *array, guint length ); +WIN32_DLL GArray* g_array_remove_index_fast( GArray *array, guint index ); WIN32_DLL gchar* g_array_free( GArray *array, gboolean free_segment ); #include <TargetConditionals.h> Modified: trunk/FuseImporter/config.h =================================================================== --- trunk/FuseImporter/config.h 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/FuseImporter/config.h 2016-07-18 11:56:29 UTC (rev 817) @@ -83,7 +83,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "1.1.0" +#define VERSION "1.2.1" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Modified: trunk/FuseImporter/generate.pl =================================================================== --- trunk/FuseImporter/generate.pl 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/FuseImporter/generate.pl 2016-07-18 11:56:29 UTC (rev 817) @@ -17,6 +17,8 @@ if( /LIBSPECTRUM_GLIB_REPLACEMENT/ ) { $_ = << "CODE"; +#define LIBSPECTRUM_HAS_GLIB_REPLACEMENT 1 + #ifndef FALSE #define FALSE (0) #endif @@ -155,10 +157,13 @@ WIN32_DLL GArray* g_array_new( gboolean zero_terminated, gboolean clear, guint element_size ); +WIN32_DLL GArray* g_array_sized_new( gboolean zero_terminated, gboolean clear, + guint element_size, guint reserved_size ); #define g_array_append_val(a,v) g_array_append_vals( a, &(v), 1 ); WIN32_DLL GArray* g_array_append_vals( GArray *array, gconstpointer data, guint len ); #define g_array_index(a,t,i) (*(((t*)a->data)+i)) WIN32_DLL GArray* g_array_set_size( GArray *array, guint length ); +WIN32_DLL GArray* g_array_remove_index_fast( GArray *array, guint index ); WIN32_DLL gchar* g_array_free( GArray *array, gboolean free_segment ); #include <TargetConditionals.h> Index: trunk/fuse =================================================================== --- trunk/fuse 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse 2016-07-18 11:56:29 UTC (rev 817) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-806 +/vendor/fuse-emulator/current/fuse:530-816 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/ChangeLog 2016-07-18 11:56:29 UTC (rev 817) @@ -1,3 +1,33 @@ +2016-07-17 Philip Kendall <phi...@sh...> + + * Fuse 1.2.1 released. + + * Emulation core improvements: + * Fix bugs when the detect loaders feature is being used (thanks, Lee + Tonks and windale) (Fredrick Meunier). + + * Debugger improvements: + * Remove the need for "%" when accessing system variables (Philip + Kendall). + * Add Z80 registers as debugger variables (Philip Kendall). + * Expose last byte written to the ULA, tstates since interrupt, + primary and secondary memory control ports as debugger system + variables (Philip Kendall). + * Make breakpoints on events honour lifetime (Sergio Baldoví). + * Extend breakpoints on paging events to more peripherals: Beta 128, + +D, Didaktik 80, DISCiPLE, Opus Discovery and SpeccyBoot (Sergio + Baldoví). + * Split +D memory sources into RAM and ROM sections (Sergio Baldoví). + * Coalesce +D and DISCiPLE RAM pages so they show as 8K pages (Sergio + Baldoví). + + * Miscellaneous improvements: + * Update GNOME .desktop file (Alberto Garcia). + * Add an emulator module startup manager to automatically handle + dependency issues (Philip Kendall). + * Fix crash on widget UIs when hitting the close icon on the title bar + several times (Sergio Baldoví). + 2016-06-06 Philip Kendall <phi...@sh...> * Fuse 1.2.0 released. @@ -1295,4 +1325,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 5594 2016-06-06 10:46:46Z fredm $ +$Id: ChangeLog 5686 2016-07-17 10:37:50Z fredm $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/Makefile.am 2016-07-18 11:56:29 UTC (rev 817) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2015 Philip Kendall -## $Id: Makefile.am 5537 2016-05-29 06:17:00Z sbaldovi $ +## $Id: Makefile.am 5677 2016-07-09 13:58:02Z 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 @@ -170,6 +170,7 @@ include data/Makefile.am include debugger/Makefile.am include hacking/Makefile.am +include infrastructure/Makefile.am include lib/Makefile.am include machines/Makefile.am include man/Makefile.am Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/README 2016-07-18 11:56:29 UTC (rev 817) @@ -1,4 +1,4 @@ -The Free Unix Spectrum Emulator (Fuse) 1.2.0 +The Free Unix Spectrum Emulator (Fuse) 1.2.1 ============================================ Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat @@ -108,6 +108,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -6th June, 2016 +17th July, 2016 -$Id: README 5594 2016-06-06 10:46:46Z fredm $ +$Id: README 5686 2016-07-17 10:37:50Z fredm $ Modified: trunk/fuse/compat/Makefile.am =================================================================== --- trunk/fuse/compat/Makefile.am 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/compat/Makefile.am 2016-07-18 11:56:29 UTC (rev 817) @@ -2,7 +2,7 @@ ## Copyright (c) 2003-2013 Philip Kendall ## Copyright (c) 2015 Sergio Baldoví -## $Id: Makefile.am 5434 2016-05-01 04:22:45Z fredm $ +## $Id: Makefile.am 5677 2016-07-09 13:58:02Z 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 @@ -32,10 +32,6 @@ fuse_SOURCES += compat/getopt.c compat/getopt1.c endif -if COMPAT_MKSTEMP -fuse_SOURCES += compat/mkstemp.c -endif - ## Amiga routines if COMPAT_AMIGA fuse_SOURCES += \ Deleted: trunk/fuse/compat/mkstemp.c =================================================================== --- trunk/fuse/compat/mkstemp.c 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/compat/mkstemp.c 2016-07-18 11:56:29 UTC (rev 817) @@ -1,108 +0,0 @@ -/* Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - Modifications (c) 2003 Philip Kendall - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301 USA. */ - -#include <config.h> - -#include <errno.h> -#include <stdlib.h> -#include <string.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <time.h> -#include <unistd.h> - -#include <libspectrum.h> - -#define uint64_t libspectrum_qword - -/* These are the characters used in temporary filenames. */ -static const char letters[] = -"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - -/* Generate a temporary file name based on TMPL. TMPL must match the - rules for mk[s]temp (i.e. end in "XXXXXX"). The name constructed - does not exist at the time of the call to __gen_tempname. TMPL is - overwritten with the result. - - We use a clever algorithm to get hard-to-predict names. */ -int -mkstemp (char *tmpl) -{ - int len; - char *XXXXXX; - static uint64_t value; - unsigned int count; - int fd = -1; - int save_errno = errno; - - /* A lower bound on the number of temporary files to attempt to - generate. The maximum total number of temporary file names that - can exist for a given template is 62**6. It should never be - necessary to try all these combinations. Instead if a reasonable - number of names is tried (we define reasonable as 62**3) fail to - give the system administrator the chance to remove the problems. */ - unsigned int attempts = 62 * 62 * 62; - - len = strlen (tmpl); - if (len < 6 || strcmp (&tmpl[len - 6], "XXXXXX")) - { - errno = EINVAL; - return -1; - } - - /* This is where the Xs start. */ - XXXXXX = &tmpl[len - 6]; - - /* Get some more or less random data. */ - value += time (NULL) ^ getpid (); - - for (count = 0; count < attempts; value += 7777, ++count) - { - uint64_t v = value; - - /* Fill in the random bits. */ - XXXXXX[0] = letters[v % 62]; - v /= 62; - XXXXXX[1] = letters[v % 62]; - v /= 62; - XXXXXX[2] = letters[v % 62]; - v /= 62; - XXXXXX[3] = letters[v % 62]; - v /= 62; - XXXXXX[4] = letters[v % 62]; - v /= 62; - XXXXXX[5] = letters[v % 62]; - - fd = open (tmpl, O_RDWR | O_CREAT | O_EXCL | O_BINARY, S_IRUSR | S_IWUSR); - - if (fd >= 0) - { - errno = save_errno; - return fd; - } - else if (errno != EEXIST) - return -1; - } - - /* We got out of the loop because we ran out of combinations to try. */ - errno = EEXIST; - return -1; -} Modified: trunk/fuse/configure.ac =================================================================== --- trunk/fuse/configure.ac 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/configure.ac 2016-07-18 11:56:29 UTC (rev 817) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.ac 5594 2016-06-06 10:46:46Z fredm $ +dnl $Id: configure.ac 5686 2016-07-17 10:37:50Z fredm $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -20,12 +20,12 @@ dnl E-mail: phi...@sh... dnl Package version -m4_define([fuse_version], [1.2.0]) +m4_define([fuse_version], [1.2.1]) dnl Product full version m4_define([fuse_major_version], [1]) m4_define([fuse_minor_version], [2]) -m4_define([fuse_micro_version], [0]) +m4_define([fuse_micro_version], [1]) m4_define([fuse_nano_version], [0]) m4_define([fuse_full_version], [fuse_major_version.fuse_minor_version.fuse_micro_version.fuse_nano_version]) m4_define([fuse_rc_version], [fuse_major_version,fuse_minor_version,fuse_micro_version,fuse_nano_version]) @@ -104,7 +104,7 @@ AC_C_INLINE dnl Checks for library functions. -AC_CHECK_FUNCS(dirname geteuid getopt_long mkstemp fsync) +AC_CHECK_FUNCS(dirname geteuid getopt_long fsync) AC_CHECK_LIB([m],[cos]) dnl Allow the user to say that various libraries are in one place @@ -834,10 +834,6 @@ esac fi AM_CONDITIONAL(COMPAT_GETOPT, test "$compat_getopt" = yes) -if test "$ac_cv_func_mkstemp" = no; then - missing_routines="$missing_routines"'mkstemp ' -fi -AM_CONDITIONAL(COMPAT_MKSTEMP, test "$ac_cv_func_mkstemp" = no) if test "x$missing_routines" = x; then missing_routines='(none)' fi Modified: trunk/fuse/data/fuse.desktop.in =================================================================== --- trunk/fuse/data/fuse.desktop.in 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/data/fuse.desktop.in 2016-07-18 11:56:29 UTC (rev 817) @@ -2,9 +2,10 @@ Version=1.0 Type=Application Categories=Game;Emulator;GTK; -Name=Fuse Spectrum Emulator +Name=Fuse +GenericName=Spectrum Emulator Comment=Emulator of the 1980s ZX Spectrum home computer and its various clones MimeType=@MIME_TYPES@ Exec=fuse %f Icon=fuse - +Keywords=sinclair;zx;game;retro; Modified: trunk/fuse/debugger/Makefile.am =================================================================== --- trunk/fuse/debugger/Makefile.am 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/debugger/Makefile.am 2016-07-18 11:56:29 UTC (rev 817) @@ -1,8 +1,8 @@ ## Process this file with automake to produce Makefile.in -## Copyright (c) 2001-2008 Philip Kendall +## Copyright (c) 2001-2016 Philip Kendall ## Copyright (c) 2015 Sergio Baldoví -## $Id: Makefile.am 5434 2016-05-01 04:22:45Z fredm $ +## $Id: Makefile.am 5677 2016-07-09 13:58:02Z 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 @@ -31,6 +31,7 @@ debugger/disassemble.c \ debugger/event.c \ debugger/expression.c \ + debugger/system_variable.c \ debugger/variable.c debugger/commandl.c: debugger/commandy.c Modified: trunk/fuse/debugger/breakpoint.c =================================================================== --- trunk/fuse/debugger/breakpoint.c 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/debugger/breakpoint.c 2016-07-18 11:56:29 UTC (rev 817) @@ -136,7 +136,7 @@ int debugger_breakpoint_add_time( debugger_breakpoint_type type, - libspectrum_dword tstates, size_t ignore, + libspectrum_dword breakpoint_tstates, size_t ignore, debugger_breakpoint_life life, debugger_expression *condition ) { @@ -153,8 +153,8 @@ } value.time.triggered = 0; - value.time.tstates = tstates; - value.time.initial_tstates = tstates; + value.time.tstates = breakpoint_tstates; + value.time.initial_tstates = breakpoint_tstates; return breakpoint_add( type, value, ignore, life, condition ); } Modified: trunk/fuse/debugger/breakpoint.h =================================================================== --- trunk/fuse/debugger/breakpoint.h 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/debugger/breakpoint.h 2016-07-18 11:56:29 UTC (rev 817) @@ -136,7 +136,7 @@ int debugger_breakpoint_add_time( - debugger_breakpoint_type type, libspectrum_dword tstates, + debugger_breakpoint_type type, libspectrum_dword breakpoint_tstates, size_t ignore, debugger_breakpoint_life life, debugger_expression *condition ); Modified: trunk/fuse/debugger/command.c =================================================================== --- trunk/fuse/debugger/command.c 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/debugger/command.c 2016-07-18 11:56:29 UTC (rev 817) @@ -95,51 +95,6 @@ } } -/* Convert a register name to a useful index value */ -int -debugger_register_hash( const char *name ) -{ - int hash = 0x0000, primed = 0; - size_t length; - const char *ptr; - - length = strlen( name ); - - if( name[ length - 1 ] == '\'' ) { primed = 1; length--; } - - for( ptr = name; ptr < name + length; ptr++ ) { - hash <<= 8; hash |= tolower( *ptr ); - } - - if( primed ) hash |= 0x8000; - - switch( hash ) { - case 0x0061: case 0x8061: /* A, A' */ - case 0x0066: case 0x8066: /* F, F' */ - case 0x0062: case 0x8062: /* B, B' */ - case 0x0063: case 0x8063: /* C, C' */ - case 0x0064: case 0x8064: /* D, D' */ - case 0x0065: case 0x8065: /* E, E' */ - case 0x0068: case 0x8068: /* H, H' */ - case 0x006c: case 0x806c: /* L, L' */ - case 0x0069: case 0x0072: /* I, R */ - case 0x6166: case 0xe166: /* AF, AF' */ - case 0x6263: case 0xe263: /* BC, BC' */ - case 0x6465: case 0xe465: /* DE, DE' */ - case 0x686c: case 0xe86c: /* HL, HL' */ - case 0x7370: /* SP */ - case 0x7063: /* PC */ - case 0x6978: /* IX */ - case 0x6979: /* IY */ - case 0x696d: /* IM */ - case 0x69666631: /* IFF1 */ - case 0x69666632: /* IFF2 */ - return hash; - - default: return -1; - } -} - /* Utility functions called by the bison parser */ /* The error callback if yyparse finds an error */ @@ -149,161 +104,13 @@ ui_error( UI_ERROR_ERROR, "Invalid debugger command: %s", s ); } -/* Get the value of a register */ -libspectrum_word -debugger_register_get( int which ) -{ - switch( which ) { - - /* 8-bit registers */ - case 0x0061: return A; - case 0x8061: return A_; - case 0x0066: return F; - case 0x8066: return F_; - case 0x0062: return B; - case 0x8062: return B_; - case 0x0063: return C; - case 0x8063: return C_; - case 0x0064: return D; - case 0x8064: return D_; - case 0x0065: return E; - case 0x8065: return E_; - case 0x0068: return H; - case 0x8068: return H_; - case 0x006c: return L; - case 0x806c: return L_; - - case 0x0069: return I; - case 0x0072: return ( R7 & 0x80 ) | ( R & 0x7f ); - - /* 16-bit registers */ - case 0x6166: return AF; - case 0xe166: return AF_; - case 0x6263: return BC; - case 0xe263: return BC_; - case 0x6465: return DE; - case 0xe465: return DE_; - case 0x686c: return HL; - case 0xe86c: return HL_; - - case 0x7370: return SP; - case 0x7063: return PC; - case 0x6978: return IX; - case 0x6979: return IY; - - /* interrupt flags */ - case 0x696d: return IM; - case 0x69666631: return IFF1; - case 0x69666632: return IFF2; - - default: - ui_error( UI_ERROR_ERROR, "attempt to get unknown register '%d'", which ); - return 0; - } -} - -/* Set the value of a register */ +/* Set the value of a register + + Now just a pass through to the appropriate system variable. + This function should be removed in Fuse 1.4 */ void -debugger_register_set( int which, libspectrum_word value ) +debugger_register_set( const char *which, libspectrum_word value ) { - switch( which ) { - - /* 8-bit registers */ - case 0x0061: A = value; break; - case 0x8061: A_ = value; break; - case 0x0066: F = value; break; - case 0x8066: F_ = value; break; - case 0x0062: B = value; break; - case 0x8062: B_ = value; break; - case 0x0063: C = value; break; - case 0x8063: C_ = value; break; - case 0x0064: D = value; break; - case 0x8064: D_ = value; break; - case 0x0065: E = value; break; - case 0x8065: E_ = value; break; - case 0x0068: H = value; break; - case 0x8068: H_ = value; break; - case 0x006c: L = value; break; - case 0x806c: L_ = value; break; - - case 0x0069: I = value; break; - case 0x0072: R = R7 = value; break; - - /* 16-bit registers */ - case 0x6166: AF = value; break; - case 0xe166: AF_ = value; break; - case 0x6263: BC = value; break; - case 0xe263: BC_ = value; break; - case 0x6465: DE = value; break; - case 0xe465: DE_ = value; break; - case 0x686c: HL = value; break; - case 0xe86c: HL_ = value; break; - - case 0x7370: SP = value; break; - case 0x7063: PC = value; break; - case 0x6978: IX = value; break; - case 0x6979: IY = value; break; - - /* interrupt flags */ - case 0x696d: if( value >= 0 && value <=2 ) IM = value; break; - case 0x69666631: IFF1 = !!value; break; - case 0x69666632: IFF2 = !!value; break; - - default: - ui_error( UI_ERROR_ERROR, "attempt to set unknown register '%d'", which ); - break; - } + debugger_system_variable_set( debugger_z80_system_variable_type, which, + value ); } - -/* Get the textual representation of a register */ -const char * -debugger_register_text( int which ) -{ - switch( which ) { - - /* 8-bit registers */ - case 0x0061: return "A"; - case 0x8061: return "A'"; - case 0x0066: return "F"; - case 0x8066: return "F'"; - case 0x0062: return "B"; - case 0x8062: return "B'"; - case 0x0063: return "C"; - case 0x8063: return "C'"; - case 0x0064: return "D"; - case 0x8064: return "D'"; - case 0x0065: return "E"; - case 0x8065: return "E'"; - case 0x0068: return "H"; - case 0x8068: return "H'"; - case 0x006c: return "L"; - case 0x806c: return "L'"; - - case 0x0069: return "I"; - case 0x0072: return "R"; - - /* 16-bit registers */ - case 0x6166: return "AF"; - case 0xe166: return "AF'"; - case 0x6263: return "BC"; - case 0xe263: return "BC'"; - case 0x6465: return "DE"; - case 0xe465: return "DE'"; - case 0x686c: return "HL"; - case 0xe86c: return "HL'"; - - case 0x7370: return "SP"; - case 0x7063: return "PC"; - case 0x6978: return "IX"; - case 0x6979: return "IY"; - - /* interrupt flags */ - case 0x696d: return "IM"; - case 0x69666631: return "IFF1"; - case 0x69666632: return "IFF2"; - - default: - ui_error( UI_ERROR_ERROR, "attempt to get unknown register '%d'", which ); - return "(invalid)"; - } -} Modified: trunk/fuse/debugger/commandl.l =================================================================== --- trunk/fuse/debugger/commandl.l 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/debugger/commandl.l 2016-07-18 11:56:29 UTC (rev 817) @@ -1,8 +1,8 @@ /* commandl.l: Debugger command lexical scanner - Copyright (c) 2002-2013 Philip Kendall + Copyright (c) 2002-2016 Philip Kendall Copyright (c) 2015 Sergio Baldoví - $Id: commandl.l 5539 2016-05-29 10:49:51Z fredm $ + $Id: commandl.l 5677 2016-07-09 13:58:02Z 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 @@ -47,7 +47,7 @@ %} -ID [a-z]([a-z0-9]|\\[ ])+ +ID [a-z]([a-z0-9]|\\[ ])* %option caseless @@ -83,23 +83,10 @@ ti|tim|time { return TIME; } w|wr|wri|writ|write { return WRITE; } -a|b|c|d|e|f|h|l { yylval.reg = debugger_register_hash( yytext ); - return DEBUGGER_REGISTER; } +a|b|c|d|e|f|h|l|af|bc|de|hl|sp|pc|ix|iy|i|r|im|iff1|iff2|"a'"|"b'"|"c'"|"d'"|"e'"|"f'"|"h'"|"l'"|"af\'"|"bc\'"|"de\'"|"hl\'" { + yylval.string = mempool_strdup( debugger_memory_pool, yytext ); + return DEBUGGER_REGISTER; } -"a'"|"b'"|"c'"|"d'"|"e'"|"f'"|"h'"|"l'" { - yylval.reg = debugger_register_hash( yytext ); - return DEBUGGER_REGISTER; } - -af|bc|de|hl|"af\'"|"bc\'"|"de\'"|"hl\'" { - yylval.reg = debugger_register_hash( yytext ); - return DEBUGGER_REGISTER; } - -sp|pc|ix|iy|i|r { yylval.reg = debugger_register_hash( yytext ); - return DEBUGGER_REGISTER; } - -im|iff1|iff2 { yylval.reg = debugger_register_hash( yytext ); - return DEBUGGER_REGISTER; } - "(" { return '('; } ")" { return ')'; } Modified: trunk/fuse/debugger/commandy.y =================================================================== --- trunk/fuse/debugger/commandy.y 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/debugger/commandy.y 2016-07-18 11:56:29 UTC (rev 817) @@ -1,8 +1,8 @@ /* commandy.y: Parse a debugger command - Copyright (c) 2002-2015 Philip Kendall + Copyright (c) 2002-2016 Philip Kendall Copyright (c) 2015 Sergio Baldoví - $Id: commandy.y 5539 2016-05-29 10:49:51Z fredm $ + $Id: commandy.y 5677 2016-07-09 13:58:02Z 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 @@ -47,7 +47,6 @@ %union { int token; - int reg; libspectrum_dword integer; char *string; @@ -98,7 +97,7 @@ %token TIME %token WRITE -%token <reg> DEBUGGER_REGISTER +%token <string> DEBUGGER_REGISTER %token <integer> NUMBER @@ -192,6 +191,10 @@ | SET NUMBER number { debugger_poke( $2, $3 ); } | SET DEBUGGER_REGISTER number { debugger_register_set( $2, $3 ); } | SET VARIABLE number { debugger_variable_set( $2, $3 ); } + | SET STRING ':' STRING number { debugger_system_variable_set( $2, $4, $5 ); } + /* Temporary hack while we deprecate the old unprefixed style + of register access. This should be removed in Fuse 1.4 */ + | SET STRING ':' DEBUGGER_REGISTER number { debugger_system_variable_set( $2, $4, $5 ); } | STEP { debugger_step(); } ; @@ -246,6 +249,14 @@ | DEBUGGER_REGISTER { $$ = debugger_expression_new_register( $1, debugger_memory_pool ); if( !$$ ) YYABORT; } + | STRING ':' STRING { $$ = debugger_expression_new_system_variable( $1, $3, debugger_memory_pool ); + if( !$$ ) YYABORT; + } + /* Temporary hack while we deprecate the old unprefixed style + of register access. This should be removed in Fuse 1.4 */ + | STRING ':' DEBUGGER_REGISTER { $$ = debugger_expression_new_system_variable( $1, $3, debugger_memory_pool ); + if( !$$ ) YYABORT; + } | VARIABLE { $$ = debugger_expression_new_variable( $1, debugger_memory_pool ); if( !$$ ) YYABORT; } Modified: trunk/fuse/debugger/debugger.c =================================================================== --- trunk/fuse/debugger/debugger.c 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/debugger/debugger.c 2016-07-18 11:56:29 UTC (rev 817) @@ -1,5 +1,5 @@ /* debugger.c: Fuse's monitor/debugger - Copyright (c) 2002-2011 Philip Kendall + Copyright (c) 2002-2016 Philip Kendall $Id$ @@ -29,6 +29,7 @@ #include "debugger_internals.h" #include "event.h" #include "fuse.h" +#include "infrastructure/startup_manager.h" #include "memory.h" #include "mempool.h" #include "periph.h" @@ -48,8 +49,11 @@ /* The event type used for time breakpoints */ int debugger_breakpoint_event; -void -debugger_init( void ) +/* The system variable type used for Z80 registers */ +const char *debugger_z80_system_variable_type = "z80"; + +static int +debugger_init( void *context ) { debugger_breakpoints = NULL; debugger_output_base = 16; @@ -59,8 +63,11 @@ debugger_breakpoint_event = event_register( debugger_breakpoint_time_fn, "Breakpoint" ); debugger_event_init(); + debugger_system_variable_init(); debugger_variable_init(); debugger_reset(); + + return 0; } void @@ -70,14 +77,26 @@ debugger_mode = DEBUGGER_MODE_INACTIVE; } -int +static void debugger_end( void ) { debugger_breakpoint_remove_all(); debugger_variable_end(); + debugger_system_variable_end(); debugger_event_end(); +} - return 0; +void +debugger_register_startup( void ) +{ + startup_manager_module dependencies[] = { + STARTUP_MANAGER_MODULE_EVENT, + STARTUP_MANAGER_MODULE_MEMPOOL, + STARTUP_MANAGER_MODULE_SETUID, + }; + startup_manager_register( STARTUP_MANAGER_MODULE_DEBUGGER, dependencies, + ARRAY_SIZE( dependencies ), debugger_init, NULL, + debugger_end ); } /* Activate the debugger */ Modified: trunk/fuse/debugger/debugger.h =================================================================== --- trunk/fuse/debugger/debugger.h 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/debugger/debugger.h 2016-07-18 11:56:29 UTC (rev 817) @@ -1,5 +1,5 @@ /* debugger.h: Fuse's monitor/debugger - Copyright (c) 2002-2013 Philip Kendall + Copyright (c) 2002-2016 Philip Kendall $Id$ @@ -49,11 +49,10 @@ /* Which base should we display things in */ extern int debugger_output_base; -void debugger_init( void ); +void debugger_register_startup( void ); + void debugger_reset( void ); -int debugger_end( void ); - int debugger_trap( void ); /* Activate the debugger */ int debugger_step( void ); /* Single step */ @@ -85,4 +84,13 @@ /* Exit the emulator */ void debugger_exit_emulator( void ); +/* Debugger system variables */ +typedef libspectrum_dword (*debugger_get_system_variable_fn_t)( void ); +typedef void (*debugger_set_system_variable_fn_t)( libspectrum_dword value ); + +void debugger_system_variable_register( + const char *type, const char *detail, + debugger_get_system_variable_fn_t get, + debugger_set_system_variable_fn_t set ); + #endif /* #ifndef FUSE_DEBUGGER_H */ Modified: trunk/fuse/debugger/debugger_internals.h =================================================================== --- trunk/fuse/debugger/debugger_internals.h 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/debugger/debugger_internals.h 2016-07-18 11:56:29 UTC (rev 817) @@ -1,5 +1,5 @@ /* debugger_internals.h: The internals of Fuse's monitor/debugger - Copyright (c) 2002-2011 Philip Kendall + Copyright (c) 2002-2016 Philip Kendall $Id$ @@ -34,6 +34,9 @@ /* The event type used to trigger time breakpoints */ extern int debugger_breakpoint_event; +/* The system variable type used for Z80 registers */ +extern const char *debugger_z80_system_variable_type; + void debugger_breakpoint_time_fn( libspectrum_dword tstates, int type, void *user_data ); int debugger_breakpoint_remove( size_t id ); @@ -49,10 +52,7 @@ int debugger_poke( libspectrum_word address, libspectrum_byte value ); int debugger_port_write( libspectrum_word address, libspectrum_byte value ); -int debugger_register_hash( const char *reg ); -libspectrum_word debugger_register_get( int which ); -void debugger_register_set( int which, libspectrum_word value ); -const char* debugger_register_text( int which ); +void debugger_register_set( const char *which, libspectrum_word value ); void debugger_exit_emulator( void ); @@ -85,13 +85,16 @@ debugger_expression* debugger_expression_new_number( libspectrum_dword number, int pool ); -debugger_expression* debugger_expression_new_register( int which, int pool ); +debugger_expression* debugger_expression_new_register( const char *which, int pool ); debugger_expression* debugger_expression_new_unaryop( int operation, debugger_expression *operand, int pool ); debugger_expression* debugger_expression_new_binaryop( int operation, debugger_expression *operand1, debugger_expression *operand2, int pool ); debugger_expression* +debugger_expression_new_system_variable( const char *type, const char *detail, + int pool ); +debugger_expression* debugger_expression_new_variable( const char *name, int pool ); debugger_expression* debugger_expression_copy( debugger_expression *src ); @@ -106,6 +109,17 @@ int debugger_event_is_registered( const char *type, const char *detail ); void debugger_event_end( void ); +/* System variables handling */ + +void debugger_system_variable_init( void ); +void debugger_system_variable_end( void ); +int debugger_system_variable_find( const char *type, const char *detail ); +libspectrum_dword debugger_system_variable_get( int system_variable ); +void debugger_system_variable_set( const char *type, const char *detail, + libspectrum_dword value ); +void debugger_system_variable_text( char *buffer, size_t length, + int system_variable ); + /* Variables handling */ void debugger_variable_init( void ); Modified: trunk/fuse/debugger/event.c =================================================================== --- trunk/fuse/debugger/event.c 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/debugger/event.c 2016-07-18 11:56:29 UTC (rev 817) @@ -88,8 +88,11 @@ debugger_event( int event_code ) { debugger_event_t event; - GSList *ptr; + debugger_breakpoint *bp; + GSList *ptr, *ptr_next; + int signal_breakpoints_updated = 0; + if( event_code >= registered_events->len ) { ui_error( UI_ERROR_ERROR, "internal error: invalid debugger event %d", event_code ); @@ -98,16 +101,28 @@ event = g_array_index( registered_events, debugger_event_t, event_code ); - for( ptr = debugger_breakpoints; ptr; ptr = ptr->next ) { - debugger_breakpoint *bp = ptr->data; + for( ptr = debugger_breakpoints; ptr; ptr = ptr_next ) { + + bp = ptr->data; + ptr_next = ptr->next; + if( bp->type != DEBUGGER_BREAKPOINT_TYPE_EVENT ) continue; if( event_matches( &bp->value.event, event.type, event.detail ) && debugger_breakpoint_trigger( bp ) ) { debugger_mode = DEBUGGER_MODE_HALTED; debugger_command_evaluate( bp->commands ); + + if( bp->life == DEBUGGER_BREAKPOINT_LIFE_ONESHOT ) { + debugger_breakpoints = g_slist_remove( debugger_breakpoints, bp ); + libspectrum_free( bp ); + signal_breakpoints_updated = 1; + } } } + + if( signal_breakpoints_updated ) + ui_breakpoints_updated(); } /* Tidy-up function called at end of emulation */ Modified: trunk/fuse/debugger/expression.c =================================================================== --- trunk/fuse/debugger/expression.c 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/debugger/expression.c 2016-07-18 11:56:29 UTC (rev 817) @@ -1,5 +1,5 @@ /* expression.c: A numeric expression - Copyright (c) 2003-2015 Philip Kendall + Copyright (c) 2003-2016 Philip Kendall $Id$ @@ -38,9 +38,9 @@ typedef enum expression_type { DEBUGGER_EXPRESSION_TYPE_INTEGER, - DEBUGGER_EXPRESSION_TYPE_REGISTER, DEBUGGER_EXPRESSION_TYPE_UNARYOP, DEBUGGER_EXPRESSION_TYPE_BINARYOP, + DEBUGGER_EXPRESSION_TYPE_SYSVAR, DEBUGGER_EXPRESSION_TYPE_VARIABLE, } expression_type; @@ -86,10 +86,10 @@ union { int integer; - int reg; struct unaryop_type unaryop; struct binaryop_type binaryop; char *variable; + int system_variable; } types; }; @@ -163,18 +163,15 @@ return exp; } +/* Create a new expression representing a Z80 register + + Now just a pass through to the appropriate system variable. + This function should be removed in Fuse 1.4 */ debugger_expression* -debugger_expression_new_register( int which, int pool ) +debugger_expression_new_register( const char *which, int pool ) { - debugger_expression *exp; - - exp = mempool_new( pool, debugger_expression, 1 ); - - exp->type = DEBUGGER_EXPRESSION_TYPE_REGISTER; - exp->precedence = PRECEDENCE_ATOMIC; - exp->types.reg = which; - - return exp; + return debugger_expression_new_system_variable( + debugger_z80_system_variable_type, which, pool ); } debugger_expression* @@ -195,7 +192,6 @@ return exp; } - debugger_expression* debugger_expression_new_unaryop( int operation, debugger_expression *operand, int pool ) @@ -214,6 +210,29 @@ } debugger_expression* +debugger_expression_new_system_variable( const char *type, const char *detail, + int pool ) +{ + debugger_expression *exp; + int system_variable; + + system_variable = debugger_system_variable_find( type, detail ); + if( system_variable == -1 ) { + ui_error( UI_ERROR_WARNING, "System variable %s:%s not known", type, + detail ); + return NULL; + } + + exp = mempool_new( pool, debugger_expression, 1 ); + + exp->type = DEBUGGER_EXPRESSION_TYPE_SYSVAR; + exp->precedence = PRECEDENCE_ATOMIC; + exp->types.system_variable = system_variable; + + return exp; +} + +debugger_expression* debugger_expression_new_variable( const char *name, int pool ) { debugger_expression *exp; @@ -233,7 +252,7 @@ switch( exp->type ) { case DEBUGGER_EXPRESSION_TYPE_INTEGER: - case DEBUGGER_EXPRESSION_TYPE_REGISTER: + case DEBUGGER_EXPRESSION_TYPE_SYSVAR: break; case DEBUGGER_EXPRESSION_TYPE_UNARYOP: @@ -270,10 +289,6 @@ dest->types.integer = src->types.integer; break; - case DEBUGGER_EXPRESSION_TYPE_REGISTER: - dest->types.reg = src->types.reg; - break; - case DEBUGGER_EXPRESSION_TYPE_UNARYOP: dest->types.unaryop.operation = src->types.unaryop.operation; dest->types.unaryop.op = debugger_expression_copy( src->types.unaryop.op ); @@ -300,10 +315,13 @@ } break; + case DEBUGGER_EXPRESSION_TYPE_SYSVAR: + dest->types.system_variable = src->types.system_variable; + break; + case DEBUGGER_EXPRESSION_TYPE_VARIABLE: dest->types.variable = utils_safe_strdup( src->types.variable ); break; - } return dest; @@ -317,15 +335,15 @@ case DEBUGGER_EXPRESSION_TYPE_INTEGER: return exp->types.integer; - case DEBUGGER_EXPRESSION_TYPE_REGISTER: - return debugger_register_get( exp->types.reg ); - case DEBUGGER_EXPRESSION_TYPE_UNARYOP: return evaluate_unaryop( &( exp->types.unaryop ) ); case DEBUGGER_EXPRESSION_TYPE_BINARYOP: return evaluate_binaryop( &( exp->types.binaryop ) ); + case DEBUGGER_EXPRESSION_TYPE_SYSVAR: + return debugger_system_variable_get( exp->types.system_variable ); + case DEBUGGER_EXPRESSION_TYPE_VARIABLE: return debugger_variable_get( exp->types.variable ); @@ -435,16 +453,16 @@ } return 0; - case DEBUGGER_EXPRESSION_TYPE_REGISTER: - snprintf( buffer, length, "%s", debugger_register_text( exp->types.reg ) ); - return 0; - case DEBUGGER_EXPRESSION_TYPE_UNARYOP: return deparse_unaryop( buffer, length, &( exp->types.unaryop ) ); case DEBUGGER_EXPRESSION_TYPE_BINARYOP: return deparse_binaryop( buffer, length, &( exp->types.binaryop ) ); + case DEBUGGER_EXPRESSION_TYPE_SYSVAR: + debugger_system_variable_text( buffer, length, exp->types.system_variable ); + return 0; + case DEBUGGER_EXPRESSION_TYPE_VARIABLE: snprintf( buffer, length, "$%s", exp->types.variable ); return 0; Copied: trunk/fuse/debugger/system_variable.c (from rev 816, vendor/fuse-emulator/current/fuse/debugger/system_variable.c) =================================================================== --- trunk/fuse/debugger/system_variable.c (rev 0) +++ trunk/fuse/debugger/system_variable.c 2016-07-18 11:56:29 UTC (rev 817) @@ -0,0 +1,160 @@ +/* event.c: Debugger system variables + Copyright (c) 2016 Philip Kendall + + $Id$ + + 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Author contact information: + + E-mail: phi...@sh... + +*/ + +#include <config.h> + +#include <string.h> + +#ifdef HAVE_LIB_GLIB +#include <glib.h> +#endif /* #ifdef HAVE_LIB_GLIB */ + +#include <libspectrum.h> + +#include "debugger_internals.h" +#include "fuse.h" +#include "ui/ui.h" +#include "utils.h" + +typedef struct system_variable_t { + char *type; + char *detail; + debugger_get_system_variable_fn_t get; + debugger_set_system_variable_fn_t set; +} system_variable_t; + +static GArray *system_variables; + +void +debugger_system_variable_init( void ) +{ + system_variables = g_array_new( FALSE, FALSE, sizeof( system_variable_t ) ); +} + +void +debugger_system_variable_register( const char *type, const char *detail, + debugger_get_system_variable_fn_t get, + debugger_set_system_variable_fn_t set ) +{ + system_variable_t sysvar; + + sysvar.type = utils_safe_strdup( type ); + sysvar.detail = utils_safe_strdup( detail ); + sysvar.get = get; + sysvar.set = set; + + g_array_append_val( system_variables, sysvar ); +} + +static int +system_variable_matches( system_variable_t *sysvar, const char *type, const char *detail ) +{ + return strcasecmp( type, sysvar->type ) == 0 && + strcasecmp( detail, sysvar->detail ) == 0; +} + +static int +find_system_variable( const char *type, const char *detail, system_variable_t *out ) +{ + size_t i; + + for( i = 0; i < system_variables->len; i++ ) { + system_variable_t sysvar = + g_array_index( system_variables, system_variable_t, i ); + + if( system_variable_matches( &sysvar, type, detail ) ) { + if( out != NULL ) *out = sysvar; + return i; + } + } + + return -1; +} + +int +debugger_system_variable_find( const char *type, const char *detail ) +{ + return find_system_variable( type, detail, NULL ); +} + +libspectrum_dword +debugger_system_variable_get( int system_variable ) +{ + system_variable_t sysvar = + g_array_index( system_variables, system_variable_t, system_variable ); + + return sysvar.get(); +} + +void +debugger_system_variable_set( const char *type, const char *detail, + libspectrum_dword value ) +{ + int index; + system_variable_t sysvar; + + index = find_system_variable( type, detail, &sysvar ); + if( index == -1 ) { + ui_error( UI_ERROR_ERROR, "Unknown system variable %s:%s", type, detail ); + return; + } + + if (sysvar.set == NULL) { + ui_error( UI_ERROR_ERROR, "System variable %s:%s cannot be set", type, + detail ); + return; + } + + sysvar.set( value ); +} + +void +debugger_system_variable_text( char *buffer, size_t length, + int system_variable ) +{ + system_variable_t sysvar = + g_array_index( system_variables, system_variable_t, system_variable ); + + snprintf( buffer, length, "%s:%s", sysvar.type, sysvar.detail ); +} + +/* Tidy-up function called at end of emulation */ +void +debugger_system_variable_end( void ) +{ + int i; + system_variable_t sysvar; + + if( !system_variables ) return; + + for( i = 0; i < system_variables->len; i++ ) { + sysvar = g_array_index( system_variables, system_variable_t, i ); + libspectrum_free( sysvar.detail ); + libspectrum_free( sysvar.type ); + } + + g_array_free( system_variables, TRUE ); + system_variables = NULL; +} Modified: trunk/fuse/display.c =================================================================== --- trunk/fuse/display.c 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/display.c 2016-07-18 11:56:29 UTC (rev 817) @@ -32,8 +32,8 @@ #include <string.h> #include "display.h" -#include "event.h" #include "fuse.h" +#include "infrastructure/startup_manager.h" #include "machine.h" #include "movie.h" #include "peripherals/scld.h" @@ -207,6 +207,26 @@ return 0; } +static int +display_init_wrapper( void *context ) +{ + display_startup_context *typed_context = + (display_startup_context*) context; + + return display_init( typed_context->argc, typed_context->argv ); +} + +void +display_register_startup( display_startup_context *context ) +{ + /* The Wii has an explicit call to display_init for now */ +#ifndef GEKKO + startup_manager_register_no_dependencies( STARTUP_MANAGER_MODULE_DISPLAY, + display_init_wrapper, context, + NULL ); +#endif /* #ifndef GEKKO */ +} + /* Mark as 'dirty' the pixels which have been changed by a write to 'offset' within the RAM page containing the screen */ void Modified: trunk/fuse/display.h =================================================================== --- trunk/fuse/display.h 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/display.h 2016-07-18 11:56:29 UTC (rev 817) @@ -75,7 +75,13 @@ extern libspectrum_word display_line_start[ DISPLAY_HEIGHT ]; extern libspectrum_word display_attr_start[ DISPLAY_HEIGHT ]; -int display_init(int *argc, char ***argv); +typedef struct display_startup_context { + int *argc; + char ***argv; +} display_startup_context; + +int display_init( int *argc, char ***argv ); +void display_register_startup( display_startup_context *context ); void display_line(void); typedef void (*display_dirty_fn)( libspectrum_word offset ); Modified: trunk/fuse/event.c =================================================================== --- trunk/fuse/event.c 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/event.c 2016-07-18 11:56:29 UTC (rev 817) @@ -30,6 +30,7 @@ #include <libspectrum.h> #include "event.h" +#include "infrastructure/startup_manager.h" #include "fuse.h" #include "ui/ui.h" #include "utils.h" @@ -62,8 +63,8 @@ static GArray *registered_events; -void -event_init( void ) +static int +event_init( void *context ) { registered_events = g_array_new( FALSE, FALSE, sizeof( event_descriptor_t ) ); @@ -72,6 +73,8 @@ event_next_event = event_no_events; event_frame_end=0; event_timer=0; + + return 0; } int @@ -280,9 +283,18 @@ } /* Tidy-up function called at end of emulation */ -void +static void event_end( void ) { event_reset(); registered_events_free(); } + +void +event_register_startup( void ) +{ + startup_manager_module dependencies[] = { STARTUP_MANAGER_MODULE_SETUID }; + startup_manager_register( STARTUP_MANAGER_MODULE_EVENT, dependencies, + ARRAY_SIZE( dependencies ), event_init, NULL, + event_end ); +} Modified: trunk/fuse/event.h =================================================================== --- trunk/fuse/event.h 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/event.h 2016-07-18 11:56:29 UTC (rev 817) @@ -54,9 +54,6 @@ /* We've had a timer event */ extern int event_timer; -/* Set up the event list */ -void event_init( void ); - /* Register a new event type */ int event_register( event_fn_t fn, const char *description ); @@ -94,7 +91,7 @@ /* A textual representation of each event type */ const char *event_name( int type ); -/* Called on exit to clean up */ -void event_end( void ); +/* Register the init and end functions */ +void event_register_startup( void ); #endif /* #ifndef FUSE_EVENT_H */ Modified: trunk/fuse/fuse.c =================================================================== --- trunk/fuse/fuse.c 2016-07-17 12:27:33 UTC (rev 816) +++ trunk/fuse/fuse.c 2016-07-18 11:56:29 UTC (rev 817) @@ -1,5 +1,5 @@ /* fuse.c: The Free Unix Spectrum Emulator - Copyright (c) 1999-2015 Philip Kendall and others + Copyright (c) 1999-2016 Philip Kendall and others $Id$ @@ -59,6 +59,7 @@ #include "display.h" #include "event.h" #include "fuse.h" +#include "infrastructure/startup_manager.h" #include "keyboard.h" #include "machine.h" #include "machines/machines_periph.h" @@ -145,7 +146,11 @@ } start_files_t; -static int creator_init( void ); +/* Context for the display startup routine */ +static display_startup_context display_context; + +static void creator_register_startup( void ); + static void fuse_show_copyright(void); static void fuse_show_version( void ); static void fuse_show_help( void ); @@ -189,6 +194,139 @@ } +static int +fuse_libspectrum_init( void *context ) +{ + if( libspectrum_check_version( LIBSPECTRUM_MIN_VERSION ) ) { + if( libspectrum_init() ) return 1; + } else { + ui_error( UI_ERROR_ERROR, + "libspectrum version %s found, but %s required", + libspectrum_version(), LIBSPECTRUM_MIN_VERSION ); + return 1; + } + + return 0; +} + +static void +libspectrum_register_startup( void ) +{ + startup_manager_module dependencies[] = { + STARTUP_MANAGER_MODULE_DISPLAY + }; + startup_manager_register( STARTUP_MANAGER_MODULE_LIBSPECTRUM, dependencies, + ARRAY_SIZE( dependencies ), fuse_libspectrum_init, + NULL, NULL ); +} + +static int +libxml2_init( void *context ) +{ +#ifdef HAVE_LIB_XML2 + LIBXML_TEST_VERSION +#endif + + return 0; +} + +static void +libxml2_register_startup( void ) +{ + startup_manager_module dependencies[] = { STARTUP_MANAGER_MODULE_SETUID }; + startup_manager_register( STARTUP_MANAGER_MODULE_LIBXML2, dependencies, + ARRAY_SIZE( dependencies ), libxml2_init, NULL, + NULL ); +} + +static int +setuid_init( void *context ) +{ +#ifdef HAVE_GETEUID + int error; + + /* Drop root privs if we have them */ + if( !geteuid() ) { + error = setuid( getuid() ); + if( error ) { + ui_error( UI_ERROR_ERROR, "Could not drop root privileges" ); + return 1; + } + } +#endif /* #ifdef HAVE_GETEUID */ + + return 0; +} + +static void +setuid_register_startup() +{ + startup_manager_module dependencies[] = { + STARTUP_MANAGER_MODULE_DISPLAY, + STARTUP_MANAGER_MODULE_LIBSPECTRUM, + }; + startup_manager_register( STARTUP_MANAGER_MODULE_SETUID, dependencies, + ARRAY_SIZE( dependencies ), setuid_init, NULL, + NULL ); +} + +static int +run_startup_manager( int *argc, char ***argv ) +{ + startup_manager_init(); + + display_context.argc = argc; + display_context.argv = argv; + + /* Get every module to register its init function */ + ay_register_startup(); + beta_register_startup(); + creator_register_startup(); + debugger_register_startup(); + didaktik80_register_startup(); + disciple_register_startup(); + display_register_startup( &display_context ); + divide_register_startup(); + event_register_startup(); + fdd_register_startup(); + fuller_register_startup(); + if1_register_startup(); + if2_register_startup(); + kempmouse_register_startup(); + libspectrum_register_startup(); + libxml2_register_startup(); + machine_register_startup(); + machines_periph_register_startup(); + melodik_register_startup(); + memory_register_startup(); + mempool_register_startup(); + opus_register_startup(); + plusd_register_startup(); + printer_register_startup(); + profile_register_startup(); + psg_register_startup(); + rzx_register_startup(); + scld_register_startup(); + settings_register_startup(); + setuid_register_startup(); + simpleide_register_startup(); + slt_register_startup(); + sound_register_startup(); + speccyboot_register_startup(); + specdrum_register_startup(); + spectranet_register_startup(); + spectrum_register_startup(); + tape_register_startup(); + timer_register_startup(); + ula_register_startup(); + usource_register_startup(); + z80_register_startup(); + zxatasp_register_startup(); + zxcf_register_startup(); + + return startup_manager_run(); +} + int fuse_init(int argc, char **argv) { int error, first_arg; @@ -231,96 +369,14 @@ fuse_show_copyright(); #endif - /* FIXME: order of these initialisation calls. Work out what depends on - what */ - /* FIXME FIXME 20030407: really do this soon. This is getting *far* too - hairy */ - fuse_joystick_init (); + fuse_joystick_init(); fuse_keyboard_init(); - event_init(); - -#ifndef GEKKO - if( display_init(&argc,&argv) ) return 1; -#endif + if( run_startup_manager( &argc, &argv ) ) return 1; - if( libspectrum_check_version( LIBSPECTRUM_MIN_VERSION ) ) { - if( libspectrum_init() ) return 1; - } else { - ui_error( UI_ERROR_ERROR, - "libspectrum version %s found, but %s required", - libspectrum_version(), LIBSPECTRUM_MIN_VERSION ); - return 1; - } - - /* Must be called after libspectrum_init() so we can get the gcrypt - version */ - if( creator_init() ) return 1; - -#ifdef HAVE_GETEUID - /* Drop root privs if we have them */ - if( !geteuid() ) { - error = setuid( getuid() ); - if( error ) { - ui_error( UI_ERROR_ERROR, "Could not drop root privileges" ); - return 1; - } - } -#endif /* #ifdef HAVE_GETEUID */ - - mempool_init(); - memory_init(); - -#ifdef HAVE_LIB_XML2 -LIBXML_TEST_VERSION -#endif - - debugger_init(); - - spectrum_init(); - printer_init(); - rzx_init(); - psg_init(); - beta_init(); - opus_init(); - plusd_init(); - didaktik80_init(); - disciple_init(); - fdd_init_events(); - if( simpleide_init() ) return 1; - if( zxatasp_init() ) return 1; - if( zxcf_init() ) return 1; - if1_init(); - if2_init(); - if( divide_init() ) return 1; - scld_init(); - ula_init(); - ay_init(); - slt_init(); - profile_init(); - kempmouse_init(); - fuller_init(); - melodik_init(); - speccyboot_init(); - specdrum_init(); - spectranet_init(); - usource_init(); - machines_periph_init(); - - z80_init(); - - if( timer_init() ) return 1; - - error = timer_estimate_reset(); if( error ) return error; - - error = machine_init_machines(); - if( error ) return error; - error = machine_select_id( settings_current.start_machine ); if( error ) return error; - tape_init(); - error = scaler_select_id( start_scaler ); libspectrum_free( start_scaler ); if( error ) return error; @@ -339,8 +395,8 @@ return 0; } -static -int creator_init( void ) +static int +creator_init( void *context ) { size_t i; unsigned int version[4] = { 0, 0, 0, 0 }; @@ -392,6 +448,21 @@ return 0; } +static void +creator_end( void ) +{ + libspectrum_creator_free( fuse_creator ); +} + +static void +creator_register_startup( void ) +{ + startup_manager_module dependencies[] = { STARTUP_MANAGER_MODULE_SETUID }; + startup_manager_register( STARTUP_MANAGER_MODULE_CREATOR, dependencies, + ARRAY_SIZE( dependencies ), creator_init, NULL, + creator_end ); +} + static void fuse_show_copyright(void) { printf( "\n" ); @@ -845,51 +916,19 @@ ... [truncated message content] |
From: <fr...@us...> - 2016-08-23 04:00:15
|
Revision: 822 http://sourceforge.net/p/fuse-for-macosx/code/822 Author: fredm Date: 2016-08-23 04:00:11 +0000 (Tue, 23 Aug 2016) Log Message: ----------- Merge up to vendor release 1.2.2. Modified Paths: -------------- trunk/FuseGenerator/English.lproj/InfoPlist.strings trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj trunk/FuseGenerator/Info.plist trunk/FuseGenerator/libspectrum.h trunk/FuseImporter/English.lproj/InfoPlist.strings trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj trunk/FuseImporter/GetMetadataForFile.h trunk/FuseImporter/Info.plist trunk/FuseImporter/libspectrum.h trunk/fuse/ChangeLog trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/configure.ac trunk/fuse/debugger/breakpoint.c trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/config.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/libspectrum.h trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.helpindex trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/compressed.html trunk/fuse/fusepb/resources/Fuse Help/html/formats.html trunk/fuse/hacking/ChangeLog trunk/fuse/lib/compressed/disk_plus3.szx trunk/fuse/lib/uncompressed/disk_plus3.szx trunk/fuse/machines/specplus3.c trunk/fuse/man/fuse.1 trunk/fuse/peripherals/Makefile.am trunk/fuse/peripherals/disk/disk.c trunk/fuse/peripherals/disk/disk.h trunk/fuse/peripherals/disk/upd_fdc.c trunk/fuse/sound/coreaudiosound.c trunk/fuse/tape.c trunk/fuse/ui/gtk/fileselector.c trunk/fuse/ui/options.dat trunk/fuse/ui/widget/browse.c trunk/fuse/ui/win32/fileselector.c trunk/fuse/utils.c trunk/libspectrum/Info.plist trunk/libspectrum/config.h trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/Makefile.am trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/configure.ac 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/pzx_read.c trunk/libspectrum/libspectrum/tape.c 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/test.h trunk/libspectrum/libspectrum/tzx_write.c trunk/libspectrum/libspectrum/utilities.c trunk/libspectrum/libspectrum/zlib.c trunk/libspectrum/libspectrum.h trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj Added Paths: ----------- trunk/fuse/peripherals/disk/trdos.c trunk/fuse/peripherals/disk/trdos.h trunk/libspectrum/libspectrum/test/no-pilot-gdb.tzx trunk/libspectrum/libspectrum/test/test_edges.c trunk/libspectrum/libspectrum/test/zero-tail.pzx trunk/libspectrum/libspectrum/zip.c trunk/libspectrum/libspectrum/zip.h Removed Paths: ------------- trunk/fuse/m4/glib-2.0.m4 trunk/fuse/m4/libxml.m4 trunk/libspectrum/libspectrum/test/test15.c Property Changed: ---------------- trunk/fuse/ trunk/libspectrum/libspectrum/ Modified: trunk/FuseGenerator/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Modified: trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2016-08-23 04:00:11 UTC (rev 822) @@ -16,6 +16,8 @@ B63944FB0D18C7C30059DAA5 /* tape_accessors.txt in Sources */ = {isa = PBXBuildFile; fileRef = B6D30B2E0D162B910036CC54 /* tape_accessors.txt */; }; B63944FC0D18C7C30059DAA5 /* snap_accessors.txt in Sources */ = {isa = PBXBuildFile; fileRef = B6D30B2C0D162B810036CC54 /* snap_accessors.txt */; }; B63945090D18CA120059DAA5 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B63945080D18CA120059DAA5 /* Cocoa.framework */; }; + B64AC83B1D6B2D5C0024E7FE /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = B64AC8391D6B2D5C0024E7FE /* zip.c */; }; + B64AC83C1D6B2D5C0024E7FE /* zip.h in Headers */ = {isa = PBXBuildFile; fileRef = B64AC83A1D6B2D5C0024E7FE /* zip.h */; }; B67F1E790E93A39800246616 /* garray.c in Sources */ = {isa = PBXBuildFile; fileRef = B67F1E780E93A39800246616 /* garray.c */; }; B67F1E7B0E93A3AF00246616 /* memory.c in Sources */ = {isa = PBXBuildFile; fileRef = B67F1E7A0E93A3AF00246616 /* memory.c */; }; B6D30AE60D1627ED0036CC54 /* bzip2.c in Sources */ = {isa = PBXBuildFile; fileRef = B6D30AE50D1627ED0036CC54 /* bzip2.c */; }; @@ -111,6 +113,8 @@ B63944A90D18B0430059DAA5 /* LibspectrumSCRExtractor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LibspectrumSCRExtractor.m; sourceTree = "<group>"; }; B63944CB0D18C1CD0059DAA5 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = SOURCE_ROOT; }; B63945080D18CA120059DAA5 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; + B64AC8391D6B2D5C0024E7FE /* zip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = zip.c; path = ../../libspectrum/libspectrum/zip.c; sourceTree = "<group>"; }; + B64AC83A1D6B2D5C0024E7FE /* zip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = zip.h; path = ../../libspectrum/libspectrum/zip.h; sourceTree = "<group>"; }; B67F1E780E93A39800246616 /* garray.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = garray.c; path = ../../../libspectrum/libspectrum/myglib/garray.c; sourceTree = "<group>"; }; B67F1E7A0E93A3AF00246616 /* memory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = memory.c; path = ../../libspectrum/libspectrum/memory.c; sourceTree = "<group>"; }; B6D30AE30D1627C90036CC54 /* libspectrum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = libspectrum.h; path = ../libspectrum.h; sourceTree = "<group>"; }; @@ -283,6 +287,8 @@ B6D30B170D1629C20036CC54 /* z80.c */, B6D30B180D1629C20036CC54 /* z80em.c */, B6D30B190D1629C20036CC54 /* zlib.c */, + B64AC8391D6B2D5C0024E7FE /* zip.c */, + B64AC83A1D6B2D5C0024E7FE /* zip.h */, B6D30B1A0D1629C20036CC54 /* zxs.c */, ); path = libspectrum; @@ -328,6 +334,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + B64AC83C1D6B2D5C0024E7FE /* zip.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -419,6 +426,7 @@ B6D30AEC0D16280E0036CC54 /* creator.c in Sources */, B6D30AED0D16280E0036CC54 /* crypto.c in Sources */, B6D30AEE0D16280E0036CC54 /* csw.c in Sources */, + B64AC83B1D6B2D5C0024E7FE /* zip.c in Sources */, B6D30AEF0D16280E0036CC54 /* dck.c in Sources */, B6D30AF40D1628470036CC54 /* ide.c in Sources */, B6D30AF60D1628470036CC54 /* libspectrum.c in Sources */, @@ -484,13 +492,13 @@ GCC_PRECOMPILE_PREFIX_HEADER = NO; INFOPLIST_FILE = Info.plist; INSTALL_PATH = /Library/QuickLook; + LLVM_LTO = YES; OTHER_LDFLAGS = ( "-lbz2", "-lz", ); PRODUCT_BUNDLE_IDENTIFIER = "net.sourceforge.projects.fuse-emulator.quicklookgenerator"; PRODUCT_NAME = FuseGenerator; - VALID_ARCHS = "ppc x86_64 i386"; WRAPPER_EXTENSION = qlgenerator; ZERO_LINK = YES; }; @@ -509,13 +517,13 @@ GCC_WARN_UNUSED_VALUE = YES; INFOPLIST_FILE = Info.plist; INSTALL_PATH = /Library/QuickLook; + LLVM_LTO = YES; OTHER_LDFLAGS = ( "-lbz2", "-lz", ); PRODUCT_BUNDLE_IDENTIFIER = "net.sourceforge.projects.fuse-emulator.quicklookgenerator"; PRODUCT_NAME = FuseGenerator; - VALID_ARCHS = "ppc x86_64 i386"; WARNING_CFLAGS = ( "-Wmost", "-Wno-four-char-constants", Modified: trunk/FuseGenerator/Info.plist =================================================================== --- trunk/FuseGenerator/Info.plist 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/FuseGenerator/Info.plist 2016-08-23 04:00:11 UTC (rev 822) @@ -59,7 +59,7 @@ <key>CFBundleShortVersionString</key> <string>1</string> <key>CFBundleVersion</key> - <string>1.2</string> + <string>1.2.2</string> <key>CFPlugInDynamicRegisterFunction</key> <string></string> <key>CFPlugInDynamicRegistration</key> Modified: trunk/FuseGenerator/libspectrum.h =================================================================== --- trunk/FuseGenerator/libspectrum.h 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/FuseGenerator/libspectrum.h 2016-08-23 04:00:11 UTC (rev 822) @@ -1,7 +1,7 @@ /* libspectrum.h: the library for dealing with ZX Spectrum emulator files Copyright (c) 2001-2015 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.h.in 5422 2016-04-29 12:54:59Z fredm $ + $Id: libspectrum.h.in 5733 2016-08-14 12:45:40Z 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 @@ -421,6 +421,10 @@ LIBSPECTRUM_ID_DISK_D80, /* .d80/.d40 Didaktik disk image */ + /* Below here, present only in 1.2.2 and later */ + + LIBSPECTRUM_ID_COMPRESSED_ZIP, /* zip compressed file */ + LIBSPECTRUM_ID_SCREEN_SCR, /* .scr screen file */ } libspectrum_id_t; Modified: trunk/FuseImporter/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Modified: trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2016-08-23 04:00:11 UTC (rev 822) @@ -20,6 +20,8 @@ B69709730827C03F00904D8F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B69709720827C03F00904D8F /* Foundation.framework */; }; B69709CD082829BC00904D8F /* LibspectrumMetadataImporter.h in Headers */ = {isa = PBXBuildFile; fileRef = B69709CB082829BC00904D8F /* LibspectrumMetadataImporter.h */; }; B69709CE082829BC00904D8F /* LibspectrumMetadataImporter.m in Sources */ = {isa = PBXBuildFile; fileRef = B69709CC082829BC00904D8F /* LibspectrumMetadataImporter.m */; }; + B69D8D491D6B2FB70031BAFC /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = B69D8D471D6B2FB70031BAFC /* zip.c */; }; + B69D8D4A1D6B2FB70031BAFC /* zip.h in Headers */ = {isa = PBXBuildFile; fileRef = B69D8D481D6B2FB70031BAFC /* zip.h */; }; B6ACE4F2082BE15800B40758 /* GetMetadataForFile.h in Headers */ = {isa = PBXBuildFile; fileRef = B6ACE4F1082BE15800B40758 /* GetMetadataForFile.h */; }; B6BF29F90A5FFCC200D16624 /* ghash.c in Sources */ = {isa = PBXBuildFile; fileRef = B6BF29F80A5FFCC200D16624 /* ghash.c */; }; B6BF29FD0A5FFCD700D16624 /* gslist.c in Sources */ = {isa = PBXBuildFile; fileRef = B6BF29FC0A5FFCD700D16624 /* gslist.c */; }; @@ -126,6 +128,8 @@ B69709720827C03F00904D8F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; B69709CB082829BC00904D8F /* LibspectrumMetadataImporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LibspectrumMetadataImporter.h; sourceTree = "<group>"; }; B69709CC082829BC00904D8F /* LibspectrumMetadataImporter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LibspectrumMetadataImporter.m; sourceTree = "<group>"; }; + B69D8D471D6B2FB70031BAFC /* zip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = zip.c; path = ../../libspectrum/libspectrum/zip.c; sourceTree = "<group>"; }; + B69D8D481D6B2FB70031BAFC /* zip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = zip.h; path = ../../libspectrum/libspectrum/zip.h; sourceTree = "<group>"; }; B6ACE4F1082BE15800B40758 /* GetMetadataForFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GetMetadataForFile.h; sourceTree = "<group>"; }; B6BF29F80A5FFCC200D16624 /* ghash.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ghash.c; sourceTree = "<group>"; }; B6BF29FC0A5FFCD700D16624 /* gslist.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gslist.c; sourceTree = "<group>"; }; @@ -274,6 +278,8 @@ B6BF2A170A5FFD0100D16624 /* z80.c */, B639B7920A6BB2C100927E24 /* z80em.c */, B6BF2A180A5FFD0100D16624 /* zlib.c */, + B69D8D471D6B2FB70031BAFC /* zip.c */, + B69D8D481D6B2FB70031BAFC /* zip.h */, B6BF2A190A5FFD0100D16624 /* zxs.c */, ); path = libspectrum; @@ -297,6 +303,7 @@ buildActionMask = 2147483647; files = ( B69709CD082829BC00904D8F /* LibspectrumMetadataImporter.h in Headers */, + B69D8D4A1D6B2FB70031BAFC /* zip.h in Headers */, B6ACE4F2082BE15800B40758 /* GetMetadataForFile.h in Headers */, B6BF2A1B0A5FFD0100D16624 /* config.h in Headers */, B6BF2A200A5FFD0100D16624 /* internals.h in Headers */, @@ -420,6 +427,7 @@ B6BF2A350A5FFD0100D16624 /* zxs.c in Sources */, B639B7930A6BB2C100927E24 /* z80em.c in Sources */, B62C1CD00B761515000BA4E0 /* symbol_table.c in Sources */, + B69D8D491D6B2FB70031BAFC /* zip.c in Sources */, B61617260C1CE2980009ADF9 /* csw.c in Sources */, B616172A0C1CE2A50009ADF9 /* wav.c in Sources */, B61E31AF0E925C66008097AC /* memory.c in Sources */, @@ -475,6 +483,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = /Library/Spotlight; LIBRARY_STYLE = Bundle; + LLVM_LTO = YES; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ( "-lbz2", @@ -509,6 +518,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = /Library/Spotlight; LIBRARY_STYLE = Bundle; + LLVM_LTO = YES; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ( "-lbz2", @@ -542,6 +552,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = /Library/Spotlight; LIBRARY_STYLE = Bundle; + LLVM_LTO = YES; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ( "-lbz2", @@ -582,6 +593,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -609,6 +621,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; SDKROOT = macosx; }; @@ -634,6 +647,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; SDKROOT = macosx; }; Modified: trunk/FuseImporter/GetMetadataForFile.h =================================================================== --- trunk/FuseImporter/GetMetadataForFile.h 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/FuseImporter/GetMetadataForFile.h 2016-08-23 04:00:11 UTC (rev 822) @@ -22,7 +22,7 @@ */ #ifndef GETMETADATAFORFILE_H -#define GETMETADATAFOR_FILE_H +#define GETMETADATAFORFILE_H #include <CoreFoundation/CoreFoundation.h> #include <CoreFoundation/CFPlugInCOM.h> Modified: trunk/FuseImporter/Info.plist =================================================================== --- trunk/FuseImporter/Info.plist 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/FuseImporter/Info.plist 2016-08-23 04:00:11 UTC (rev 822) @@ -57,7 +57,7 @@ <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleVersion</key> - <string>1.2</string> + <string>1.2.2</string> <key>CFPlugInDynamicRegisterFunction</key> <string></string> <key>CFPlugInDynamicRegistration</key> Modified: trunk/FuseImporter/libspectrum.h =================================================================== --- trunk/FuseImporter/libspectrum.h 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/FuseImporter/libspectrum.h 2016-08-23 04:00:11 UTC (rev 822) @@ -1,7 +1,7 @@ /* libspectrum.h: the library for dealing with ZX Spectrum emulator files Copyright (c) 2001-2015 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.h.in 5422 2016-04-29 12:54:59Z fredm $ + $Id: libspectrum.h.in 5733 2016-08-14 12:45:40Z 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 @@ -421,6 +421,10 @@ LIBSPECTRUM_ID_DISK_D80, /* .d80/.d40 Didaktik disk image */ + /* Below here, present only in 1.2.2 and later */ + + LIBSPECTRUM_ID_COMPRESSED_ZIP, /* zip compressed file */ + LIBSPECTRUM_ID_SCREEN_SCR, /* .scr screen file */ } libspectrum_id_t; Index: trunk/fuse =================================================================== --- trunk/fuse 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse 2016-08-23 04:00:11 UTC (rev 822) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-816 +/vendor/fuse-emulator/current/fuse:530-821 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/ChangeLog 2016-08-23 04:00:11 UTC (rev 822) @@ -1,3 +1,29 @@ +2016-08-21 Philip Kendall <phi...@sh...> + + * Fuse 1.2.2 released. + + * New features: + * Support loading first tape, snapshot, dock cartridge or RZX file + found inside .zip files (Patrik Rak and Sergio Baldoví). + * Support auto-booting TR-DOS disk images without a boot file (thanks, + windale, BogDan Vatra and Fredrick Meunier) (Sergio Baldoví). + + * Emulation core improvements: + * Change microphone state when 0 tstate pulses do not have the no edge + flag set (Fredrick Meunier). + + * Machine specific improvements: + * Fix +3 disk autoload (thanks, windale and BogDan Vatra) (Sergio + Baldoví and Fredrick Meunier). + * Fix floppy drive selection when resetting a +3 (thanks, windale and + BogDan Vatra) (Sergio Baldoví). + + * Miscellaneous improvements: + * WidgetUI: Use description for tape blocks where available (Fredrick + Meunier). + * Use pkg-config to detect libpng and libxml2 (Alberto Garcia). + * Various minor bugfixes. + 2016-07-17 Philip Kendall <phi...@sh...> * Fuse 1.2.1 released. @@ -1325,4 +1351,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 5686 2016-07-17 10:37:50Z fredm $ +$Id: ChangeLog 5761 2016-08-21 05:10:02Z fredm $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/Makefile.am 2016-08-23 04:00:11 UTC (rev 822) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2015 Philip Kendall -## $Id: Makefile.am 5677 2016-07-09 13:58:02Z fredm $ +## $Id: Makefile.am 5735 2016-08-14 13:02:21Z 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 @@ -133,9 +133,7 @@ keysyms.pl \ m4/ax_create_stdint_h.m4 \ m4/ax_pthread.m4 \ - m4/glib-2.0.m4 \ m4/gtk-2.0.m4 \ - m4/libxml.m4 \ m4/pkg.m4 \ m4/sdl.m4 \ menu_data.dat \ Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/README 2016-08-23 04:00:11 UTC (rev 822) @@ -1,4 +1,4 @@ -The Free Unix Spectrum Emulator (Fuse) 1.2.1 +The Free Unix Spectrum Emulator (Fuse) 1.2.2 ============================================ Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat @@ -108,6 +108,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -17th July, 2016 +21st August, 2016 -$Id: README 5686 2016-07-17 10:37:50Z fredm $ +$Id: README 5761 2016-08-21 05:10:02Z fredm $ Modified: trunk/fuse/configure.ac =================================================================== --- trunk/fuse/configure.ac 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/configure.ac 2016-08-23 04:00:11 UTC (rev 822) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.ac 5686 2016-07-17 10:37:50Z fredm $ +dnl $Id: configure.ac 5761 2016-08-21 05:10:02Z fredm $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -20,12 +20,12 @@ dnl E-mail: phi...@sh... dnl Package version -m4_define([fuse_version], [1.2.1]) +m4_define([fuse_version], [1.2.2]) dnl Product full version m4_define([fuse_major_version], [1]) m4_define([fuse_minor_version], [2]) -m4_define([fuse_micro_version], [1]) +m4_define([fuse_micro_version], [2]) m4_define([fuse_nano_version], [0]) m4_define([fuse_full_version], [fuse_major_version.fuse_minor_version.fuse_micro_version.fuse_nano_version]) m4_define([fuse_rc_version], [fuse_major_version,fuse_minor_version,fuse_micro_version,fuse_nano_version]) @@ -507,40 +507,17 @@ libpng=yes) AC_MSG_RESULT($libpng) if test "$libpng" = yes; then - AC_PATH_PROG([LIBPNG_CONFIG], [libpng-config]) - if test -n "$LIBPNG_CONFIG"; then - PNG_CFLAGS=`libpng-config --cflags` - PNG_LIBS=`libpng-config --ldflags` - AC_DEFINE([USE_LIBPNG], 1, [Defined if we're going to be using the installed libpng]) - else - ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $PNG_CFLAGS" - ac_save_LDFLAGS="$LDFLAGS" - LDFLAGS="$PNG_LIBS $LDFLAGS" + PKG_CHECK_MODULES( + [PNG], + [libpng], + [AC_DEFINE([USE_LIBPNG], 1, [Defined if we're going to be using the installed libpng])], + [AC_MSG_WARN([libpng not found - saving screenshots disabled])] + ) +fi - AC_CHECK_LIB( png, png_write_png, - [AC_CHECK_HEADER( - png.h, - [AC_DEFINE([USE_LIBPNG], 1, [Defined if we're going to be using the installed libpng]) PNG_LIBS='-lpng -lm -lz'], - [AC_CHECK_HEADERS(libpng/png.h, - [CPPFLAGS="$ac_save_CPPFLAGS $PNG_CFLAGS/libpng" - AC_DEFINE([USE_LIBPNG], 1, [Defined if we're going to be using the installed libpng]) PNG_LIBS='-lpng -lm -lz'], - [AC_MSG_WARN(png.h not found - saving screenshots disabled) - PNG_LIBS=''] - )], - )], - [AC_MSG_WARN(png_write_png not found - saving screenshots disabled) - PNG_LIBS=''] - ) +AC_SUBST(PNG_CFLAGS) +AC_SUBST(PNG_LIBS) - CPPFLAGS="$ac_save_CPPFLAGS" - LDFLAGS="$ac_save_LDFLAGS" - fi - - AC_SUBST(PNG_CFLAGS) - AC_SUBST(PNG_LIBS) -fi - dnl Check if a version of libasound which supplies pcm is available AC_MSG_CHECKING(whether ALSA requested) AC_ARG_WITH(alsa, @@ -595,7 +572,7 @@ dnl Check if CoreAudio is available AC_CHECK_HEADER( - CoreAudio/AudioHardware.h, + AudioToolbox/AudioToolbox.h, [coreaudio_available=yes],, ) @@ -632,7 +609,7 @@ SOUND_LIBADD='sound/sunsound.$(OBJEXT)' SOUND_LIBS='' AC_MSG_RESULT(OpenBSD) elif test "$coreaudio_available" = yes; then - SOUND_LIBADD='sound/coreaudiosound.$(OBJEXT)' SOUND_LIBS='-framework CoreAudio -framework AudioUnit -framework CoreServices' sound_fifo=yes + SOUND_LIBADD='sound/coreaudiosound.$(OBJEXT)' SOUND_LIBS='-framework CoreAudio -framework AudioUnit' sound_fifo=yes AC_MSG_RESULT(CoreAudio) elif test "$wii" = yes; then SOUND_LIBADD='sound/wiisound.$(OBJEXT)' SOUND_LIBS='' sound_fifo=yes @@ -737,11 +714,17 @@ libxml2=yes) AC_MSG_RESULT($libxml2) if test "$libxml2" = yes; then - AM_PATH_XML2(2.0.0,AC_DEFINE([HAVE_LIB_XML2], 1, - [Defined if we've got libxml2]), - AC_MSG_WARN(libxml2 not found - config file will use ini format)) + PKG_CHECK_MODULES( + [XML], + [libxml-2.0], + [AC_DEFINE([HAVE_LIB_XML2], 1, [Defined if we've got libxml2])], + [AC_MSG_WARN([libxml2 not found - config file will use ini format])] + ) fi +AC_SUBST(XML_CFLAGS) +AC_SUBST(XML_LIBS) + dnl Work out which timer routines to use AC_MSG_CHECKING(which timer routines to use) if test "$UI" = sdl; then Modified: trunk/fuse/debugger/breakpoint.c =================================================================== --- trunk/fuse/debugger/breakpoint.c 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/debugger/breakpoint.c 2016-08-23 04:00:11 UTC (rev 822) @@ -136,8 +136,8 @@ int debugger_breakpoint_add_time( debugger_breakpoint_type type, - libspectrum_dword breakpoint_tstates, size_t ignore, - debugger_breakpoint_life life, + libspectrum_dword breakpoint_tstates, + size_t ignore, debugger_breakpoint_life life, debugger_expression *condition ) { debugger_breakpoint_value value; Modified: trunk/fuse/fusepb/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2016-08-23 04:00:11 UTC (rev 822) @@ -199,6 +199,8 @@ B69BE5411660E02500C5D0CE /* w5100_socket.c in Sources */ = {isa = PBXBuildFile; fileRef = B69BE53E1660E02500C5D0CE /* w5100_socket.c */; }; B69BE5421660E02500C5D0CE /* w5100.c in Sources */ = {isa = PBXBuildFile; fileRef = B69BE53F1660E02500C5D0CE /* w5100.c */; }; B69BE5451660E04000C5D0CE /* spectranet.c in Sources */ = {isa = PBXBuildFile; fileRef = B69BE5431660E04000C5D0CE /* spectranet.c */; }; + B69D8D4D1D6B34490031BAFC /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = B69D8D4B1D6B34490031BAFC /* zip.c */; }; + B69D8D501D6B388A0031BAFC /* trdos.c in Sources */ = {isa = PBXBuildFile; fileRef = B69D8D4E1D6B388A0031BAFC /* trdos.c */; }; B6A6F0960B3C108C000B88E9 /* coreaudiosound.c in Sources */ = {isa = PBXBuildFile; fileRef = B6A6F0950B3C108C000B88E9 /* coreaudiosound.c */; }; B6A6F0DA0B3D141B000B88E9 /* cocoaui.m in Sources */ = {isa = PBXBuildFile; fileRef = B6A6F0D90B3D141B000B88E9 /* cocoaui.m */; }; B6A6F0EE0B3D5F9E000B88E9 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A6F0ED0B3D5F9E000B88E9 /* CoreAudio.framework */; }; @@ -570,6 +572,10 @@ B69BE5401660E02500C5D0CE /* w5100.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = w5100.h; sourceTree = "<group>"; }; B69BE5431660E04000C5D0CE /* spectranet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spectranet.c; sourceTree = "<group>"; }; B69BE5441660E04000C5D0CE /* spectranet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spectranet.h; sourceTree = "<group>"; }; + B69D8D4B1D6B34490031BAFC /* zip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = zip.c; path = ../../../libspectrum/libspectrum/zip.c; sourceTree = "<group>"; }; + B69D8D4C1D6B34490031BAFC /* zip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = zip.h; path = ../../../libspectrum/libspectrum/zip.h; sourceTree = "<group>"; }; + B69D8D4E1D6B388A0031BAFC /* trdos.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = trdos.c; sourceTree = "<group>"; }; + B69D8D4F1D6B388A0031BAFC /* trdos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = trdos.h; sourceTree = "<group>"; }; B6A6F0950B3C108C000B88E9 /* coreaudiosound.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = coreaudiosound.c; path = sound/coreaudiosound.c; sourceTree = "<group>"; }; B6A6F0D90B3D141B000B88E9 /* cocoaui.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = cocoaui.m; sourceTree = "<group>"; }; B6A6F0ED0B3D5F9E000B88E9 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; }; @@ -1239,6 +1245,8 @@ B631B9FE10257CA400BE1EE1 /* opus.h */, B6CA2A2A0C33F8C10003CF90 /* plusd.c */, B6CA2A2B0C33F8C10003CF90 /* plusd.h */, + B69D8D4E1D6B388A0031BAFC /* trdos.c */, + B69D8D4F1D6B388A0031BAFC /* trdos.h */, B665FD470DD25D8900D21C79 /* upd_fdc.c */, B665FD480DD25D8900D21C79 /* upd_fdc.h */, B6CE3A0E0CD21617005ACDC8 /* wd_fdc.c */, @@ -1322,6 +1330,8 @@ B6DCBBB7114FA0E700DC9A11 /* z80.c */, B6DCBBB8114FA0E700DC9A11 /* z80em.c */, B6DCBBB9114FA0E700DC9A11 /* zlib.c */, + B69D8D4B1D6B34490031BAFC /* zip.c */, + B69D8D4C1D6B34490031BAFC /* zip.h */, B6DCBBBA114FA0E700DC9A11 /* zxs.c */, ); name = libspectrum; @@ -1835,6 +1845,7 @@ B684A19E0E93A8CD00A5B097 /* event.c in Sources */, B684A1A00E93A8D700A5B097 /* variable.c in Sources */, B684A1A20E93A8FC00A5B097 /* file.c in Sources */, + B69D8D501D6B388A0031BAFC /* trdos.c in Sources */, B6374FA50F178298003CE6E2 /* timer.c in Sources */, B64BD10C0FF6EE4E000B82AE /* timer.c in Sources */, B64BD1140FF6EE77000B82AE /* dir.c in Sources */, @@ -1894,6 +1905,7 @@ B69BE53C1660E01000C5D0CE /* am29f010.c in Sources */, B69BE5411660E02500C5D0CE /* w5100_socket.c in Sources */, B69BE5421660E02500C5D0CE /* w5100.c in Sources */, + B69D8D4D1D6B34490031BAFC /* zip.c in Sources */, B69BE5451660E04000C5D0CE /* spectranet.c in Sources */, B6B274061672AC8C00FC209B /* paths.c in Sources */, ); Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/fusepb/Info-Fuse.plist 2016-08-23 04:00:11 UTC (rev 822) @@ -582,11 +582,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>1.2.1</string> + <string>1.2.2</string> <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>1.2.1</string> + <string>1.2.2</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> @@ -643,6 +643,8 @@ </array> <key>UTTypeDescription</key> <string>Timex Sinclair Cartridge Image</string> + <key>UTTypeIconFile</key> + <string>dck</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.dck</string> <key>UTTypeReferenceURL</key> @@ -662,6 +664,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum Hard Disk File</string> + <key>UTTypeIconFile</key> + <string>hdf</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.hdf</string> <key>UTTypeReferenceURL</key> @@ -681,6 +685,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum +3 Disk Image</string> + <key>UTTypeIconFile</key> + <string>dsk</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.dsk</string> <key>UTTypeReferenceURL</key> @@ -700,6 +706,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum DISCiPLE/+D Disk Image</string> + <key>UTTypeIconFile</key> + <string>blank</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.mgt</string> <key>UTTypeReferenceURL</key> @@ -719,6 +727,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum Recording</string> + <key>UTTypeIconFile</key> + <string>rzx</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.rzx</string> <key>UTTypeReferenceURL</key> @@ -738,6 +748,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum TR-DOS Disk Image</string> + <key>UTTypeIconFile</key> + <string>scl</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.scl</string> <key>UTTypeTagSpecification</key> @@ -755,6 +767,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum Screen Image</string> + <key>UTTypeIconFile</key> + <string>scr</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.scr</string> <key>UTTypeReferenceURL</key> @@ -774,6 +788,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum Multi Level Snapshot</string> + <key>UTTypeIconFile</key> + <string>slt</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.slt</string> <key>UTTypeReferenceURL</key> @@ -793,6 +809,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum SNA Snapshot</string> + <key>UTTypeIconFile</key> + <string>sna</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.sna</string> <key>UTTypeReferenceURL</key> @@ -812,6 +830,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum SP Snapshot</string> + <key>UTTypeIconFile</key> + <string>sp</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.sp</string> <key>UTTypeTagSpecification</key> @@ -829,6 +849,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum SZX Snapshot</string> + <key>UTTypeIconFile</key> + <string>szx</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.szx</string> <key>UTTypeReferenceURL</key> @@ -848,6 +870,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum SNP Snapshot</string> + <key>UTTypeIconFile</key> + <string>snp</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.snp</string> <key>UTTypeTagSpecification</key> @@ -865,6 +889,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum TAP Tape Image</string> + <key>UTTypeIconFile</key> + <string>tap</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.tap</string> <key>UTTypeReferenceURL</key> @@ -884,6 +910,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum TR-DOS Disk Image</string> + <key>UTTypeIconFile</key> + <string>trd</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.trd</string> <key>UTTypeReferenceURL</key> @@ -903,6 +931,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum TZX Tape Image</string> + <key>UTTypeIconFile</key> + <string>tzx</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.tzx</string> <key>UTTypeReferenceURL</key> @@ -922,6 +952,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum Z80 Snapshot</string> + <key>UTTypeIconFile</key> + <string>z80</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.z80</string> <key>UTTypeReferenceURL</key> @@ -941,6 +973,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum ZXS Snapshot</string> + <key>UTTypeIconFile</key> + <string>zxs</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.zxs</string> <key>UTTypeTagSpecification</key> @@ -958,6 +992,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum Microdrive Cartridge Image</string> + <key>UTTypeIconFile</key> + <string>mdr</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.mdr</string> <key>UTTypeReferenceURL</key> @@ -977,6 +1013,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum DISCiPLE/+D Disk Image</string> + <key>UTTypeIconFile</key> + <string>blank</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.img</string> <key>UTTypeReferenceURL</key> @@ -996,6 +1034,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum RAW Tape Image</string> + <key>UTTypeIconFile</key> + <string>raw</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.raw</string> <key>UTTypeTagSpecification</key> @@ -1013,6 +1053,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum Opus Discovery Disk Image</string> + <key>UTTypeIconFile</key> + <string>blank</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.opd</string> <key>UTTypeReferenceURL</key> @@ -1032,6 +1074,8 @@ </array> <key>UTTypeDescription</key> <string>ZX Spectrum Opus Discovery Disk Image</string> + <key>UTTypeIconFile</key> + <string>blank</string> <key>UTTypeIdentifier</key> <string>net.sourceforge.projects.fuse-emulator.opu</string> <key>UTTypeReferenceURL</key> Modified: trunk/fuse/fusepb/config.h =================================================================== --- trunk/fuse/fusepb/config.h 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/fusepb/config.h 2016-08-23 04:00:11 UTC (rev 822) @@ -8,7 +8,7 @@ #define FUSE_COPYRIGHT "(c) 1999-2016 Philip Kendall and others" /* Define version information for win32 executables */ -#define FUSE_RC_VERSION 1,2,1,0 +#define FUSE_RC_VERSION 1,2,2,0 /* Define to 1 if you have the `dirname' function. */ #define HAVE_DIRNAME 1 @@ -167,7 +167,7 @@ /* #undef USE_WIDGET */ /* Version number of package */ -#define VERSION "1.2.1" +#define VERSION "1.2.2" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/fusepb/controllers/FuseController.m 2016-08-23 04:00:11 UTC (rev 822) @@ -226,7 +226,8 @@ [super init]; singleton = self; - NSArray *compressedFileTypes = @[@"gz", @"GZ", @"bz2", @"BZ2"]; + NSArray *compressedFileTypes = @[@"gz", @"GZ", @"bz2", @"BZ2", @"zip", + @"ZIP"]; snapFileTypes = [NSMutableArray arrayWithObjects:@"mgtsnp", @"MGTSNP", @"slt", @"SLT", @"sna", @"SNA", @"sp", @"SP", @"szx", Modified: trunk/fuse/fusepb/libspectrum.h =================================================================== --- trunk/fuse/fusepb/libspectrum.h 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/fusepb/libspectrum.h 2016-08-23 04:00:11 UTC (rev 822) @@ -1,7 +1,7 @@ /* libspectrum.h: the library for dealing with ZX Spectrum emulator files Copyright (c) 2001-2015 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.h.in 5422 2016-04-29 12:54:59Z fredm $ + $Id: libspectrum.h.in 5733 2016-08-14 12:45:40Z 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 @@ -435,6 +435,10 @@ LIBSPECTRUM_ID_DISK_D80, /* .d80/.d40 Didaktik disk image */ + /* Below here, present only in 1.2.2 and later */ + + LIBSPECTRUM_ID_COMPRESSED_ZIP, /* zip compressed file */ + LIBSPECTRUM_ID_SCREEN_SCR, /* .scr screen file */ } libspectrum_id_t; Modified: trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.helpindex =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2016-08-23 04:00:11 UTC (rev 822) @@ -12,6 +12,57 @@ <!-- AppleSegStart="What's New In Fuse?" --><a name="What's New In Fuse?" id="What's New In Fuse?"></a><!-- AppleSegDescription="This section describes the changes for version 1.2.1 of the Fuse emulator." --></font><br> <h2><font><font face="Lucida Grande,Helvetica,Arial">What's new in + Fuse For Mac OS X 1.2.2</font></font></h2> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial">New features</font>:</font></li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Support loading + first tape, snapshot, dock cartridge or input recording (RZX) + file found inside .zip files (Patrik Rak and Sergio + Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Support + auto-booting TR-DOS disk images without a boot file + (thanks, windale, BogDan Vatra and Fredrick Meunier) + (Sergio Baldoví).</font></li> + </ul> + </li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"><br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial">Emulation core + improvements:</font></li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Change + microphone state when 0 tstate pulses do not have the no + edge flag set (Fredrick Meunier).</font></li> + </ul> + </li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"><br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial">Machine specific + improvements:</font></li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Fix +3 disk + autoload (thanks, windale and BogDan Vatra) (Sergio + Baldoví and Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix floppy + drive selection when resetting a +3 (thanks, windale and + BogDan Vatra) (Sergio Baldoví).</font></li> + </ul> + <br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial">Various other minor bugfixes.</font></font></li> + </ul> + <h2><font><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse For Mac OS X 1.2.1</font></font></h2> <ul> <li><font face="Lucida Grande,Helvetica,Arial">Emulation core Modified: trunk/fuse/fusepb/resources/Fuse Help/html/compressed.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/compressed.html 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/fusepb/resources/Fuse Help/html/compressed.html 2016-08-23 04:00:11 UTC (rev 822) @@ -1,24 +1,31 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> -<head> -<!-- AppleSegStart="Compressed Files" --> - <title>Compressed Files</title> -</head> -<body> -<font face="Lucida Grande,Helvetica,Arial"><a name="Compressed Files"></a><!-- AppleSegDescription="This section describes Fuses support of compressed files." --></font> -<div class="refsect1" xml:lang="en" lang="en"> -<h2><font face="Lucida Grande,Helvetica,Arial">Compressed -Files</font></h2> -</div> -<p> -<font face="Lucida Grande,Helvetica,Arial">Snapshots, tape images, dock -cartridges and input recording files -can be read from files compressed with -<span class="emphasis"><em>bzip2</em></span> or -<span class="emphasis"><em>gzip</em></span> just as if they were -uncompressed. There is currently no support for reading compressed +3, -+D or Beta disk -images.</font></p> -<!-- AppleSegEnd --> -</body> + <head> + + <meta http-equiv="content-type" content="text/html; charset=windows-1252"> + <!-- AppleSegStart="Compressed Files" --> + <title>Compressed Files</title> + </head> + <body> + <font face="Lucida Grande,Helvetica,Arial"><a name="Compressed + Files"></a><!-- AppleSegDescription="This section describes Fuses support of compressed files." --></font> + <div class="refsect1" xml:lang="en" lang="en"> + <h2><font face="Lucida Grande,Helvetica,Arial">Compressed + Files</font></h2> + </div> + <p> + <font face="Lucida Grande,Helvetica,Arial">Snapshots, tape images, + dock + cartridges and input recording files + (RZX) can be read from files compressed with + <span class="emphasis"><em>bzip2</em></span>,<em> </em><span + class="emphasis"><em>gzip</em></span> or <i>zip</i> just as + if they were + uncompressed. In the zip case, only the first supported file + found inside the archive is loaded. There is currently no + support for reading compressed +3, + +D, Opus or Beta disk + images.</font></p> + <!-- AppleSegEnd --> + </body> </html> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/formats.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/formats.html 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/fusepb/resources/Fuse Help/html/formats.html 2016-08-23 04:00:11 UTC (rev 822) @@ -11,32 +11,28 @@ <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">Disk File Formats</font></h2> </div> - <p> - <font face="Lucida Grande,Helvetica,Arial">Fuse supports several - disk - image formats in its +D, Didaktik, DISCiPLE, Opus and Beta 128 emulation.<br> + <p> <font face="Lucida Grande,Helvetica,Arial">Fuse supports + several disk image formats in its +D, Didaktik, DISCiPLE, Opus + and Beta 128 emulation.<br> The following are supported for reading:</font></p> <p><font face="Lucida Grande,Helvetica,Arial">.UDI<br> </font></p> <div style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">Ultra Disk Image; for - specification details please see <a + Grande,Helvetica,Arial">Ultra Disk Image; for specification + details please see <a href="http://faqwiki.zxnet.co.uk/wiki/UDI_format">http://faqwiki.zxnet.co.uk/wiki/UDI_format</a>.</font><font face="Lucida Grande,Helvetica,Arial"> This is the only image - format - which can store all the relevant information</font><font + format which can store all the relevant information</font><font face="Lucida Grande,Helvetica,Arial"> of the recorded data on a magnetic disk, so it can be used for any <span style="font-style: italic;">non standard</span> disk format. - Fuse can - store and read both MFM and FM formatted disk data in/from this - container.</font><br> + Fuse can store and read both MFM and FM formatted disk data + in/from this container.</font><br> </div> <p><font face="Lucida Grande,Helvetica,Arial">.FDI<br> </font></p> <div style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">UKV Spectrum Debugger disk image - format.</font><br> + Grande,Helvetica,Arial">UKV Spectrum Debugger disk image format.</font><br> </div> <p><font face="Lucida Grande,Helvetica,Arial">.MGT<br> .IMG<br> @@ -47,22 +43,27 @@ <p><font face="Lucida Grande,Helvetica,Arial">.SAD<br> </font></p> <div style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">For compatibility with SAM - Coupé disk images using these formats. Note that SAM - Coupé - `.DSK' images share the same format as `.MGT'.</font><br> + Grande,Helvetica,Arial">For compatibility with SAM Coupé disk + images using these formats. Note that SAM Coupé `.DSK' images + share the same format as `.MGT'.</font><br> </div> <p><font face="Lucida Grande,Helvetica,Arial">.D80<br> .D40<br> - </font></p> + </font></p> <div style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">Didaktik 80 and Didaktik 40 file formats.</font><br> + Grande,Helvetica,Arial">Didaktik 80 and Didaktik 40 file + formats.</font><br> </div> <p><font face="Lucida Grande,Helvetica,Arial">.TRD<br> </font></p> <div style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">TR-DOS disk image; for detailed - information please see</font><br> + Grande,Helvetica,Arial">TR-DOS disk image. TRD and SCL sectors + are loaded interleaved, therefore<font face="Lucida + Grande,Helvetica,Arial"> </font>you might experience problems + when <font face="Lucida Grande,Helvetica,Arial">these images + are used </font>with TR-DOS ROMs that use the turbo<font + face="Lucida Grande,Helvetica,Arial"> </font>format + (sequential sectors); for detailed information please see</font><br> <a href="http://web.archive.org/web/20070808150548/http://www.ramsoft.bbk.org/tech/tr-info.zip"><font face="Lucida Grande,Helvetica,Arial">http://web.archive.org/web/20070808150548/http://www.ramsoft.bbk.org/tech/tr-info.zip</font></a><br> @@ -70,35 +71,32 @@ <p><font face="Lucida Grande,Helvetica,Arial">.SCL<br> </font></p> <div style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">A simple archive format for - TR-DOS disk files. For specification please see</font><br> - <a - href="http://www.zx-modules.de/fileformats/sclformat.html"><font - face="Lucida Grande,Helvetica,Arial">http://www.zx-modules.de/fileformats/sclformat.html</font></a><br> + Grande,Helvetica,Arial">A simple archive format for TR-DOS disk + files. For specification please see</font><br> + <a href="http://www.zx-modules.de/fileformats/sclformat.html"><font + face="Lucida Grande,Helvetica,Arial">http://www.zx-modules.de/fileformats/sclformat.html</font></a><br> </div> <p><font face="Lucida Grande,Helvetica,Arial">.TD0<br> </font></p> <div style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">Teledisk image format; Fuse - supports only files not created with "Advanced Compression". - Detailed + Grande,Helvetica,Arial">Teledisk image format; Fuse supports + only files not created with "Advanced Compression". Detailed description found in <a href="http://www.classiccmp.org/dunfield/img54306/td0notes.txt"><span style="text-decoration: underline;"></span>http://www.classiccmp.org/dunfield/img54306/td0notes.txt</a> - and <a href="https://web.archive.org/web/20130116072335/http://www.fpns.net/willy/wteledsk.htm">https://web.archive.org/web/20130116072335/http://www.fpns.net/willy/wteledsk.htm</a>.</font><br> + and <a +href="https://web.archive.org/web/20130116072335/http://www.fpns.net/willy/wteledsk.htm">https://web.archive.org/web/20130116072335/http://www.fpns.net/willy/wteledsk.htm</a>.</font><br> </div> <p><font face="Lucida Grande,Helvetica,Arial">.DSK<br> </font></p> <div style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">CPC disk image format; Fuse - supports the plain old and the new extended CPC format too. - Further + Grande,Helvetica,Arial">CPC disk image format; Fuse supports the + plain old and the new extended CPC format too. Further information please see the </font><font face="Lucida - Grande,Helvetica,Arial"><span class="emphasis"><em>The - .DSK Format</em></span></font> <font face="Lucida - Grande,Helvetica,Arial">section and the CPCEMU manual - section 7.7.1 <a - href="http://www.cpc-emu.org/linux/cpcemu_e.txt">http://www.cpc-emu.org/linux/cpcemu_e.txt</a> + Grande,Helvetica,Arial"><span class="emphasis"><em>The .DSK + Format</em></span></font> <font face="Lucida + Grande,Helvetica,Arial">section and the CPCEMU manual section + 7.7.1 <a href="http://www.cpc-emu.org/linux/cpcemu_e.txt">http://www.cpc-emu.org/linux/cpcemu_e.txt</a> or <a href="http://www.cpctech.org.uk/docs/extdsk.html">http://www.cpctech.org.uk/docs/extdsk.html</a>.</font><br> </div> <p><font face="Lucida Grande,Helvetica,Arial">.OPD<br> @@ -109,23 +107,19 @@ </div> <br> <p><font face="Lucida Grande,Helvetica,Arial">Fuse supports the <span - style="font-style: italic;">.UDI, .FDI, .MGT, .IMG, .SAD, - .D80 .D40 .TRD, .SCL, - .OPD, .OPU and .DSK</span> (only the old CPC format)</font><font - face="Lucida Grande,Helvetica,Arial"> formats for writing.</font></p> + style="font-style: italic;">.UDI, .FDI, .MGT, .IMG, .SAD, .D80 + .D40 .TRD, .SCL, .OPD, .OPU and .DSK</span> (only the old CPC + format)</font><font face="Lucida Grande,Helvetica,Arial"> + formats for writing.</font></p> <p><font face="Lucida Grande,Helvetica,Arial"><span style="font-style: italic;"></span></font><font face="Lucida - Grande,Helvetica,Arial">You can save disk images with any - output format, just select the appropriate type from the disk - save + Grande,Helvetica,Arial">You can save disk images with any output + format, just select the appropriate type from the disk save dialog.</font></p> <p><font face="Lucida Grande,Helvetica,Arial">Not all image formats - can - store all disk image information. You cannot save a disk image - with an - inappropriate format that loses some information (e.g. variable - track - length or sector length).<br> + can store all disk image information. You cannot save a disk + image with an inappropriate format that loses some information + (e.g. variable track length or sector length).<br> <br> </font></p> <!-- AppleSegEnd --> Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/hacking/ChangeLog 2016-08-23 04:00:11 UTC (rev 822) @@ -5178,7 +5178,7 @@ 20160526 debugger/commandl.l,man/fuse.1: allow strings with escaped spaces in the debugger (bug #337) (Sergio). 20160528 ChangeLog: add even more recent changes (Fred). -20160528 deugger/system_variable.c: include file (thanks, Fred) (Phil). +20160528 debugger/system_variable.c: include file (thanks, Fred) (Phil). 20160529 Makefile.am,lib/Makefile.am,z80/Makefile.am: distribute m4/ax_create_stdint_h.m4,lib/tests/success.d80.bz2 and z80/tests/README (Sergio). @@ -5368,3 +5368,42 @@ (Fred). 20160717 ChangeLog,README,configure.ac,man/fuse.1: update release dates and mark this release as 1.2.1 (Fred). +20160719 z80/{z80_debugger_variables.c,z80_internals.h}: include header for + z80_debugger_variables_init() definition (Fred). +20160719 debugger/breakpoint.[ch]: rename local argument shadowing global + variable (Fred). +20160719 ui/widget/browse.c: use description for tape blocks where available + (Fred). +20160726 configure.ac,sound/coreaudiosound.c: remove lingering references to + deprecated Carbon APIs (Fred). +20160731 Makefile.am,m4/glib-2.0.m4: remove the unused (since r5349) glib-2.0.m4 + file (from patch #375) (Alberto Garcia). +20160801 ui/{gtk,win32}/fileselector.c: add ".zip" to the file filters in + open file dialogs (thanks, Phil) (Sergio). +20160807 utils.c: remove redundant whitespace (Fred). +20160807 machines/specplus3.c: fix +3 disk autoload (part of bug #356) + (thanks, windale and BogDan Vatra) (Fred). +20160807 peripherals/disk/upd_fdc.c: fix floppy drive selection when resetting a + +3 (part of bug #356) (thanks, windale and BogDan Vatra) (Sergio). +20160807 lib/{compressed,uncompressed}/disk_plus3.szx: update disk_plus3.szx to + set PC = 0x08E8 as the proper entry point for "Loader" menu option + (part of bug #356) (thanks, windale and BogDan Vatra) (Sergio). +20160812 tape.c: change microphone state when 0 tstate pulses do not have the no + edge flag set (Fred). +20160812 Makefile.am,configure.ac,m4/libxml.m4: use pkg-config to detect libpng + and libxml2 (more from patch #375) (Alberto Garcia). +20160816 ChangeLog,README,configure.ac,man/fuse.1: bump versions to 1.2.2(-pre1) + (Fred). +20160816 man/fuse.1,peripherals/{Makefile.am,disk/{disk.[ch],trdos.[ch]}}: + insert a boot loader in TRD/SCL disk images when autoload is enabled + (part of feature request #90) (thanks, windale, BogDan and Fred) + (Sergio). +20160817 ChangeLog: tweak zip support description (disks are not supported) + (Sergio). +20160817 man/fuse.1: document zip compression support (Sergio). +20160817 ui/gtk/fileselector.c: add ".png" to the file filters in save file + dialogs and check the support for ".svg" files (Sergio). +20160820 ui/options.dat: fix mnemonics in drives setup to avoid collisions + (Sergio). +20160821 ChangeLog,README,configure.ac,man/fuse.1: update release dates and mark + this release as 1.2.2 (Fred). Modified: trunk/fuse/lib/compressed/disk_plus3.szx =================================================================== (Binary files differ) Modified: trunk/fuse/lib/uncompressed/disk_plus3.szx =================================================================== (Binary files differ) Deleted: trunk/fuse/m4/glib-2.0.m4 =================================================================== --- trunk/fuse/m4/glib-2.0.m4 2016-08-22 12:00:26 UTC (rev 821) +++ trunk/fuse/m4/glib-2.0.m4 2016-08-23 04:00:11 UTC (rev 822) @@ -1,214 +0,0 @@ -# Configure paths for GLIB -# Owen Taylor 1997-2001 - -# Taken from Glib 2.4.2 by PAK 2004/07/06 - -dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject or -dnl gthread is specified in MODULES, pass to pkg-config -dnl -AC_DEFUN([AM_PATH_GLIB_2_0], -[dnl -dnl Get the cflags and libraries from pkg-config -dnl -AC_ARG_ENABLE(glibtest, [ --disable-glibtest ... [truncated message content] |
From: <fr...@us...> - 2016-10-03 12:02:52
|
Revision: 829 http://sourceforge.net/p/fuse-for-macosx/code/829 Author: fredm Date: 2016-10-03 12:02:48 +0000 (Mon, 03 Oct 2016) Log Message: ----------- Merge up to vendor release 1.3.0. Modified Paths: -------------- trunk/FuseGenerator/config.h trunk/FuseImporter/config.h trunk/fuse/AUTHORS trunk/fuse/ChangeLog trunk/fuse/INSTALL trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/autogen.sh trunk/fuse/compat/Makefile.am trunk/fuse/configure.ac trunk/fuse/data/Makefile.am trunk/fuse/data/shell-completion/bash/fuse trunk/fuse/data/win32/distribution.mk trunk/fuse/data/win32/installer.nsi.in trunk/fuse/debugger/Makefile.am trunk/fuse/debugger/commandl.l trunk/fuse/debugger/commandy.y trunk/fuse/display.c trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/config.h trunk/fuse/fusepb/keystate.c trunk/fuse/fusepb/libspectrum.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.helpindex trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/general.html trunk/fuse/fusepb/xibs/Preferences.xib trunk/fuse/hacking/ChangeLog trunk/fuse/hacking/Makefile.am trunk/fuse/input.c trunk/fuse/input.h trunk/fuse/keyboard.c trunk/fuse/keysyms.dat trunk/fuse/keysyms.pl trunk/fuse/lib/Makefile.am trunk/fuse/machines/Makefile.am trunk/fuse/man/Makefile.am trunk/fuse/man/fuse.1 trunk/fuse/menu_data.dat trunk/fuse/menu_data.pl trunk/fuse/peripherals/Makefile.am trunk/fuse/peripherals/disk/beta.c trunk/fuse/peripherals/disk/didaktik.c trunk/fuse/peripherals/disk/didaktik.h trunk/fuse/peripherals/disk/trdos.c trunk/fuse/peripherals/disk/trdos.h trunk/fuse/peripherals/disk/upd_fdc.c trunk/fuse/peripherals/usource.c trunk/fuse/peripherals/usource.h trunk/fuse/perl/Makefile.am trunk/fuse/pokefinder/Makefile.am trunk/fuse/roms/Makefile.am trunk/fuse/roms/plus3e-0.rom trunk/fuse/roms/plus3e-1.rom trunk/fuse/roms/plus3e-2.rom trunk/fuse/settings-header.pl trunk/fuse/settings.dat trunk/fuse/settings.pl trunk/fuse/sound/Makefile.am trunk/fuse/svg.c trunk/fuse/svg.h trunk/fuse/timer/Makefile.am trunk/fuse/ui/Makefile.am trunk/fuse/ui/cocoa/keysyms.m trunk/fuse/ui/fb/Makefile.am trunk/fuse/ui/gtk/Makefile.am trunk/fuse/ui/gtk/options.pl trunk/fuse/ui/options.dat trunk/fuse/ui/scaler/Makefile.am trunk/fuse/ui/sdl/Makefile.am trunk/fuse/ui/svga/Makefile.am trunk/fuse/ui/uimedia.h 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.pl trunk/fuse/ui/widget/pokemem.c trunk/fuse/ui/widget/text.c trunk/fuse/ui/widget/widget.c trunk/fuse/ui/widget/widget.h trunk/fuse/ui/widget/widget_internals.h trunk/fuse/ui/wii/Makefile.am trunk/fuse/ui/win32/Makefile.am trunk/fuse/ui/win32/debugger.rc trunk/fuse/ui/win32/options-resource.pl trunk/fuse/ui/win32/options.pl trunk/fuse/ui/win32/win32internals.h trunk/fuse/ui/win32/win32joystick.rc trunk/fuse/ui/win32/win32keyboard.c trunk/fuse/ui/win32/win32ui.c trunk/fuse/ui/xlib/Makefile.am trunk/fuse/uimedia.c trunk/fuse/unittests/Makefile.am trunk/fuse/z80/Makefile.am trunk/fuse/z80/z80.pl trunk/fuse/z80/z80_debugger_variables.c trunk/libspectrum/Info.plist 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/autogen.sh trunk/libspectrum/libspectrum/configure.ac trunk/libspectrum/libspectrum/doc/libspectrum.3 trunk/libspectrum/libspectrum/doc/libspectrum.txt trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum/libspectrum.h.in trunk/libspectrum/libspectrum/pzx_read.c trunk/libspectrum/libspectrum/snap_accessors.txt trunk/libspectrum/libspectrum/szx.c trunk/libspectrum/libspectrum/test/Makefile.am trunk/libspectrum/libspectrum/zip.c trunk/libspectrum/libspectrum/zip.h trunk/libspectrum/libspectrum.h trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj Added Paths: ----------- trunk/fuse/ui/widget/about.c Property Changed: ---------------- trunk/fuse/ trunk/libspectrum/libspectrum/ Modified: trunk/FuseGenerator/config.h =================================================================== --- trunk/FuseGenerator/config.h 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/FuseGenerator/config.h 2016-10-03 12:02:48 UTC (rev 829) @@ -83,7 +83,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "1.2.1" +#define VERSION "1.3.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Modified: trunk/FuseImporter/config.h =================================================================== --- trunk/FuseImporter/config.h 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/FuseImporter/config.h 2016-10-03 12:02:48 UTC (rev 829) @@ -83,7 +83,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "1.2.1" +#define VERSION "1.3.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Index: trunk/fuse =================================================================== --- trunk/fuse 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse 2016-10-03 12:02:48 UTC (rev 829) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-821 +/vendor/fuse-emulator/current/fuse:530-828 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/AUTHORS =================================================================== --- trunk/fuse/AUTHORS 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/AUTHORS 2016-10-03 12:02:48 UTC (rev 829) @@ -54,4 +54,4 @@ * Philip Kendall: everything else. -$Id: AUTHORS 5569 2016-06-01 11:12:38Z fredm $ +$Id: AUTHORS 5606 2016-06-07 11:32:25Z fredm $ Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/ChangeLog 2016-10-03 12:02:48 UTC (rev 829) @@ -1,3 +1,25 @@ +2016-10-02 Philip Kendall <phi...@sh...> + + * Fuse 1.3.0 released. + + * New features: + * Recreated ZX Spectrum Bluetooth keyboard support (thanks, thrice, + Philip Kendall and Sergio Baldoví) (Ekkehard Morgenstern). + + * Emulation core improvements: + * Reset machine when auto-loading TRD/SCL disks (thanks, BogDan Vatra + and Fredrick Meunier) (Sergio Baldoví). + + * Machine specific improvements: + * Update +3e ROMs to v1.43 (Sergio Baldoví; thanks, Garry Lancaster). + + * Miscellaneous improvements: + * WidgetUI: Add About Fuse dialog with less cluttered text (Sergio + Baldoví). + * Print summary of enabled features when building Fuse (Alberto + Garcia). + * Various minor bugfixes. + 2016-08-21 Philip Kendall <phi...@sh...> * Fuse 1.2.2 released. @@ -1351,4 +1373,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 5761 2016-08-21 05:10:02Z fredm $ +$Id: ChangeLog 5818 2016-10-02 11:35:56Z fredm $ Modified: trunk/fuse/INSTALL =================================================================== --- trunk/fuse/INSTALL 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/INSTALL 2016-10-03 12:02:48 UTC (rev 829) @@ -161,4 +161,4 @@ respectively. That will make a temporary subdirectory (fuse-VERSION-win32) in the build directory and then will create a package. -$Id: INSTALL 5407 2016-04-25 21:59:53Z sbaldovi $ +$Id: INSTALL 5406 2016-04-25 21:52:03Z sbaldovi $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/Makefile.am 2016-10-03 12:02:48 UTC (rev 829) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2015 Philip Kendall -## $Id: Makefile.am 5735 2016-08-14 13:02:21Z fredm $ +## $Id: Makefile.am 5731 2016-08-12 13:18:42Z 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 Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/README 2016-10-03 12:02:48 UTC (rev 829) @@ -1,4 +1,4 @@ -The Free Unix Spectrum Emulator (Fuse) 1.2.2 +The Free Unix Spectrum Emulator (Fuse) 1.3.0 ============================================ Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat @@ -108,6 +108,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -21st August, 2016 +2nd October, 2016 -$Id: README 5761 2016-08-21 05:10:02Z fredm $ +$Id: README 5818 2016-10-02 11:35:56Z fredm $ Modified: trunk/fuse/autogen.sh =================================================================== --- trunk/fuse/autogen.sh 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/autogen.sh 2016-10-03 12:02:48 UTC (rev 829) @@ -4,7 +4,7 @@ # Copyright (c) 2004 Philip Kendall # Copyright (c) 2014 Sergio Baldoví -# $Id: autogen.sh 5434 2016-05-01 04:22:45Z fredm $ +# $Id: autogen.sh 5432 2016-05-01 04:16:09Z 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 Modified: trunk/fuse/compat/Makefile.am =================================================================== --- trunk/fuse/compat/Makefile.am 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/compat/Makefile.am 2016-10-03 12:02:48 UTC (rev 829) @@ -2,7 +2,7 @@ ## Copyright (c) 2003-2013 Philip Kendall ## Copyright (c) 2015 Sergio Baldoví -## $Id: Makefile.am 5677 2016-07-09 13:58:02Z fredm $ +## $Id: Makefile.am 5621 2016-06-09 10:29:12Z 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 Modified: trunk/fuse/configure.ac =================================================================== --- trunk/fuse/configure.ac 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/configure.ac 2016-10-03 12:02:48 UTC (rev 829) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.ac 5761 2016-08-21 05:10:02Z fredm $ +dnl $Id: configure.ac 5809 2016-09-24 04:27:40Z fredm $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -20,12 +20,12 @@ dnl E-mail: phi...@sh... dnl Package version -m4_define([fuse_version], [1.2.2]) +m4_define([fuse_version], [1.3.0]) dnl Product full version m4_define([fuse_major_version], [1]) -m4_define([fuse_minor_version], [2]) -m4_define([fuse_micro_version], [2]) +m4_define([fuse_minor_version], [3]) +m4_define([fuse_micro_version], [0]) m4_define([fuse_nano_version], [0]) m4_define([fuse_full_version], [fuse_major_version.fuse_minor_version.fuse_micro_version.fuse_nano_version]) m4_define([fuse_rc_version], [fuse_major_version,fuse_minor_version,fuse_micro_version,fuse_nano_version]) @@ -461,9 +461,10 @@ zlib=yes) AC_MSG_RESULT($zlib) if test "$zlib" = yes; then + zlib=no AC_CHECK_HEADERS( zlib.h, - AC_SEARCH_LIBS(compress2, z zdll) + AC_SEARCH_LIBS(compress2, z zdll, zlib=yes) ) fi @@ -511,7 +512,8 @@ [PNG], [libpng], [AC_DEFINE([USE_LIBPNG], 1, [Defined if we're going to be using the installed libpng])], - [AC_MSG_WARN([libpng not found - saving screenshots disabled])] + [AC_MSG_WARN([libpng not found - saving screenshots disabled]) + libpng=no] ) fi @@ -583,40 +585,44 @@ AC_MSG_CHECKING(which sound routines to use) if test "$UI" = sdl; then SOUND_LIBADD='sound/sdlsound.$(OBJEXT)' SOUND_LIBS='' sound_fifo=yes - AC_MSG_RESULT(SDL) + audio_driver="SDL" elif test "$dxsound_available" = yes; then SOUND_LIBADD='sound/dxsound.$(OBJEXT)' SOUND_LIBS='-ldsound -lole32 -ldxguid' - AC_MSG_RESULT(DirectX) + audio_driver="DirectX" AC_DEFINE([DIRECTSOUND_VERSION], 0x0700, [DirectX 7 or higher is required]) elif test "$win32sound_available" = yes; then SOUND_LIBADD='sound/win32sound.$(OBJEXT)' SOUND_LIBS='-lwinmm' - AC_MSG_RESULT(win32sound) + audio_driver="win32sound" elif test "$alsa_available" = yes; then SOUND_LIBADD='sound/alsasound.$(OBJEXT)' SOUND_LIBS='-lasound' - AC_MSG_RESULT(ALSA) + audio_driver="ALSA" elif test "$ao_available" = yes; then SOUND_LIBADD='sound/aosound.$(OBJEXT)' SOUND_LIBS='-lao' - AC_MSG_RESULT(libao) + audio_driver="libao" elif test "$ac_cv_header_dsound_h" = yes; then # Later selection between these two SOUND_LIBADD='sound/sunsound.$(OBJEXT) sound/hpsound.$(OBJEXT)' SOUND_LIBS='' - AC_MSG_RESULT(Solaris or HP/UX) + audio_driver="Solaris or HP/UX" elif test "$ac_cv_header_sys_soundcard_h" = yes; then SOUND_LIBADD='sound/osssound.$(OBJEXT)' SOUND_LIBS='' - AC_MSG_RESULT(OSS) + audio_driver="OSS" elif test "$ac_cv_header_sys_audioio_h" = yes; then dnl OpenBSD SOUND_LIBADD='sound/sunsound.$(OBJEXT)' SOUND_LIBS='' - AC_MSG_RESULT(OpenBSD) + audio_driver="OpenBSD" elif test "$coreaudio_available" = yes; then SOUND_LIBADD='sound/coreaudiosound.$(OBJEXT)' SOUND_LIBS='-framework CoreAudio -framework AudioUnit' sound_fifo=yes - AC_MSG_RESULT(CoreAudio) + audio_driver="CoreAudio" elif test "$wii" = yes; then SOUND_LIBADD='sound/wiisound.$(OBJEXT)' SOUND_LIBS='' sound_fifo=yes - AC_MSG_RESULT(Wii) + audio_driver="Wii" else SOUND_LIBADD='sound/nullsound.$(OBJEXT)' SOUND_LIBS='' - AC_MSG_RESULT(none) + audio_driver="none" +fi + +AC_MSG_RESULT($audio_driver) +if test "$audio_driver" = "none"; then AC_DEFINE([NO_SOUND], 1, [Defined if no sound code is present]) AC_MSG_WARN(No sound library has been found) fi @@ -683,7 +689,8 @@ SDL_VERSION=1.2.4 AM_PATH_SDL($SDL_VERSION, AC_DEFINE([USE_JOYSTICK], 1, [Defined if we're using hardware joysticks]), - AC_MSG_WARN([SDL version $SDL_VERSION not found - joystick support disabled])) + AC_MSG_WARN([SDL version $SDL_VERSION not found - joystick support disabled]) + stick=no) fi ;; wii) @@ -702,7 +709,8 @@ LIBS="$LIBS -ljsw"; AC_DEFINE([USE_JOYSTICK], 1, [Defined if we're using hardware joysticks]), - AC_MSG_WARN(jsw.h not found - joystick support disabled)) + AC_MSG_WARN(jsw.h not found - joystick support disabled) + stick=no) fi fi @@ -718,7 +726,8 @@ [XML], [libxml-2.0], [AC_DEFINE([HAVE_LIB_XML2], 1, [Defined if we've got libxml2])], - [AC_MSG_WARN([libxml2 not found - config file will use ini format])] + [AC_MSG_WARN([libxml2 not found - config file will use ini format]) + libxml2="no"] ) fi @@ -859,7 +868,7 @@ AC_ARG_ENABLE(desktop-integration, AS_HELP_STRING([--enable-desktop-integration], [add menu entry and file associations]), if test "$enableval" = yes; then desktopintegration=yes; else desktopintegration=no; fi, -desktdesktopintegration=no) +desktopintegration=no) AC_MSG_CHECKING(whether to install desktop file) AC_MSG_RESULT($desktopintegration) AM_CONDITIONAL(DESKTOP_INTEGRATION, test "$desktopintegration" = yes) @@ -937,3 +946,40 @@ ]) AC_OUTPUT + +dnl Status summary +echo "" +echo "****************************" +echo "*** Libspectrum features ***" +echo "****************************" +echo "" +echo "Internal GLib replacement: ${fakeglib}" +echo "zlib support: ${LIBSPEC_HAVE_ZLIB:-no}" +echo "bzip2 support: ${LIBSPEC_HAVE_BZ2:-no}" +echo "audiofile support: ${LIBSPEC_HAVE_AUDIOFILE:-no}" +echo "" +echo "********************" +echo "*** Fuse options ***" +echo "********************" +echo "" +echo "User interface: ${UI}" +if test "${UI}" = "gtk"; then + echo "Using GTK+ 3: ${gtk3}" +fi +if test x"${gpm}" != "x"; then + echo "libgpm support: ${gpm}" +fi +echo "Joystick support: ${stick}" +if test "${stick}" = "yes"; then + echo "Using libjsw for joystick support: ${libjsw}" +fi +echo "zlib support: ${zlib}" +echo "libxml2 support: ${libxml2}" +echo "libpng support: ${libpng}" +echo "Audio driver: ${audio_driver}" +echo "Spectranet support: ${build_spectranet}" +echo "SpeccyBoot support: ${linux_tap:-no}" +echo "Desktop integration: ${desktopintegration}" +echo "" +echo "Type 'make' to compile Fuse" +echo "" Modified: trunk/fuse/data/Makefile.am =================================================================== --- trunk/fuse/data/Makefile.am 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/data/Makefile.am 2016-10-03 12:02:48 UTC (rev 829) @@ -2,7 +2,7 @@ ## Copyright (c) 2011 Philip Kendall ## Copyright (c) 2013-2015 Sergio Baldoví -## $Id: Makefile.am 5434 2016-05-01 04:22:45Z fredm $ +## $Id: Makefile.am 5432 2016-05-01 04:16:09Z 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 Modified: trunk/fuse/data/shell-completion/bash/fuse =================================================================== --- trunk/fuse/data/shell-completion/bash/fuse 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/data/shell-completion/bash/fuse 2016-10-03 12:02:48 UTC (rev 829) @@ -220,7 +220,7 @@ --no-melodik --no-mouse-swap-buttons --no-movie-stop-after-rzx --no-opus --no-pal-tv2x --no-plus3-detect-speedlock --no-plusd --no-printer - --no-raw-s-net --no-rs232-handshake + --no-raw-s-net --no-recreated-spectrum --no-rs232-handshake --no-rzx-autosaves --no-simpleide --no-slt --no-sound --no-sound-force-8bit --no-speccyboot --no-specdrum --no-spectranet --no-spectranet-disable --no-statusbar @@ -229,7 +229,8 @@ --no-zxatasp-write-protect --no-zxcf --no-zxcf-upload --no-zxprinter --opus --opusdisk --pal-tv2x --playback --plus3-detect-speedlock --plus3disk --plusd --plusddisk - --printer --rate --raw-s-net --record --rom-128-0 --rom-128-1 + --printer --rate --raw-s-net --record --recreated-spectrum + --rom-128-0 --rom-128-1 --rom-16 --rom-48 --rom-beta128 --rom-didaktik80 --rom-disciple --rom-interface-1 --rom-opus --rom-pentagon-0 --rom-pentagon-1 --rom-pentagon-2 Modified: trunk/fuse/data/win32/distribution.mk =================================================================== --- trunk/fuse/data/win32/distribution.mk 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/data/win32/distribution.mk 2016-10-03 12:02:48 UTC (rev 829) @@ -1,7 +1,7 @@ ## This file does not need automake. Include in the final Makefile. ## Copyright (c) 2013-2016 Sergio Baldoví -## $Id: distribution.mk 5434 2016-05-01 04:22:45Z fredm $ +## $Id: distribution.mk 5432 2016-05-01 04:16:09Z 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 Modified: trunk/fuse/data/win32/installer.nsi.in =================================================================== --- trunk/fuse/data/win32/installer.nsi.in 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/data/win32/installer.nsi.in 2016-10-03 12:02:48 UTC (rev 829) @@ -2,7 +2,7 @@ ## Copyright (c) 2009 Marek Januszewski ## Copyright (c) 2016 Sergio Baldoví -## $Id: installer.nsi.in 5434 2016-05-01 04:22:45Z fredm $ +## $Id: installer.nsi.in 5432 2016-05-01 04:16:09Z 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 Modified: trunk/fuse/debugger/Makefile.am =================================================================== --- trunk/fuse/debugger/Makefile.am 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/debugger/Makefile.am 2016-10-03 12:02:48 UTC (rev 829) @@ -2,7 +2,7 @@ ## Copyright (c) 2001-2016 Philip Kendall ## Copyright (c) 2015 Sergio Baldoví -## $Id: Makefile.am 5677 2016-07-09 13:58:02Z fredm $ +## $Id: Makefile.am 5661 2016-07-01 19:00:28Z pak21 $ ## 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 Modified: trunk/fuse/debugger/commandl.l =================================================================== --- trunk/fuse/debugger/commandl.l 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/debugger/commandl.l 2016-10-03 12:02:48 UTC (rev 829) @@ -2,7 +2,7 @@ Copyright (c) 2002-2016 Philip Kendall Copyright (c) 2015 Sergio Baldoví - $Id: commandl.l 5677 2016-07-09 13:58:02Z fredm $ + $Id: commandl.l 5661 2016-07-01 19:00:28Z pak21 $ 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 Modified: trunk/fuse/debugger/commandy.y =================================================================== --- trunk/fuse/debugger/commandy.y 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/debugger/commandy.y 2016-10-03 12:02:48 UTC (rev 829) @@ -2,7 +2,7 @@ Copyright (c) 2002-2016 Philip Kendall Copyright (c) 2015 Sergio Baldoví - $Id: commandy.y 5677 2016-07-09 13:58:02Z fredm $ + $Id: commandy.y 5661 2016-07-01 19:00:28Z pak21 $ 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 Modified: trunk/fuse/display.c =================================================================== --- trunk/fuse/display.c 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/display.c 2016-10-03 12:02:48 UTC (rev 829) @@ -100,9 +100,6 @@ /* Used to signify that we're redrawing the entire screen */ static int display_redraw_all; -/* Value used to signify a border line has more than one colour on it. */ -static const int display_border_mixed = 0xff; - /* The last point at which we updated the screen display */ int critical_region_x = 0, critical_region_y = 0; Modified: trunk/fuse/fusepb/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/fusepb/Info-Fuse.plist 2016-10-03 12:02:48 UTC (rev 829) @@ -582,11 +582,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>1.2.2</string> + <string>1.3.0</string> <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>1.2.2</string> + <string>1.3.0</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/fuse/fusepb/config.h =================================================================== --- trunk/fuse/fusepb/config.h 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/fusepb/config.h 2016-10-03 12:02:48 UTC (rev 829) @@ -167,7 +167,7 @@ /* #undef USE_WIDGET */ /* Version number of package */ -#define VERSION "1.2.2" +#define VERSION "1.3.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Modified: trunk/fuse/fusepb/keystate.c =================================================================== --- trunk/fuse/fusepb/keystate.c 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/fusepb/keystate.c 2016-10-03 12:02:48 UTC (rev 829) @@ -30,6 +30,7 @@ #include "input.h" #include "keyboard.h" #include "keystate.h" +#include "settings.h" enum states { NONE, @@ -151,7 +152,21 @@ void process_keyevent( enum events event, input_key keysym ) { - if(event < MAX_EVENTS && current_state < MAX_STATES) { + if( settings_current.recreated_spectrum ) { + switch( event ) { + case PRESS_NORMAL: + case PRESS_SPECIAL: + press_key( keysym ); + break; + case RELEASE_NORMAL: + case RELEASE_SPECIAL: + release_key( keysym ); + break; + default: + // do nothing + break; + } + } else if(event < MAX_EVENTS && current_state < MAX_STATES) { state_table[current_state][event]( keysym ); /* call the action procedure */ } else { /* invalid event/state - shouldn't happen, just ignore for now */ Modified: trunk/fuse/fusepb/libspectrum.h =================================================================== --- trunk/fuse/fusepb/libspectrum.h 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/fusepb/libspectrum.h 2016-10-03 12:02:48 UTC (rev 829) @@ -1,7 +1,7 @@ /* libspectrum.h: the library for dealing with ZX Spectrum emulator files Copyright (c) 2001-2015 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.h.in 5733 2016-08-14 12:45:40Z fredm $ + $Id: libspectrum.h.in 5718 2016-08-07 12:21:23Z 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 Modified: trunk/fuse/fusepb/models/Emulator.m =================================================================== --- trunk/fuse/fusepb/models/Emulator.m 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/fusepb/models/Emulator.m 2016-10-03 12:02:48 UTC (rev 829) @@ -712,7 +712,7 @@ case INPUT_KEY_ampersand: case INPUT_KEY_parenleft: case INPUT_KEY_parenright: - case INPUT_KEY_carat: + case INPUT_KEY_asciicircum: case INPUT_KEY_asterisk: return YES; break; Modified: trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.helpindex =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2016-10-03 12:02:48 UTC (rev 829) @@ -12,6 +12,50 @@ <!-- AppleSegStart="What's New In Fuse?" --><a name="What's New In Fuse?" id="What's New In Fuse?"></a><!-- AppleSegDescription="This section describes the changes for version 1.2.1 of the Fuse emulator." --></font><br> <h2><font><font face="Lucida Grande,Helvetica,Arial">What's new in + Fuse For Mac OS X 1.3.0</font></font></h2> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial">New features</font>:</font></li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Recreated ZX + Spectrum Bluetooth keyboard support (thanks, thrice, + Philip Kendall and Sergio Baldoví) (Ekkehard Morgenstern).</font></li> + </ul> + </li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"><br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial">Emulation core + improvements:</font></li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Reset machine + when auto-loading </font><font face="Lucida + Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial">TR-DOS</font> disks (thanks, + BogDan Vatra and Fredrick Meunier) (Sergio Baldoví).</font></li> + </ul> + </li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"><br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial">Machine specific + improvements:</font></li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Update +3e ROMs + to v1.43 (Sergio Baldoví; thanks, Garry Lancaster).</font></li> + </ul> + <br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial">Various other minor bugfixes.</font></font></li> + </ul> + <h2><font><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse For Mac OS X 1.2.2</font></font></h2> <ul> <li><font face="Lucida Grande,Helvetica,Arial"><font face="Lucida @@ -20,8 +64,8 @@ list-style-position: outside;"> <ul> <li><font face="Lucida Grande,Helvetica,Arial">Support loading - first tape, snapshot, dock cartridge or input recording (RZX) - file found inside .zip files (Patrik Rak and Sergio + first tape, snapshot, dock cartridge or input recording + (RZX) file found inside .zip files (Patrik Rak and Sergio Baldoví).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Support auto-booting TR-DOS disk images without a boot file @@ -329,183 +373,5 @@ <li><font face="Lucida Grande,Helvetica,Arial">Various other minor bugfixes.</font></li> </ul> - <h2><font><font face="Lucida Grande,Helvetica,Arial">What's new in - Fuse For Mac OS X 1.1.1.1</font></font></h2> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous - improvements:</font></li> - <li style="list-style-type: none; list-style-image: none; - list-style-position: outside;"> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Fix kernel - panic resizing window during screen updates (Fredrick - Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Restore support - for playing emulator recordings (RZX files) with no - embedded snapshot</font><font face="Lucida - Grande,Helvetica,Arial"> (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Restore support - for competition mode emulator recordings (RZX files) </font><font - face="Lucida Grande,Helvetica,Arial"><font face="Lucida - Grande,Helvetica,Arial">(Fredrick Meunier).</font></font></li> - <li><font face="Lucida Grande,Helvetica,Arial"><font - face="Lucida Grande,Helvetica,Arial">Fix sound loop when - pausing emulator</font></font><font face="Lucida - Grande,Helvetica,Arial"> (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Now requires - Mac OS X 10.8+</font></li> - </ul> - </li> - </ul> - <h2><font><font face="Lucida Grande,Helvetica,Arial">What's new in - Fuse For Mac OS X 1.1.1</font></font></h2> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">New policy:</font></li> - <li style="list-style-type: none; list-style-image: none; - list-style-position: outside;"> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Remove all ROMs - for which there isn't explicit permission to distribute - (Philip Kendall). All the affected hardware is still - supported, but the ROM images will need to be obtained - elsewhere and then the Fuse preferences set to refer to - these new ROM images. This applies to the following - machines; Pentagon series and Scorpion, and the following - interfaces; Interface I, Opus Discovery, Betadisk.</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Any changes - that enable and disable peripherals may result in a hard - reset of the emulated machine if required for proper - emulation of the hardware.<br> - </font></li> - </ul> - <br> - </li> - <li><font face="Lucida Grande,Helvetica,Arial">New features:</font></li> - <li style="list-style-type: none; list-style-image: none; - list-style-position: outside;"> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Add Spectranet - Ethernet interface emulation (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add SpecDrum - sound interface emulation (Jon Mitchell).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add DISCiPLE - disk interface emulation (Stuart Brady), note that - Sinclair Network emulation is not provided, and the - interface is not available under 128K emulation in this - release.</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Support reading - PZX files (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for - POK files (Sergio Baldoví).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add recording - of movies to FMF files (Gergely Szasz).</font></li> - </ul> - </li> - <li style="list-style-type: none; list-style-image: none; - list-style-position: outside;"><br> - </li> - <li><font face="Lucida Grande,Helvetica,Arial">Emulation core - improvements:</font></li> - <li style="list-style-type: none; list-style-image: none; - list-style-position: outside;"> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for - ABC AY stereo (Stuart Brady).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Correct - feedback in AY noise generator (Patrik Rak).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">MIC bit only - isn't enough to drive the speaker (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Mirror - Interface 1 ROM to the second 8Kb of ROM as in the real - interface (Fredrick Meunier, with thanks to mcleod_ideafix - and zx81).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Support the - Beta interface setting to not auto-boot the interface on - 48K machines (ketmar).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Support setting - late timings from snapshots (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add separate - switch to enable ZX Printer emulation (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Reset machine - when installed peripherals are changed (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix memory disk - image corrupted after save (Sergio Baldoví).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Allow up to 15 - joystick buttons to be defined to accommodate e.g. XBox - 360 ABXY button use (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix loading of - EDSK files with redundant sector images (Fredrick - Meunier).<br> - </font></li> - </ul> - <br> - </li> - <li><font face="Lucida Grande,Helvetica,Arial">Machine specific - improvements:</font></li> - <li style="list-style: none outside none;"> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Read and write - all potential 1024k worth of memory pages from a snap - (ketmar and Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Initialise the - Pentagon 1024k memory ports from a snapshot (ketmar and - Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Restore the - paged state of the Beta ROM when loading Pentagon - 128k/512k/1024k snapshots (ketmar and Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix SE writing - dock and exrom pages to snapshots (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Update SE ROMs - to v4.04 (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Update to v1.38 - of the +3e ROMs (thanks, Guesser) (Fredrick Meunier).<br> - </font></li> - </ul> - </li> - <li style="list-style-type: none; list-style-image: none; - list-style-position: outside;"><br> - </li> - <li><font face="Lucida Grande,Helvetica,Arial">Debugger - improvements:</font></li> - <li style="list-style-type: none; list-style-image: none; - list-style-position: outside;"> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Disassemble ED - 4D as RETI (Simon Owen).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add IM, IFF1 - and IFF2 setting and getting to the debugger (Alex Badea).</font></li> - </ul> - <br> - </li> - <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous - improvements:</font></li> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Support for the - TZX set signal level block (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Support setting - late timings from snapshots (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix 16x9 - panoramic widescreen and non-panoramic non-4/3 widescreen - (thanks, Adam Meath)</font><font face="Lucida - Grande,Helvetica,Arial"><font face="Lucida - Grande,Helvetica,Arial"> (Fredrick Meunier)</font>.</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Properly handle - opening and closing windows more than once</font><font - face="Lucida Grande,Helvetica,Arial"><font face="Lucida - Grande,Helvetica,Arial"> (Fredrick Meunier)</font>.</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix display of - memory map in debugger</font><font face="Lucida - Grande,Helvetica,Arial"><font face="Lucida - Grande,Helvetica,Arial"><font face="Lucida - Grande,Helvetica,Arial"> (Fredrick Meunier)</font></font>.</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Updated retina - icon images from Paul van der Laan.<br> - </font></li> - </ul> - <li style="list-style: none outside none;"><br> - </li> - <li><font face="Lucida Grande,Helvetica,Arial">Various other minor - bugfixes.</font></li> - </ul> </body> </html> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/general.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/general.html 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/fusepb/resources/Fuse Help/html/general.html 2016-10-03 12:02:48 UTC (rev 829) @@ -2,7 +2,7 @@ <html> <head> <meta http-equiv="content-type" content="text/html; - charset=ISO-8859-1"> + charset=windows-1252"> <!-- AppleSegStart="General Preferences" --> <title>General Preferences</title> </head> @@ -135,10 +135,21 @@ used a different value for unused bits on the keyboard input ports, and a few games depended on the old value of these bits. Enabling this option switches to the old - value, to let you </font><font face="Lucida - Grande,Helvetica,Arial">run those games.</font></td> + value, to let you run those games.</font></td> </tr> <tr> + <td valign="top"><span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Use Recreated ZX Spectrum + keyboard</em></font></span></td> + <td valign="top"><font face="Lucida Grande,Helvetica,Arial"><font + face="Lucida Grande,Helvetica,Arial">Enable the use of a + Recreated ZX Spectrum in game mode. This is a Bluetooth + keyboard in the shape of a 48K ZX Spectrum that can be paired + your Mac to give an authentic feeling of using a real ZX + Spectrum. While this mode is enabled, your Mac keyboard will + not give correct input to the emulator.</font></td> + </tr> + <tr> <td style="vertical-align: top;"><span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Late CPU timings</em></font></span></td> @@ -147,21 +158,17 @@ screen-related timings (for example, when the screen is rendered and when memory contention occurs) to be one tstate later than "normal", an effect which is present on - some real hardware.</font> <span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em></em></font></span></td> + some real hardware.</font></td> </tr> <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Z80 - is CMOS</em></font></span></td> - <td style="vertical-align: top;"><font face="Lucida - Grande,Helvetica,Arial">If selected, Fuse will emulate a - CMOS Z80, as opposed to an NMOS Z80. The undocumented - `OUT (C),0' instruction will be replaced with - `OUT (C),255' and emulation of a minor timing bug in the - NMOS Z80's `LD A,I' and `LD A,R' instructions will be - disabled.</font> <span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em></em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Z80 is CMOS</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">If selected, Fuse will emulate a + CMOS Z80, as opposed to an NMOS Z80. The undocumented `OUT + (C),0' instruction will be replaced with `OUT (C),255' and + emulation of a minor timing bug in the NMOS Z80's `LD A,I' + and `LD A,R' instructions will be disabled.</font></td> </tr> <tr> <td style="vertical-align: top;"><span class="emphasis"><font Modified: trunk/fuse/fusepb/xibs/Preferences.xib =================================================================== --- trunk/fuse/fusepb/xibs/Preferences.xib 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/fusepb/xibs/Preferences.xib 2016-10-03 12:02:48 UTC (rev 829) @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="10116" systemVersion="15F34" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none"> +<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11201" systemVersion="15G1004" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none"> <dependencies> <deployment version="1080" identifier="macosx"/> - <development version="6300" identifier="xcode"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10116"/> + <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11201"/> + <capability name="box content view" minToolsVersion="7.0"/> </dependencies> <objects> <customObject id="-2" userLabel="File's Owner" customClass="PreferencesController"> @@ -116,8 +116,8 @@ <action selector="resetUserDefaults:" target="-2" id="932"/> </connections> </button> - <button id="1348"> - <rect key="frame" x="293" y="149" width="151" height="18"/> + <button misplaced="YES" id="1348"> + <rect key="frame" x="293" y="129" width="151" height="18"/> <autoresizingMask key="autoresizingMask"/> <buttonCell key="cell" type="check" title="Late CPU timings" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="1379"> <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> @@ -127,8 +127,8 @@ <binding destination="270" name="value" keyPath="values.latetimings" id="1402"/> </connections> </button> - <button id="Uch-Bs-QML"> - <rect key="frame" x="293" y="129" width="151" height="18"/> + <button misplaced="YES" id="Uch-Bs-QML"> + <rect key="frame" x="293" y="109" width="151" height="18"/> <autoresizingMask key="autoresizingMask"/> <buttonCell key="cell" type="check" title="Z80 is CMOS" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="qDh-Th-upD"> <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> @@ -280,8 +280,8 @@ <binding destination="270" name="value" keyPath="values.rate" id="Zrv-JU-bcU"/> </connections> </textField> - <button id="1354"> - <rect key="frame" x="293" y="109" width="151" height="18"/> + <button misplaced="YES" id="1354"> + <rect key="frame" x="293" y="89" width="151" height="18"/> <autoresizingMask key="autoresizingMask"/> <buttonCell key="cell" type="check" title="Allow writes to ROM" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="1369"> <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> @@ -291,8 +291,8 @@ <binding destination="270" name="value" keyPath="values.writableroms" id="1403"/> </connections> </button> - <button id="1355"> - <rect key="frame" x="293" y="69" width="214" height="18"/> + <button misplaced="YES" id="1355"> + <rect key="frame" x="293" y="49" width="214" height="18"/> <autoresizingMask key="autoresizingMask"/> <buttonCell key="cell" type="check" title="Set joysticks on snapshot load" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="1368"> <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> @@ -302,8 +302,8 @@ <binding destination="270" name="value" keyPath="values.joyprompt" id="1407"/> </connections> </button> - <button id="1357"> - <rect key="frame" x="293" y="89" width="105" height="18"/> + <button misplaced="YES" id="1357"> + <rect key="frame" x="293" y="69" width="105" height="18"/> <autoresizingMask key="autoresizingMask"/> <buttonCell key="cell" type="check" title="Use .slt traps" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="1366"> <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> @@ -314,6 +314,17 @@ <outlet property="nextKeyView" destination="1354" id="1380"/> </connections> </button> + <button misplaced="YES" id="Oae-GO-4G1"> + <rect key="frame" x="293" y="149" width="255" height="18"/> + <autoresizingMask key="autoresizingMask"/> + <buttonCell key="cell" type="check" title="Use Recreated ZX Spectrum keyboard" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="qRM-aw-x1T"> + <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> + <font key="font" metaFont="system"/> + </buttonCell> + <connections> + <binding destination="270" name="value" keyPath="values.recreatedspectrum" id="7OV-FA-rfE"/> + </connections> + </button> </subviews> </customView> <customView id="1408" userLabel="Sound"> @@ -461,10 +472,10 @@ <rect key="frame" x="0.0" y="0.0" width="627" height="472"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> <subviews> - <box autoresizesSubviews="NO" title="External sound interface" borderType="line" id="1833"> + <box autoresizesSubviews="NO" borderType="line" title="External sound interface" id="1833"> <rect key="frame" x="398" y="334" width="212" height="118"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <view key="contentView"> + <view key="contentView" id="3G9-p5-WYZ"> <rect key="frame" x="1" y="1" width="210" height="102"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> @@ -513,13 +524,11 @@ </matrix> </subviews> </view> - <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/> - <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> </box> <box title="Mass storage/ROM Interfaces" id="1434"> <rect key="frame" x="18" y="154" width="378" height="298"/> <autoresizingMask key="autoresizingMask"/> - <view key="contentView"> + <view key="contentView" id="y0s-Gg-gqJ"> <rect key="frame" x="2" y="2" width="374" height="281"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> @@ -735,13 +744,11 @@ </matrix> </subviews> </view> - <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/> - <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> </box> <box title="Printers" id="1433"> <rect key="frame" x="17" y="16" width="591" height="134"/> <autoresizingMask key="autoresizingMask"/> - <view key="contentView"> + <view key="contentView" id="ojx-X9-Ioy"> <rect key="frame" x="2" y="2" width="587" height="117"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> @@ -833,8 +840,6 @@ </textField> </subviews> </view> - <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/> - <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> </box> </subviews> <point key="canvasLocation" x="325.5" y="-570"/> @@ -935,7 +940,7 @@ <box title="Keyboard" id="1509"> <rect key="frame" x="73" y="288" width="481" height="73"/> <autoresizingMask key="autoresizingMask"/> - <view key="contentView"> + <view key="contentView" id="e3X-3f-W4t"> <rect key="frame" x="2" y="2" width="477" height="53"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> @@ -972,14 +977,12 @@ </textField> </subviews> </view> - <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/> - <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> <font key="titleFont" metaFont="system"/> </box> <box title="Joystick 1" id="1508"> <rect key="frame" x="73" y="182" width="481" height="102"/> <autoresizingMask key="autoresizingMask"/> - <view key="contentView"> + <view key="contentView" id="iCW-jZ-kNN"> <rect key="frame" x="2" y="2" width="477" height="82"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> @@ -1052,14 +1055,12 @@ </button> </subviews> </view> - <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/> - <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> <font key="titleFont" metaFont="system"/> </box> <box title="Joystick 2" id="1507"> <rect key="frame" x="73" y="78" width="481" height="100"/> <autoresizingMask key="autoresizingMask"/> - <view key="contentView"> + <view key="contentView" id="c2z-Ze-SIE"> <rect key="frame" x="2" y="2" width="477" height="80"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> @@ -1131,8 +1132,6 @@ </button> </subviews> </view> - <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/> - <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> <font key="titleFont" metaFont="system"/> </box> <button id="1435"> @@ -1253,11 +1252,11 @@ <rect key="frame" x="20" y="20" width="137" height="303"/> <autoresizingMask key="autoresizingMask"/> <clipView key="contentView" id="RVo-Sg-mDk"> - <rect key="frame" x="1" y="17" width="135" height="285"/> + <rect key="frame" x="1" y="0.0" width="135" height="302"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" headerView="1631" id="1634"> - <rect key="frame" x="0.0" y="0.0" width="120" height="19"/> + <rect key="frame" x="0.0" y="0.0" width="135" height="285"/> <autoresizingMask key="autoresizingMask"/> <size key="intercellSpacing" width="3" height="2"/> <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> @@ -1289,7 +1288,6 @@ </connections> </tableView> </subviews> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> </clipView> <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="1632"> <rect key="frame" x="-100" y="-100" width="120" height="15"/> @@ -1404,11 +1402,11 @@ <rect key="frame" x="-149" y="171" width="137" height="303"/> <autoresizingMask key="autoresizingMask"/> <clipView key="contentView" id="7ih-tq-3PK"> - <rect key="frame" x="1" y="17" width="135" height="285"/> + <rect key="frame" x="1" y="0.0" width="135" height="302"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" headerView="1612" id="1615"> - <rect key="frame" x="0.0" y="0.0" width="120" height="19"/> + <rect key="frame" x="0.0" y="0.0" width="135" height="285"/> <autoresizingMask key="autoresizingMask"/> <size key="intercellSpacing" width="3" height="2"/> <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> @@ -1429,7 +1427,6 @@ </tableColumns> </tableView> </subviews> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> </clipView> <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="1613"> <rect key="frame" x="-100" y="-100" width="120" height="15"/> Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2016-10-03 04:43:34 UTC (rev 828) +++ trunk/fuse/hacking/ChangeLog 2016-10-03 12:02:48 UTC (rev 829) @@ -5407,3 +5407,42 @@ (Sergio). 20160821 ChangeLog,README,configure.ac,man/fuse.1: update release dates and mark this release as 1.2.2 (Fred). +20160822 configure.ac: pr... [truncated message content] |