fuse-for-macosx-commits Mailing List for Fuse for macOS (Page 8)
Brought to you by:
fredm
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(9) |
Dec
(31) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(24) |
Feb
(11) |
Mar
(6) |
Apr
(48) |
May
(9) |
Jun
(38) |
Jul
(33) |
Aug
(15) |
Sep
|
Oct
(3) |
Nov
(6) |
Dec
(3) |
2008 |
Jan
|
Feb
(24) |
Mar
(11) |
Apr
(22) |
May
(7) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(3) |
Nov
(18) |
Dec
(23) |
2009 |
Jan
(16) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
(7) |
Jul
(4) |
Aug
(11) |
Sep
(9) |
Oct
|
Nov
(3) |
Dec
(2) |
2010 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(2) |
May
(8) |
Jun
|
Jul
|
Aug
(2) |
Sep
(2) |
Oct
(9) |
Nov
|
Dec
(8) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(2) |
Dec
|
2012 |
Jan
(4) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
(13) |
Dec
(11) |
2013 |
Jan
(4) |
Feb
(1) |
Mar
(8) |
Apr
(8) |
May
(16) |
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(4) |
2014 |
Jan
|
Feb
(6) |
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(6) |
2015 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(10) |
Jun
(9) |
Jul
(6) |
Aug
(5) |
Sep
(3) |
Oct
(6) |
Nov
(5) |
Dec
|
From: <fr...@us...> - 2010-12-18 01:05:14
|
Revision: 663 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=663&view=rev Author: fredm Date: 2010-12-18 01:05:06 +0000 (Sat, 18 Dec 2010) Log Message: ----------- Merge up to vendor tag 1.0.0 Modified Paths: -------------- trunk/FuseGenerator/config.h trunk/FuseImporter/config.h trunk/fuse/ChangeLog trunk/fuse/README trunk/fuse/configure.in 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/ide/divide.c trunk/fuse/ide/divide.h trunk/fuse/ide/ide.c trunk/fuse/ide/ide.h trunk/fuse/ide/simpleide.c trunk/fuse/ide/simpleide.h trunk/fuse/ide/zxatasp.c trunk/fuse/ide/zxatasp.h trunk/fuse/ide/zxcf.c trunk/fuse/ide/zxcf.h trunk/fuse/man/fuse.1 trunk/libspectrum/config.h trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/Makefile.am trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/configure.in trunk/libspectrum/libspectrum/doc/libspectrum.3 trunk/libspectrum/libspectrum/doc/libspectrum.txt trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum/test/Makefile.am Property Changed: ---------------- trunk/fuse/ trunk/fuse/fusepb/libspectrum.h trunk/libspectrum/libspectrum/ Modified: trunk/FuseGenerator/config.h =================================================================== --- trunk/FuseGenerator/config.h 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/FuseGenerator/config.h 2010-12-18 01:05:06 UTC (rev 663) @@ -83,7 +83,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "0.5.0" +#define VERSION "1.0.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 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/FuseImporter/config.h 2010-12-18 01:05:06 UTC (rev 663) @@ -83,7 +83,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "0.5.0" +#define VERSION "1.0.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo - /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-659 + /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-662 Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/ChangeLog 2010-12-18 01:05:06 UTC (rev 663) @@ -1,4 +1,4 @@ -2010-10-xx Philip Kendall <phi...@sh...> +2010-12-16 Philip Kendall <phi...@sh...> * Fuse 1.0.0 released. @@ -1035,4 +1035,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 4165 2010-09-30 21:55:05Z pak21 $ +$Id: ChangeLog 4220 2010-12-17 10:54:29Z fredm $ Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/README 2010-12-18 01:05:06 UTC (rev 663) @@ -214,6 +214,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -FIXME October 2010 +16 December 2010 -$Id: README 4172 2010-10-03 22:51:59Z pak21 $ +$Id: README 4220 2010-12-17 10:54:29Z fredm $ Modified: trunk/fuse/configure.in =================================================================== --- trunk/fuse/configure.in 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/configure.in 2010-12-18 01:05:06 UTC (rev 663) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in 4181 2010-10-10 10:28:09Z fredm $ +dnl $Id: configure.in 4220 2010-12-17 10:54:29Z 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 @@ -23,7 +23,7 @@ AM_CONFIG_HEADER(config.h) AC_CANONICAL_SYSTEM -define(FUSE_VERSION, [0.10.0.2]) +define(FUSE_VERSION, [1.0.0]) dnl Use automake to produce `Makefile.in' AM_INIT_AUTOMAKE(fuse, FUSE_VERSION) Modified: trunk/fuse/fusepb/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/fusepb/Info-Fuse.plist 2010-12-18 01:05:06 UTC (rev 663) @@ -510,11 +510,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>20101007</string> + <string>1.0.0</string> <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>20101007</string> + <string>1.0.0</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Property changes on: trunk/fuse/fusepb/libspectrum.h ___________________________________________________________________ Modified: svn:mergeinfo - /vendor/fuse-emulator/current/fuse/fusepb/libspectrum.h:638-659 /vendor/fuse-emulator/current/libspectrum/libspectrum.h.in:538-600 + /vendor/fuse-emulator/current/fuse/fusepb/libspectrum.h:638-662 /vendor/fuse-emulator/current/libspectrum/libspectrum.h.in:538-600 Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2010-12-18 01:05:06 UTC (rev 663) @@ -11,56 +11,11 @@ <body> <font face="Lucida Grande,Helvetica,Arial"> <!-- 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 0.10.0 of the Fuse emulator." --></font><br> + name="What's New In Fuse?" id="What's New In Fuse?"></a><!-- AppleSegDescription="This section describes the changes for version 1.0.0 of the Fuse emulator." --></font><br> <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse -For Mac OS X Beta 201012??</font></h2> +For Mac OS X 1.0.0</font></h2> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Changes since last -beta:</font></li> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Support weak data in -+3 disk images (Gergely Szasz).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Extend 80 track -drives to accept disks up to 84 tracks and 40 track drives to accept -disks up to 42 tracks (Gergely Szasz).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix stuck key -problem with shfted extended punctuation keys <>:"_+ (Fredrick -Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Remove RZX -compression option (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Resolve hang when -double-clicking a file to open in Fuse (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Restore handling of -zoom titlebar button events (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Pause emulation -before loading a file from a double click/drag-n-drop when Fuse is -already running (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add x86_64 target to -Universal Binary (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Set track lengths -when inserting a new disk (Gergely Szasz).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Correct writing of -status and system registers to snapshots (Patrik Rak).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for NTSC -ZX Spectrum 48K (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix autoload -snapshots (thanks, Gergely Szasz) (</font><font - face="Lucida Grande,Helvetica,Arial">Fredrick -Meunier</font><font face="Lucida Grande,Helvetica,Arial">).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Query for an initial -snapshot when opening a RZX file which doesn't have one as is common in -competition mode RZX files (Sergio Baldovi).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Don't close a disk -or mdr if a write fails (thanks, Crisis) (Gergely Szasz).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">The Allow Writes to -ROM preference shouldn't affect the 16K machine "empty" page (thanks, -Andrew Owen) (</font><font face="Lucida Grande,Helvetica,Arial">Fredrick -Meunier</font><font face="Lucida Grande,Helvetica,Arial">).<br> - </font></li> - </ul> -</ul> -<ul> <li><font face="Lucida Grande,Helvetica,Arial">New features:</font></li> <li @@ -68,6 +23,9 @@ <ul> <li><font face="Lucida Grande,Helvetica,Arial">Add Opus Discovery disk interface support (Gergely Szasz and Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add support for +NTSC +ZX Spectrum 48K (Philip Kendall).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Support weak data in +3 disk images (Gergely Szasz). </font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add support for @@ -148,8 +106,41 @@ face="Lucida Grande,Helvetica,Arial"> Fuse from quitting (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Make the keyboard -viewer resizable (Fredrick Meunier).<br> - </font></li> +viewer resizable (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Extend 80 track +drives to accept disks up to 84 tracks and 40 track drives to accept +disks up to 42 tracks (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix stuck key +problem with shfted extended punctuation keys <>:"_+ (Fredrick +Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Remove RZX +compression option (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Resolve hang when +double-clicking a file to open in Fuse (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Restore handling of +zoom titlebar button events (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Pause emulation +before loading a file from a double click/drag-n-drop when Fuse is +already running (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add x86_64 target to +Universal Binary (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Set track lengths +when inserting a new disk (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Correct writing of +status and system registers to snapshots (Patrik Rak).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix autoload +snapshots (thanks, Gergely Szasz) (</font><font + face="Lucida Grande,Helvetica,Arial">Fredrick +Meunier</font><font face="Lucida Grande,Helvetica,Arial">).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Query for an initial +snapshot when opening a RZX file which doesn't have one as is common in +competition mode RZX files (Sergio Baldovi).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Don't close a disk +or MDR file if a write fails (thanks, Crisis) (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">The Allow Writes to +ROM preference shouldn't affect the 16K machine "empty" page (thanks, +Andrew Owen) (</font><font face="Lucida Grande,Helvetica,Arial">Fredrick +Meunier</font><font face="Lucida Grande,Helvetica,Arial">).</font></li> </ul> <li><font face="Lucida Grande,Helvetica,Arial">Various other minor bugfixes.</font></li> Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/hacking/ChangeLog 2010-12-18 01:05:06 UTC (rev 663) @@ -3368,5 +3368,7 @@ line ordering (patch #3100707) (Sergio Baldovi). 20101129 ui/fb/fbdisplay.c: only call fbdisplay_end() when display is initialised (fixes bug #3119382) (rkd77). +20101129 ChangeLog,README,man/fuse.1: more 1.0 updates. 20101203 ui/fb/fbdisplay.c: improve fb colour handling and initialise scaler system (fixes bugs #3124787 and #3124788) (rkd77). +20101216 ChangeLog,README,configure.in,man/fuse.1: update for 1.0.0 release. Modified: trunk/fuse/ide/divide.c =================================================================== --- trunk/fuse/ide/divide.c 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/ide/divide.c 2010-12-18 01:05:06 UTC (rev 663) @@ -1,7 +1,7 @@ /* divide.c: DivIDE interface routines Copyright (c) 2005-2008 Matthew Westcott, Philip Kendall - $Id: divide.c 4148 2010-08-25 21:20:50Z pak21 $ + $Id: divide.c 4220 2010-12-17 10:54:29Z 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/ide/divide.h =================================================================== --- trunk/fuse/ide/divide.h 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/ide/divide.h 2010-12-18 01:05:06 UTC (rev 663) @@ -1,7 +1,7 @@ /* divide.h: DivIDE interface routines Copyright (c) 2005 Matthew Westcott - $Id: divide.h 4148 2010-08-25 21:20:50Z pak21 $ + $Id: divide.h 4220 2010-12-17 10:54:29Z 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/ide/ide.c =================================================================== --- trunk/fuse/ide/ide.c 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/ide/ide.c 2010-12-18 01:05:06 UTC (rev 663) @@ -1,7 +1,7 @@ /* ide.c: Generic routines shared between the various IDE devices Copyright (c) 2005 Philip Kendall - $Id: ide.c 4148 2010-08-25 21:20:50Z pak21 $ + $Id: ide.c 4220 2010-12-17 10:54:29Z 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/ide/ide.h =================================================================== --- trunk/fuse/ide/ide.h 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/ide/ide.h 2010-12-18 01:05:06 UTC (rev 663) @@ -1,7 +1,7 @@ /* ide.h: Generic routines shared between the various IDE devices Copyright (c) 2005 Philip Kendall - $Id: ide.h 4148 2010-08-25 21:20:50Z pak21 $ + $Id: ide.h 4220 2010-12-17 10:54:29Z 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/ide/simpleide.c =================================================================== --- trunk/fuse/ide/simpleide.c 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/ide/simpleide.c 2010-12-18 01:05:06 UTC (rev 663) @@ -3,7 +3,7 @@ 2004 Philip Kendall, 2008 Fredrick Meunier - $Id: simpleide.c 4148 2010-08-25 21:20:50Z pak21 $ + $Id: simpleide.c 4220 2010-12-17 10:54:29Z 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/ide/simpleide.h =================================================================== --- trunk/fuse/ide/simpleide.h 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/ide/simpleide.h 2010-12-18 01:05:06 UTC (rev 663) @@ -1,7 +1,7 @@ /* simpleide.h: Simple 8-bit IDE interface routines Copyright (c) 2003-2004 Garry Lancaster - $Id: simpleide.h 4148 2010-08-25 21:20:50Z pak21 $ + $Id: simpleide.h 4220 2010-12-17 10:54:29Z 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/ide/zxatasp.c =================================================================== --- trunk/fuse/ide/zxatasp.c 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/ide/zxatasp.c 2010-12-18 01:05:06 UTC (rev 663) @@ -1,7 +1,7 @@ /* zxatasp.c: ZXATASP interface routines Copyright (c) 2003-2008 Garry Lancaster and Philip Kendall - $Id: zxatasp.c 4148 2010-08-25 21:20:50Z pak21 $ + $Id: zxatasp.c 4220 2010-12-17 10:54:29Z 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/ide/zxatasp.h =================================================================== --- trunk/fuse/ide/zxatasp.h 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/ide/zxatasp.h 2010-12-18 01:05:06 UTC (rev 663) @@ -2,7 +2,7 @@ Copyright (c) 2003-2004 Garry Lancaster, 2004 Philip Kendall - $Id: zxatasp.h 4148 2010-08-25 21:20:50Z pak21 $ + $Id: zxatasp.h 4220 2010-12-17 10:54:29Z 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/ide/zxcf.c =================================================================== --- trunk/fuse/ide/zxcf.c 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/ide/zxcf.c 2010-12-18 01:05:06 UTC (rev 663) @@ -1,7 +1,7 @@ /* zxcf.c: ZXCF interface routines Copyright (c) 2003-2008 Garry Lancaster and Philip Kendall - $Id: zxcf.c 4148 2010-08-25 21:20:50Z pak21 $ + $Id: zxcf.c 4220 2010-12-17 10:54:29Z 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/ide/zxcf.h =================================================================== --- trunk/fuse/ide/zxcf.h 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/ide/zxcf.h 2010-12-18 01:05:06 UTC (rev 663) @@ -2,7 +2,7 @@ Copyright (c) 2003-2004 Garry Lancaster, 2004 Philip Kendall - $Id: zxcf.h 4148 2010-08-25 21:20:50Z pak21 $ + $Id: zxcf.h 4220 2010-12-17 10:54:29Z 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/man/fuse.1 =================================================================== --- trunk/fuse/man/fuse.1 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/fuse/man/fuse.1 2010-12-18 01:05:06 UTC (rev 663) @@ -23,7 +23,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH fuse 1 "FIXME October, 2010" "Version 1.0.0" "Emulators" +.TH fuse 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: trunk/libspectrum/config.h =================================================================== --- trunk/libspectrum/config.h 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/libspectrum/config.h 2010-12-18 01:05:06 UTC (rev 663) @@ -86,7 +86,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "0.5.0" +#define VERSION "1.0.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Property changes on: trunk/libspectrum/libspectrum ___________________________________________________________________ Modified: svn:mergeinfo - /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-659 + /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-662 Modified: trunk/libspectrum/libspectrum/ChangeLog =================================================================== --- trunk/libspectrum/libspectrum/ChangeLog 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/libspectrum/libspectrum/ChangeLog 2010-12-18 01:05:06 UTC (rev 663) @@ -1,4 +1,4 @@ -2010-10-?? Philip Kendall <phi...@sh...> +2010-12-16 Philip Kendall <phi...@sh...> * libspectrum 1.0.0 released. @@ -310,5 +310,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 4165 2010-09-30 21:55:05Z pak21 $ +$Id: ChangeLog 4220 2010-12-17 10:54:29Z fredm $ Modified: trunk/libspectrum/libspectrum/Makefile.am =================================================================== --- trunk/libspectrum/libspectrum/Makefile.am 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/libspectrum/libspectrum/Makefile.am 2010-12-18 01:05:06 UTC (rev 663) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2001-2004 Philip Kendall -## $Id: Makefile.am 4158 2010-09-12 11:49:10Z fredm $ +## $Id: Makefile.am 4220 2010-12-17 10:54:29Z 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 @@ -58,7 +58,7 @@ zlib.c \ zxs.c -libspectrum_la_LDFLAGS = -version-info 7:0:0 -no-undefined @WINDRES_LDFLAGS@ +libspectrum_la_LDFLAGS = -version-info 8:0:0 -no-undefined @WINDRES_LDFLAGS@ libspectrum_la_LIBADD = @AUDIOFILE_LIBS@ -lm Modified: trunk/libspectrum/libspectrum/README =================================================================== --- trunk/libspectrum/libspectrum/README 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/libspectrum/libspectrum/README 2010-12-18 01:05:06 UTC (rev 663) @@ -67,6 +67,6 @@ Then, type "make" and if everything went well, "make install". Philip Kendall <phi...@sh...> -FIXME September 2010 +16 December 2010 -$Id: README 4165 2010-09-30 21:55:05Z pak21 $ +$Id: README 4220 2010-12-17 10:54:29Z fredm $ Modified: trunk/libspectrum/libspectrum/configure.in =================================================================== --- trunk/libspectrum/libspectrum/configure.in 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/libspectrum/libspectrum/configure.in 2010-12-18 01:05:06 UTC (rev 663) @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. dnl Copyright (c) 1999-2008 Philip Kendall -dnl $Id: configure.in 4181 2010-10-10 10:28:09Z fredm $ +dnl $Id: configure.in 4220 2010-12-17 10:54:29Z 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 @@ -24,7 +24,7 @@ AC_INIT(libspectrum.c) AM_CONFIG_HEADER(config.h) -define(LIBSPECTRUM_VERSION, [0.5.1]) +define(LIBSPECTRUM_VERSION, [1.0.0]) dnl Use automake to produce `Makefile.in' AM_INIT_AUTOMAKE(libspectrum, LIBSPECTRUM_VERSION) Modified: trunk/libspectrum/libspectrum/doc/libspectrum.3 =================================================================== --- trunk/libspectrum/libspectrum/doc/libspectrum.3 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/libspectrum/libspectrum/doc/libspectrum.3 2010-12-18 01:05:06 UTC (rev 663) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH libspectrum 3 "3rd December, 2008" "Version 0.5.0" "Emulators" +.TH libspectrum 3 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: trunk/libspectrum/libspectrum/doc/libspectrum.txt =================================================================== --- trunk/libspectrum/libspectrum/doc/libspectrum.txt 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/libspectrum/libspectrum/doc/libspectrum.txt 2010-12-18 01:05:06 UTC (rev 663) @@ -1,4 +1,4 @@ -libspectrum 0.5.0 +libspectrum 1.0.0 ================= libspectrum is a fairly simple library designed to make the handling @@ -166,6 +166,7 @@ LIBSPECTRUM_MACHINE_16 16K Spectrum LIBSPECTRUM_MACHINE_48 48K Spectrum +LIBSPECTRUM_MACHINE_48_NTSC NTSC version of 48K Spectrum LIBSPECTRUM_MACHINE_128 (Original) 128K Spectrum LIBSPECTRUM_MACHINE_PLUS2 Spectrum +2 (the grey one) LIBSPECTRUM_MACHINE_PLUS2A Spectrum +2A (the black one) @@ -1744,4 +1745,4 @@ Write `data' to register `reg' of the IDE channel `chn'. -$Id: libspectrum.txt 4140 2010-07-11 13:02:58Z fredm $ +$Id: libspectrum.txt 4220 2010-12-17 10:54:29Z fredm $ Modified: trunk/libspectrum/libspectrum/hacking/ChangeLog =================================================================== --- trunk/libspectrum/libspectrum/hacking/ChangeLog 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/libspectrum/libspectrum/hacking/ChangeLog 2010-12-18 01:05:06 UTC (rev 663) @@ -787,4 +787,10 @@ 20101003 szx.c,test/{empty.szx,test.c}: we also need to swap A' and F'. 20101010 configure.in: pad version number for Win32 if needed (patch #3084574) (Sergio Baldovi). +20101129 ChangeLog,README,doc/libspectrum.{3,txt}: more 1.0 updates. 20101130 warajevo_read.c: remove potential signedness problem. +20101130 Makefile.am,configure.in: bump version numbers for 1.0 release. +20101216 README,configure.in,doc/libspectrum.3: bump version numbers and dates + for 1.0.0 release. +20101216 ChangeLog: update date here as well. +20101216 test/Makefile.am: ensure all test files are distributed. Modified: trunk/libspectrum/libspectrum/test/Makefile.am =================================================================== --- trunk/libspectrum/libspectrum/test/Makefile.am 2010-12-17 11:05:57 UTC (rev 662) +++ trunk/libspectrum/libspectrum/test/Makefile.am 2010-12-18 01:05:06 UTC (rev 663) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007 Philip Kendall -## $Id: Makefile.am 3832 2008-11-18 03:38:51Z fredm $ +## $Id: Makefile.am 4220 2010-12-17 10:54:29Z 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 @@ -44,6 +44,7 @@ test/complete-tzx.pl \ test/empty-drb.tzx \ test/empty.csw \ + test/empty.szx \ test/empty.z80 \ test/invalid-archiveinfo.tzx \ test/invalid-custominfo.tzx \ @@ -57,6 +58,7 @@ test/loop.tzx \ test/loop2.tzx \ test/loopend.tzx \ + test/plus3.z80 \ test/sp-2000.sna.gz \ test/sp-ffff.sna.gz \ test/turbo-zeropilot.tzx \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-12-17 11:06:03
|
Revision: 662 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=662&view=rev Author: fredm Date: 2010-12-17 11:05:57 +0000 (Fri, 17 Dec 2010) Log Message: ----------- Tag vendor/fuse-emulator/current as vendor/fuse-emulator/fuse-1.0.0-r4220. Added Paths: ----------- vendor/fuse-emulator/fuse-1.0.0-r4220/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-12-17 11:05:26
|
Revision: 661 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=661&view=rev Author: fredm Date: 2010-12-17 11:05:18 +0000 (Fri, 17 Dec 2010) Log Message: ----------- Load . into vendor/fuse-emulator/current. Modified Paths: -------------- vendor/fuse-emulator/current/fuse/ChangeLog vendor/fuse-emulator/current/fuse/README vendor/fuse-emulator/current/fuse/configure.in vendor/fuse-emulator/current/fuse/hacking/ChangeLog vendor/fuse-emulator/current/fuse/ide/divide.c vendor/fuse-emulator/current/fuse/ide/divide.h vendor/fuse-emulator/current/fuse/ide/ide.c vendor/fuse-emulator/current/fuse/ide/ide.h vendor/fuse-emulator/current/fuse/ide/simpleide.c vendor/fuse-emulator/current/fuse/ide/simpleide.h vendor/fuse-emulator/current/fuse/ide/zxatasp.c vendor/fuse-emulator/current/fuse/ide/zxatasp.h vendor/fuse-emulator/current/fuse/ide/zxcf.c vendor/fuse-emulator/current/fuse/ide/zxcf.h vendor/fuse-emulator/current/fuse/man/fuse.1 vendor/fuse-emulator/current/fuse-utils/ChangeLog vendor/fuse-emulator/current/fuse-utils/README vendor/fuse-emulator/current/fuse-utils/configure.in vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog vendor/fuse-emulator/current/fuse-utils/man/audio2tape.1 vendor/fuse-emulator/current/fuse-utils/man/createhdf.1 vendor/fuse-emulator/current/fuse-utils/man/fuse-utils.1 vendor/fuse-emulator/current/fuse-utils/man/listbasic.1 vendor/fuse-emulator/current/fuse-utils/man/profile2map.1 vendor/fuse-emulator/current/fuse-utils/man/raw2hdf.1 vendor/fuse-emulator/current/fuse-utils/man/rzxcheck.1 vendor/fuse-emulator/current/fuse-utils/man/rzxdump.1 vendor/fuse-emulator/current/fuse-utils/man/rzxtool.1 vendor/fuse-emulator/current/fuse-utils/man/scl2trd.1 vendor/fuse-emulator/current/fuse-utils/man/snap2tzx.1 vendor/fuse-emulator/current/fuse-utils/man/snapconv.1 vendor/fuse-emulator/current/fuse-utils/man/tape2wav.1 vendor/fuse-emulator/current/fuse-utils/man/tapeconv.1 vendor/fuse-emulator/current/fuse-utils/man/tzxlist.1 vendor/fuse-emulator/current/libspectrum/ChangeLog vendor/fuse-emulator/current/libspectrum/Makefile.am vendor/fuse-emulator/current/libspectrum/README vendor/fuse-emulator/current/libspectrum/configure.in vendor/fuse-emulator/current/libspectrum/doc/libspectrum.3 vendor/fuse-emulator/current/libspectrum/doc/libspectrum.txt vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog vendor/fuse-emulator/current/libspectrum/test/Makefile.am Modified: vendor/fuse-emulator/current/fuse/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse/ChangeLog 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/ChangeLog 2010-12-17 11:05:18 UTC (rev 661) @@ -1,4 +1,4 @@ -2010-10-xx Philip Kendall <phi...@sh...> +2010-12-16 Philip Kendall <phi...@sh...> * Fuse 1.0.0 released. @@ -1035,4 +1035,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 4165 2010-09-30 21:55:05Z pak21 $ +$Id: ChangeLog 4220 2010-12-17 10:54:29Z fredm $ Modified: vendor/fuse-emulator/current/fuse/README =================================================================== --- vendor/fuse-emulator/current/fuse/README 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/README 2010-12-17 11:05:18 UTC (rev 661) @@ -214,6 +214,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -FIXME October 2010 +16 December 2010 -$Id: README 4172 2010-10-03 22:51:59Z pak21 $ +$Id: README 4220 2010-12-17 10:54:29Z fredm $ Modified: vendor/fuse-emulator/current/fuse/configure.in =================================================================== --- vendor/fuse-emulator/current/fuse/configure.in 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/configure.in 2010-12-17 11:05:18 UTC (rev 661) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in 4181 2010-10-10 10:28:09Z fredm $ +dnl $Id: configure.in 4220 2010-12-17 10:54:29Z 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 @@ -23,7 +23,7 @@ AM_CONFIG_HEADER(config.h) AC_CANONICAL_SYSTEM -define(FUSE_VERSION, [0.10.0.2]) +define(FUSE_VERSION, [1.0.0]) dnl Use automake to produce `Makefile.in' AM_INIT_AUTOMAKE(fuse, FUSE_VERSION) Modified: vendor/fuse-emulator/current/fuse/hacking/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse/hacking/ChangeLog 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/hacking/ChangeLog 2010-12-17 11:05:18 UTC (rev 661) @@ -3368,5 +3368,7 @@ line ordering (patch #3100707) (Sergio Baldovi). 20101129 ui/fb/fbdisplay.c: only call fbdisplay_end() when display is initialised (fixes bug #3119382) (rkd77). +20101129 ChangeLog,README,man/fuse.1: more 1.0 updates. 20101203 ui/fb/fbdisplay.c: improve fb colour handling and initialise scaler system (fixes bugs #3124787 and #3124788) (rkd77). +20101216 ChangeLog,README,configure.in,man/fuse.1: update for 1.0.0 release. Modified: vendor/fuse-emulator/current/fuse/ide/divide.c =================================================================== --- vendor/fuse-emulator/current/fuse/ide/divide.c 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/ide/divide.c 2010-12-17 11:05:18 UTC (rev 661) @@ -1,7 +1,7 @@ /* divide.c: DivIDE interface routines Copyright (c) 2005-2008 Matthew Westcott, Philip Kendall - $Id: divide.c 4148 2010-08-25 21:20:50Z pak21 $ + $Id: divide.c 4220 2010-12-17 10:54:29Z 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: vendor/fuse-emulator/current/fuse/ide/divide.h =================================================================== --- vendor/fuse-emulator/current/fuse/ide/divide.h 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/ide/divide.h 2010-12-17 11:05:18 UTC (rev 661) @@ -1,7 +1,7 @@ /* divide.h: DivIDE interface routines Copyright (c) 2005 Matthew Westcott - $Id: divide.h 4148 2010-08-25 21:20:50Z pak21 $ + $Id: divide.h 4220 2010-12-17 10:54:29Z 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: vendor/fuse-emulator/current/fuse/ide/ide.c =================================================================== --- vendor/fuse-emulator/current/fuse/ide/ide.c 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/ide/ide.c 2010-12-17 11:05:18 UTC (rev 661) @@ -1,7 +1,7 @@ /* ide.c: Generic routines shared between the various IDE devices Copyright (c) 2005 Philip Kendall - $Id: ide.c 4148 2010-08-25 21:20:50Z pak21 $ + $Id: ide.c 4220 2010-12-17 10:54:29Z 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: vendor/fuse-emulator/current/fuse/ide/ide.h =================================================================== --- vendor/fuse-emulator/current/fuse/ide/ide.h 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/ide/ide.h 2010-12-17 11:05:18 UTC (rev 661) @@ -1,7 +1,7 @@ /* ide.h: Generic routines shared between the various IDE devices Copyright (c) 2005 Philip Kendall - $Id: ide.h 4148 2010-08-25 21:20:50Z pak21 $ + $Id: ide.h 4220 2010-12-17 10:54:29Z 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: vendor/fuse-emulator/current/fuse/ide/simpleide.c =================================================================== --- vendor/fuse-emulator/current/fuse/ide/simpleide.c 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/ide/simpleide.c 2010-12-17 11:05:18 UTC (rev 661) @@ -3,7 +3,7 @@ 2004 Philip Kendall, 2008 Fredrick Meunier - $Id: simpleide.c 4148 2010-08-25 21:20:50Z pak21 $ + $Id: simpleide.c 4220 2010-12-17 10:54:29Z 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: vendor/fuse-emulator/current/fuse/ide/simpleide.h =================================================================== --- vendor/fuse-emulator/current/fuse/ide/simpleide.h 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/ide/simpleide.h 2010-12-17 11:05:18 UTC (rev 661) @@ -1,7 +1,7 @@ /* simpleide.h: Simple 8-bit IDE interface routines Copyright (c) 2003-2004 Garry Lancaster - $Id: simpleide.h 4148 2010-08-25 21:20:50Z pak21 $ + $Id: simpleide.h 4220 2010-12-17 10:54:29Z 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: vendor/fuse-emulator/current/fuse/ide/zxatasp.c =================================================================== --- vendor/fuse-emulator/current/fuse/ide/zxatasp.c 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/ide/zxatasp.c 2010-12-17 11:05:18 UTC (rev 661) @@ -1,7 +1,7 @@ /* zxatasp.c: ZXATASP interface routines Copyright (c) 2003-2008 Garry Lancaster and Philip Kendall - $Id: zxatasp.c 4148 2010-08-25 21:20:50Z pak21 $ + $Id: zxatasp.c 4220 2010-12-17 10:54:29Z 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: vendor/fuse-emulator/current/fuse/ide/zxatasp.h =================================================================== --- vendor/fuse-emulator/current/fuse/ide/zxatasp.h 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/ide/zxatasp.h 2010-12-17 11:05:18 UTC (rev 661) @@ -2,7 +2,7 @@ Copyright (c) 2003-2004 Garry Lancaster, 2004 Philip Kendall - $Id: zxatasp.h 4148 2010-08-25 21:20:50Z pak21 $ + $Id: zxatasp.h 4220 2010-12-17 10:54:29Z 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: vendor/fuse-emulator/current/fuse/ide/zxcf.c =================================================================== --- vendor/fuse-emulator/current/fuse/ide/zxcf.c 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/ide/zxcf.c 2010-12-17 11:05:18 UTC (rev 661) @@ -1,7 +1,7 @@ /* zxcf.c: ZXCF interface routines Copyright (c) 2003-2008 Garry Lancaster and Philip Kendall - $Id: zxcf.c 4148 2010-08-25 21:20:50Z pak21 $ + $Id: zxcf.c 4220 2010-12-17 10:54:29Z 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: vendor/fuse-emulator/current/fuse/ide/zxcf.h =================================================================== --- vendor/fuse-emulator/current/fuse/ide/zxcf.h 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/ide/zxcf.h 2010-12-17 11:05:18 UTC (rev 661) @@ -2,7 +2,7 @@ Copyright (c) 2003-2004 Garry Lancaster, 2004 Philip Kendall - $Id: zxcf.h 4148 2010-08-25 21:20:50Z pak21 $ + $Id: zxcf.h 4220 2010-12-17 10:54:29Z 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: vendor/fuse-emulator/current/fuse/man/fuse.1 =================================================================== --- vendor/fuse-emulator/current/fuse/man/fuse.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse/man/fuse.1 2010-12-17 11:05:18 UTC (rev 661) @@ -23,7 +23,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH fuse 1 "FIXME October, 2010" "Version 1.0.0" "Emulators" +.TH fuse 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse-utils/ChangeLog 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/ChangeLog 2010-12-17 11:05:18 UTC (rev 661) @@ -1,3 +1,23 @@ +2010-12-16 Philip Kendall <phi...@sh...> + + * Version 1.0.0 released + + * audio2tape + * work with stereo sound files (Fredrick Meunier; thanks, + Gilberto Almeida). + * don't crash on an empty ROM block (Fredrick Meunier). + + * tzxlist + * print data from ROM header blocks (Fredrick Meunier). + * Assume non-ASCII characters are in Windows-1252 (Fredrick + Meunier). + + * snapconv: add -f flag to fix .szx files written with old + versions of libspectrum (Fredrick Meunier). + + * raw2hdf: ensure version data is always written (Fredrick + Meunier; thanks, UB880D). + 2008-12-10 Philip Kendall <phi...@sh...> * Version 0.10.0.1 released Modified: vendor/fuse-emulator/current/fuse-utils/README =================================================================== --- vendor/fuse-emulator/current/fuse-utils/README 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/README 2010-12-17 11:05:18 UTC (rev 661) @@ -1,5 +1,5 @@ -The Fuse utilities version 0.10.0.1 -=================================== +The Fuse utilities version 1.0.0 +================================ The Fuse utilities are a few tools which may be of occasional use when dealing with ZX Spectrum emulator files. They were originally @@ -60,6 +60,6 @@ running 'configure' for the first time. Philip Kendall <phi...@sh...> -10 December 2008 +16 December 2010 -$Id: README 3901 2008-12-10 19:36:02Z pak21 $ +$Id: README 4220 2010-12-17 10:54:29Z fredm $ Modified: vendor/fuse-emulator/current/fuse-utils/configure.in =================================================================== --- vendor/fuse-emulator/current/fuse-utils/configure.in 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/configure.in 2010-12-17 11:05:18 UTC (rev 661) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in 4144 2010-08-06 13:44:35Z fredm $ +dnl $Id: configure.in 4220 2010-12-17 10:54:29Z 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 @@ -23,7 +23,7 @@ AM_CONFIG_HEADER(config.h) dnl Use automake to produce `Makefile.in' -AM_INIT_AUTOMAKE(fuse-utils, 0.10.0.1) +AM_INIT_AUTOMAKE(fuse-utils, [1.0.0]) dnl Checks for programs. AC_PROG_CC Modified: vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog 2010-12-17 11:05:18 UTC (rev 661) @@ -312,5 +312,8 @@ A and F being transposed. 20101007 raw2hdf.c: add missing default for version (fixes bug #3082566; thanks, UB880D) (Fred). +20101129 ChangeLog,README,man/*.1: updates for 1.0. 20101206 Makefile.am: remember to put all compat directories in the dist tarball (thanks, kizmiaz). +20101216 README,configure.in,man/*.1: updates for 1.0.0 release. +20101216 ChangeLog: update date here as well. Modified: vendor/fuse-emulator/current/fuse-utils/man/audio2tape.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/audio2tape.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/audio2tape.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: fr...@sp... .\" .\" -.TH audio2tape 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH audio2tape 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/createhdf.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/createhdf.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/createhdf.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH createhdf 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH createhdf 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/fuse-utils.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/fuse-utils.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/fuse-utils.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH fuse\-utils 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH fuse\-utils 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/listbasic.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/listbasic.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/listbasic.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH listbasic 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH listbasic 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/profile2map.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/profile2map.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/profile2map.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH profile2map 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH profile2map 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/raw2hdf.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/raw2hdf.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/raw2hdf.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH raw2hdf 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH raw2hdf 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/rzxcheck.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/rzxcheck.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/rzxcheck.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH rzxcheck 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH rzxcheck 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/rzxdump.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/rzxdump.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/rzxdump.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH rzxdump 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH rzxdump 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/rzxtool.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/rzxtool.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/rzxtool.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH rzxtool 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH rzxtool 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/scl2trd.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/scl2trd.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/scl2trd.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH scl2trd 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH scl2trd 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/snap2tzx.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/snap2tzx.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/snap2tzx.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH snap2tzx 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH snap2tzx 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/snapconv.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/snapconv.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/snapconv.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH snapconv 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH snapconv 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/tape2wav.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/tape2wav.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/tape2wav.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: fr...@sp... .\" .\" -.TH tape2wav 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH tape2wav 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/tapeconv.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/tapeconv.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/tapeconv.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH tapeconv 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH tapeconv 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse-utils/man/tzxlist.1 =================================================================== --- vendor/fuse-emulator/current/fuse-utils/man/tzxlist.1 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/fuse-utils/man/tzxlist.1 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH tzxlist 1 "10th December, 2008" "Version 0.10.0.1" "Emulators" +.TH tzxlist 1 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/libspectrum/ChangeLog =================================================================== --- vendor/fuse-emulator/current/libspectrum/ChangeLog 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/libspectrum/ChangeLog 2010-12-17 11:05:18 UTC (rev 661) @@ -1,4 +1,4 @@ -2010-10-?? Philip Kendall <phi...@sh...> +2010-12-16 Philip Kendall <phi...@sh...> * libspectrum 1.0.0 released. @@ -310,5 +310,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 4165 2010-09-30 21:55:05Z pak21 $ +$Id: ChangeLog 4220 2010-12-17 10:54:29Z fredm $ Modified: vendor/fuse-emulator/current/libspectrum/Makefile.am =================================================================== --- vendor/fuse-emulator/current/libspectrum/Makefile.am 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/libspectrum/Makefile.am 2010-12-17 11:05:18 UTC (rev 661) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2001-2004 Philip Kendall -## $Id: Makefile.am 4158 2010-09-12 11:49:10Z fredm $ +## $Id: Makefile.am 4220 2010-12-17 10:54:29Z 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 @@ -58,7 +58,7 @@ zlib.c \ zxs.c -libspectrum_la_LDFLAGS = -version-info 7:0:0 -no-undefined @WINDRES_LDFLAGS@ +libspectrum_la_LDFLAGS = -version-info 8:0:0 -no-undefined @WINDRES_LDFLAGS@ libspectrum_la_LIBADD = @AUDIOFILE_LIBS@ -lm Modified: vendor/fuse-emulator/current/libspectrum/README =================================================================== --- vendor/fuse-emulator/current/libspectrum/README 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/libspectrum/README 2010-12-17 11:05:18 UTC (rev 661) @@ -67,6 +67,6 @@ Then, type "make" and if everything went well, "make install". Philip Kendall <phi...@sh...> -FIXME September 2010 +16 December 2010 -$Id: README 4165 2010-09-30 21:55:05Z pak21 $ +$Id: README 4220 2010-12-17 10:54:29Z fredm $ Modified: vendor/fuse-emulator/current/libspectrum/configure.in =================================================================== --- vendor/fuse-emulator/current/libspectrum/configure.in 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/libspectrum/configure.in 2010-12-17 11:05:18 UTC (rev 661) @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. dnl Copyright (c) 1999-2008 Philip Kendall -dnl $Id: configure.in 4181 2010-10-10 10:28:09Z fredm $ +dnl $Id: configure.in 4220 2010-12-17 10:54:29Z 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 @@ -24,7 +24,7 @@ AC_INIT(libspectrum.c) AM_CONFIG_HEADER(config.h) -define(LIBSPECTRUM_VERSION, [0.5.1]) +define(LIBSPECTRUM_VERSION, [1.0.0]) dnl Use automake to produce `Makefile.in' AM_INIT_AUTOMAKE(libspectrum, LIBSPECTRUM_VERSION) Modified: vendor/fuse-emulator/current/libspectrum/doc/libspectrum.3 =================================================================== --- vendor/fuse-emulator/current/libspectrum/doc/libspectrum.3 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/libspectrum/doc/libspectrum.3 2010-12-17 11:05:18 UTC (rev 661) @@ -22,7 +22,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH libspectrum 3 "3rd December, 2008" "Version 0.5.0" "Emulators" +.TH libspectrum 3 "16th December, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/libspectrum/doc/libspectrum.txt =================================================================== --- vendor/fuse-emulator/current/libspectrum/doc/libspectrum.txt 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/libspectrum/doc/libspectrum.txt 2010-12-17 11:05:18 UTC (rev 661) @@ -1,4 +1,4 @@ -libspectrum 0.5.0 +libspectrum 1.0.0 ================= libspectrum is a fairly simple library designed to make the handling @@ -166,6 +166,7 @@ LIBSPECTRUM_MACHINE_16 16K Spectrum LIBSPECTRUM_MACHINE_48 48K Spectrum +LIBSPECTRUM_MACHINE_48_NTSC NTSC version of 48K Spectrum LIBSPECTRUM_MACHINE_128 (Original) 128K Spectrum LIBSPECTRUM_MACHINE_PLUS2 Spectrum +2 (the grey one) LIBSPECTRUM_MACHINE_PLUS2A Spectrum +2A (the black one) @@ -1744,4 +1745,4 @@ Write `data' to register `reg' of the IDE channel `chn'. -$Id: libspectrum.txt 4140 2010-07-11 13:02:58Z fredm $ +$Id: libspectrum.txt 4220 2010-12-17 10:54:29Z fredm $ Modified: vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog =================================================================== --- vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog 2010-12-17 11:05:18 UTC (rev 661) @@ -787,4 +787,10 @@ 20101003 szx.c,test/{empty.szx,test.c}: we also need to swap A' and F'. 20101010 configure.in: pad version number for Win32 if needed (patch #3084574) (Sergio Baldovi). +20101129 ChangeLog,README,doc/libspectrum.{3,txt}: more 1.0 updates. 20101130 warajevo_read.c: remove potential signedness problem. +20101130 Makefile.am,configure.in: bump version numbers for 1.0 release. +20101216 README,configure.in,doc/libspectrum.3: bump version numbers and dates + for 1.0.0 release. +20101216 ChangeLog: update date here as well. +20101216 test/Makefile.am: ensure all test files are distributed. Modified: vendor/fuse-emulator/current/libspectrum/test/Makefile.am =================================================================== --- vendor/fuse-emulator/current/libspectrum/test/Makefile.am 2010-12-08 11:29:46 UTC (rev 660) +++ vendor/fuse-emulator/current/libspectrum/test/Makefile.am 2010-12-17 11:05:18 UTC (rev 661) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007 Philip Kendall -## $Id: Makefile.am 3832 2008-11-18 03:38:51Z fredm $ +## $Id: Makefile.am 4220 2010-12-17 10:54:29Z 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 @@ -44,6 +44,7 @@ test/complete-tzx.pl \ test/empty-drb.tzx \ test/empty.csw \ + test/empty.szx \ test/empty.z80 \ test/invalid-archiveinfo.tzx \ test/invalid-custominfo.tzx \ @@ -57,6 +58,7 @@ test/loop.tzx \ test/loop2.tzx \ test/loopend.tzx \ + test/plus3.z80 \ test/sp-2000.sna.gz \ test/sp-ffff.sna.gz \ test/turbo-zeropilot.tzx \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-12-08 11:29:53
|
Revision: 660 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=660&view=rev Author: fredm Date: 2010-12-08 11:29:46 +0000 (Wed, 08 Dec 2010) Log Message: ----------- Merge up to vendor revision 4209. Revision Links: -------------- http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=4209&view=rev Modified Paths: -------------- trunk/fuse/fusepb/resources/Fuse Help/html/about.html trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/machine.html trunk/fuse/fusepb/resources/Fuse Help/html/opus.html trunk/fuse/fusepb/resources/Fuse Help/html/plusd.html trunk/fuse/fusepb/resources/Fuse Help/html/trdos.html trunk/fuse/hacking/ChangeLog trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/ui/fb/fbdisplay.c trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum/warajevo_read.c Property Changed: ---------------- trunk/fuse/ trunk/fuse/fusepb/libspectrum.h trunk/libspectrum/libspectrum/ Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo - /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-655 + /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-659 Property changes on: trunk/fuse/fusepb/libspectrum.h ___________________________________________________________________ Modified: svn:mergeinfo - /vendor/fuse-emulator/current/fuse/fusepb/libspectrum.h:638-655 /vendor/fuse-emulator/current/libspectrum/libspectrum.h.in:538-600 + /vendor/fuse-emulator/current/fuse/fusepb/libspectrum.h:638-659 /vendor/fuse-emulator/current/libspectrum/libspectrum.h.in:538-600 Modified: trunk/fuse/fusepb/resources/Fuse Help/html/about.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/about.html 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/fuse/fusepb/resources/Fuse Help/html/about.html 2010-12-08 11:29:46 UTC (rev 660) @@ -1,7 +1,11 @@ -<!-- AppleSegStart="About Fuse" --> +<!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="About Fuse" --> <title>About Fuse</title> </head> +<body> <div class="refentry" xml:lang="en" lang="en"> <font face="Lucida Grande,Helvetica,Arial"><a name="About Fuse"></a><!-- AppleSegDescription="This section describes the Fuse emulator." --></font> <div class="refsect1" xml:lang="en" lang="en"> @@ -18,17 +22,18 @@ snapshots and TZX and TAP tape files is supported. The SLT extension to the Z80 format is -partly supported (enough for multi-load games); however, loading of -the old DAT-file variant is not. DSK disk images are supported when -emulating a +3, TRD and SCL disk images are supported when -emulating a Pentagon or Scorpion ZS 256 and MGT and IMG disk images are -supported when emulating the +D interface. DCK cartridge images are -supported when emulating a Timex TC2068 or TS2068. Interface II ROM -cartriges are also -supported.</font></p> +partly supported (enough for multi-load games); however, loading of the +old DAT-file variant is not. DSK, UDI, FDI, TR0, SDF, MGT, IMG, SAD, +TRD, SCL and OPD disk images are supported when a disk interface is +being emulated, including the integrated disk drives on +3, Pentagon or +Scorpion machines as well as the +D, Opus Discovery and Beta 128 +interfaces. DCK cartridge images are supported when emulating a Timex +2068 variant. Interface II ROM cartridges are also supported.</font></p> <p><font face="Lucida Grande,Helvetica,Arial">Finally, there is also support for reading and writing the RZX input recording format.</font></p> </div> <!-- AppleSegEnd --> +</body> +</html> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2010-12-08 11:29:46 UTC (rev 660) @@ -14,7 +14,7 @@ name="What's New In Fuse?" id="What's New In Fuse?"></a><!-- AppleSegDescription="This section describes the changes for version 0.10.0 of the Fuse emulator." --></font><br> <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse -For Mac OS X Beta 201010??</font></h2> +For Mac OS X Beta 201012??</font></h2> <ul> <li><font face="Lucida Grande,Helvetica,Arial">Changes since last beta:</font></li> @@ -45,12 +45,18 @@ <li><font face="Lucida Grande,Helvetica,Arial">Add support for NTSC ZX Spectrum 48K (Philip Kendall).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix autoload -snapshots (thanks, Gergely Szasz) (Fred).</font></li> +snapshots (thanks, Gergely Szasz) (</font><font + face="Lucida Grande,Helvetica,Arial">Fredrick +Meunier</font><font face="Lucida Grande,Helvetica,Arial">).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Query for an initial snapshot when opening a RZX file which doesn't have one as is common in competition mode RZX files (Sergio Baldovi).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Don't close a disk -or mdr if a write fails (thanks, Crisis) (Gergely Szasz).<br> +or mdr if a write fails (thanks, Crisis) (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">The Allow Writes to +ROM preference shouldn't affect the 16K machine "empty" page (thanks, +Andrew Owen) (</font><font face="Lucida Grande,Helvetica,Arial">Fredrick +Meunier</font><font face="Lucida Grande,Helvetica,Arial">).<br> </font></li> </ul> </ul> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/machine.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/machine.html 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/fuse/fusepb/resources/Fuse Help/html/machine.html 2010-12-08 11:29:46 UTC (rev 660) @@ -19,7 +19,10 @@ more technical information -can be found at +can +be +found +at <a href="http://www.worldofspectrum.org/faq/reference/reference.htm">http://www.worldofspectrum.org/faq/reference/reference.htm</a>.</font></p> <p style="margin-left: 40px;"> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Spectrum @@ -30,7 +33,15 @@ released by Sinclair in 1982 with 16 or 48K of RAM respectively.</font></p> <p style="margin-left: 40px;"> -<span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Spectrum +<span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><font + face="Lucida Grande,Helvetica,Arial"><em>Spectrum 48K (NTSC)</em></font></font></span> +<font face="Lucida Grande,Helvetica,Arial"><font + face="Lucida Grande,Helvetica,Arial">The NTSC 48K machine released in +limited numbers in +parts of South America.</font></font> +</p> +<p style="margin-left: 40px;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Spectrum 128K</em></font></span> <font face="Lucida Grande,Helvetica,Arial">The 128K machine as released by Sinclair in 1985 (Spain) or 1986 (UK).</font></p> @@ -91,7 +102,10 @@ of the Pentagon -Russian Spectrum clones which incorporate more +Russian +Spectrum +clones +which incorporate more memory and the "Mr Gluk Reset Service" ROM offering a more powerful firmware.</font></p> <p style="margin-left: 40px;"><span class="emphasis"><font @@ -102,13 +116,19 @@ of the Spectrum. -Some details can be found at +Some +details +can +be found at <a href="http://www.worldofspectrum.org/rusfaq/index.html">http://www.worldofspectrum.org/rusfaq/index.html</a>, like all the Russian -clones they have built in 3.5" disk drives, +clones +they +have +built in 3.5" disk drives, accessed via the Betadisk interface and TR-DOS (the Technology Research Disk Operating System). The most important distinction from the Pentagon Modified: trunk/fuse/fusepb/resources/Fuse Help/html/opus.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/opus.html 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/fuse/fusepb/resources/Fuse Help/html/opus.html 2010-12-08 11:29:46 UTC (rev 660) @@ -1,6 +1,8 @@ <!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="Opus Discovery Emulation" --> <title>Opus Discovery Emulation</title> </head> @@ -14,9 +16,11 @@ the Opus Discovery interface with the optional 2k RAM expansion and a second 40 track single sided disk drive.<br> </font></p> -<p><font face="Lucida Grande,Helvetica,Arial">Fuse supports .OPD and -.OPU -images in its Opus Discovery emulation. The Opus Discoveries' printer +<p><font face="Lucida Grande,Helvetica,Arial">See the <font + face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>DISK +FILE FORMATS</em></span></font> +section for more details on supported disk file formats.</font><font + face="Lucida Grande,Helvetica,Arial"> The Opus Discoveries' printer port is also emulated for output only. (See the </font><font face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>PRINTER EMULATION</em></span></font><font face="Lucida Grande,Helvetica,Arial"> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/plusd.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/plusd.html 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/fuse/fusepb/resources/Fuse Help/html/plusd.html 2010-12-08 11:29:46 UTC (rev 660) @@ -1,14 +1,23 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> <head> -<!-- AppleSegStart="+D Emulation" --> + +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><!-- AppleSegStart="+D Emulation" --> <title>+D Emulation</title> </head> +<body> <font face="Lucida Grande,Helvetica,Arial"><a name="+D EMULATION"></a><!-- AppleSegDescription="This section describes the +D interface emulation in Fuse." --></font> <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">+D Emulation</font></h2> </div> <p> -<font face="Lucida Grande,Helvetica,Arial">Fuse supports .MGT and .IMG -images in its +D emulation. The +D's printer port is emulated. (See the +<font face="Lucida Grande,Helvetica,Arial">Fuse supports emulating the ++D disk and printer interface. See the <font + face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>DISK +FILE FORMATS</em></span></font> +section for more details on supported disk file formats.</font><font + face="Lucida Grande,Helvetica,Arial"> The +D's printer port is +emulated. (See the </font><font face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>PRINTER EMULATION</em></span></font><font face="Lucida Grande,Helvetica,Arial"> section for more details.) The +D may only be used with 48K, 128K and @@ -30,3 +39,5 @@ screenshots to be printed (in monochrome) if printer emulation is enabled.</font></p> <!-- AppleSegEnd --> +</body> +</html> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/trdos.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/trdos.html 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/fuse/fusepb/resources/Fuse Help/html/trdos.html 2010-12-08 11:29:46 UTC (rev 660) @@ -1,6 +1,8 @@ <!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="Beta 128 Emulation" --> <title>Beta 128 Emulation</title> </head> @@ -10,15 +12,22 @@ <h2><font face="Lucida Grande,Helvetica,Arial">Beta 128 Emulation</font></h2> </div> <p> -<font face="Lucida Grande,Helvetica,Arial">Fuse supports .SCL and .TRD -images in its Pentagon and Scorpion emulation, and also under 128K and +<font face="Lucida Grande,Helvetica,Arial">Fuse supports Betadisk +emulation in its Pentagon and Scorpion emulation, and also under 128K +and +2 (but not +2A) emulation if the </font><font face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>Beta 128 interface option</em></span></font><font face="Lucida Grande,Helvetica,Arial"> from the </font><font face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>Preferences, Peripherals...</em></span></font><font - face="Lucida Grande,Helvetica,Arial"> dialog is enabled.</font></p> + face="Lucida Grande,Helvetica,Arial"> dialog is enabled.<br> +</font></p> +<p><font face="Lucida Grande,Helvetica,Arial">See the <font + face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>DISK +FILE FORMATS</em></span></font> +section for more details on supported disk file formats.<br> +</font></p> <!-- AppleSegEnd --> </body> </html> Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/fuse/hacking/ChangeLog 2010-12-08 11:29:46 UTC (rev 660) @@ -3361,3 +3361,12 @@ 20101011 ui/gtk/gtkdisplay.c: resize window when machine selection switches between Timex and non-Timex modes (fixes bug #3084862) (thanks, Phil) (Fred). +20101025 memory.c: writable_roms preference shouldn't affect the 16K machine + "empty" page (thanks, Andrew Owen) (Fred). +20101029 man/fuse.1: some updates to bring things a bit more up to date (Fred). +20101102 man/fuse.1: remove reference to fixed issue in RZX playback command + line ordering (patch #3100707) (Sergio Baldovi). +20101129 ui/fb/fbdisplay.c: only call fbdisplay_end() when display is + initialised (fixes bug #3119382) (rkd77). +20101203 ui/fb/fbdisplay.c: improve fb colour handling and initialise scaler + system (fixes bugs #3124787 and #3124788) (rkd77). Modified: trunk/fuse/man/fuse.1 =================================================================== --- trunk/fuse/man/fuse.1 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/fuse/man/fuse.1 2010-12-08 11:29:46 UTC (rev 660) @@ -54,10 +54,12 @@ virtual-tape files. Saving to SZX, Z80 and SNA snapshots and TZX and TAP tape files is supported. The SLT extension to the Z80 format is partly supported (enough for multi-load games); however, loading of -the old DAT-file variant is not. DSK disk images are supported when -emulating a +3, TRD and SCL disk images are supported when emulating -a Pentagon or Scorpion and DCK cartridge images are supported when -emulating a Timex 2068 variant. Interface II ROM cartridges are also +the old DAT-file variant is not. DSK, UDI, FDI, TR0, SDF, MGT, IMG, +SAD, TRD, SCL and OPD disk images are supported when a disk interface +is being emulated, including the integrated disk drives on +3, +Pentagon or Scorpion machines as well as the +D, Opus Discovery and +Beta 128 interfaces. DCK cartridge images are supported when +emulating a Timex 2068 variant. Interface II ROM cartridges are also supported. .PP Finally, there is also support for reading and writing the RZX input recording @@ -435,6 +437,7 @@ a 48K Spectrum. The available options are .IR 16 , .IR 48 , +.IR 48_ntsc, .IR 128 , .IR plus2 , .IR plus2a , @@ -445,8 +448,9 @@ .IR pentagon , .IR pentagon512 , .IR pentagon1024 , +.IR scorpion and -.IR scorpion . +.IR se . .RE .PP .I "\-\-melodik" @@ -1669,9 +1673,9 @@ .RE .PP .I "AY volume" +.RS +Sets the relative volume of the AY-3-8912 chip from a range of 0-100%. .RE -Sets the relative volume of the AY-3-8912 chip from a range of 0-100%. -.RS .PP .I "Beeper volume" .RS @@ -2104,6 +2108,12 @@ of RAM respectively. .RE .PP +.I "Spectrum 48K (NTSC)" +.RS +The NTSC 48K machine released in limited numbers in parts of South +America. +.RE +.PP .I "Spectrum 128K" .RS The 128K machine as released by Sinclair in 1985 (Spain) or 1986 (UK). @@ -3494,13 +3504,16 @@ .\" .SH BETA 128 EMULATION .PP -Fuse supports .SCL and .TRD images in its Pentagon and Scorpion +Fuse supports Betadisk emulation in its Pentagon and Scorpion emulation, and also under 48K, TC2048, 128K and +2 (but not +2A) emulation if the .I Beta 128 interface option from the .I "Options, Peripherals..." dialog is enabled. +See the +.B "DISK FILE FORMATS" +section for mode details on supported disk file formats. .\" .\"------------------------------------------------------------------ .\" @@ -3508,7 +3521,9 @@ .PP By default, Fuse emulates the Opus Discovery interface with the optional 2k RAM expansion and a second 40 track single sided disk drive. -Fuse supports .OPD and .OPU images in its Opus Discovery emulation. The Opus +See the +.B "DISK FILE FORMATS" +section for mode details on supported disk file formats. The Opus Discovery's printer port is also emulated for output only. (See the .B "PRINTER EMULATION" section for more details.) The Opus Discovery may only be @@ -3519,7 +3534,9 @@ .\" .SH +D EMULATION .PP -Fuse supports .MGT and .IMG images in its +D emulation. The +D's +Fuse supports emulating the +D disk and printer interface. See the +.B "DISK FILE FORMATS" +section for mode details on supported disk file formats. The +D's printer port is emulated. (See the .B "PRINTER EMULATION" section for more details.) The +D may only be @@ -3674,13 +3691,6 @@ Selecting a startup filter doesn't work properly with user interfaces other than SDL and GTK+. .PP -Attempting to replay an RZX file without an embedded snapshot from the -command-line doesn't work if you do `./fuse -.IR "rzxfile snapshot" '. -`./fuse -.IR "snapshot rzxfile" ' -does work though, so use that instead. -.PP Changing virtual consoles when using SVGAlib for joystick support causes Fuse to exit. If this is a problem, compile Fuse with the .RI ` \-\-disable\-ui\-joystick ' Modified: trunk/fuse/memory.c =================================================================== --- trunk/fuse/memory.c 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/fuse/memory.c 2010-12-08 11:29:46 UTC (rev 660) @@ -1,7 +1,7 @@ /* memory.c: Routines for accessing memory Copyright (c) 1999-2004 Philip Kendall - $Id: memory.c 4099 2009-10-22 10:59:02Z fredm $ + $Id: memory.c 4186 2010-10-25 10:29:45Z 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 @@ -276,7 +276,9 @@ if( opus_active && address >= 0x2800 && address < 0x3800 ) { opus_write( address, b ); - } else if( mapping->writable || settings_current.writable_roms ) { + } else if( mapping->writable || + (mapping->bank != MEMORY_BANK_NONE && + settings_current.writable_roms) ) { libspectrum_word offset = address & 0x1fff; libspectrum_byte *memory = mapping->page; Modified: trunk/fuse/ui/fb/fbdisplay.c =================================================================== --- trunk/fuse/ui/fb/fbdisplay.c 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/fuse/ui/fb/fbdisplay.c 2010-12-08 11:29:46 UTC (rev 660) @@ -2,7 +2,7 @@ Copyright (c) 2000-2003 Philip Kendall, Matan Ziv-Av, Darren Salt, Witold Filipczyk - $Id: fbdisplay.c 3992 2009-03-29 11:28:17Z fredm $ + $Id: fbdisplay.c 4205 2010-12-03 10:39:39Z 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 @@ -27,6 +27,7 @@ #include <config.h> #include <errno.h> +#include <math.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> @@ -66,7 +67,7 @@ /* Are we in a Timex display mode? */ static int hires; -static int register_scalers( void ); +static void register_scalers( void ); /* probably 0rrrrrgggggbbbbb */ static short rgbs[16], greys[16]; @@ -77,6 +78,7 @@ static struct fb_fix_screeninfo fixed; static struct fb_var_screeninfo orig_display, display; static int got_orig_display = 0; +static int changed_palette = 0; unsigned long fb_resolution; /* == xres << 16 | yres */ #define FB_RES(X,Y) ((X) << 16 | (Y)) @@ -127,20 +129,20 @@ { 320, 240, 80000, 40, 28, 9, 2, 20, 3, 0, 1 }, ** 320x240-60 60.310 M tall { 320, 240, 55555, 52, 16, 12, 0, 28, 2, 0, 1 }, ** 320x240-85 85.177 M */ + +static unsigned short red16[256], green16[256], blue16[256], transp16[256]; +static struct fb_cmap orig_cmap = {0, 256, red16, green16, blue16, transp16}; + static int fb_set_mode( void ); int uidisplay_init( int width, int height ) { - int error; - hires = ( width == 640 ? 1 : 0 ); - scaler_register_clear(); - image_width = width; image_height = height; image_scale = width / DISPLAY_ASPECT_WIDTH; - error = register_scalers(); if( error ) return error; + register_scalers(); display_ui_initialised = 1; @@ -149,20 +151,40 @@ return 0; } -static int +static void register_scalers( void ) { - return 0; + scaler_register_clear(); + scaler_select_bitformat( 565 ); /* 16bit always */ + scaler_register( SCALER_NORMAL ); } +static void +linear_palette(struct fb_cmap *p_cmap) +{ + int i; + int rcols = 1 << display.red.length; + int gcols = 1 << display.green.length; + int bcols = 1 << display.blue.length; + + for (i = 0; i < rcols; i++) + p_cmap->red[i] = (65535 / (rcols - 1)) * i; + + for (i = 0; i < gcols; i++) + p_cmap->green[i] = (65535 / (gcols - 1)) * i; + + for (i = 0; i < bcols; i++) + p_cmap->blue[i] = (65535 / (bcols - 1)) * i; +} + int fbdisplay_init(void) { int i; const char *dev; - static libspectrum_word paldata[20] = { 0, 0xbbbb, 0xffff }; - static const struct fb_cmap fb_cmap = { - 0, 20, paldata, paldata, paldata, NULL + static libspectrum_word r16[256], g16[256], b16[256]; + static struct fb_cmap fb_cmap = { + 0, 256, r16, g16, b16, NULL }; dev = getenv( DEVICE_VARIABLE ); @@ -187,32 +209,41 @@ fputs( "\x1B[H\x1B[J", stdout ); /* clear tty */ memset( gm, 0, display.xres_virtual * display.yres_virtual * 2 ); - for( i = 0; i < 16; i++ ) { - int v = ( i & 8 ) ? 2 : 1; - rgbs[i] = ( ( i & 1 ) ? v << display.blue.offset : 0 ) - | ( ( i & 2 ) ? v << display.red.offset : 0 ) - | ( ( i & 4 ) ? v << display.green.offset : 0 ); - v = ( i & 8 ) ? 15 : 11; - paldata[i+4] = ( ( (i & 1) ? v * 7471 : 0) /* 0.114 */ - + ( (i & 2) ? v * 19595 : 0) /* 0.299 */ - + ( (i & 4) ? v * 38469 : 0) /* 0.587 */ - ) / 15; - greys[i] = (i + 4) << display.blue.offset - | (i + 4) << display.red.offset - | (i + 4) << display.green.offset; - } - display.activate = FB_ACTIVATE_NOW; - if( ioctl( fb_fd, FBIOPUT_VSCREENINFO, &display ) || - ioctl( fb_fd, FBIOPUTCMAP, &fb_cmap ) ) { + if( ioctl( fb_fd, FBIOPUT_VSCREENINFO, &display ) ) { fprintf( stderr, "%s: couldn't set mode for framebuffer device '%s'\n", fuse_progname, dev ); return 1; } - ioctl( fb_fd, FBIOGET_VSCREENINFO, &display ); + ioctl( fb_fd, FBIOGET_VSCREENINFO, &display); + for( i = 0; i < 16; i++ ) { + int v = ( i & 8 ) ? 0xff : 0xbf; + int c; + rgbs[i] = ( ( i & 1 ) ? (v >> (8 - display.blue.length)) << display.blue.offset : 0 ) + | ( ( i & 2 ) ? (v >> (8 - display.red.length)) << display.red.offset : 0 ) + | ( ( i & 4 ) ? (v >> (8 - display.green.length)) << display.green.offset : 0 ); + + c = (( i & 1 ) ? (v * 0.114) : 0.0) + + (( i & 2) ? (v * 0.299) : 0.0) + + (( i & 4) ? (v * 0.587) : 0.0) + 0.5; + greys[i] = (c >> (8 - display.red.length) << display.red.offset) + | (c >> (8 - display.green.length) << display.green.offset) + | (c >> (8 - display.blue.length) << display.blue.offset); + } + linear_palette(&fb_cmap); + + if (orig_display.bits_per_pixel == 8 || fixed.visual == FB_VISUAL_DIRECTCOLOR) { + ioctl( fb_fd, FBIOGETCMAP, &orig_cmap); + changed_palette = 1; + } + ioctl( fb_fd, FBIOGET_FSCREENINFO, &fixed); + if ( fixed.visual == FB_VISUAL_DIRECTCOLOR) { + ioctl( fb_fd, FBIOPUTCMAP, &fb_cmap ); + } sleep( 1 ); /* give the monitor time to sync before we start emulating */ + fputs( "\x1B[?25l", stdout ); /* hide cursor */ fflush( stdout ); @@ -396,8 +427,6 @@ int uidisplay_end( void ) { - fbdisplay_end(); - display_ui_initialised = 0; return 0; } @@ -405,7 +434,13 @@ fbdisplay_end( void ) { if( fb_fd != -1 ) { - if( got_orig_display ) ioctl( fb_fd, FBIOPUT_VSCREENINFO, &orig_display ); + if( got_orig_display ) { + ioctl( fb_fd, FBIOPUT_VSCREENINFO, &orig_display ); + if (changed_palette) { + ioctl( fb_fd, FBIOPUTCMAP, &orig_cmap); + changed_palette = 0; + } + } close( fb_fd ); fb_fd = -1; fputs( "\x1B[H\x1B[J\x1B[?25h", stdout ); /* clear screen, show cursor */ Property changes on: trunk/libspectrum/libspectrum ___________________________________________________________________ Modified: svn:mergeinfo - /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-655 + /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-659 Modified: trunk/libspectrum/libspectrum/hacking/ChangeLog =================================================================== --- trunk/libspectrum/libspectrum/hacking/ChangeLog 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/libspectrum/libspectrum/hacking/ChangeLog 2010-12-08 11:29:46 UTC (rev 660) @@ -787,3 +787,4 @@ 20101003 szx.c,test/{empty.szx,test.c}: we also need to swap A' and F'. 20101010 configure.in: pad version number for Win32 if needed (patch #3084574) (Sergio Baldovi). +20101130 warajevo_read.c: remove potential signedness problem. Modified: trunk/libspectrum/libspectrum/warajevo_read.c =================================================================== --- trunk/libspectrum/libspectrum/warajevo_read.c 2010-12-07 12:36:15 UTC (rev 659) +++ trunk/libspectrum/libspectrum/warajevo_read.c 2010-12-08 11:29:46 UTC (rev 660) @@ -2,7 +2,7 @@ Copyright (c) 2001, 2002 Philip Kendall, Darren Salt Copyright (c) 2003 Fredrick Meunier - $Id: warajevo_read.c 4118 2010-02-21 04:36:17Z fredm $ + $Id: warajevo_read.c 4196 2010-11-30 18:45:18Z 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 @@ -150,17 +150,17 @@ static libspectrum_dword lsb2dword( const libspectrum_byte *mem ) { - return mem[0] + - mem[1] * 0x100 + - mem[2] * 0x10000 + - mem[3] * 0x1000000 ; + return ( mem[0] << 0 ) | + ( mem[1] << 8 ) | + ( mem[2] << 16 ) | + ( mem[3] << 24 ); } static libspectrum_word lsb2word( const libspectrum_byte *mem ) { - return mem[0] + - mem[1] * 0x100 ; + return ( mem[0] << 0 ) | + ( mem[1] << 8 ); } /* The main load function */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-12-07 12:36:21
|
Revision: 659 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=659&view=rev Author: fredm Date: 2010-12-07 12:36:15 +0000 (Tue, 07 Dec 2010) Log Message: ----------- Tag vendor/fuse-emulator/current as vendor/fuse-emulator/fuse-r4209. Added Paths: ----------- vendor/fuse-emulator/fuse-r4209/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-12-07 12:35:31
|
Revision: 658 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=658&view=rev Author: fredm Date: 2010-12-07 12:35:24 +0000 (Tue, 07 Dec 2010) Log Message: ----------- Load . into vendor/fuse-emulator/current. Modified Paths: -------------- vendor/fuse-emulator/current/fuse/hacking/ChangeLog vendor/fuse-emulator/current/fuse/man/fuse.1 vendor/fuse-emulator/current/fuse/memory.c vendor/fuse-emulator/current/fuse/ui/fb/fbdisplay.c vendor/fuse-emulator/current/fuse-utils/Makefile.am vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog vendor/fuse-emulator/current/libspectrum/warajevo_read.c Modified: vendor/fuse-emulator/current/fuse/hacking/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse/hacking/ChangeLog 2010-10-19 11:21:18 UTC (rev 657) +++ vendor/fuse-emulator/current/fuse/hacking/ChangeLog 2010-12-07 12:35:24 UTC (rev 658) @@ -3361,3 +3361,12 @@ 20101011 ui/gtk/gtkdisplay.c: resize window when machine selection switches between Timex and non-Timex modes (fixes bug #3084862) (thanks, Phil) (Fred). +20101025 memory.c: writable_roms preference shouldn't affect the 16K machine + "empty" page (thanks, Andrew Owen) (Fred). +20101029 man/fuse.1: some updates to bring things a bit more up to date (Fred). +20101102 man/fuse.1: remove reference to fixed issue in RZX playback command + line ordering (patch #3100707) (Sergio Baldovi). +20101129 ui/fb/fbdisplay.c: only call fbdisplay_end() when display is + initialised (fixes bug #3119382) (rkd77). +20101203 ui/fb/fbdisplay.c: improve fb colour handling and initialise scaler + system (fixes bugs #3124787 and #3124788) (rkd77). Modified: vendor/fuse-emulator/current/fuse/man/fuse.1 =================================================================== --- vendor/fuse-emulator/current/fuse/man/fuse.1 2010-10-19 11:21:18 UTC (rev 657) +++ vendor/fuse-emulator/current/fuse/man/fuse.1 2010-12-07 12:35:24 UTC (rev 658) @@ -54,10 +54,12 @@ virtual-tape files. Saving to SZX, Z80 and SNA snapshots and TZX and TAP tape files is supported. The SLT extension to the Z80 format is partly supported (enough for multi-load games); however, loading of -the old DAT-file variant is not. DSK disk images are supported when -emulating a +3, TRD and SCL disk images are supported when emulating -a Pentagon or Scorpion and DCK cartridge images are supported when -emulating a Timex 2068 variant. Interface II ROM cartridges are also +the old DAT-file variant is not. DSK, UDI, FDI, TR0, SDF, MGT, IMG, +SAD, TRD, SCL and OPD disk images are supported when a disk interface +is being emulated, including the integrated disk drives on +3, +Pentagon or Scorpion machines as well as the +D, Opus Discovery and +Beta 128 interfaces. DCK cartridge images are supported when +emulating a Timex 2068 variant. Interface II ROM cartridges are also supported. .PP Finally, there is also support for reading and writing the RZX input recording @@ -435,6 +437,7 @@ a 48K Spectrum. The available options are .IR 16 , .IR 48 , +.IR 48_ntsc, .IR 128 , .IR plus2 , .IR plus2a , @@ -445,8 +448,9 @@ .IR pentagon , .IR pentagon512 , .IR pentagon1024 , +.IR scorpion and -.IR scorpion . +.IR se . .RE .PP .I "\-\-melodik" @@ -1669,9 +1673,9 @@ .RE .PP .I "AY volume" +.RS +Sets the relative volume of the AY-3-8912 chip from a range of 0-100%. .RE -Sets the relative volume of the AY-3-8912 chip from a range of 0-100%. -.RS .PP .I "Beeper volume" .RS @@ -2104,6 +2108,12 @@ of RAM respectively. .RE .PP +.I "Spectrum 48K (NTSC)" +.RS +The NTSC 48K machine released in limited numbers in parts of South +America. +.RE +.PP .I "Spectrum 128K" .RS The 128K machine as released by Sinclair in 1985 (Spain) or 1986 (UK). @@ -3494,13 +3504,16 @@ .\" .SH BETA 128 EMULATION .PP -Fuse supports .SCL and .TRD images in its Pentagon and Scorpion +Fuse supports Betadisk emulation in its Pentagon and Scorpion emulation, and also under 48K, TC2048, 128K and +2 (but not +2A) emulation if the .I Beta 128 interface option from the .I "Options, Peripherals..." dialog is enabled. +See the +.B "DISK FILE FORMATS" +section for mode details on supported disk file formats. .\" .\"------------------------------------------------------------------ .\" @@ -3508,7 +3521,9 @@ .PP By default, Fuse emulates the Opus Discovery interface with the optional 2k RAM expansion and a second 40 track single sided disk drive. -Fuse supports .OPD and .OPU images in its Opus Discovery emulation. The Opus +See the +.B "DISK FILE FORMATS" +section for mode details on supported disk file formats. The Opus Discovery's printer port is also emulated for output only. (See the .B "PRINTER EMULATION" section for more details.) The Opus Discovery may only be @@ -3519,7 +3534,9 @@ .\" .SH +D EMULATION .PP -Fuse supports .MGT and .IMG images in its +D emulation. The +D's +Fuse supports emulating the +D disk and printer interface. See the +.B "DISK FILE FORMATS" +section for mode details on supported disk file formats. The +D's printer port is emulated. (See the .B "PRINTER EMULATION" section for more details.) The +D may only be @@ -3674,13 +3691,6 @@ Selecting a startup filter doesn't work properly with user interfaces other than SDL and GTK+. .PP -Attempting to replay an RZX file without an embedded snapshot from the -command-line doesn't work if you do `./fuse -.IR "rzxfile snapshot" '. -`./fuse -.IR "snapshot rzxfile" ' -does work though, so use that instead. -.PP Changing virtual consoles when using SVGAlib for joystick support causes Fuse to exit. If this is a problem, compile Fuse with the .RI ` \-\-disable\-ui\-joystick ' Modified: vendor/fuse-emulator/current/fuse/memory.c =================================================================== --- vendor/fuse-emulator/current/fuse/memory.c 2010-10-19 11:21:18 UTC (rev 657) +++ vendor/fuse-emulator/current/fuse/memory.c 2010-12-07 12:35:24 UTC (rev 658) @@ -1,7 +1,7 @@ /* memory.c: Routines for accessing memory Copyright (c) 1999-2004 Philip Kendall - $Id: memory.c 4099 2009-10-22 10:59:02Z fredm $ + $Id: memory.c 4186 2010-10-25 10:29:45Z 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 @@ -276,7 +276,9 @@ if( opus_active && address >= 0x2800 && address < 0x3800 ) { opus_write( address, b ); - } else if( mapping->writable || settings_current.writable_roms ) { + } else if( mapping->writable || + (mapping->bank != MEMORY_BANK_NONE && + settings_current.writable_roms) ) { libspectrum_word offset = address & 0x1fff; libspectrum_byte *memory = mapping->page; Modified: vendor/fuse-emulator/current/fuse/ui/fb/fbdisplay.c =================================================================== --- vendor/fuse-emulator/current/fuse/ui/fb/fbdisplay.c 2010-10-19 11:21:18 UTC (rev 657) +++ vendor/fuse-emulator/current/fuse/ui/fb/fbdisplay.c 2010-12-07 12:35:24 UTC (rev 658) @@ -2,7 +2,7 @@ Copyright (c) 2000-2003 Philip Kendall, Matan Ziv-Av, Darren Salt, Witold Filipczyk - $Id: fbdisplay.c 3992 2009-03-29 11:28:17Z fredm $ + $Id: fbdisplay.c 4205 2010-12-03 10:39:39Z 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 @@ -27,6 +27,7 @@ #include <config.h> #include <errno.h> +#include <math.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> @@ -66,7 +67,7 @@ /* Are we in a Timex display mode? */ static int hires; -static int register_scalers( void ); +static void register_scalers( void ); /* probably 0rrrrrgggggbbbbb */ static short rgbs[16], greys[16]; @@ -77,6 +78,7 @@ static struct fb_fix_screeninfo fixed; static struct fb_var_screeninfo orig_display, display; static int got_orig_display = 0; +static int changed_palette = 0; unsigned long fb_resolution; /* == xres << 16 | yres */ #define FB_RES(X,Y) ((X) << 16 | (Y)) @@ -127,20 +129,20 @@ { 320, 240, 80000, 40, 28, 9, 2, 20, 3, 0, 1 }, ** 320x240-60 60.310 M tall { 320, 240, 55555, 52, 16, 12, 0, 28, 2, 0, 1 }, ** 320x240-85 85.177 M */ + +static unsigned short red16[256], green16[256], blue16[256], transp16[256]; +static struct fb_cmap orig_cmap = {0, 256, red16, green16, blue16, transp16}; + static int fb_set_mode( void ); int uidisplay_init( int width, int height ) { - int error; - hires = ( width == 640 ? 1 : 0 ); - scaler_register_clear(); - image_width = width; image_height = height; image_scale = width / DISPLAY_ASPECT_WIDTH; - error = register_scalers(); if( error ) return error; + register_scalers(); display_ui_initialised = 1; @@ -149,20 +151,40 @@ return 0; } -static int +static void register_scalers( void ) { - return 0; + scaler_register_clear(); + scaler_select_bitformat( 565 ); /* 16bit always */ + scaler_register( SCALER_NORMAL ); } +static void +linear_palette(struct fb_cmap *p_cmap) +{ + int i; + int rcols = 1 << display.red.length; + int gcols = 1 << display.green.length; + int bcols = 1 << display.blue.length; + + for (i = 0; i < rcols; i++) + p_cmap->red[i] = (65535 / (rcols - 1)) * i; + + for (i = 0; i < gcols; i++) + p_cmap->green[i] = (65535 / (gcols - 1)) * i; + + for (i = 0; i < bcols; i++) + p_cmap->blue[i] = (65535 / (bcols - 1)) * i; +} + int fbdisplay_init(void) { int i; const char *dev; - static libspectrum_word paldata[20] = { 0, 0xbbbb, 0xffff }; - static const struct fb_cmap fb_cmap = { - 0, 20, paldata, paldata, paldata, NULL + static libspectrum_word r16[256], g16[256], b16[256]; + static struct fb_cmap fb_cmap = { + 0, 256, r16, g16, b16, NULL }; dev = getenv( DEVICE_VARIABLE ); @@ -187,32 +209,41 @@ fputs( "\x1B[H\x1B[J", stdout ); /* clear tty */ memset( gm, 0, display.xres_virtual * display.yres_virtual * 2 ); - for( i = 0; i < 16; i++ ) { - int v = ( i & 8 ) ? 2 : 1; - rgbs[i] = ( ( i & 1 ) ? v << display.blue.offset : 0 ) - | ( ( i & 2 ) ? v << display.red.offset : 0 ) - | ( ( i & 4 ) ? v << display.green.offset : 0 ); - v = ( i & 8 ) ? 15 : 11; - paldata[i+4] = ( ( (i & 1) ? v * 7471 : 0) /* 0.114 */ - + ( (i & 2) ? v * 19595 : 0) /* 0.299 */ - + ( (i & 4) ? v * 38469 : 0) /* 0.587 */ - ) / 15; - greys[i] = (i + 4) << display.blue.offset - | (i + 4) << display.red.offset - | (i + 4) << display.green.offset; - } - display.activate = FB_ACTIVATE_NOW; - if( ioctl( fb_fd, FBIOPUT_VSCREENINFO, &display ) || - ioctl( fb_fd, FBIOPUTCMAP, &fb_cmap ) ) { + if( ioctl( fb_fd, FBIOPUT_VSCREENINFO, &display ) ) { fprintf( stderr, "%s: couldn't set mode for framebuffer device '%s'\n", fuse_progname, dev ); return 1; } - ioctl( fb_fd, FBIOGET_VSCREENINFO, &display ); + ioctl( fb_fd, FBIOGET_VSCREENINFO, &display); + for( i = 0; i < 16; i++ ) { + int v = ( i & 8 ) ? 0xff : 0xbf; + int c; + rgbs[i] = ( ( i & 1 ) ? (v >> (8 - display.blue.length)) << display.blue.offset : 0 ) + | ( ( i & 2 ) ? (v >> (8 - display.red.length)) << display.red.offset : 0 ) + | ( ( i & 4 ) ? (v >> (8 - display.green.length)) << display.green.offset : 0 ); + + c = (( i & 1 ) ? (v * 0.114) : 0.0) + + (( i & 2) ? (v * 0.299) : 0.0) + + (( i & 4) ? (v * 0.587) : 0.0) + 0.5; + greys[i] = (c >> (8 - display.red.length) << display.red.offset) + | (c >> (8 - display.green.length) << display.green.offset) + | (c >> (8 - display.blue.length) << display.blue.offset); + } + linear_palette(&fb_cmap); + + if (orig_display.bits_per_pixel == 8 || fixed.visual == FB_VISUAL_DIRECTCOLOR) { + ioctl( fb_fd, FBIOGETCMAP, &orig_cmap); + changed_palette = 1; + } + ioctl( fb_fd, FBIOGET_FSCREENINFO, &fixed); + if ( fixed.visual == FB_VISUAL_DIRECTCOLOR) { + ioctl( fb_fd, FBIOPUTCMAP, &fb_cmap ); + } sleep( 1 ); /* give the monitor time to sync before we start emulating */ + fputs( "\x1B[?25l", stdout ); /* hide cursor */ fflush( stdout ); @@ -396,8 +427,6 @@ int uidisplay_end( void ) { - fbdisplay_end(); - display_ui_initialised = 0; return 0; } @@ -405,7 +434,13 @@ fbdisplay_end( void ) { if( fb_fd != -1 ) { - if( got_orig_display ) ioctl( fb_fd, FBIOPUT_VSCREENINFO, &orig_display ); + if( got_orig_display ) { + ioctl( fb_fd, FBIOPUT_VSCREENINFO, &orig_display ); + if (changed_palette) { + ioctl( fb_fd, FBIOPUTCMAP, &orig_cmap); + changed_palette = 0; + } + } close( fb_fd ); fb_fd = -1; fputs( "\x1B[H\x1B[J\x1B[?25h", stdout ); /* clear screen, show cursor */ Modified: vendor/fuse-emulator/current/fuse-utils/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse-utils/Makefile.am 2010-10-19 11:21:18 UTC (rev 657) +++ vendor/fuse-emulator/current/fuse-utils/Makefile.am 2010-12-07 12:35:24 UTC (rev 658) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2002 Philip Kendall -## $Id: Makefile.am 4144 2010-08-06 13:44:35Z fredm $ +## $Id: Makefile.am 4208 2010-12-06 19:42:44Z 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 @@ -27,6 +27,11 @@ hacking \ man +DIST_SUBDIRS = compat/amiga \ + compat/unix \ + hacking \ + man + bin_PROGRAMS = createhdf \ listbasic \ profile2map \ Modified: vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog 2010-10-19 11:21:18 UTC (rev 657) +++ vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog 2010-12-07 12:35:24 UTC (rev 658) @@ -312,3 +312,5 @@ A and F being transposed. 20101007 raw2hdf.c: add missing default for version (fixes bug #3082566; thanks, UB880D) (Fred). +20101206 Makefile.am: remember to put all compat directories in the dist tarball + (thanks, kizmiaz). Modified: vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog =================================================================== --- vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog 2010-10-19 11:21:18 UTC (rev 657) +++ vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog 2010-12-07 12:35:24 UTC (rev 658) @@ -787,3 +787,4 @@ 20101003 szx.c,test/{empty.szx,test.c}: we also need to swap A' and F'. 20101010 configure.in: pad version number for Win32 if needed (patch #3084574) (Sergio Baldovi). +20101130 warajevo_read.c: remove potential signedness problem. Modified: vendor/fuse-emulator/current/libspectrum/warajevo_read.c =================================================================== --- vendor/fuse-emulator/current/libspectrum/warajevo_read.c 2010-10-19 11:21:18 UTC (rev 657) +++ vendor/fuse-emulator/current/libspectrum/warajevo_read.c 2010-12-07 12:35:24 UTC (rev 658) @@ -2,7 +2,7 @@ Copyright (c) 2001, 2002 Philip Kendall, Darren Salt Copyright (c) 2003 Fredrick Meunier - $Id: warajevo_read.c 4118 2010-02-21 04:36:17Z fredm $ + $Id: warajevo_read.c 4196 2010-11-30 18:45:18Z 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 @@ -150,17 +150,17 @@ static libspectrum_dword lsb2dword( const libspectrum_byte *mem ) { - return mem[0] + - mem[1] * 0x100 + - mem[2] * 0x10000 + - mem[3] * 0x1000000 ; + return ( mem[0] << 0 ) | + ( mem[1] << 8 ) | + ( mem[2] << 16 ) | + ( mem[3] << 24 ); } static libspectrum_word lsb2word( const libspectrum_byte *mem ) { - return mem[0] + - mem[1] * 0x100 ; + return ( mem[0] << 0 ) | + ( mem[1] << 8 ); } /* The main load function */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-10-19 11:21:24
|
Revision: 657 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=657&view=rev Author: fredm Date: 2010-10-19 11:21:18 +0000 (Tue, 19 Oct 2010) Log Message: ----------- Update manual for menu changes from vendor revision 4185. Revision Links: -------------- http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=4185&view=rev Modified Paths: -------------- trunk/fuse/fusepb/resources/Fuse Help/html/menus.html Modified: trunk/fuse/fusepb/resources/Fuse Help/html/menus.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/menus.html 2010-10-19 11:16:44 UTC (rev 656) +++ trunk/fuse/fusepb/resources/Fuse Help/html/menus.html 2010-10-19 11:21:18 UTC (rev 657) @@ -495,14 +495,26 @@ class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive 1 > -Eject -and -write...</em></font></span></td> +Save</em></font></span></td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><font + face="Lucida Grande,Helvetica,Arial">Save the Microdrive image in +Microdrive 1</font><font face="Lucida Grande,Helvetica,Arial">, and +then eject the image</font><font face="Lucida Grande,Helvetica,Arial">.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span + class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive +1 +> +Save as...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida Grande,Helvetica,Arial">Write the Microdrive image in -Microdrive 1 to a file, and then eject the image. You will be +Microdrive 1 to a new file, and then eject the image. You will be prompted for a filename.</font></td> </tr> <tr> @@ -512,7 +524,8 @@ 1 > Write -protect > +protect +> Enable</em></font></span></td> <td style="vertical-align: top;"><br> </td> @@ -598,16 +611,30 @@ <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive A: > -Eject -and write...</em></font></span></td> +Save</em></font></span></td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><font face="Lucida Grande,Helvetica,Arial">Deselect the disk image -currently in the machine's drive A:/1 and write the current state of +currently in the machine's drive A:/1 and save the current state of +the disk.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> + <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive +A: +> +Save as...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font + face="Lucida Grande,Helvetica,Arial">Deselect the disk image +currently in the machine's drive A:/1 and save the current state of the disk -to a -file.</font></td> +to a new +file. </font><font face="Lucida Grande,Helvetica,Arial">You will be +prompted for a filename.</font></td> </tr> <tr> <td style="vertical-align: top;"><span class="emphasis"><font @@ -683,7 +710,7 @@ <td style="vertical-align: top;"><span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Media > Drive -B: > Eject and write...</em></font></span></td> +B: > Save</em></font></span></td> <td style="vertical-align: top;"><br> </td> <td style="vertical-align: top;"><span class="emphasis"><font @@ -692,6 +719,17 @@ </tr> <tr> <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Media > +Drive +B: > Save as...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial">As above, but for drive +B:/2.</font></span></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive B: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-10-18 10:33:56
|
Revision: 655 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=655&view=rev Author: fredm Date: 2010-10-18 10:33:51 +0000 (Mon, 18 Oct 2010) Log Message: ----------- Tag vendor/fuse-emulator/current as vendor/fuse-emulator/fuse-r4185. Added Paths: ----------- vendor/fuse-emulator/fuse-r4185/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-10-18 10:33:16
|
Revision: 654 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=654&view=rev Author: fredm Date: 2010-10-18 10:33:08 +0000 (Mon, 18 Oct 2010) Log Message: ----------- Load . into vendor/fuse-emulator/current. Modified Paths: -------------- vendor/fuse-emulator/current/fuse/configure.in vendor/fuse-emulator/current/fuse/disk/beta.c vendor/fuse-emulator/current/fuse/disk/disk.c vendor/fuse-emulator/current/fuse/disk/disk.h vendor/fuse-emulator/current/fuse/disk/opus.c vendor/fuse-emulator/current/fuse/disk/plusd.c vendor/fuse-emulator/current/fuse/hacking/ChangeLog vendor/fuse-emulator/current/fuse/if1.c vendor/fuse-emulator/current/fuse/machines/specplus3.c vendor/fuse-emulator/current/fuse/man/fuse.1 vendor/fuse-emulator/current/fuse/menu.c vendor/fuse-emulator/current/fuse/menu_data.dat vendor/fuse-emulator/current/fuse/ui/gtk/gtkdisplay.c vendor/fuse-emulator/current/fuse/ui/ui.h vendor/fuse-emulator/current/fuse/ui/widget/query.c vendor/fuse-emulator/current/fuse/ui.c vendor/fuse-emulator/current/libspectrum/configure.in vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog Modified: vendor/fuse-emulator/current/fuse/configure.in =================================================================== --- vendor/fuse-emulator/current/fuse/configure.in 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/configure.in 2010-10-18 10:33:08 UTC (rev 654) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in 4175 2010-10-06 10:44:19Z fredm $ +dnl $Id: configure.in 4181 2010-10-10 10:28:09Z 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 @@ -42,7 +42,11 @@ AC_SUBST(WINDRES) if test "$WINDRES" != no; then WINDRES_OBJ="windres.o" - AC_DEFINE([VERSION_WIN32], [translit(FUSE_VERSION, [.], [,])], [Define version information for win32 executable]) + define(FUSE_FULL_VERSION, + [ifelse(translit(FUSE_VERSION, [0-9]), [.], [FUSE_VERSION[.0.0]], + translit(FUSE_VERSION, [0-9]), [..], [FUSE_VERSION[.0]], + [FUSE_VERSION])])dnl + AC_DEFINE([VERSION_WIN32], [translit(FUSE_FULL_VERSION, [.], [,])], [Define version information for win32 executable]) fi AC_SUBST(WINDRES_OBJ) AM_SUBST_NOTMAKE(WINDRES_OBJ) Modified: vendor/fuse-emulator/current/fuse/disk/beta.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/beta.c 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/disk/beta.c 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ /* beta.c: Routines for handling the Beta disk interface Copyright (c) 2004-2008 Stuart Brady - $Id: beta.c 4147 2010-08-19 12:25:15Z fredm $ + $Id: beta.c 4180 2010-10-09 12:59:37Z 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 @@ -564,25 +564,28 @@ } int -beta_disk_eject( beta_drive_number which, int write ) +beta_disk_eject( beta_drive_number which, int saveas ) { wd_fdc_drive *d; char drive; - + if( which >= BETA_NUM_DRIVES ) return 1; - + d = &beta_drives[ which ]; - + if( !d->fdd.loaded ) return 0; - - if( write ) { - - if( ui_beta_disk_write( which ) ) return 1; + if( saveas ) { /* 1 -> save as.., 2 -> save */ + + if( d->disk.filename == NULL ) saveas = 1; + if( ui_beta_disk_write( which, 2 - saveas ) ) return 1; + d->disk.dirty = 0; + return 0; + } else { - + if( d->disk.dirty ) { ui_confirm_save_t confirm; @@ -603,7 +606,7 @@ switch( confirm ) { case UI_CONFIRM_SAVE_SAVE: - if( ui_beta_disk_write( which ) ) return 1; + if( beta_disk_eject( which, 2 ) ) return 1; /* first save */ break; case UI_CONFIRM_SAVE_DONTSAVE: break; @@ -641,6 +644,7 @@ int error; d->disk.type = DISK_TYPE_NONE; + if( filename == NULL ) filename = d->disk.filename; /* write over original file */ error = disk_write( &d->disk, filename ); if( error != DISK_OK ) { @@ -649,6 +653,10 @@ return 1; } + if( d->disk.filename && strcmp( filename, d->disk.filename ) ) { + free( d->disk.filename ); + d->disk.filename = strdup( filename ); + } return 0; } Modified: vendor/fuse-emulator/current/fuse/disk/disk.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/disk.c 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/disk/disk.c 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ /* disk.c: Routines for handling disk images Copyright (c) 2007-2010 Gergely Szasz - $Id: disk.c 4141 2010-07-19 11:30:21Z fredm $ + $Id: disk.c 4180 2010-10-09 12:59:37Z 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 @@ -675,6 +675,10 @@ free( d->data ); d->data = NULL; } + if( d->filename != NULL ) { + free( d->filename ); + d->filename = NULL; + } d->type = DISK_TYPE_NONE; } @@ -728,6 +732,7 @@ disk_new( disk_t *d, int sides, int cylinders, disk_dens_t density, disk_type_t type ) { + d->filename = NULL; if( density < DISK_DENS_AUTO || density > DISK_HD || /* unknown density */ type <= DISK_TYPE_NONE || type >= DISK_TYPE_LAST || /* unknown type */ sides < 1 || sides > 2 || /* 1 or 2 side */ @@ -1903,6 +1908,7 @@ d->dirty = 0; disk_update_tlens( d ); update_tracks_mode( d ); + d->filename = strdup( filename ); return d->status = DISK_OK; } @@ -1972,6 +1978,7 @@ int l, g = 0, pos = 0; disk_t d1, d2; + d->filename = NULL; if( filename == NULL || *filename == '\0' ) return d->status = DISK_OPEN; Modified: vendor/fuse-emulator/current/fuse/disk/disk.h =================================================================== --- vendor/fuse-emulator/current/fuse/disk/disk.h 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/disk/disk.h 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ /* fdd.h: Header for handling raw disk images Copyright (c) 2007-2010 Gergely Szasz - $Id: disk.h 4114 2010-01-15 13:45:51Z fredm $ + $Id: disk.h 4180 2010-10-09 12:59:37Z 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 @@ -87,6 +87,7 @@ } disk_dens_t; typedef struct disk_t { + char *filename; /* original filename */ int sides; /* 1 or 2 */ int cylinders; /* tracks per side */ int bpt; /* bytes per track */ Modified: vendor/fuse-emulator/current/fuse/disk/opus.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/opus.c 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/disk/opus.c 2010-10-18 10:33:08 UTC (rev 654) @@ -410,7 +410,7 @@ } int -opus_disk_eject( opus_drive_number which, int write ) +opus_disk_eject( opus_drive_number which, int saveas ) { wd_fdc_drive *d; @@ -422,9 +422,12 @@ if( d->disk.type == DISK_TYPE_NONE ) return 0; - if( write ) { + if( saveas ) { /* 1 -> save as.., 2 -> save */ - if( ui_opus_disk_write( which ) ) return 1; + if( d->disk.filename == NULL ) saveas = 1; + if( ui_opus_disk_write( which, 2 - saveas ) ) return 1; + d->disk.dirty = 0; + return 0; } else { @@ -439,7 +442,7 @@ switch( confirm ) { case UI_CONFIRM_SAVE_SAVE: - if( ui_opus_disk_write( which ) ) return 1; + if( opus_disk_eject( which, 2 ) ) return 1; /* first save */ break; case UI_CONFIRM_SAVE_DONTSAVE: break; @@ -529,6 +532,7 @@ int error; d->disk.type = DISK_TYPE_NONE; + if( filename == NULL ) filename = d->disk.filename; /* write over original file */ error = disk_write( &d->disk, filename ); if( error != DISK_OK ) { @@ -537,6 +541,10 @@ return 1; } + if( d->disk.filename && strcmp( filename, d->disk.filename ) ) { + free( d->disk.filename ); + d->disk.filename = strdup( filename ); + } return 0; } Modified: vendor/fuse-emulator/current/fuse/disk/plusd.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/plusd.c 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/disk/plusd.c 2010-10-18 10:33:08 UTC (rev 654) @@ -2,7 +2,7 @@ Copyright (c) 1999-2007 Stuart Brady, Fredrick Meunier, Philip Kendall, Dmitry Sanarin, Darren Salt - $Id: plusd.c 4131 2010-05-19 10:52:37Z fredm $ + $Id: plusd.c 4180 2010-10-09 12:59:37Z 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 @@ -457,7 +457,7 @@ } int -plusd_disk_eject( plusd_drive_number which, int write ) +plusd_disk_eject( plusd_drive_number which, int saveas ) { wd_fdc_drive *d; @@ -469,9 +469,12 @@ if( d->disk.type == DISK_TYPE_NONE ) return 0; - if( write ) { + if( saveas ) { /* 1 -> save as.., 2 -> save */ - if( ui_plusd_disk_write( which ) ) return 1; + if( d->disk.filename == NULL ) saveas = 1; + if( ui_plusd_disk_write( which, 2 - saveas ) ) return 1; + d->disk.dirty = 0; + return 0; } else { @@ -486,7 +489,7 @@ switch( confirm ) { case UI_CONFIRM_SAVE_SAVE: - if( ui_plusd_disk_write( which ) ) return 1; + if( plusd_disk_eject( which, 2 ) ) return 1; /* first save */ break; case UI_CONFIRM_SAVE_DONTSAVE: break; @@ -569,13 +572,15 @@ return 0; } +/***TODO most part of the next routine could be move to a common place... */ int plusd_disk_write( plusd_drive_number which, const char *filename ) { wd_fdc_drive *d = &plusd_drives[ which ]; int error; - + d->disk.type = DISK_TYPE_NONE; + if( filename == NULL ) filename = d->disk.filename; /* write over original file */ error = disk_write( &d->disk, filename ); if( error != DISK_OK ) { @@ -583,6 +588,10 @@ disk_strerror( error ) ); return 1; } + if( d->disk.filename && strcmp( filename, d->disk.filename ) ) { + free( d->disk.filename ); + d->disk.filename = strdup( filename ); + } return 0; } Modified: vendor/fuse-emulator/current/fuse/hacking/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse/hacking/ChangeLog 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/hacking/ChangeLog 2010-10-18 10:33:08 UTC (rev 654) @@ -3345,9 +3345,19 @@ 20101003 README: small update to mention WoS forums. 20101006 configure.in: update header check for XShm.h (patch #3081497) (Gergely Szasz). -20101006 ui/gtk/{gtkkeyboard.c,gtkui.c,statusbar.c,stock.c}: use F1 as shortcut to - open menus, set window dialogs as transient for the main window and set a - fixed width for the emulation speed display (patch #3081729) (Sergio - Baldovi). -20101007 ui.c: don't close a disk or mdr if a write fails (patch #3058156) (thanks, - Crisis) (Gergely Szasz). +20101006 ui/gtk/{gtkkeyboard.c,gtkui.c,statusbar.c,stock.c}: use F1 as shortcut + to open menus, set window dialogs as transient for the main window and + set a fixed width for the emulation speed display (patch #3081729) + (Sergio Baldovi). +20101007 ui.c: don't close a disk or mdr if a write fails (patch #3058156) + (thanks, Crisis) (Gergely Szasz). +20101007 ui/widget/query.c: fix colour of dialog Cancel entry and correct action + returned when cancel is selected (patch #3083619) (Gergely Szasz). +20101009 disk/{beta.c,disk.[ch],opus.c,plusd.c},if1.c,machines/specplus3.c, + man/fuse.1,menu.c,menu_data.dat,ui.c,ui/ui.h: change "Eject and write" + menu items to "Save" and "Save as" (patch #3083639) (Gergely Szasz). +20101010 configure.in: pad version number for Win32 if needed (patch #3084574) + (Sergio Baldovi). +20101011 ui/gtk/gtkdisplay.c: resize window when machine selection switches + between Timex and non-Timex modes (fixes bug #3084862) (thanks, Phil) + (Fred). Modified: vendor/fuse-emulator/current/fuse/if1.c =================================================================== --- vendor/fuse-emulator/current/fuse/if1.c 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/if1.c 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ /* if1.c: Interface I handling routines Copyright (c) 2004-2008 Gergely Szasz, Philip Kendall - $Id: if1.c 4099 2009-10-22 10:59:02Z fredm $ + $Id: if1.c 4180 2010-10-09 12:59:37Z 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 @@ typedef struct microdrive_t { utils_file file; + char *filename; /* old filename */ int inserted; int modified; int motor_on; @@ -1052,6 +1053,7 @@ libspectrum_byte len; long int i; + mdr->filename = NULL; if( settings_current.mdr_random_len ) { /* Random length */ len = 171 + ( ( rand() >> 2 ) + ( rand() >> 2 ) + ( rand() >> 2 ) + ( rand() >> 2 ) ) @@ -1135,6 +1137,7 @@ mdr->inserted = 1; mdr->modified = 0; + mdr->filename = strdup( filename ); /* we assume formatted cartridges */ for( i = libspectrum_microdrive_cartridge_len( mdr->cartridge ); i > 0; i-- ) @@ -1146,7 +1149,7 @@ } int -if1_mdr_eject( int which, int write ) +if1_mdr_eject( int which, int saveas ) { microdrive_t *mdr; @@ -1158,9 +1161,12 @@ if( !mdr->inserted ) return 0; - if( write ) { + if( saveas ) { /* 1 -> save as.., 2 -> save */ - if( ui_mdr_write( which ) ) return 1; + if( mdr->filename == NULL ) saveas = 1; + if( ui_mdr_write( which, 2 - saveas ) ) return 1; + mdr->modified = 0; + return 0; } else { @@ -1175,7 +1181,7 @@ switch( confirm ) { case UI_CONFIRM_SAVE_SAVE: - if( ui_mdr_write( which ) ) return 1; + if( if1_mdr_eject( which, 2 ) ) return 1; /* first save */ break; case UI_CONFIRM_SAVE_DONTSAVE: break; @@ -1186,7 +1192,11 @@ } mdr->inserted = 0; - + if( mdr->filename != NULL ) { + free( mdr->filename ); + mdr->filename = NULL; + } + update_menu( UMENU_MDRV1 + which ); return 0; } @@ -1198,10 +1208,16 @@ libspectrum_microdrive_mdr_write( mdr->cartridge, &mdr->file.buffer, &mdr->file.length ); - + + if( filename == NULL ) filename = mdr->filename; /* Write over the original file */ + if( utils_write_file( filename, mdr->file.buffer, mdr->file.length ) ) return 1; + if( mdr->filename && strcmp( filename, mdr->filename ) ) { + free( mdr->filename ); + mdr->filename = strdup( filename ); + } return 0; } Modified: vendor/fuse-emulator/current/fuse/machines/specplus3.c =================================================================== --- vendor/fuse-emulator/current/fuse/machines/specplus3.c 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/machines/specplus3.c 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ /* specplus3.c: Spectrum +2A/+3 specific routines Copyright (c) 1999-2007 Philip Kendall, Darren Salt - $Id: specplus3.c 4131 2010-05-19 10:52:37Z fredm $ + $Id: specplus3.c 4180 2010-10-09 12:59:37Z 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 @@ -452,7 +452,7 @@ break; } error = disk_new( &d->disk, dt->heads, dt->cylinders, DISK_DENS_AUTO, DISK_UDI ); - disk_preformat( &d->disk ); /* pre-format disk for +3 */ + disk_preformat( &d->disk ); /* pre-format disk for +3 */ if( error != DISK_OK ) { ui_error( UI_ERROR_ERROR, "Failed to create disk image: %s", disk_strerror( error ) ); @@ -488,7 +488,7 @@ } int -specplus3_disk_eject( specplus3_drive_number which, int write ) +specplus3_disk_eject( specplus3_drive_number which, int saveas ) { upd_fdc_drive *d; @@ -500,9 +500,12 @@ if( d->disk.type == DISK_TYPE_NONE ) return 0; - if( write ) { + if( saveas ) { /* 1 -> save as.., 2 -> save */ - if( ui_plus3_disk_write( which ) ) return 1; + if( d->disk.filename == NULL ) saveas = 1; + if( ui_plus3_disk_write( which, 2 - saveas ) ) return 1; /* save as... */ + d->disk.dirty = 0; + return 0; } else { @@ -517,7 +520,7 @@ switch( confirm ) { case UI_CONFIRM_SAVE_SAVE: - if( ui_plus3_disk_write( which ) ) return 1; + if( specplus3_disk_eject( which, 2 ) ) return 1; /* first save it...*/ break; case UI_CONFIRM_SAVE_DONTSAVE: break; @@ -605,8 +608,9 @@ { upd_fdc_drive *d = &specplus3_drives[ which ]; int error; - + d->disk.type = DISK_TYPE_NONE; + if( filename == NULL ) filename = d->disk.filename; /* write over original file */ error = disk_write( &d->disk, filename ); if( error != DISK_OK ) { @@ -615,6 +619,10 @@ return 1; } + if( d->disk.filename && strcmp( filename, d->disk.filename ) ) { + free( d->disk.filename ); + d->disk.filename = strdup( filename ); + } return 0; } Modified: vendor/fuse-emulator/current/fuse/man/fuse.1 =================================================================== --- vendor/fuse-emulator/current/fuse/man/fuse.1 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/man/fuse.1 2010-10-18 10:33:08 UTC (rev 654) @@ -2327,8 +2327,7 @@ active from the .I "Options, Peripherals" menu. Note that any changes to the Microdrive image will not be -written to the file on disk until the appropriate `eject and write' -option is used. +written to the file on disk until the appropriate save option is used. .RE .PP .I "Media, Interface I, Microdrive 1, Insert New" @@ -2349,12 +2348,17 @@ modified, you will be asked as to whether you want any changes saved. .RE .PP -.I "Media, Interface I, Microdrive 1, Eject and write..." +.I "Media, Interface I, Microdrive 1, Save" .RS -Write the Microdrive image in Microdrive 1 to a file, and then eject -the image. You will be prompted for a filename. +Save the Microdrive image in Microdrive 1. .RE .PP +.I "Media, Interface I, Microdrive 1, Save as..." +.RS +Write the Microdrive image in Microdrive 1 to a file. You will be +prompted for a filename. +.RE +.PP .I "Media, Interface I, Microdrive 1, Write protect, Enable" .RS Enable the write protect tab for the image in Microdrive 1. @@ -2415,23 +2419,28 @@ .PP .I "Media, Disk, +3, Drive A:, Insert..." .RS -Select a disk-image file to read/write in the +3's emulated drive +Insert a disk-image file to read/write in the +3's emulated drive A:. .RE .PP .I "Media, Disk, +3, Drive A:, Eject" .RS -Deselect the disk image currently in the +3's emulated drive A: \- or +Eject the disk image currently in the +3's emulated drive A: \- or from the emulated machine's perspective, eject it. Note that any changes made to the image will not be saved. .RE .PP -.I "Media, Disk, +3, Drive A:, Eject and write..." +.I "Media, Disk, +3, Drive A:, Save" .RS -Deselect the disk image currently in the +3's drive A: and write the -current state of the disk to a file. You will be prompted for a filename. +Save the disk image currently in the +3's drive A:. .RE .PP +.I "Media, Disk, +3, Drive A:, Save as..." +.RS +Save the current state of the disk image currently in the +3's +drive A: to a file. You will be prompted for a filename. +.RE +.PP .I "Media, Disk, +3, Drive B:, Insert..." .RS As above, but for the +3's drive B:. Fuse emulates drive B: as a @@ -2443,11 +2452,16 @@ As above, but for drive B:. .RE .PP -.I "Media, Disk, +3, Drive B:, Eject and write" +.I "Media, Disk, +3, Drive B:, Save" .RS As above, but for drive B:. .RE .PP +.I "Media, Disk, +3, Drive B:, Save as..." +.RS +As above, but for drive B:. +.RE +.PP .I "Media, Disk, Beta, Drive A:, Insert New" .RS Insert a new (unformatted) disk into the emulated Beta drive A:. @@ -2457,7 +2471,9 @@ .br .I "Media, Disk, Beta, Drive A:, Eject" .br -.I "Media, Disk, Beta, Drive A:, Eject and write..." +.I "Media, Disk, Beta, Drive A:, Save" +.br +.I "Media, Disk, Beta, Drive A:, Save as..." .RS As above, but for the emulated Beta disk drive A:. .RE @@ -2487,8 +2503,10 @@ .br .I "Media, Disk, Opus, Drive 1, Eject" .br -.I "Media, Disk, Opus, Drive 1, Eject and write..." +.I "Media, Disk, Opus, Drive 1, Save" .br +.I "Media, Disk, Opus, Drive 1, Save as..." +.br .I "Media, Disk, Opus, Drive 1, Write protect, Enable" .br .I "Media, Disk, Opus, Drive 1, Write protect, Disable" @@ -2504,8 +2522,10 @@ .br .I "Media, Disk, +D, Drive 1, Eject" .br -.I "Media, Disk, +D, Drive 1, Eject and write..." +.I "Media, Disk, +D, Drive 1, Save" .br +.I "Media, Disk, +D, Drive 1, Save as..." +.br .I "Media, Disk, +D, Drive 1, Write protect, Enable" .br .I "Media, Disk, +D, Drive 1, Write protect, Disable" Modified: vendor/fuse-emulator/current/fuse/menu.c =================================================================== --- vendor/fuse-emulator/current/fuse/menu.c 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/menu.c 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ /* menu.c: general menu callbacks Copyright (c) 2004-2005 Philip Kendall - $Id: menu.c 4159 2010-09-13 11:51:13Z fredm $ + $Id: menu.c 4180 2010-10-09 12:59:37Z 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,32 +435,39 @@ fuse_emulation_unpause(); } +/* +1. menu_media_eject +2. xxx_disk_eject +2.a. ui_xxx_disk_write( save ) +2.b. ui_xxx_disk_write( saveas ) +[2.c. ui_xxx_disk_eject( save )] +*/ MENU_CALLBACK_WITH_ACTION( menu_media_eject ) { - int which, write, type; + int which, saveas, type; ui_widget_finish(); action--; which = action & 0x00f; type = ( action & 0x0f0 ) >> 4; - write = !!( action & 0x100 ); + saveas = ( action & 0xf00 ) >> 8; /* 0 -> eject, 1 -> save as, 2 -> save */ switch( type ) { case 0: - specplus3_disk_eject( which, write ); + specplus3_disk_eject( which, saveas ); break; case 1: - beta_disk_eject( which, write ); + beta_disk_eject( which, saveas ); break; case 2: - plusd_disk_eject( which, write ); + plusd_disk_eject( which, saveas ); break; case 3: - if1_mdr_eject( which, write ); + if1_mdr_eject( which, saveas ); break; case 4: - opus_disk_eject( which, write ); + opus_disk_eject( which, saveas ); break; } } Modified: vendor/fuse-emulator/current/fuse/menu_data.dat =================================================================== --- vendor/fuse-emulator/current/fuse/menu_data.dat 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/menu_data.dat 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ # menu_data.dat: Menu structure for Fuse # Copyright (c) 2004 Philip Kendall -# $Id: menu_data.dat 4101 2009-11-13 12:54:28Z fredm $ +# $Id: menu_data.dat 4180 2010-10-09 12:59:37Z 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 @@ -143,7 +143,8 @@ Media/Interface I/Microdrive 1/Insert _New, Item,, menu_media_insert_new,, 0x31 Media/Interface I/Microdrive 1/_Insert..., Item,, menu_media_insert,, 0x31 Media/Interface I/Microdrive 1/_Eject, Item,, menu_media_eject,, 0x031 -Media/Interface I/Microdrive 1/Eject and _write..., Item,, menu_media_eject,, 0x131 +Media/Interface I/Microdrive 1/_Save, Item,, menu_media_eject,, 0x231 +Media/Interface I/Microdrive 1/Save _As..., Item,, menu_media_eject,, 0x131 Media/Interface I/Microdrive 1/Write _protect, Branch Media/Interface I/Microdrive 1/Write protect/_Enable, Item,, menu_media_writeprotect,, 0x131 Media/Interface I/Microdrive 1/Write protect/_Disable, Item,, menu_media_writeprotect,, 0x031 @@ -152,7 +153,8 @@ Media/Interface I/Microdrive 2/Insert _New, Item,, menu_media_insert_new,, 0x32 Media/Interface I/Microdrive 2/_Insert..., Item,, menu_media_insert,, 0x32 Media/Interface I/Microdrive 2/_Eject, Item,, menu_media_eject,, 0x032 -Media/Interface I/Microdrive 2/Eject and _write..., Item,, menu_media_eject,, 0x132 +Media/Interface I/Microdrive 2/_Save, Item,, menu_media_eject,, 0x232 +Media/Interface I/Microdrive 2/Save _As..., Item,, menu_media_eject,, 0x132 Media/Interface I/Microdrive 2/Write _protect, Branch Media/Interface I/Microdrive 2/Write protect/_Enable, Item,, menu_media_writeprotect,, 0x132 Media/Interface I/Microdrive 2/Write protect/_Disable, Item,, menu_media_writeprotect,, 0x032 @@ -161,7 +163,8 @@ Media/Interface I/Microdrive 3/Insert _New, Item,, menu_media_insert_new,, 0x33 Media/Interface I/Microdrive 3/_Insert..., Item,, menu_media_insert,, 0x33 Media/Interface I/Microdrive 3/_Eject, Item,, menu_media_eject,, 0x033 -Media/Interface I/Microdrive 3/Eject and _write..., Item,, menu_media_eject,, 0x133 +Media/Interface I/Microdrive 3/_Save, Item,, menu_media_eject,, 0x233 +Media/Interface I/Microdrive 3/Save _As..., Item,, menu_media_eject,, 0x133 Media/Interface I/Microdrive 3/Write _protect, Branch Media/Interface I/Microdrive 3/Write protect/_Enable, Item,, menu_media_writeprotect,, 0x133 Media/Interface I/Microdrive 3/Write protect/_Disable, Item,, menu_media_writeprotect,, 0x033 @@ -170,7 +173,8 @@ Media/Interface I/Microdrive 4/Insert _New, Item,, menu_media_insert_new,, 0x34 Media/Interface I/Microdrive 4/_Insert..., Item,, menu_media_insert,, 0x34 Media/Interface I/Microdrive 4/_Eject, Item,, menu_media_eject,, 0x034 -Media/Interface I/Microdrive 4/Eject and _write..., Item,, menu_media_eject,, 0x134 +Media/Interface I/Microdrive 4/_Save, Item,, menu_media_eject,, 0x234 +Media/Interface I/Microdrive 4/Save _As..., Item,, menu_media_eject,, 0x134 Media/Interface I/Microdrive 4/Write _protect, Branch Media/Interface I/Microdrive 4/Write protect/_Enable, Item,, menu_media_writeprotect,, 0x134 Media/Interface I/Microdrive 4/Write protect/_Disable, Item,, menu_media_writeprotect,, 0x034 @@ -179,7 +183,8 @@ Media/Interface I/Microdrive 5/Insert _New, Item,, menu_media_insert_new,, 0x35 Media/Interface I/Microdrive 5/_Insert..., Item,, menu_media_insert,, 0x35 Media/Interface I/Microdrive 5/_Eject, Item,, menu_media_eject,, 0x035 -Media/Interface I/Microdrive 5/Eject and _write..., Item,, menu_media_eject,, 0x135 +Media/Interface I/Microdrive 5/_Save, Item,, menu_media_eject,, 0x235 +Media/Interface I/Microdrive 5/Save _As..., Item,, menu_media_eject,, 0x135 Media/Interface I/Microdrive 5/Write _protect, Branch Media/Interface I/Microdrive 5/Write protect/_Enable, Item,, menu_media_writeprotect,, 0x135 Media/Interface I/Microdrive 5/Write protect/_Disable, Item,, menu_media_writeprotect,, 0x035 @@ -188,7 +193,8 @@ Media/Interface I/Microdrive 6/Insert _New, Item,, menu_media_insert_new,, 0x36 Media/Interface I/Microdrive 6/_Insert..., Item,, menu_media_insert,, 0x36 Media/Interface I/Microdrive 6/_Eject, Item,, menu_media_eject,, 0x036 -Media/Interface I/Microdrive 6/Eject and _write..., Item,, menu_media_eject,, 0x136 +Media/Interface I/Microdrive 6/_Save, Item,, menu_media_eject,, 0x236 +Media/Interface I/Microdrive 6/Save _As..., Item,, menu_media_eject,, 0x136 Media/Interface I/Microdrive 6/Write _protect, Branch Media/Interface I/Microdrive 6/Write protect/_Enable, Item,, menu_media_writeprotect,, 0x136 Media/Interface I/Microdrive 6/Write protect/_Disable, Item,, menu_media_writeprotect,, 0x036 @@ -197,7 +203,8 @@ Media/Interface I/Microdrive 7/Insert _New, Item,, menu_media_insert_new,, 0x37 Media/Interface I/Microdrive 7/_Insert..., Item,, menu_media_insert,, 0x37 Media/Interface I/Microdrive 7/_Eject, Item,, menu_media_eject,, 0x037 -Media/Interface I/Microdrive 7/Eject and _write..., Item,, menu_media_eject,, 0x137 +Media/Interface I/Microdrive 7/_Save, Item,, menu_media_eject,, 0x237 +Media/Interface I/Microdrive 7/Save _As..., Item,, menu_media_eject,, 0x137 Media/Interface I/Microdrive 7/Write _protect, Branch Media/Interface I/Microdrive 7/Write protect/_Enable, Item,, menu_media_writeprotect,, 0x137 Media/Interface I/Microdrive 7/Write protect/_Disable, Item,, menu_media_writeprotect,, 0x037 @@ -206,7 +213,8 @@ Media/Interface I/Microdrive 8/Insert _New, Item,, menu_media_insert_new,, 0x38 Media/Interface I/Microdrive 8/_Insert..., Item,, menu_media_insert,, 0x38 Media/Interface I/Microdrive 8/_Eject, Item,, menu_media_eject,, 0x038 -Media/Interface I/Microdrive 8/Eject and _write..., Item,, menu_media_eject,, 0x138 +Media/Interface I/Microdrive 8/_Save, Item,, menu_media_eject,, 0x238 +Media/Interface I/Microdrive 8/Save _As..., Item,, menu_media_eject,, 0x138 Media/Interface I/Microdrive 8/Write _protect, Branch Media/Interface I/Microdrive 8/Write protect/_Enable, Item,, menu_media_writeprotect,, 0x138 Media/Interface I/Microdrive 8/Write protect/_Disable, Item,, menu_media_writeprotect,, 0x038 @@ -230,7 +238,8 @@ Media/Disk/+3/Drive A:/Insert _New, Item,, menu_media_insert_new,, 0x01 Media/Disk/+3/Drive A:/_Insert..., Item,, menu_media_insert,, 0x01 Media/Disk/+3/Drive A:/_Eject, Item,, menu_media_eject,, 0x01 -Media/Disk/+3/Drive A:/Eject and _write..., Item,, menu_media_eject,, 0x101 +Media/Disk/+3/Drive A:/_Save, Item,, menu_media_eject,, 0x201 +Media/Disk/+3/Drive A:/Save _As..., Item,, menu_media_eject,, 0x101 Media/Disk/+3/Drive A:/_Flip disk, Branch Media/Disk/+3/Drive A:/Flip disk/Turn _upside down, Item,, menu_media_flip,, 0x101 Media/Disk/+3/Drive A:/Flip disk/Turn _back, Item,, menu_media_flip,, 0x001 @@ -241,7 +250,8 @@ Media/Disk/+3/Drive B:/Insert _New, Item,, menu_media_insert_new,, 0x02 Media/Disk/+3/Drive B:/_Insert..., Item,, menu_media_insert,, 0x02 Media/Disk/+3/Drive B:/_Eject, Item,, menu_media_eject,, 0x02 -Media/Disk/+3/Drive B:/Eject and _write..., Item,, menu_media_eject,, 0x102 +Media/Disk/+3/Drive B:/_Save, Item,, menu_media_eject,, 0x202 +Media/Disk/+3/Drive B:/Save _As..., Item,, menu_media_eject,, 0x102 Media/Disk/+3/Drive B:/_Flip disk, Branch Media/Disk/+3/Drive B:/Flip disk/Turn _upside down, Item,, menu_media_flip,, 0x102 Media/Disk/+3/Drive B:/Flip disk/Turn _back, Item,, menu_media_flip,, 0x002 @@ -254,7 +264,8 @@ Media/Disk/Beta/Drive A:/Insert _New, Item,, menu_media_insert_new,, 0x11 Media/Disk/Beta/Drive A:/_Insert..., Item,, menu_media_insert,, 0x11 Media/Disk/Beta/Drive A:/_Eject, Item,, menu_media_eject,, 0x11 -Media/Disk/Beta/Drive A:/Eject and _write..., Item,, menu_media_eject,, 0x111 +Media/Disk/Beta/Drive A:/_Save, Item,, menu_media_eject,, 0x211 +Media/Disk/Beta/Drive A:/Save _As..., Item,, menu_media_eject,, 0x111 Media/Disk/Beta/Drive A:/_Flip disk, Branch Media/Disk/Beta/Drive A:/Flip disk/Turn _upside down, Item,, menu_media_flip,, 0x111 Media/Disk/Beta/Drive A:/Flip disk/Turn _back, Item,, menu_media_flip,, 0x011 @@ -265,7 +276,8 @@ Media/Disk/Beta/Drive B:/Insert _New, Item,, menu_media_insert_new,, 0x12 Media/Disk/Beta/Drive B:/_Insert..., Item,, menu_media_insert,, 0x12 Media/Disk/Beta/Drive B:/_Eject, Item,, menu_media_eject,, 0x012 -Media/Disk/Beta/Drive B:/Eject and _write..., Item,, menu_media_eject,, 0x112 +Media/Disk/Beta/Drive B:/_Save, Item,, menu_media_eject,, 0x212 +Media/Disk/Beta/Drive B:/Save _As..., Item,, menu_media_eject,, 0x112 Media/Disk/Beta/Drive B:/_Flip disk, Branch Media/Disk/Beta/Drive B:/Flip disk/Turn _upside down, Item,, menu_media_flip,, 0x112 Media/Disk/Beta/Drive B:/Flip disk/Turn _back, Item,, menu_media_flip,, 0x012 @@ -276,7 +288,8 @@ Media/Disk/Beta/Drive C:/Insert _New, Item,, menu_media_insert_new,, 0x13 Media/Disk/Beta/Drive C:/_Insert..., Item,, menu_media_insert,, 0x13 Media/Disk/Beta/Drive C:/_Eject, Item,, menu_media_eject,, 0x013 -Media/Disk/Beta/Drive C:/Eject and _write..., Item,, menu_media_eject,, 0x113 +Media/Disk/Beta/Drive C:/_Save, Item,, menu_media_eject,, 0x213 +Media/Disk/Beta/Drive C:/Save _As..., Item,, menu_media_eject,, 0x113 Media/Disk/Beta/Drive C:/_Flip disk, Branch Media/Disk/Beta/Drive C:/Flip disk/Turn _upside down, Item,, menu_media_flip,, 0x113 Media/Disk/Beta/Drive C:/Flip disk/Turn _back, Item,, menu_media_flip,, 0x013 @@ -287,7 +300,8 @@ Media/Disk/Beta/Drive D:/Insert _New, Item,, menu_media_insert_new,, 0x14 Media/Disk/Beta/Drive D:/_Insert..., Item,, menu_media_insert,, 0x14 Media/Disk/Beta/Drive D:/_Eject, Item,, menu_media_eject,, 0x014 -Media/Disk/Beta/Drive D:/Eject and _write..., Item,, menu_media_eject,, 0x114 +Media/Disk/Beta/Drive D:/_Save, Item,, menu_media_eject,, 0x214 +Media/Disk/Beta/Drive D:/Save _As..., Item,, menu_media_eject,, 0x114 Media/Disk/Beta/Drive D:/_Flip disk, Branch Media/Disk/Beta/Drive D:/Flip disk/Turn _upside down, Item,, menu_media_flip,, 0x114 Media/Disk/Beta/Drive D:/Flip disk/Turn _back, Item,, menu_media_flip,, 0x014 @@ -300,7 +314,8 @@ Media/Disk/+D/Drive 1/Insert _New, Item,, menu_media_insert_new,, 0x21 Media/Disk/+D/Drive 1/_Insert..., Item,, menu_media_insert,, 0x21 Media/Disk/+D/Drive 1/_Eject, Item,, menu_media_eject,, 0x021 -Media/Disk/+D/Drive 1/Eject and _write..., Item,, menu_media_eject,, 0x121 +Media/Disk/+D/Drive 1/_Save, Item,, menu_media_eject,, 0x221 +Media/Disk/+D/Drive 1/Save _As..., Item,, menu_media_eject,, 0x121 Media/Disk/+D/Drive 1/_Flip disk, Branch Media/Disk/+D/Drive 1/Flip disk/Turn _upside down, Item,, menu_media_flip,, 0x121 Media/Disk/+D/Drive 1/Flip disk/Turn _back, Item,, menu_media_flip,, 0x021 @@ -311,7 +326,8 @@ Media/Disk/+D/Drive 2/Insert _New, Item,, menu_media_insert_new,, 0x22 Media/Disk/+D/Drive 2/_Insert..., Item,, menu_media_insert,, 0x22 Media/Disk/+D/Drive 2/_Eject, Item,, menu_media_eject,, 0x022 -Media/Disk/+D/Drive 2/Eject and _write..., Item,, menu_media_eject,, 0x122 +Media/Disk/+D/Drive 2/_Save, Item,, menu_media_eject,, 0x222 +Media/Disk/+D/Drive 2/Save _As..., Item,, menu_media_eject,, 0x122 Media/Disk/+D/Drive 2/_Flip disk, Branch Media/Disk/+D/Drive 2/Flip disk/Turn _upside down, Item,, menu_media_flip,, 0x122 Media/Disk/+D/Drive 2/Flip disk/Turn _back, Item,, menu_media_flip,, 0x022 @@ -324,7 +340,8 @@ Media/Disk/Opus/Drive 1/Insert _New, Item,, menu_media_insert_new,, 0x41 Media/Disk/Opus/Drive 1/_Insert..., Item,, menu_media_insert,, 0x41 Media/Disk/Opus/Drive 1/_Eject, Item,, menu_media_eject,, 0x041 -Media/Disk/Opus/Drive 1/Eject and _write..., Item,, menu_media_eject,, 0x141 +Media/Disk/Opus/Drive 1/_Save, Item,, menu_media_eject,, 0x241 +Media/Disk/Opus/Drive 1/Save _As..., Item,, menu_media_eject,, 0x141 Media/Disk/Opus/Drive 1/_Flip disk, Branch Media/Disk/Opus/Drive 1/Flip disk/Turn _upside down, Item,, menu_media_flip,, 0x141 Media/Disk/Opus/Drive 1/Flip disk/Turn _back, Item,, menu_media_flip,, 0x041 @@ -335,7 +352,8 @@ Media/Disk/Opus/Drive 2/Insert _New, Item,, menu_media_insert_new,, 0x42 Media/Disk/Opus/Drive 2/_Insert..., Item,, menu_media_insert,, 0x42 Media/Disk/Opus/Drive 2/_Eject, Item,, menu_media_eject,, 0x042 -Media/Disk/Opus/Drive 2/Eject and _write..., Item,, menu_media_eject,, 0x142 +Media/Disk/Opus/Drive 2/_Save, Item,, menu_media_eject,, 0x242 +Media/Disk/Opus/Drive 2/Save _As..., Item,, menu_media_eject,, 0x142 Media/Disk/Opus/Drive 2/_Flip disk, Branch Media/Disk/Opus/Drive 2/Flip disk/Turn _upside down, Item,, menu_media_flip,, 0x142 Media/Disk/Opus/Drive 2/Flip disk/Turn _back, Item,, menu_media_flip,, 0x042 Modified: vendor/fuse-emulator/current/fuse/ui/gtk/gtkdisplay.c =================================================================== --- vendor/fuse-emulator/current/fuse/ui/gtk/gtkdisplay.c 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/ui/gtk/gtkdisplay.c 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ /* gtkdisplay.c: GTK+ routines for dealing with the Speccy screen Copyright (c) 2000-2005 Philip Kendall - $Id: gtkdisplay.c 4139 2010-06-27 13:18:07Z pak21 $ + $Id: gtkdisplay.c 4182 2010-10-11 12:24:13Z 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 @@ -97,6 +97,7 @@ static int init_colours( void ); static void gtkdisplay_area(int x, int y, int width, int height); static void register_scalers( int force_scaler ); +static void gtkdisplay_load_gfx_mode( void ); /* Callbacks */ @@ -168,6 +169,8 @@ if ( scaler_select_scaler( current_scaler ) ) scaler_select_scaler( SCALER_NORMAL ); + gtkdisplay_load_gfx_mode(); + display_ui_initialised = 1; return 0; @@ -231,9 +234,13 @@ if( force_scaler ) { switch( gtkdisplay_current_size ) { - case 1: scaler = SCALER_NORMAL; break; - case 2: scaler = SCALER_DOUBLESIZE; break; - case 3: scaler = SCALER_TRIPLESIZE; break; + case 1: scaler = machine_current->timex ? SCALER_HALF : SCALER_NORMAL; + break; + case 2: scaler = machine_current->timex ? SCALER_NORMAL : SCALER_DOUBLESIZE; + break; + case 3: scaler = machine_current->timex ? SCALER_TIMEX1_5X : + SCALER_TRIPLESIZE; + break; } } @@ -299,55 +306,11 @@ int uidisplay_hotswap_gfx_mode( void ) { - GdkGeometry geometry; - GdkWindowHints hints; - float scale; - fuse_emulation_pause(); - scale = scaler_get_scaling_factor( current_scaler ); + /* Setup the new GFX mode */ + gtkdisplay_load_gfx_mode(); - hints = GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE | - GDK_HINT_BASE_SIZE | GDK_HINT_RESIZE_INC; - - geometry.min_width = DISPLAY_ASPECT_WIDTH; - geometry.min_height = DISPLAY_SCREEN_HEIGHT; - geometry.max_width = 3 * DISPLAY_ASPECT_WIDTH; - geometry.max_height = 3 * DISPLAY_SCREEN_HEIGHT; - geometry.base_width = scale * image_width; - geometry.base_height = scale * image_height; - geometry.width_inc = DISPLAY_ASPECT_WIDTH; - geometry.height_inc = DISPLAY_SCREEN_HEIGHT; - - if( settings_current.aspect_hint ) { - hints |= GDK_HINT_ASPECT; - if( settings_current.strict_aspect_hint ) { - geometry.min_aspect = geometry.max_aspect = - (float)DISPLAY_ASPECT_WIDTH / DISPLAY_SCREEN_HEIGHT; - } else { - geometry.min_aspect = 1.2; - geometry.max_aspect = 1.5; - } - } - - gtk_window_set_geometry_hints( GTK_WINDOW( gtkui_window ), - GTK_WIDGET( gtkui_drawing_area ), - &geometry, hints ); - - gtk_window_set_default_size( GTK_WINDOW( gtkui_window ), - scale * image_width, scale * image_height ); - - gtk_drawing_area_size( GTK_DRAWING_AREA( gtkui_drawing_area ), - scale * image_width, scale * image_height ); - - drawing_area_resize( scale * image_width, scale * image_height, 0 ); - - gtk_window_resize( GTK_WINDOW( gtkui_window ), scale * image_width, - scale * image_height ); - - /* Redraw the entire screen... */ - display_refresh_all(); - fuse_emulation_unpause(); return 0; @@ -465,3 +428,54 @@ drawing_area_resize( event->configure.width, event->configure.height, 1 ); return TRUE; } + +static void +gtkdisplay_load_gfx_mode( void ) +{ + GdkGeometry geometry; + GdkWindowHints hints; + float scale; + + scale = scaler_get_scaling_factor( current_scaler ); + + hints = GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE | + GDK_HINT_BASE_SIZE | GDK_HINT_RESIZE_INC; + + geometry.min_width = DISPLAY_ASPECT_WIDTH; + geometry.min_height = DISPLAY_SCREEN_HEIGHT; + geometry.max_width = 3 * DISPLAY_ASPECT_WIDTH; + geometry.max_height = 3 * DISPLAY_SCREEN_HEIGHT; + geometry.base_width = scale * image_width; + geometry.base_height = scale * image_height; + geometry.width_inc = DISPLAY_ASPECT_WIDTH; + geometry.height_inc = DISPLAY_SCREEN_HEIGHT; + + if( settings_current.aspect_hint ) { + hints |= GDK_HINT_ASPECT; + if( settings_current.strict_aspect_hint ) { + geometry.min_aspect = geometry.max_aspect = + (float)DISPLAY_ASPECT_WIDTH / DISPLAY_SCREEN_HEIGHT; + } else { + geometry.min_aspect = 1.2; + geometry.max_aspect = 1.5; + } + } + + gtk_window_set_geometry_hints( GTK_WINDOW( gtkui_window ), + GTK_WIDGET( gtkui_drawing_area ), + &geometry, hints ); + + gtk_window_set_default_size( GTK_WINDOW( gtkui_window ), + scale * image_width, scale * image_height ); + + gtk_drawing_area_size( GTK_DRAWING_AREA( gtkui_drawing_area ), + scale * image_width, scale * image_height ); + + drawing_area_resize( scale * image_width, scale * image_height, 0 ); + + gtk_window_resize( GTK_WINDOW( gtkui_window ), scale * image_width, + scale * image_height ); + + /* Redraw the entire screen... */ + display_refresh_all(); +} Modified: vendor/fuse-emulator/current/fuse/ui/ui.h =================================================================== --- vendor/fuse-emulator/current/fuse/ui/ui.h 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/ui/ui.h 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ /* ui.h: General UI event handling routines Copyright (c) 2000-2004 Philip Kendall - $Id: ui.h 4128 2010-05-18 11:20:47Z fredm $ + $Id: ui.h 4180 2010-10-09 12:59:37Z 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 @@ -115,11 +115,11 @@ int ui_tape_write( void ); /* Write a +3, Beta or +D disk out */ -int ui_plus3_disk_write( specplus3_drive_number which ); -int ui_beta_disk_write( beta_drive_number which ); -int ui_opus_disk_write( opus_drive_number which ); -int ui_plusd_disk_write( plusd_drive_number which ); -int ui_mdr_write( int which ); +int ui_plus3_disk_write( specplus3_drive_number which, int saveas ); +int ui_beta_disk_write( beta_drive_number which, int saveas ); +int ui_opus_disk_write( opus_drive_number which, int saveas ); +int ui_plusd_disk_write( plusd_drive_number which, int saveas ); +int ui_mdr_write( int which, int saveas ); /* Get a rollback point from the given list */ int ui_get_rollback_point( GSList *points ); Modified: vendor/fuse-emulator/current/fuse/ui/widget/query.c =================================================================== --- vendor/fuse-emulator/current/fuse/ui/widget/query.c 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/ui/widget/query.c 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ /* query.c: The query widgets Copyright (c) 2004-2008 Darren Salt, Fredrick Meunier - $Id: query.c 4103 2009-11-21 10:16:36Z fredm $ + $Id: query.c 4179 2010-10-08 10:05:55Z 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 @@ -62,7 +62,7 @@ static widget_query_entry query_save[] = { { "\012S\001ave", 0, INPUT_KEY_s, widget_save_click }, { "\012D\001on't save", 1, INPUT_KEY_d, widget_dont_save_click }, - { "\010C\001ancel", 2, INPUT_KEY_c, widget_cancel_click }, + { "\012C\001ancel", 2, INPUT_KEY_c, widget_cancel_click }, { NULL } }; @@ -87,7 +87,7 @@ static void widget_cancel_click( void ) { - widget_query.save = UI_CONFIRM_SAVE_DONTSAVE; + widget_query.save = UI_CONFIRM_SAVE_CANCEL; } static void Modified: vendor/fuse-emulator/current/fuse/ui.c =================================================================== --- vendor/fuse-emulator/current/fuse/ui.c 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/fuse/ui.c 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ /* ui.c: User interface routines, but those which are independent of any UI Copyright (c) 2002 Philip Kendall - $Id: ui.c 4177 2010-10-07 09:34:31Z fredm $ + $Id: ui.c 4180 2010-10-09 12:59:37Z 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 @@ -238,7 +238,8 @@ { UI_MENU_ITEM_MEDIA_IF1_M1_EJECT, "/Media/Interface I/Microdrive 1/Eject", - "/Media/Interface I/Microdrive 1/Eject and write...", 0, + "/Media/Interface I/Microdrive 1/Save As...", 0, + "/Media/Interface I/Microdrive 1/Save", 0, "/Media/Interface I/Microdrive 1/Write protect", 0 }, { UI_MENU_ITEM_MEDIA_IF1_M1_WP_SET, @@ -247,7 +248,8 @@ { UI_MENU_ITEM_MEDIA_IF1_M2_EJECT, "/Media/Interface I/Microdrive 2/Eject", - "/Media/Interface I/Microdrive 2/Eject and write...", 0, + "/Media/Interface I/Microdrive 2/Save As...", 0, + "/Media/Interface I/Microdrive 2/Save", 0, "/Media/Interface I/Microdrive 2/Write protect", 0 }, { UI_MENU_ITEM_MEDIA_IF1_M2_WP_SET, @@ -256,7 +258,8 @@ { UI_MENU_ITEM_MEDIA_IF1_M3_EJECT, "/Media/Interface I/Microdrive 3/Eject", - "/Media/Interface I/Microdrive 3/Eject and write...", 0, + "/Media/Interface I/Microdrive 3/Save As...", 0, + "/Media/Interface I/Microdrive 3/Save", 0, "/Media/Interface I/Microdrive 3/Write protect", 0 }, { UI_MENU_ITEM_MEDIA_IF1_M3_WP_SET, @@ -265,7 +268,8 @@ { UI_MENU_ITEM_MEDIA_IF1_M4_EJECT, "/Media/Interface I/Microdrive 4/Eject", - "/Media/Interface I/Microdrive 4/Eject and write...", 0, + "/Media/Interface I/Microdrive 4/Save As...", 0, + "/Media/Interface I/Microdrive 4/Save", 0, "/Media/Interface I/Microdrive 4/Write protect", 0 }, { UI_MENU_ITEM_MEDIA_IF1_M4_WP_SET, @@ -274,7 +278,8 @@ { UI_MENU_ITEM_MEDIA_IF1_M5_EJECT, "/Media/Interface I/Microdrive 5/Eject", - "/Media/Interface I/Microdrive 5/Eject and write...", 0, + "/Media/Interface I/Microdrive 5/Save As...", 0, + "/Media/Interface I/Microdrive 5/Save", 0, "/Media/Interface I/Microdrive 5/Write protect", 0 }, { UI_MENU_ITEM_MEDIA_IF1_M5_WP_SET, @@ -283,7 +288,8 @@ { UI_MENU_ITEM_MEDIA_IF1_M6_EJECT, "/Media/Interface I/Microdrive 6/Eject", - "/Media/Interface I/Microdrive 6/Eject and write...", 0, + "/Media/Interface I/Microdrive 6/Save As...", 0, + "/Media/Interface I/Microdrive 6/Save", 0, "/Media/Interface I/Microdrive 6/Write protect", 0 }, { UI_MENU_ITEM_MEDIA_IF1_M6_WP_SET, @@ -292,7 +298,8 @@ { UI_MENU_ITEM_MEDIA_IF1_M7_EJECT, "/Media/Interface I/Microdrive 7/Eject", - "/Media/Interface I/Microdrive 7/Eject and write...", 0, + "/Media/Interface I/Microdrive 7/Save As...", 0, + "/Media/Interface I/Microdrive 7/Save", 0, "/Media/Interface I/Microdrive 7/Write protect", 0 }, { UI_MENU_ITEM_MEDIA_IF1_M7_WP_SET, @@ -301,7 +308,8 @@ { UI_MENU_ITEM_MEDIA_IF1_M8_EJECT, "/Media/Interface I/Microdrive 8/Eject", - "/Media/Interface I/Microdrive 8/Eject and write...", 0, + "/Media/Interface I/Microdrive 8/Save As...", 0, + "/Media/Interface I/Microdrive 8/Save", 0, "/Media/Interface I/Microdrive 8/Write protect", 0 }, { UI_MENU_ITEM_MEDIA_IF1_M8_WP_SET, @@ -328,7 +336,8 @@ { UI_MENU_ITEM_MEDIA_DISK_PLUS3_A_EJECT, "/Media/Disk/+3/Drive A:/Eject", - "/Media/Disk/+3/Drive A:/Eject and write...", 0, + "/Media/Disk/+3/Drive A:/Save As...", 0, + "/Media/Disk/+3/Drive A:/Save", 0, "/Media/Disk/+3/Drive A:/Flip disk", 0, "/Media/Disk/+3/Drive A:/Write protect", 0 }, @@ -344,7 +353,8 @@ { UI_MENU_ITEM_MEDIA_DISK_PLUS3_B_EJECT, "/Media/Disk/+3/Drive B:/Eject", - "/Media/Disk/+3/Drive B:/Eject and write...", 0, + "/Media/Disk/+3/Drive B:/Save As...", 0, + "/Media/Disk/+3/Drive B:/Save", 0, "/Media/Disk/+3/Drive B:/Flip disk", 0, "/Media/Disk/+3/Drive B:/Write protect", 0 }, @@ -362,7 +372,8 @@ { UI_MENU_ITEM_MEDIA_DISK_BETA_A_EJECT, "/Media/Disk/Beta/Drive A:/Eject", - "/Media/Disk/Beta/Drive A:/Eject and write...", 0, + "/Media/Disk/Beta/Drive A:/Save As...", 0, + "/Media/Disk/Beta/Drive A:/Save", 0, "/Media/Disk/Beta/Drive A:/Flip disk", 0, "/Media/Disk/Beta/Drive A:/Write protect", 0 }, @@ -378,7 +389,8 @@ { UI_MENU_ITEM_MEDIA_DISK_BETA_B_EJECT, "/Media/Disk/Beta/Drive B:/Eject", - "/Media/Disk/Beta/Drive B:/Eject and write...", 0, + "/Media/Disk/Beta/Drive B:/Save As...", 0, + "/Media/Disk/Beta/Drive B:/Save", 0, "/Media/Disk/Beta/Drive B:/Flip disk", 0, "/Media/Disk/Beta/Drive B:/Write protect", 0 }, @@ -394,7 +406,8 @@ { UI_MENU_ITEM_MEDIA_DISK_BETA_C_EJECT, "/Media/Disk/Beta/Drive C:/Eject", - "/Media/Disk/Beta/Drive C:/Eject and write...", 0, + "/Media/Disk/Beta/Drive C:/Save As...", 0, + "/Media/Disk/Beta/Drive C:/Save", 0, "/Media/Disk/Beta/Drive C:/Flip disk", 0, "/Media/Disk/Beta/Drive C:/Write protect", 0 }, @@ -410,7 +423,8 @@ { UI_MENU_ITEM_MEDIA_DISK_BETA_D_EJECT, "/Media/Disk/Beta/Drive D:/Eject", - "/Media/Disk/Beta/Drive D:/Eject and write...", 0, + "/Media/Disk/Beta/Drive D:/Save As...", 0, + "/Media/Disk/Beta/Drive D:/Save", 0, "/Media/Disk/Beta/Drive D:/Flip disk", 0, "/Media/Disk/Beta/Drive D:/Write protect", 0 }, @@ -428,7 +442,8 @@ { UI_MENU_ITEM_MEDIA_DISK_PLUSD_1_EJECT, "/Media/Disk/+D/Drive 1/Eject", - "/Media/Disk/+D/Drive 1/Eject and write...", 0, + "/Media/Disk/+D/Drive 1/Save As...", 0, + "/Media/Disk/+D/Drive 1/Save", 0, "/Media/Disk/+D/Drive 1/Flip disk", 0, "/Media/Disk/+D/Drive 1/Write protect", 0 }, @@ -444,7 +459,8 @@ { UI_MENU_ITEM_MEDIA_DISK_PLUSD_2_EJECT, "/Media/Disk/+D/Drive 2/Eject", - "/Media/Disk/+D/Drive 2/Eject and write...", 0, + "/Media/Disk/+D/Drive 2/Save As...", 0, + "/Media/Disk/+D/Drive 2/Save", 0, "/Media/Disk/+D/Drive 2/Flip disk", 0, "/Media/Disk/+D/Drive 2/Write protect", 0 }, @@ -462,7 +478,8 @@ { UI_MENU_ITEM_MEDIA_DISK_OPUS_1_EJECT, "/Media/Disk/Opus/Drive 1/Eject", - "/Media/Disk/Opus/Drive 1/Eject and write...", 0, + "/Media/Disk/Opus/Drive 1/Save As...", 0, + "/Media/Disk/Opus/Drive 1/Save", 0, "/Media/Disk/Opus/Drive 1/Flip disk", 0, "/Media/Disk/Opus/Drive 1/Write protect", 0 }, @@ -478,7 +495,8 @@ { UI_MENU_ITEM_MEDIA_DISK_OPUS_2_EJECT, "/Media/Disk/Opus/Drive 2/Eject", - "/Media/Disk/Opus/Drive 2/Eject and write...", 0, + "/Media/Disk/Opus/Drive 2/Save As...", 0, + "/Media/Disk/Opus/Drive 2/Save", 0, "/Media/Disk/Opus/Drive 2/Flip disk", 0, "/Media/Disk/Opus/Drive 2/Write protect", 0 }, @@ -641,10 +659,10 @@ } int -ui_plus3_disk_write( specplus3_drive_number which ) +ui_plus3_disk_write( specplus3_drive_number which, int saveas ) { int err; - char drive, *filename, title[80]; + char drive, *filename = NULL, title[80]; switch( which ) { case SPECPLUS3_DRIVE_A: drive = 'A'; break; @@ -656,12 +674,13 @@ snprintf( title, 80, "Fuse - Write +3 Disk %c:", drive ); - filename = ui_get_save_filename( title ); - if( !filename ) { fuse_emulation_unpause(); return 1; } - + if( saveas ) { + filename = ui_get_save_filename( title ); + if( !filename ) { fuse_emulation_unpause(); return 1; } + } err = specplus3_disk_write( which, filename ); - free( filename ); + if( saveas ) free( filename ); fuse_emulation_unpause(); @@ -669,10 +688,10 @@ } int -ui_beta_disk_write( beta_drive_number which ) +ui_beta_disk_write( beta_drive_number which, int saveas ) { int err; - char drive, *filename, title[80]; + char drive, *filename = NULL, title[80]; switch( which ) { case BETA_DRIVE_A: drive = 'A'; break; @@ -686,12 +705,14 @@ snprintf( title, 80, "Fuse - Write Beta Disk %c:", drive ); - filename = ui_get_save_filename( title ); - if( !filename ) { fuse_emulation_unpause(); return 1; } + if( saveas ) { + filename = ui_get_save_filename( title ); + if( !filename ) { fuse_emulation_unpause(); return 1; } + } err = beta_disk_write( which, filename ); - free( filename ); + if( saveas ) free( filename ); fuse_emulation_unpause(); @@ -699,10 +720,10 @@ } int -ui_opus_disk_write( opus_drive_number which ) +ui_opus_disk_write( opus_drive_number which, int saveas ) { int err; - char drive, *filename, title[80]; + char drive, *filename = NULL, title[80]; switch( which ) { case OPUS_DRIVE_1: drive = '1'; break; @@ -714,12 +735,14 @@ snprintf( title, 80, "Fuse - Write Opus Disk %c", drive ); - filename = ui_get_save_filename( title ); - if( !filename ) { fuse_emulation_unpause(); return 1; } + if( saveas ) { + filename = ui_get_save_filename( title ); + if( !filename ) { fuse_emulation_unpause(); return 1; } + } err = opus_disk_write( which, filename ); - free( filename ); + if( saveas ) free( filename ); fuse_emulation_unpause(); @@ -727,10 +750,10 @@ } int -ui_plusd_disk_write( plusd_drive_number which ) +ui_plusd_disk_write( plusd_drive_number which, int saveas ) { int err; - char drive, *filename, title[80]; + char drive, *filename = NULL, title[80]; switch( which ) { case PLUSD_DRIVE_1: drive = '1'; break; @@ -742,12 +765,14 @@ snprintf( title, 80, "Fuse - Write +D Disk %c", drive ); - filename = ui_get_save_filename( title ); - if( !filename ) { fuse_emulation_unpause(); return 1; } + if( saveas ) { + filename = ui_get_save_filename( title ); + if( !filename ) { fuse_emulation_unpause(); return 1; } + } err = plusd_disk_write( which, filename ); - free( filename ); + if( saveas ) free( filename ); fuse_emulation_unpause(); @@ -755,21 +780,23 @@ } int -ui_mdr_write( int which ) +ui_mdr_write( int which, int saveas ) { int err; - char *filename, title[80]; + char *filename = NULL, title[80]; fuse_emulation_pause(); snprintf( title, 80, "Fuse - Write Microdrive Cartridge %i", which + 1 ); - filename = ui_get_save_filename( title ); - if( !filename ) { fuse_emulation_unpause(); return 1; } + if( saveas ) { + filename = ui_get_save_filename( title ); + if( !filename ) { fuse_emulation_unpause(); return 1; } + } err = if1_mdr_write( which, filename ); - free( filename ); + if( saveas ) free( filename ); fuse_emulation_unpause(); Modified: vendor/fuse-emulator/current/libspectrum/configure.in =================================================================== --- vendor/fuse-emulator/current/libspectrum/configure.in 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/libspectrum/configure.in 2010-10-18 10:33:08 UTC (rev 654) @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. dnl Copyright (c) 1999-2008 Philip Kendall -dnl $Id: configure.in 4167 2010-10-02 12:08:34Z pak21 $ +dnl $Id: configure.in 4181 2010-10-10 10:28:09Z 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 @@ -59,7 +59,11 @@ if test "$WINDRES" != no; then WINDRES_OBJ="windres.o" WINDRES_LDFLAGS="-Xlinker windres.o" - AC_DEFINE([VERSION_WIN32], [translit(LIBSPECTRUM_VERSION, [.], [,])[,0]], [Define version information for win32 dll library]) + define(LIBSPECTRUM_FULL_VERSION, + [ifelse(translit(LIBSPECTRUM_VERSION, [0-9]), [.], [LIBSPECTRUM_VERSION[.0.0]], + translit(LIBSPECTRUM_VERSION, [0-9]), [..], [LIBSPECTRUM_VERSION[.0]], + [LIBSPECTRUM_VERSION])])dnl + AC_DEFINE([VERSION_WIN32], [translit(LIBSPECTRUM_FULL_VERSION, [.], [,])], [Define version information for win32 dll library]) fi AC_SUBST(WINDRES_OBJ) AM_SUBST_NOTMAKE(WINDRES_OBJ) Modified: vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog =================================================================== --- vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog 2010-10-16 09:47:07 UTC (rev 653) +++ vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog 2010-10-18 10:33:08 UTC (rev 654) @@ -785,3 +785,5 @@ libspectrum version number so we know that new files are written without the bug. 20101003 szx.c,test/{empty.szx,test.c}: we also need to swap A' and F'. +20101010 configure.in: pad version number for Win32 if needed (patch #3084574) + (Sergio Baldovi). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-10-16 09:47:13
|
Revision: 653 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=653&view=rev Author: fredm Date: 2010-10-16 09:47:07 +0000 (Sat, 16 Oct 2010) Log Message: ----------- We don't link and C++ code in any more, so main can move back to Objective-C instead of Objective-C++. Modified Paths: -------------- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj Added Paths: ----------- trunk/fuse/fusepb/main.m Removed Paths: ------------- trunk/fuse/fusepb/main.mm Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2010-10-16 09:43:30 UTC (rev 652) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2010-10-16 09:47:07 UTC (rev 653) @@ -151,7 +151,7 @@ B629532E114FB265007808E0 /* libspectrum.h.in in Resources */ = {isa = PBXBuildFile; fileRef = B6DCBB7A114FA0E700DC9A11 /* libspectrum.h.in */; }; B62B19E10DD31DF500D42AAF /* scalers16.c in Sources */ = {isa = PBXBuildFile; fileRef = B62B19E00DD31DF500D42AAF /* scalers16.c */; }; B62B1A280DD6655800D42AAF /* fuse.c in Sources */ = {isa = PBXBuildFile; fileRef = B62B1A270DD6655800D42AAF /* fuse.c */; }; - B62B1A2A0DD667EC00D42AAF /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = B62B1A290DD667EC00D42AAF /* main.mm */; }; + B62B1A2A0DD667EC00D42AAF /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B62B1A290DD667EC00D42AAF /* main.m */; }; B631B9FF10257CA400BE1EE1 /* opus.c in Sources */ = {isa = PBXBuildFile; fileRef = B631B9FD10257CA400BE1EE1 /* opus.c */; }; B631BA0010257CA400BE1EE1 /* opus.h in Headers */ = {isa = PBXBuildFile; fileRef = B631B9FE10257CA400BE1EE1 /* opus.h */; }; B631BA0F1025878600BE1EE1 /* opus.rom in Resources */ = {isa = PBXBuildFile; fileRef = B631BA0E1025878600BE1EE1 /* opus.rom */; }; @@ -418,7 +418,7 @@ B6251C3D0C2EB24500BD5543 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; }; B62B19E00DD31DF500D42AAF /* scalers16.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = scalers16.c; path = scaler/scalers16.c; sourceTree = SOURCE_ROOT; }; B62B1A270DD6655800D42AAF /* fuse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = fuse.c; sourceTree = "<group>"; }; - B62B1A290DD667EC00D42AAF /* main.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; }; + B62B1A290DD667EC00D42AAF /* main.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; B62F3BCE059F5BF300A7009A /* PokeFinderController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PokeFinderController.h; path = controllers/PokeFinderController.h; sourceTree = "<group>"; }; B62F3BCF059F5BF300A7009A /* PokeFinderController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PokeFinderController.m; path = controllers/PokeFinderController.m; sourceTree = "<group>"; }; B631B9FD10257CA400BE1EE1 /* opus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = opus.c; sourceTree = "<group>"; }; @@ -801,7 +801,7 @@ B66EA7840401075300A864FD /* FuseMenus.m */, B6A7F0E904C9A11D001025EB /* NumberFormatter.h */, B6A7F0EA04C9A11D001025EB /* NumberFormatter.m */, - B62B1A290DD667EC00D42AAF /* main.mm */, + B62B1A290DD667EC00D42AAF /* main.m */, ); name = Classes; sourceTree = "<group>"; @@ -1737,7 +1737,7 @@ B665FD490DD25D8900D21C79 /* upd_fdc.c in Sources */, B62B19E10DD31DF500D42AAF /* scalers16.c in Sources */, B62B1A280DD6655800D42AAF /* fuse.c in Sources */, - B62B1A2A0DD667EC00D42AAF /* main.mm in Sources */, + B62B1A2A0DD667EC00D42AAF /* main.m in Sources */, B684A19A0E93A88200A5B097 /* mempool.c in Sources */, B684A19E0E93A8CD00A5B097 /* event.c in Sources */, B684A1A00E93A8D700A5B097 /* variable.c in Sources */, Copied: trunk/fuse/fusepb/main.m (from rev 649, trunk/fuse/fusepb/main.mm) =================================================================== --- trunk/fuse/fusepb/main.m (rev 0) +++ trunk/fuse/fusepb/main.m 2010-10-16 09:47:07 UTC (rev 653) @@ -0,0 +1,68 @@ +/* main.m: The Free Unix Spectrum Emulator + Copyright (c) 2006-2010 Fredrick Meunier + + $Id: fuse.c,v 1.130 2006/07/28 15:06:14 fredm Exp $ + + 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + Author contact information: + + E-mail: pak...@sr... + Postal address: 15 Crescent Road, Wokingham, Berks, RG40 2DB, England + +*/ + +#import <Cocoa/Cocoa.h> + +#include <stdlib.h> + +#include "fuse.h" +#include "main.h" +#include "settings.h" + +int ac; +char **av; + +int main(int argc, char *argv[]) +{ + int retval, i; + + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + int error = settings_defaults( &settings_current ); + if( error ) return error; + + /* This is passed if we are launched by double-clicking */ + if ( argc >= 2 && strncmp( argv[1], "-psn", 4 ) == 0 ) { + ac = 1; + } else { + ac = argc; + } + av = (char**) malloc( sizeof(*av) * (ac+1) ); + for( i = 0; i < ac; i++ ) + av[i] = argv[i]; + av[i] = NULL; + + if( settings_current.show_help || + settings_current.show_version ) return 0; + + retval = NSApplicationMain( argc, (const char**)argv ); + + fuse_end(); + + [pool release]; + + return retval; +} Deleted: trunk/fuse/fusepb/main.mm =================================================================== --- trunk/fuse/fusepb/main.mm 2010-10-16 09:43:30 UTC (rev 652) +++ trunk/fuse/fusepb/main.mm 2010-10-16 09:47:07 UTC (rev 653) @@ -1,70 +0,0 @@ -/* main.mm: The Free Unix Spectrum Emulator - Copyright (c) 2006-2009 Fredrick Meunier - - $Id: fuse.c,v 1.130 2006/07/28 15:06:14 fredm Exp $ - - 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Author contact information: - - E-mail: pak...@sr... - Postal address: 15 Crescent Road, Wokingham, Berks, RG40 2DB, England - -*/ - -#import <Cocoa/Cocoa.h> - -#include <stdlib.h> - -extern "C" { -#include "fuse.h" -#include "main.h" -#include "settings.h" -} - -int ac; -char **av; - -int main(int argc, char *argv[]) -{ - int retval, i; - - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - - int error = settings_defaults( &settings_current ); - if( error ) return error; - - /* This is passed if we are launched by double-clicking */ - if ( argc >= 2 && strncmp( argv[1], "-psn", 4 ) == 0 ) { - ac = 1; - } else { - ac = argc; - } - av = (char**) malloc( sizeof(*av) * (ac+1) ); - for( i = 0; i < ac; i++ ) - av[i] = argv[i]; - av[i] = NULL; - - if( settings_current.show_help || - settings_current.show_version ) return 0; - - retval = NSApplicationMain( argc, (const char**)argv ); - - fuse_end(); - - [pool release]; - - return retval; -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-10-16 09:43:36
|
Revision: 652 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=652&view=rev Author: fredm Date: 2010-10-16 09:43:30 +0000 (Sat, 16 Oct 2010) Log Message: ----------- Looks like vsync wasn't enabled, sure it was at some point in the past though! Modified Paths: -------------- trunk/fuse/fusepb/views/DisplayOpenGLView.m Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2010-10-15 10:18:04 UTC (rev 651) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2010-10-16 09:43:30 UTC (rev 652) @@ -203,6 +203,10 @@ [[self openGLContext] makeCurrentContext]; + // Synchronize buffer swaps with vertical refresh rate + GLint swapInt = 1; + [[self openGLContext] setValues:&swapInt forParameter:NSOpenGLCPSwapInterval]; + /* Setup some basic OpenGL stuff */ glPixelStorei( GL_UNPACK_ALIGNMENT, 1 ); glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-10-15 10:18:10
|
Revision: 651 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=651&view=rev Author: fredm Date: 2010-10-15 10:18:04 +0000 (Fri, 15 Oct 2010) Log Message: ----------- Disable fast texture upload extensions as they seem to give the ATI drivers conniptions. Modified Paths: -------------- trunk/fuse/fusepb/views/DisplayOpenGLView.m Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2010-10-08 13:06:33 UTC (rev 650) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2010-10-15 10:18:04 UTC (rev 651) @@ -594,6 +594,10 @@ glEnable( GL_TEXTURE_RECTANGLE_ARB ); glBindTexture( GL_TEXTURE_RECTANGLE_ARB, screenTexId[i] ); +#if 0 + // These should increase texture upload performance, but instead seem to cause + // issues with some ATI drivers (and perhaps GMA too), so I'm disabling for now + // maybe revisit come 10.7 glTextureRangeAPPLE( GL_TEXTURE_RECTANGLE_ARB, screenTex[i].full_width * screenTex[i].pitch, screenTex[i].pixels ); @@ -601,6 +605,7 @@ glTexParameteri( GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_STORAGE_HINT_APPLE, GL_STORAGE_CACHED_APPLE ); glPixelStorei( GL_UNPACK_CLIENT_STORAGE_APPLE, GL_TRUE ); +#endif GLint filter = settings_current.bilinear_filter ? GL_LINEAR : GL_NEAREST; glTexParameteri( GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, filter ); glTexParameteri( GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, filter ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-10-08 13:06:43
|
Revision: 650 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=650&view=rev Author: fredm Date: 2010-10-08 13:06:33 +0000 (Fri, 08 Oct 2010) Log Message: ----------- Merge up to vendor revision 4178. Revision Links: -------------- http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=4178&view=rev Modified Paths: -------------- trunk/FuseGenerator/libspectrum.h trunk/FuseImporter/libspectrum.h trunk/fuse/ChangeLog trunk/fuse/README trunk/fuse/configure.in trunk/fuse/disk/beta.c trunk/fuse/disk/disk.c 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/libspectrum.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/xibs/Preferences.xib trunk/fuse/hacking/ChangeLog trunk/fuse/ide/divide.c trunk/fuse/ide/divide.h trunk/fuse/ide/ide.c trunk/fuse/ide/ide.h trunk/fuse/ide/simpleide.c trunk/fuse/ide/simpleide.h trunk/fuse/ide/zxatasp.c trunk/fuse/ide/zxatasp.h trunk/fuse/ide/zxcf.c trunk/fuse/ide/zxcf.h trunk/fuse/lib/Makefile.am trunk/fuse/lib/compressed/disk_plus3.szx trunk/fuse/lib/compressed/tape_128.szx trunk/fuse/lib/compressed/tape_16.szx trunk/fuse/lib/compressed/tape_2048.szx trunk/fuse/lib/compressed/tape_2068.szx trunk/fuse/lib/compressed/tape_48.szx trunk/fuse/lib/compressed/tape_pentagon.szx trunk/fuse/lib/compressed/tape_plus2.szx trunk/fuse/lib/compressed/tape_plus2a.szx trunk/fuse/lib/compressed/tape_plus3.szx trunk/fuse/lib/compressed/tape_plus3e.szx trunk/fuse/lib/compressed/tape_scorpion.szx trunk/fuse/lib/compressed/tape_se.szx trunk/fuse/lib/compressed/tape_ts2068.szx trunk/fuse/lib/uncompressed/disk_plus3.szx trunk/fuse/lib/uncompressed/tape_128.szx trunk/fuse/lib/uncompressed/tape_16.szx trunk/fuse/lib/uncompressed/tape_2048.szx trunk/fuse/lib/uncompressed/tape_2068.szx trunk/fuse/lib/uncompressed/tape_48.szx trunk/fuse/lib/uncompressed/tape_pentagon.szx trunk/fuse/lib/uncompressed/tape_plus2.szx trunk/fuse/lib/uncompressed/tape_plus2a.szx trunk/fuse/lib/uncompressed/tape_plus3.szx trunk/fuse/lib/uncompressed/tape_plus3e.szx trunk/fuse/lib/uncompressed/tape_scorpion.szx trunk/fuse/lib/uncompressed/tape_se.szx trunk/fuse/lib/uncompressed/tape_ts2068.szx trunk/fuse/machine.c trunk/fuse/machines/Makefile.am trunk/fuse/machines/machines.h trunk/fuse/man/fuse.1 trunk/fuse/menu.c trunk/fuse/menu.h trunk/fuse/rzx.c trunk/fuse/rzx.h trunk/fuse/sound/coreaudiosound.c trunk/fuse/tape.c trunk/fuse/ui/gtk/gtkdisplay.c trunk/fuse/ui/gtk/gtkkeyboard.c trunk/fuse/ui/gtk/gtkui.c trunk/fuse/ui/gtk/statusbar.c trunk/fuse/ui/gtk/stock.c trunk/fuse/ui/win32/installer/fuse.nsi trunk/fuse/ui.c trunk/fuse/utils.c trunk/fuse/utils.h trunk/fuse/windres.rc trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/Makefile.am trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/configure.in 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/rzx.c trunk/libspectrum/libspectrum/sna.c trunk/libspectrum/libspectrum/szx.c trunk/libspectrum/libspectrum/tape_block.c trunk/libspectrum/libspectrum/test/test.c trunk/libspectrum/libspectrum/timings.c trunk/libspectrum/libspectrum/z80.c trunk/libspectrum/libspectrum.h Added Paths: ----------- trunk/fuse/lib/compressed/tape_48_ntsc.szx trunk/fuse/lib/uncompressed/tape_48_ntsc.szx trunk/fuse/machines/spec48_ntsc.c trunk/libspectrum/libspectrum/test/empty.szx trunk/libspectrum/libspectrum/test/plus3.z80 trunk/libspectrum/libspectrum/windres.rc Property Changed: ---------------- trunk/fuse/ trunk/fuse/fusepb/libspectrum.h trunk/libspectrum/libspectrum/ Modified: trunk/FuseGenerator/libspectrum.h =================================================================== --- trunk/FuseGenerator/libspectrum.h 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/FuseGenerator/libspectrum.h 2010-10-08 13:06:33 UTC (rev 650) @@ -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 4120 2010-02-21 05:06:56Z fredm $ + $Id: libspectrum.h.in 4148 2010-08-25 21:20: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 @@ -451,6 +451,8 @@ LIBSPECTRUM_MACHINE_PENT512, LIBSPECTRUM_MACHINE_PENT1024, + LIBSPECTRUM_MACHINE_48_NTSC, + } libspectrum_machine; WIN32_DLL const char* libspectrum_machine_name( libspectrum_machine type ); Modified: trunk/FuseImporter/libspectrum.h =================================================================== --- trunk/FuseImporter/libspectrum.h 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/FuseImporter/libspectrum.h 2010-10-08 13:06:33 UTC (rev 650) @@ -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 4120 2010-02-21 05:06:56Z fredm $ + $Id: libspectrum.h.in 4148 2010-08-25 21:20: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 @@ -451,6 +451,8 @@ LIBSPECTRUM_MACHINE_PENT512, LIBSPECTRUM_MACHINE_PENT1024, + LIBSPECTRUM_MACHINE_48_NTSC, + } libspectrum_machine; WIN32_DLL const char* libspectrum_machine_name( libspectrum_machine type ); Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo - /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-638 + /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-649 Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/ChangeLog 2010-10-08 13:06:33 UTC (rev 650) @@ -1,6 +1,6 @@ -2010-xx-xx Philip Kendall <phi...@sh...> +2010-10-xx Philip Kendall <phi...@sh...> - * Fuse 0.11.0 released + * Fuse 1.0.0 released. * Add Opus Discovery disk interface support (Gergely Szasz and Fredrick Meunier). @@ -8,6 +8,8 @@ * Many improvements to Win32 UI, including an installer (Marek Januszewski). * Support weak data in +3 disk images (Gergely Szasz). + * NTSC Spectrum support (Philip Kendall, with thanks to Claudio + Bernet). * Add support for flipping disk images in single sided drives (Gergely Szasz). * Add support for automatically merging both both disk images where @@ -47,8 +49,6 @@ notebooks (thanks, Andrew Owen) (Fredrick Meunier). * Fixes for speed estimation (Gergely Szasz). * Fix border colour in Timex HiRes screenshots (Fredrick Meunier). - * Fix accelerated loaders when compiling with gcc 3.x (Carlos - Almeida, Alberto Garcia and Philip Kendall). * Allow "combo" boxes in widget UI (Gergely Szasz). * Allow Home and End keys to work in widget UI (Gergely Szasz). * Fix poke finder passing the wrong page to the debugger (Marek @@ -1035,4 +1035,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 4134 2010-05-21 13:16:19Z fredm $ +$Id: ChangeLog 4165 2010-09-30 21:55:05Z pak21 $ Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/README 2010-10-08 13:06:33 UTC (rev 650) @@ -1,5 +1,5 @@ -The Free Unix Spectrum Emulator (Fuse) 0.10.0.2 -=============================================== +The Free Unix Spectrum Emulator (Fuse) 1.0.0 +============================================ Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat unsurprisingly, an emulator of the ZX Spectrum (a popular 1980s home @@ -209,11 +209,11 @@ and the Fuse project page on SourceForge, http://sourceforge.net/projects/fuse-emulator/ -If you're interested in more general Speccy related discussions, visit -the Usenet group 'comp.sys.sinclair', but do read the FAQ -( http://www.worldofspectrum.org/faq/index.html ) first! +For Spectrum discussions not directly related to Fuse, visit either the +Usenet newsgroup `comp.sys.sinclair' or the World of Spectrum forums +<http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -14 January 2009 +FIXME October 2010 -$Id: README 4132 2010-05-20 12:06:53Z fredm $ +$Id: README 4172 2010-10-03 22:51:59Z pak21 $ Modified: trunk/fuse/configure.in =================================================================== --- trunk/fuse/configure.in 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/configure.in 2010-10-08 13:06:33 UTC (rev 650) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in 4132 2010-05-20 12:06:53Z fredm $ +dnl $Id: configure.in 4175 2010-10-06 10:44:19Z 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 @@ -23,8 +23,10 @@ AM_CONFIG_HEADER(config.h) AC_CANONICAL_SYSTEM +define(FUSE_VERSION, [0.10.0.2]) + dnl Use automake to produce `Makefile.in' -AM_INIT_AUTOMAKE(fuse, 0.10.0.2) +AM_INIT_AUTOMAKE(fuse, FUSE_VERSION) dnl Checks for programs. AC_PROG_CC @@ -40,8 +42,10 @@ AC_SUBST(WINDRES) if test "$WINDRES" != no; then WINDRES_OBJ="windres.o" + AC_DEFINE([VERSION_WIN32], [translit(FUSE_VERSION, [.], [,])], [Define version information for win32 executable]) fi AC_SUBST(WINDRES_OBJ) +AM_SUBST_NOTMAKE(WINDRES_OBJ) dnl Generate commandy.h YFLAGS="$YFLAGS -d" @@ -247,7 +251,11 @@ fi dnl Check for the MIT-SHM extension - AC_CHECK_HEADERS( X11/extensions/XShm.h ) + AC_CHECK_HEADERS( X11/extensions/XShm.h,,,[[ + #include <sys/ipc.h> + #include <sys/shm.h> + #include <X11/Xlib.h> + ]]) AC_CHECK_LIB( Xext, XShmAttach, LIBS="$LIBS -lXext" ) AC_DEFINE([UI_X], 1, [Defined if Xlib UI in use]) Modified: trunk/fuse/disk/beta.c =================================================================== --- trunk/fuse/disk/beta.c 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/disk/beta.c 2010-10-08 13:06:33 UTC (rev 650) @@ -1,7 +1,7 @@ /* beta.c: Routines for handling the Beta disk interface Copyright (c) 2004-2008 Stuart Brady - $Id: beta.c 4131 2010-05-19 10:52:37Z fredm $ + $Id: beta.c 4147 2010-08-19 12:25:15Z 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 @@ -65,6 +65,8 @@ int beta_active = 0; int beta_builtin = 0; +static libspectrum_byte beta_system_register; /* FDC system register */ + libspectrum_word beta_pc_mask; libspectrum_word beta_pc_value; @@ -365,6 +367,8 @@ fdd_set_head( &beta_fdc->current_drive->fdd, ( ( b & 0x10 ) ? 0 : 1 ) ); /* 0x20 = density, reset = FM, set = MFM */ beta_fdc->dden = b & 0x20 ? 1 : 0; + + beta_system_register = b; } libspectrum_byte @@ -725,7 +729,6 @@ void beta_to_snapshot( libspectrum_snap *snap ) { - int attached; wd_fdc *f = beta_fdc; libspectrum_byte *buffer; int drive_count = 0; @@ -759,9 +762,9 @@ libspectrum_snap_set_beta_paged ( snap, beta_active ); libspectrum_snap_set_beta_direction( snap, beta_fdc->direction ); - libspectrum_snap_set_beta_status( snap, beta_sr_read( 0x001f, &attached ) ); + libspectrum_snap_set_beta_status( snap, f->status_register ); libspectrum_snap_set_beta_track ( snap, f->track_register ); libspectrum_snap_set_beta_sector( snap, f->sector_register ); libspectrum_snap_set_beta_data ( snap, f->data_register ); - libspectrum_snap_set_beta_system( snap, beta_sp_read( 0x00ff, &attached ) ); + libspectrum_snap_set_beta_system( snap, beta_system_register ); } Modified: trunk/fuse/disk/disk.c =================================================================== --- trunk/fuse/disk/disk.c 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/disk/disk.c 2010-10-08 13:06:33 UTC (rev 650) @@ -1,7 +1,7 @@ /* disk.c: Routines for handling disk images Copyright (c) 2007-2010 Gergely Szasz - $Id: disk.c 4114 2010-01-15 13:45:51Z fredm $ + $Id: disk.c 4141 2010-07-19 11:30: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 @@ -102,6 +102,8 @@ size_t index; } buffer_t; +void disk_update_tlens( disk_t *d ); + const char * disk_strerror( int error ) { @@ -742,6 +744,7 @@ d->wrprot = 0; d->dirty = 0; + disk_update_tlens( d ); return d->status = DISK_OK; } Modified: trunk/fuse/fuse.c =================================================================== --- trunk/fuse/fuse.c 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/fuse.c 2010-10-08 13:06:33 UTC (rev 650) @@ -1,7 +1,7 @@ /* fuse.c: The Free Unix Spectrum Emulator - Copyright (c) 1999-2009 Philip Kendall + Copyright (c) 1999-2010 Philip Kendall and others - $Id: fuse.c 4109 2009-12-27 06:15:10Z fredm $ + $Id: fuse.c 4165 2010-09-30 21:55:05Z 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 @@ -383,7 +383,7 @@ printf( "\n" ); fuse_show_version(); printf( - "Copyright (c) 1999-2009 Philip Kendall and others; see the file\n" + "Copyright (c) 1999-2010 Philip Kendall and others; see the file\n" "'AUTHORS' for more details.\n" "\n" "For help, please mail <fus...@li...> or use\n" @@ -628,7 +628,7 @@ static int do_start_files( start_files_t *start_files ) { - int autoload, error, i; + int autoload, error, i, check_snapshot; /* Can't do both input recording and playback */ if( start_files->playback && start_files->recording ) { @@ -773,7 +773,8 @@ /* Input recordings */ if( start_files->playback ) { - error = utils_open_file( start_files->playback, autoload, NULL ); + check_snapshot = start_files->snapshot ? 0 : 1; + error = rzx_start_playback( start_files->playback, check_snapshot ); if( error ) return error; } 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 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2010-10-08 13:06:33 UTC (rev 650) @@ -218,6 +218,8 @@ B6A6F1200B3EA737000B88E9 /* cocoascreenshot.m in Sources */ = {isa = PBXBuildFile; fileRef = B6A6F11E0B3EA737000B88E9 /* cocoascreenshot.m */; }; B6B076B30B59FE9A00D4F95C /* Emulator.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B076B10B59FE9A00D4F95C /* Emulator.m */; }; B6B99F8A0B5F798700EE408F /* cocoadisplay.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B99F890B5F798700EE408F /* cocoadisplay.m */; }; + B6BDE2D3125DF48000B81C58 /* tape_48_ntsc.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6BDE2D2125DF48000B81C58 /* tape_48_ntsc.szx */; }; + B6BDE2DB125DF4A800B81C58 /* spec48_ntsc.c in Sources */ = {isa = PBXBuildFile; fileRef = B6BDE2DA125DF4A800B81C58 /* spec48_ntsc.c */; }; B6CA27A70C2CDBC500F06FB3 /* dirty.c in Sources */ = {isa = PBXBuildFile; fileRef = B6CA27A50C2CDBC500F06FB3 /* dirty.c */; }; B6CA2A230C33F84A0003CF90 /* module.c in Sources */ = {isa = PBXBuildFile; fileRef = B6CA2A210C33F8490003CF90 /* module.c */; }; B6CA2A260C33F8800003CF90 /* plusd.rom in Resources */ = {isa = PBXBuildFile; fileRef = B6CA2A250C33F8800003CF90 /* plusd.rom */; }; @@ -347,6 +349,7 @@ B61F459309121DF100C8096C /* Fuse Help in CopyFiles */, B61F459409121DF100C8096C /* disk_plus3.szx in CopyFiles */, B61F459509121DF100C8096C /* tape_16.szx in CopyFiles */, + B6BDE2D3125DF48000B81C58 /* tape_48_ntsc.szx in CopyFiles */, B61F459609121DF100C8096C /* tape_48.szx in CopyFiles */, B61F459709121DF100C8096C /* tape_128.szx in CopyFiles */, B61F459809121DF100C8096C /* tape_2048.szx in CopyFiles */, @@ -573,6 +576,8 @@ B6B076B10B59FE9A00D4F95C /* Emulator.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = Emulator.m; sourceTree = "<group>"; }; B6B99F890B5F798700EE408F /* cocoadisplay.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = cocoadisplay.m; sourceTree = "<group>"; }; B6BA1A9404E4F88F0017354F /* uijoystick.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = uijoystick.h; path = ../ui/uijoystick.h; sourceTree = SOURCE_ROOT; }; + B6BDE2D2125DF48000B81C58 /* tape_48_ntsc.szx */ = {isa = PBXFileReference; lastKnownFileType = file; name = tape_48_ntsc.szx; path = ../lib/compressed/tape_48_ntsc.szx; sourceTree = "<group>"; }; + B6BDE2DA125DF4A800B81C58 /* spec48_ntsc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = spec48_ntsc.c; path = machines/spec48_ntsc.c; sourceTree = "<group>"; }; B6C3479F044B091100E1BBA7 /* ts2068.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ts2068.png; path = resources/ts2068.png; sourceTree = SOURCE_ROOT; }; B6C57E0005ECA05B0056F1D0 /* periph.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = periph.c; path = ../periph.c; sourceTree = SOURCE_ROOT; }; B6C57E0105ECA05B0056F1D0 /* periph.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = periph.h; path = ../periph.h; sourceTree = SOURCE_ROOT; }; @@ -1108,6 +1113,7 @@ B66050F80606AB0B00247454 /* scorpion.c */, B66050F90606AB0B00247454 /* scorpion.h */, B6EEA76F03CEF1D500FE73F2 /* spec16.c */, + B6BDE2DA125DF4A800B81C58 /* spec48_ntsc.c */, F559860D0389234A01A804BA /* spec48.c */, F559860E0389234A01A804BA /* spec48.h */, F559860F0389234A01A804BA /* spec128.c */, @@ -1314,6 +1320,7 @@ children = ( B650C3F2076596C700DE7E81 /* disk_plus3.szx */, B650C3F4076596FD00DE7E81 /* tape_16.szx */, + B6BDE2D2125DF48000B81C58 /* tape_48_ntsc.szx */, B650C3F60765971300DE7E81 /* tape_48.szx */, B650C3F80765972E00DE7E81 /* tape_128.szx */, B650C3FA0765974600DE7E81 /* tape_2048.szx */, @@ -1495,7 +1502,14 @@ isa = PBXProject; buildConfigurationList = B63319B3086803BA00732AA3 /* Build configuration list for PBXProject "Fuse" */; compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); mainGroup = 29B97314FDCFA39411CA2CEA /* Fuse */; projectDirPath = ""; projectRoot = ""; @@ -1772,6 +1786,7 @@ B6501DF411AABD6800898AD1 /* blipbuffer.c in Sources */, B6501DF711AABD9300898AD1 /* sound.c in Sources */, B6501DFC11AABE2300898AD1 /* rectangle.c in Sources */, + B6BDE2DB125DF4A800B81C58 /* spec48_ntsc.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/fusepb/Info-Fuse.plist 2010-10-08 13:06:33 UTC (rev 650) @@ -510,11 +510,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>20090605</string> + <string>20101007</string> <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>20090605</string> + <string>20101007</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/fuse/fusepb/config.h =================================================================== --- trunk/fuse/fusepb/config.h 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/fusepb/config.h 2010-10-08 13:06:33 UTC (rev 650) @@ -152,7 +152,7 @@ /* #undef USE_WIDGET */ /* Version number of package */ -#define VERSION "0.10.0" +#define VERSION "1.0.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/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/fusepb/controllers/FuseController.m 2010-10-08 13:06:33 UTC (rev 650) @@ -629,7 +629,7 @@ display_refresh_all(); - ui_menu_activate( UI_MENU_ITEM_RECORDING, 1 ); + if( rzx_playback ) ui_menu_activate( UI_MENU_ITEM_RECORDING, 1 ); [[DisplayOpenGLView instance] unpause]; } @@ -2021,6 +2021,7 @@ -(int) plus3DiskWrite:(specplus3_drive_number)which { + int err; char drive, *filename = NULL; drive = which == SPECPLUS3_DRIVE_A ? 'A' : 'B'; @@ -2033,7 +2034,7 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } /* We will be calling this from the Emulator thread */ - specplus3_disk_write( which, filename ); + err = specplus3_disk_write( which, filename ); [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; @@ -2041,11 +2042,12 @@ [[DisplayOpenGLView instance] unpause]; - return 0; + return err; } -(int) betaDiskWrite:(beta_drive_number)which { + int err; char drive, *filename = NULL; switch( which ) { @@ -2067,7 +2069,7 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } /* We will be calling this from the main thread with emulator paused */ - beta_disk_write( which, filename ); + err = beta_disk_write( which, filename ); [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; @@ -2075,11 +2077,12 @@ [[DisplayOpenGLView instance] unpause]; - return 0; + return err; } -(int) opusDiskWrite:(opus_drive_number)which { + int err; char drive, *filename = NULL; switch( which ) { @@ -2099,7 +2102,7 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } /* We will be calling this from the main thread with emulator paused */ - opus_disk_write( which, filename ); + err = opus_disk_write( which, filename ); [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; @@ -2107,11 +2110,12 @@ [[DisplayOpenGLView instance] unpause]; - return 0; + return err; } -(int) plusdDiskWrite:(plusd_drive_number)which { + int err; char drive, *filename = NULL; switch( which ) { @@ -2131,7 +2135,7 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } /* We will be calling this from the main thread with emulator paused */ - plusd_disk_write( which, filename ); + err = plusd_disk_write( which, filename ); [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; @@ -2139,11 +2143,12 @@ [[DisplayOpenGLView instance] unpause]; - return 0; + return err; } -(int) if1MdrWrite:(int)which { + int err; char *filename = NULL; [[DisplayOpenGLView instance] pause]; @@ -2154,7 +2159,7 @@ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } /* We will be calling this from the main thread with emulator paused */ - if1_mdr_write( which, filename ); + err = if1_mdr_write( which, filename ); [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; @@ -2162,7 +2167,7 @@ [[DisplayOpenGLView instance] unpause]; - return 0; + return err; } -(ui_confirm_joystick_t) confirmJoystick:(libspectrum_joystick)type inputs:(int)theInputs @@ -2468,6 +2473,12 @@ return error; } +char * +ui_get_open_filename( const char *title ) +{ + return cocoaui_openpanel_get_filename( @"Load Snapshot", snapFileTypes ); +} + /* Function to (de)activate specific menu items */ int ui_menu_activate( ui_menu_item item, int active ) Modified: trunk/fuse/fusepb/libspectrum.h =================================================================== --- trunk/fuse/fusepb/libspectrum.h 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/fusepb/libspectrum.h 2010-10-08 13:06:33 UTC (rev 650) @@ -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 4120 2010-02-21 05:06:56Z fredm $ + $Id: libspectrum.h.in 4148 2010-08-25 21:20: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 @@ -451,6 +451,8 @@ LIBSPECTRUM_MACHINE_PENT512, LIBSPECTRUM_MACHINE_PENT1024, + LIBSPECTRUM_MACHINE_48_NTSC, + } libspectrum_machine; WIN32_DLL const char* libspectrum_machine_name( libspectrum_machine type ); Property changes on: trunk/fuse/fusepb/libspectrum.h ___________________________________________________________________ Modified: svn:mergeinfo - /vendor/fuse-emulator/current/libspectrum/libspectrum.h.in:538-600 + /vendor/fuse-emulator/current/fuse/fusepb/libspectrum.h:638-649 /vendor/fuse-emulator/current/libspectrum/libspectrum.h.in:538-600 Modified: trunk/fuse/fusepb/models/Emulator.m =================================================================== --- trunk/fuse/fusepb/models/Emulator.m 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/fusepb/models/Emulator.m 2010-10-08 13:06:33 UTC (rev 650) @@ -457,7 +457,7 @@ -(int) rzxStartPlayback:(const char *)filename { - return rzx_start_playback( filename ); + return rzx_start_playback( filename, 1 ); } -(void) rzxInsertSnap Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2010-10-08 13:06:33 UTC (rev 650) @@ -14,7 +14,7 @@ name="What's New In Fuse?" id="What's New In Fuse?"></a><!-- AppleSegDescription="This section describes the changes for version 0.10.0 of the Fuse emulator." --></font><br> <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse -For Mac OS X Beta 20100???</font></h2> +For Mac OS X Beta 201010??</font></h2> <ul> <li><font face="Lucida Grande,Helvetica,Arial">Changes since last beta:</font></li> @@ -37,7 +37,20 @@ before loading a file from a double click/drag-n-drop when Fuse is already running (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add x86_64 target to -Universal Binary (Fredrick Meunier).<br> +Universal Binary (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Set track lengths +when inserting a new disk (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Correct writing of +status and system registers to snapshots (Patrik Rak).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add support for NTSC +ZX Spectrum 48K (Philip Kendall).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix autoload +snapshots (thanks, Gergely Szasz) (Fred).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Query for an initial +snapshot when opening a RZX file which doesn't have one as is common in +competition mode RZX files (Sergio Baldovi).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Don't close a disk +or mdr if a write fails (thanks, Crisis) (Gergely Szasz).<br> </font></li> </ul> </ul> Modified: trunk/fuse/fusepb/xibs/Preferences.xib =================================================================== --- trunk/fuse/fusepb/xibs/Preferences.xib 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/fusepb/xibs/Preferences.xib 2010-10-08 13:06:33 UTC (rev 650) @@ -2,38 +2,33 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">10D2094</string> - <string key="IBDocument.InterfaceBuilderVersion">762</string> + <string key="IBDocument.SystemVersion">10F569</string> + <string key="IBDocument.InterfaceBuilderVersion">804</string> <string key="IBDocument.AppKitVersion">1038.29</string> - <string key="IBDocument.HIToolboxVersion">460.00</string> + <string key="IBDocument.HIToolboxVersion">461.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">762</string> + <string key="NS.object.0">804</string> </object> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="1836"/> + <integer value="1582"/> <integer value="1347"/> + <integer value="1714"/> <integer value="1506"/> - <integer value="1714"/> - <integer value="6"/> <integer value="1488"/> + <integer value="1836"/> <integer value="1408"/> - <integer value="1582"/> <integer value="1686"/> + <integer value="6"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> </object> <object class="NSMutableDictionary" key="IBDocument.Metadata"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys" id="0"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> + <string key="NS.key.0">PluginDependencyRecalculationVersion</string> + <integer value="1" key="NS.object.0"/> </object> <object class="NSMutableArray" key="IBDocument.RootObjects" id="729263285"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -279,7 +274,9 @@ <reference ref="943816128"/> <reference ref="141636598"/> </object> - <reference key="NSToolbarIBSelectableItems" ref="0"/> + <object class="NSArray" key="NSToolbarIBSelectableItems" id="0"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> </object> <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> <string key="NSWindowContentMinSize">{213, 107}</string> @@ -3936,15 +3933,15 @@ <object class="NSMatrix" id="145521076"> <reference key="NSNextResponder" ref="453171511"/> <int key="NSvFlags">260</int> - <string key="NSFrame">{{246, 20}, {134, 298}}</string> + <string key="NSFrame">{{246, 20}, {200, 318}}</string> <reference key="NSSuperview" ref="453171511"/> <bool key="NSEnabled">YES</bool> - <int key="NSNumRows">15</int> + <int key="NSNumRows">16</int> <int key="NSNumCols">1</int> <object class="NSMutableArray" key="NSCells"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSButtonCell" id="698615207"> - <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> <string key="NSContents">Spectrum 16K</string> <reference key="NSSupport" ref="447006373"/> @@ -3977,7 +3974,7 @@ <object class="NSButtonCell" id="895598075"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Spectrum 128K</string> + <string key="NSContents">Spectrum 48K (NTSC)</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">2</int> @@ -4033,7 +4030,7 @@ <object class="NSButtonCell" id="256002398"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Spectrum +2</string> + <string key="NSContents">Spectrum 128K</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">3</int> @@ -4052,7 +4049,7 @@ <object class="NSButtonCell" id="728047119"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Spectrum +2A</string> + <string key="NSContents">Spectrum +2</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">5</int> @@ -4068,7 +4065,7 @@ <object class="NSButtonCell" id="582602011"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Spectrum +3</string> + <string key="NSContents">Spectrum +2A</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">6</int> @@ -4084,7 +4081,7 @@ <object class="NSButtonCell" id="1043922712"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Spectrum +3e</string> + <string key="NSContents">Spectrum +3</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">11</int> @@ -4140,7 +4137,7 @@ <object class="NSButtonCell" id="207861972"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Timex TC2048</string> + <string key="NSContents">Spectrum +3e</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">1</int> @@ -4194,9 +4191,9 @@ <int key="NSPeriodicInterval">75</int> </object> <object class="NSButtonCell" id="298116252"> - <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags">-2080244224</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Timex TC2068</string> + <string key="NSContents">Timex TC2048</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">9</int> @@ -4252,7 +4249,7 @@ <object class="NSButtonCell" id="977182889"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Timex TS2068</string> + <string key="NSContents">Timex TC2068</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">13</int> @@ -4267,7 +4264,7 @@ <object class="NSButtonCell" id="27596798"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Pentagon 128K</string> + <string key="NSContents">Timex TS2068</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">4</int> @@ -4282,7 +4279,7 @@ <object class="NSButtonCell" id="1044447402"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Pentagon 512K</string> + <string key="NSContents">Pentagon 128K</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">14</int> @@ -4297,7 +4294,7 @@ <object class="NSButtonCell" id="849588984"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Pentagon 1024K</string> + <string key="NSContents">Pentagon 512K</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">15</int> @@ -4312,7 +4309,7 @@ <object class="NSButtonCell" id="348598096"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Scorpion ZS 256</string> + <string key="NSContents">Pentagon 1024K</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">10</int> @@ -4327,7 +4324,7 @@ <object class="NSButtonCell" id="287925355"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Spectrum SE</string> + <string key="NSContents">Scorpion ZS 256</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="145521076"/> <int key="NSTag">12</int> @@ -4339,10 +4336,22 @@ <int key="NSPeriodicDelay">400</int> <int key="NSPeriodicInterval">75</int> </object> + <object class="NSButtonCell" id="545389380"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Spectrum SE</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="145521076"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">0</int> + <reference key="NSAlternateImage" ref="32434582"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> </object> - <string key="NSCellSize">{134, 18}</string> + <string key="NSCellSize">{200, 18}</string> <string key="NSIntercellSpacing">{4, 2}</string> - <int key="NSMatrixFlags">1143472128</int> + <int key="NSMatrixFlags">1151868928</int> <string key="NSCellClass">NSActionCell</string> <object class="NSButtonCell" key="NSProtoCell" id="947390470"> <int key="NSCellFlags">67239424</int> @@ -4461,13 +4470,14 @@ <int key="NSPeriodicDelay">400</int> <int key="NSPeriodicInterval">75</int> </object> - <reference key="NSSelectedCell" ref="698615207"/> + <int key="NSSelectedRow">8</int> + <reference key="NSSelectedCell" ref="298116252"/> <reference key="NSBackgroundColor" ref="519317542"/> <reference key="NSCellBackgroundColor" ref="70288484"/> <reference key="NSFont" ref="447006373"/> </object> </object> - <string key="NSFrameSize">{627, 338}</string> + <string key="NSFrameSize">{627, 358}</string> <reference key="NSSuperview"/> <string key="NSClassName">NSView</string> </object> @@ -8667,6 +8677,7 @@ <reference ref="895598075"/> <reference ref="850511965"/> <reference ref="698615207"/> + <reference ref="545389380"/> </object> <reference key="parent" ref="453171511"/> </object> @@ -9117,6 +9128,11 @@ <reference key="object" ref="766217337"/> <reference key="parent" ref="833825163"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">1882</int> + <reference key="object" ref="545389380"/> + <reference key="parent" ref="145521076"/> + </object> </object> </object> <object class="NSMutableDictionary" key="flattenedProperties"> @@ -9942,7 +9958,7 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{31, 211}, {627, 338}}</string> + <string>{{31, 191}, {627, 358}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>{628, 654}</string> <string>{{217, 442}, {480, 272}}</string> @@ -10102,7 +10118,7 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">1881</int> + <int key="maxID">1882</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -10153,6 +10169,60 @@ <string>id</string> </object> </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>chooseFile:</string> + <string>chooseROMFile:</string> + <string>externalSoundTypeClicked:</string> + <string>massStorageTypeClicked:</string> + <string>resetROMFile:</string> + <string>resetUserDefaults:</string> + <string>selectPrefPanel:</string> + <string>setup:</string> + <string>showWindow:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBActionInfo"> + <string key="name">chooseFile:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">chooseROMFile:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">externalSoundTypeClicked:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">massStorageTypeClicked:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">resetROMFile:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">resetUserDefaults:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">selectPrefPanel:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">setup:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showWindow:</string> + <string key="candidateClassName">id</string> + </object> + </object> + </object> <object class="NSMutableDictionary" key="outlets"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSArray" key="dict.sortedKeys"> @@ -10196,6 +10266,100 @@ <string>NSToolbar</string> </object> </object> + <object class="NSMutableDictionary" key="toOneOutletInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>externalSoundType</string> + <string>filterPrefsView</string> + <string>generalPrefsView</string> + <string>joysticksPrefsView</string> + <string>machinePrefsView</string> + <string>machineRomsController</string> + <string>massStorageType</string> + <string>peripheralsPrefsView</string> + <string>rom0Filename</string> + <string>rom1Filename</string> + <string>rom2Filename</string> + <string>rom3Filename</string> + <string>romPrefsView</string> + <string>rzxPrefsView</string> + <string>soundPrefsView</string> + <string>tabView</string> + <string>toolbar</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBToOneOutletInfo"> + <string key="name">externalSoundType</string> + <string key="candidateClassName">NSMatrix</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">filterPrefsView</string> + <string key="candidateClassName">NSView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">generalPrefsView</string> + <string key="candidateClassName">NSView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">joysticksPrefsView</string> + <string key="candidateClassName">NSView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">machinePrefsView</string> + <string key="candidateClassName">NSView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">machineRomsController</string> + <string key="candidateClassName">NSArrayController</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">massStorageType</string> + <string key="candidateClassName">NSMatrix</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">peripheralsPrefsView</string> + <string key="candidateClassName">NSView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">rom0Filename</string> + <string key="candidateClassName">NSFormCell</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">rom1Filename</string> + <string key="candidateClassName">NSFormCell</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">rom2Filename</string> + <string key="candidateClassName">NSFormCell</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">rom3Filename</string> + <string key="candidateClassName">NSFormCell</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">romPrefsView</string> + <string key="candidateClassName">NSView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">rzxPrefsView</string> + <string key="candidateClassName">NSView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">soundPrefsView</string> + <string key="candidateClassName">NSView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">tabView</string> + <string key="candidateClassName">NSTabView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">toolbar</string> + <string key="candidateClassName">NSToolbar</string> + </object> + </object> + </object> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBProjectSource</string> <string key="minorKey">controllers/PreferencesController.h</string> @@ -10845,6 +11009,13 @@ <string key="NS.key.0">showWindow:</string> <string key="NS.object.0">id</string> </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <string key="NS.key.0">showWindow:</string> + <object class="IBActionInfo" key="NS.object.0"> + <string key="name">showWindow:</string> + <string key="candidateClassName">id</string> + </object> + </object> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBFrameworkSource</string> <string key="minorKey">AppKit.framework/Headers/NSWindowController.h</string> Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/hacking/ChangeLog 2010-10-08 13:06:33 UTC (rev 650) @@ -3299,3 +3299,55 @@ changes from 0.10.0.2 onto trunk (Fred). 20100521 ChangeLog: remove duplicate entry (Fred). 20100522 sound.c: allow a little more treble in the TV Speaker mode (Fred). +20100527 sound/coreaudiosound.c: add some casts in output statements to avoid + annoying warnings about format mismatches (Fred). +20100530 ChangeLog: remove another duplicate entry (Fred). +20100627 ui/gtk/gtkdisplay.c: ensure an appropriate scaler is selected when + the Fuse window is resized by the user. +20100719 disk/disk.c: set track lengths when inserting a new disk (fixes bug + #3031299) (Gergely Szasz). +20100819 disk/beta.c: correct writing of status and system regeisters to + snapshots (Patrik Rak). +20100825 machine.c,machines/{Makefile.am,machines.h},tape.c: reintegrate + NTSC Spectrum branch. +20100831 lib/[un]compressed/{disk_plus3.szx,tape_128.szx,tape_16.szx, + tape_2048.szx,tape_2068.szx,tape_48.szx,tape_pentagon.szx, + tape_plus2.szx,tape_plus2a.szx,tape_plus3.szx,tape_plus3e.szx, + tape_scorpion.szx,tape_se.szx,tape_ts2068.szx}: swap A and F and A' + and F' registers in autoload snapshots which were written when + libspectrum still suffered from bug #2857419 (fixes bug #3040262) + (thanks, Gergely Szasz) (Fred). +20100831 machines/spec48_ntsc.c: add some more peripherals and add display + setup code (Fred). +20100901 lib/{[un]compressed/tape_48_ntsc.szx,Makefile.am}: add autoload + snapshot for NTSC Spectrum (Fred). +20100905 tape.c: remove obsolete reference to munmap (Fred). +20100909 settings.pl: remove the 80 character limit in ini file settings + names+values and change 256 char path lengths to MAX_PATH (patch + #3013768) (Gergely Szasz). +20100912 menu.c,rzx.[ch]: query for an initial snapshot when opening a rzx file + which doesn't have one as is common in competition mode rzx files + (patch #3054536) (Sergio Baldovi). +20100912 configure.in,windres.rc: enhancements to Windows version encoding + (patch #3061430) (Sergio Baldovi). +20100913 fuse.c,menu.[ch],rzx.[ch],utils.[ch]: extend RZX playback handling of + files without initial embedded snapshots to cover File->Open, the + command line and some miscellaneous RZX playback initialisation bugs + (more from patch #3054536) (Sergio Baldovi). +20100919 ui/win32/installer/fuse.nsi: windows installer improvements; correct + uninstall registry key, parameterise installation directory path, add + version information fields, optionally register file types, make start + menu shortcuts optional and add desktop shortcut (patch #3069264) + (Sergio Baldovi). +20100930 ChangeLog,fuse.c,man/fuse.1,README: first updates for a "1.0" release. +20101002 lib/{compressed,uncompressed}/*.szx: update libspectrum signature in + each file so we know they don't have the A-F swap bug. +20101003 README: small update to mention WoS forums. +20101006 configure.in: update header check for XShm.h (patch #3081497) (Gergely + Szasz). +20101006 ui/gtk/{gtkkeyboard.c,gtkui.c,statusbar.c,stock.c}: use F1 as shortcut to + open menus, set window dialogs as transient for the main window and set a + fixed width for the emulation speed display (patch #3081729) (Sergio + Baldovi). +20101007 ui.c: don't close a disk or mdr if a write fails (patch #3058156) (thanks, + Crisis) (Gergely Szasz). Modified: trunk/fuse/ide/divide.c =================================================================== --- trunk/fuse/ide/divide.c 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/ide/divide.c 2010-10-08 13:06:33 UTC (rev 650) @@ -1,7 +1,7 @@ /* divide.c: DivIDE interface routines Copyright (c) 2005-2008 Matthew Westcott, Philip Kendall - $Id: divide.c 4099 2009-10-22 10:59:02Z fredm $ + $Id: divide.c 4148 2010-08-25 21:20: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 Modified: trunk/fuse/ide/divide.h =================================================================== --- trunk/fuse/ide/divide.h 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/ide/divide.h 2010-10-08 13:06:33 UTC (rev 650) @@ -1,7 +1,7 @@ /* divide.h: DivIDE interface routines Copyright (c) 2005 Matthew Westcott - $Id: divide.h 4060 2009-07-30 13:21:38Z fredm $ + $Id: divide.h 4148 2010-08-25 21:20: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 Modified: trunk/fuse/ide/ide.c =================================================================== --- trunk/fuse/ide/ide.c 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/ide/ide.c 2010-10-08 13:06:33 UTC (rev 650) @@ -1,7 +1,7 @@ /* ide.c: Generic routines shared between the various IDE devices Copyright (c) 2005 Philip Kendall - $Id: ide.c 4060 2009-07-30 13:21:38Z fredm $ + $Id: ide.c 4148 2010-08-25 21:20: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 Modified: trunk/fuse/ide/ide.h =================================================================== --- trunk/fuse/ide/ide.h 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/ide/ide.h 2010-10-08 13:06:33 UTC (rev 650) @@ -1,7 +1,7 @@ /* ide.h: Generic routines shared between the various IDE devices Copyright (c) 2005 Philip Kendall - $Id: ide.h 4060 2009-07-30 13:21:38Z fredm $ + $Id: ide.h 4148 2010-08-25 21:20: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 Modified: trunk/fuse/ide/simpleide.c =================================================================== --- trunk/fuse/ide/simpleide.c 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/ide/simpleide.c 2010-10-08 13:06:33 UTC (rev 650) @@ -3,7 +3,7 @@ 2004 Philip Kendall, 2008 Fredrick Meunier - $Id: simpleide.c 4060 2009-07-30 13:21:38Z fredm $ + $Id: simpleide.c 4148 2010-08-25 21:20: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 Modified: trunk/fuse/ide/simpleide.h =================================================================== --- trunk/fuse/ide/simpleide.h 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/ide/simpleide.h 2010-10-08 13:06:33 UTC (rev 650) @@ -1,7 +1,7 @@ /* simpleide.h: Simple 8-bit IDE interface routines Copyright (c) 2003-2004 Garry Lancaster - $Id: simpleide.h 4060 2009-07-30 13:21:38Z fredm $ + $Id: simpleide.h 4148 2010-08-25 21:20: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 Modified: trunk/fuse/ide/zxatasp.c =================================================================== --- trunk/fuse/ide/zxatasp.c 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/ide/zxatasp.c 2010-10-08 13:06:33 UTC (rev 650) @@ -1,7 +1,7 @@ /* zxatasp.c: ZXATASP interface routines Copyright (c) 2003-2008 Garry Lancaster and Philip Kendall - $Id: zxatasp.c 4099 2009-10-22 10:59:02Z fredm $ + $Id: zxatasp.c 4148 2010-08-25 21:20: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 Modified: trunk/fuse/ide/zxatasp.h =================================================================== --- trunk/fuse/ide/zxatasp.h 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/ide/zxatasp.h 2010-10-08 13:06:33 UTC (rev 650) @@ -2,7 +2,7 @@ Copyright (c) 2003-2004 Garry Lancaster, 2004 Philip Kendall - $Id: zxatasp.h 4060 2009-07-30 13:21:38Z fredm $ + $Id: zxatasp.h 4148 2010-08-25 21:20: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 Modified: trunk/fuse/ide/zxcf.c =================================================================== --- trunk/fuse/ide/zxcf.c 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/ide/zxcf.c 2010-10-08 13:06:33 UTC (rev 650) @@ -1,7 +1,7 @@ /* zxcf.c: ZXCF interface routines Copyright (c) 2003-2008 Garry Lancaster and Philip Kendall - $Id: zxcf.c 4099 2009-10-22 10:59:02Z fredm $ + $Id: zxcf.c 4148 2010-08-25 21:20: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 Modified: trunk/fuse/ide/zxcf.h =================================================================== --- trunk/fuse/ide/zxcf.h 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/ide/zxcf.h 2010-10-08 13:06:33 UTC (rev 650) @@ -2,7 +2,7 @@ Copyright (c) 2003-2004 Garry Lancaster, 2004 Philip Kendall - $Id: zxcf.h 4060 2009-07-30 13:21:38Z fredm $ + $Id: zxcf.h 4148 2010-08-25 21:20: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 Modified: trunk/fuse/lib/Makefile.am =================================================================== --- trunk/fuse/lib/Makefile.am 2010-10-07 11:32:42 UTC (rev 649) +++ trunk/fuse/lib/Makefile.am 2010-10-08 13:06:33 UTC (rev 650) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2004 Philip Kendall -## $Id: Makefile.am 3150 2007-09-05 14:05:00Z pak21 $ +## $Id: Makefile.am 4154 2010-08-31 14:14:34Z 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 @@ -33,6 +33,7 @@ @AUTOLOAD_SNAPS@/tape_2048.szx \ @AUTOLOAD_SNAPS@/tape_2068.szx \ @AUTOLOAD_SNAPS@/tape_48.szx \ + @AUTOLOAD_SNAPS@/tape_48_ntsc.szx \ @AUTOLOAD_SNAPS@/tape_plus2.szx \ @AUTOLOAD_SNAPS@/tape_plus2a.szx \ @AUTOLOAD_SNAPS@/tape_plus3.szx \ @@ -51,6 +52,7 @@ compressed/tape_2048.szx \ compressed/tape_2068.szx \ compressed/tape_48.szx \ + compressed/tape_48_ntsc.szx \ compressed/tape_plus2.szx \ compressed/tape_plus2a.szx \ compressed/tape_plus3.szx \ @@ -65,6 +67,7 @@ uncompressed/tape_2048.szx \ uncompressed/tape_2068.szx \ uncompressed/tape_48.szx \ + uncompressed/tape_48_ntsc.szx \ uncompressed/tape_plus2.szx \ uncompressed/tape_plus2a.szx \ uncompressed/tape_plus3.szx \ Modified: trunk/fuse/lib/compressed/disk_plus3.szx =================================================================== (Binary files differ) Modified: trunk/fuse/lib/compressed/tape_128.szx =================================================================== (Binary files differ) Modified: trunk/fuse/lib/compressed/tape_16.szx =================================================================== (Binary files differ) Modified: trunk/fuse/lib/compressed/tape_2048.szx =================================================================== (Binary files differ) Modified: trunk/fuse/lib/compressed/tape_2068.szx =================================================================== (Binary files differ) Modified: trunk/fuse/lib/compressed/tape_48.szx =================================================================== (Binary files dif... [truncated message content] |
From: <fr...@us...> - 2010-10-07 11:32:48
|
Revision: 649 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=649&view=rev Author: fredm Date: 2010-10-07 11:32:42 +0000 (Thu, 07 Oct 2010) Log Message: ----------- Tag vendor/fuse-emulator/current as vendor/fuse-emulator/fuse-r4178. Added Paths: ----------- vendor/fuse-emulator/fuse-r4178/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-10-07 11:32:05
|
Revision: 648 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=648&view=rev Author: fredm Date: 2010-10-07 11:31:54 +0000 (Thu, 07 Oct 2010) Log Message: ----------- Load . into vendor/fuse-emulator/current. Modified Paths: -------------- vendor/fuse-emulator/current/fuse/ChangeLog vendor/fuse-emulator/current/fuse/README vendor/fuse-emulator/current/fuse/configure.in vendor/fuse-emulator/current/fuse/disk/beta.c vendor/fuse-emulator/current/fuse/disk/disk.c vendor/fuse-emulator/current/fuse/fuse.c vendor/fuse-emulator/current/fuse/hacking/ChangeLog vendor/fuse-emulator/current/fuse/ide/divide.c vendor/fuse-emulator/current/fuse/ide/divide.h vendor/fuse-emulator/current/fuse/ide/ide.c vendor/fuse-emulator/current/fuse/ide/ide.h vendor/fuse-emulator/current/fuse/ide/simpleide.c vendor/fuse-emulator/current/fuse/ide/simpleide.h vendor/fuse-emulator/current/fuse/ide/zxatasp.c vendor/fuse-emulator/current/fuse/ide/zxatasp.h vendor/fuse-emulator/current/fuse/ide/zxcf.c vendor/fuse-emulator/current/fuse/ide/zxcf.h vendor/fuse-emulator/current/fuse/lib/Makefile.am vendor/fuse-emulator/current/fuse/lib/compressed/disk_plus3.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_128.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_16.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_2048.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_2068.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_48.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_pentagon.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_plus2.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_plus2a.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_plus3.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_plus3e.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_scorpion.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_se.szx vendor/fuse-emulator/current/fuse/lib/compressed/tape_ts2068.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/disk_plus3.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_128.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_16.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_2048.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_2068.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_48.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_pentagon.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_plus2.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_plus2a.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_plus3.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_plus3e.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_scorpion.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_se.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_ts2068.szx vendor/fuse-emulator/current/fuse/machine.c vendor/fuse-emulator/current/fuse/machines/Makefile.am vendor/fuse-emulator/current/fuse/machines/machines.h vendor/fuse-emulator/current/fuse/man/fuse.1 vendor/fuse-emulator/current/fuse/menu.c vendor/fuse-emulator/current/fuse/menu.h vendor/fuse-emulator/current/fuse/rzx.c vendor/fuse-emulator/current/fuse/rzx.h vendor/fuse-emulator/current/fuse/settings.pl vendor/fuse-emulator/current/fuse/sound/coreaudiosound.c vendor/fuse-emulator/current/fuse/tape.c vendor/fuse-emulator/current/fuse/ui/gtk/gtkdisplay.c vendor/fuse-emulator/current/fuse/ui/gtk/gtkkeyboard.c vendor/fuse-emulator/current/fuse/ui/gtk/gtkui.c vendor/fuse-emulator/current/fuse/ui/gtk/statusbar.c vendor/fuse-emulator/current/fuse/ui/gtk/stock.c vendor/fuse-emulator/current/fuse/ui/win32/installer/fuse.nsi vendor/fuse-emulator/current/fuse/ui.c vendor/fuse-emulator/current/fuse/utils.c vendor/fuse-emulator/current/fuse/utils.h vendor/fuse-emulator/current/fuse/windres.rc vendor/fuse-emulator/current/fuse-utils/Makefile.am vendor/fuse-emulator/current/fuse-utils/acinclude.m4 vendor/fuse-emulator/current/fuse-utils/configure.in vendor/fuse-emulator/current/fuse-utils/converter/romloader.cc vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog vendor/fuse-emulator/current/fuse-utils/man/snapconv.1 vendor/fuse-emulator/current/fuse-utils/man/tzxlist.1 vendor/fuse-emulator/current/fuse-utils/raw2hdf.c vendor/fuse-emulator/current/fuse-utils/snapconv.c vendor/fuse-emulator/current/fuse-utils/tzxlist.c vendor/fuse-emulator/current/libspectrum/ChangeLog vendor/fuse-emulator/current/libspectrum/Makefile.am vendor/fuse-emulator/current/libspectrum/README vendor/fuse-emulator/current/libspectrum/configure.in vendor/fuse-emulator/current/libspectrum/doc/libspectrum.txt vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog vendor/fuse-emulator/current/libspectrum/libspectrum.c vendor/fuse-emulator/current/libspectrum/libspectrum.h.in vendor/fuse-emulator/current/libspectrum/rzx.c vendor/fuse-emulator/current/libspectrum/sna.c vendor/fuse-emulator/current/libspectrum/szx.c vendor/fuse-emulator/current/libspectrum/tape_block.c vendor/fuse-emulator/current/libspectrum/test/test.c vendor/fuse-emulator/current/libspectrum/timings.c vendor/fuse-emulator/current/libspectrum/z80.c Added Paths: ----------- vendor/fuse-emulator/current/fuse/lib/compressed/tape_48_ntsc.szx vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_48_ntsc.szx vendor/fuse-emulator/current/fuse/machines/spec48_ntsc.c vendor/fuse-emulator/current/fuse-utils/config.rpath vendor/fuse-emulator/current/libspectrum/test/empty.szx vendor/fuse-emulator/current/libspectrum/test/plus3.z80 vendor/fuse-emulator/current/libspectrum/windres.rc Modified: vendor/fuse-emulator/current/fuse/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse/ChangeLog 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/ChangeLog 2010-10-07 11:31:54 UTC (rev 648) @@ -1,6 +1,6 @@ -2010-xx-xx Philip Kendall <phi...@sh...> +2010-10-xx Philip Kendall <phi...@sh...> - * Fuse 0.11.0 released + * Fuse 1.0.0 released. * Add Opus Discovery disk interface support (Gergely Szasz and Fredrick Meunier). @@ -8,6 +8,8 @@ * Many improvements to Win32 UI, including an installer (Marek Januszewski). * Support weak data in +3 disk images (Gergely Szasz). + * NTSC Spectrum support (Philip Kendall, with thanks to Claudio + Bernet). * Add support for flipping disk images in single sided drives (Gergely Szasz). * Add support for automatically merging both both disk images where @@ -47,8 +49,6 @@ notebooks (thanks, Andrew Owen) (Fredrick Meunier). * Fixes for speed estimation (Gergely Szasz). * Fix border colour in Timex HiRes screenshots (Fredrick Meunier). - * Fix accelerated loaders when compiling with gcc 3.x (Carlos - Almeida, Alberto Garcia and Philip Kendall). * Allow "combo" boxes in widget UI (Gergely Szasz). * Allow Home and End keys to work in widget UI (Gergely Szasz). * Fix poke finder passing the wrong page to the debugger (Marek @@ -1035,4 +1035,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 4134 2010-05-21 13:16:19Z fredm $ +$Id: ChangeLog 4165 2010-09-30 21:55:05Z pak21 $ Modified: vendor/fuse-emulator/current/fuse/README =================================================================== --- vendor/fuse-emulator/current/fuse/README 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/README 2010-10-07 11:31:54 UTC (rev 648) @@ -1,5 +1,5 @@ -The Free Unix Spectrum Emulator (Fuse) 0.10.0.2 -=============================================== +The Free Unix Spectrum Emulator (Fuse) 1.0.0 +============================================ Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat unsurprisingly, an emulator of the ZX Spectrum (a popular 1980s home @@ -209,11 +209,11 @@ and the Fuse project page on SourceForge, http://sourceforge.net/projects/fuse-emulator/ -If you're interested in more general Speccy related discussions, visit -the Usenet group 'comp.sys.sinclair', but do read the FAQ -( http://www.worldofspectrum.org/faq/index.html ) first! +For Spectrum discussions not directly related to Fuse, visit either the +Usenet newsgroup `comp.sys.sinclair' or the World of Spectrum forums +<http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -14 January 2009 +FIXME October 2010 -$Id: README 4132 2010-05-20 12:06:53Z fredm $ +$Id: README 4172 2010-10-03 22:51:59Z pak21 $ Modified: vendor/fuse-emulator/current/fuse/configure.in =================================================================== --- vendor/fuse-emulator/current/fuse/configure.in 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/configure.in 2010-10-07 11:31:54 UTC (rev 648) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in 4132 2010-05-20 12:06:53Z fredm $ +dnl $Id: configure.in 4175 2010-10-06 10:44:19Z 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 @@ -23,8 +23,10 @@ AM_CONFIG_HEADER(config.h) AC_CANONICAL_SYSTEM +define(FUSE_VERSION, [0.10.0.2]) + dnl Use automake to produce `Makefile.in' -AM_INIT_AUTOMAKE(fuse, 0.10.0.2) +AM_INIT_AUTOMAKE(fuse, FUSE_VERSION) dnl Checks for programs. AC_PROG_CC @@ -40,8 +42,10 @@ AC_SUBST(WINDRES) if test "$WINDRES" != no; then WINDRES_OBJ="windres.o" + AC_DEFINE([VERSION_WIN32], [translit(FUSE_VERSION, [.], [,])], [Define version information for win32 executable]) fi AC_SUBST(WINDRES_OBJ) +AM_SUBST_NOTMAKE(WINDRES_OBJ) dnl Generate commandy.h YFLAGS="$YFLAGS -d" @@ -247,7 +251,11 @@ fi dnl Check for the MIT-SHM extension - AC_CHECK_HEADERS( X11/extensions/XShm.h ) + AC_CHECK_HEADERS( X11/extensions/XShm.h,,,[[ + #include <sys/ipc.h> + #include <sys/shm.h> + #include <X11/Xlib.h> + ]]) AC_CHECK_LIB( Xext, XShmAttach, LIBS="$LIBS -lXext" ) AC_DEFINE([UI_X], 1, [Defined if Xlib UI in use]) Modified: vendor/fuse-emulator/current/fuse/disk/beta.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/beta.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/disk/beta.c 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* beta.c: Routines for handling the Beta disk interface Copyright (c) 2004-2008 Stuart Brady - $Id: beta.c 4131 2010-05-19 10:52:37Z fredm $ + $Id: beta.c 4147 2010-08-19 12:25:15Z 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 @@ -65,6 +65,8 @@ int beta_active = 0; int beta_builtin = 0; +static libspectrum_byte beta_system_register; /* FDC system register */ + libspectrum_word beta_pc_mask; libspectrum_word beta_pc_value; @@ -365,6 +367,8 @@ fdd_set_head( &beta_fdc->current_drive->fdd, ( ( b & 0x10 ) ? 0 : 1 ) ); /* 0x20 = density, reset = FM, set = MFM */ beta_fdc->dden = b & 0x20 ? 1 : 0; + + beta_system_register = b; } libspectrum_byte @@ -725,7 +729,6 @@ void beta_to_snapshot( libspectrum_snap *snap ) { - int attached; wd_fdc *f = beta_fdc; libspectrum_byte *buffer; int drive_count = 0; @@ -759,9 +762,9 @@ libspectrum_snap_set_beta_paged ( snap, beta_active ); libspectrum_snap_set_beta_direction( snap, beta_fdc->direction ); - libspectrum_snap_set_beta_status( snap, beta_sr_read( 0x001f, &attached ) ); + libspectrum_snap_set_beta_status( snap, f->status_register ); libspectrum_snap_set_beta_track ( snap, f->track_register ); libspectrum_snap_set_beta_sector( snap, f->sector_register ); libspectrum_snap_set_beta_data ( snap, f->data_register ); - libspectrum_snap_set_beta_system( snap, beta_sp_read( 0x00ff, &attached ) ); + libspectrum_snap_set_beta_system( snap, beta_system_register ); } Modified: vendor/fuse-emulator/current/fuse/disk/disk.c =================================================================== --- vendor/fuse-emulator/current/fuse/disk/disk.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/disk/disk.c 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* disk.c: Routines for handling disk images Copyright (c) 2007-2010 Gergely Szasz - $Id: disk.c 4114 2010-01-15 13:45:51Z fredm $ + $Id: disk.c 4141 2010-07-19 11:30: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 @@ -102,6 +102,8 @@ size_t index; } buffer_t; +void disk_update_tlens( disk_t *d ); + const char * disk_strerror( int error ) { @@ -742,6 +744,7 @@ d->wrprot = 0; d->dirty = 0; + disk_update_tlens( d ); return d->status = DISK_OK; } Modified: vendor/fuse-emulator/current/fuse/fuse.c =================================================================== --- vendor/fuse-emulator/current/fuse/fuse.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/fuse.c 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* fuse.c: The Free Unix Spectrum Emulator - Copyright (c) 1999-2009 Philip Kendall + Copyright (c) 1999-2010 Philip Kendall and others - $Id: fuse.c 4109 2009-12-27 06:15:10Z fredm $ + $Id: fuse.c 4165 2010-09-30 21:55:05Z 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 @@ -393,7 +393,7 @@ printf( "\n" ); fuse_show_version(); printf( - "Copyright (c) 1999-2009 Philip Kendall and others; see the file\n" + "Copyright (c) 1999-2010 Philip Kendall and others; see the file\n" "'AUTHORS' for more details.\n" "\n" "For help, please mail <fus...@li...> or use\n" @@ -638,7 +638,7 @@ static int do_start_files( start_files_t *start_files ) { - int autoload, error, i; + int autoload, error, i, check_snapshot; /* Can't do both input recording and playback */ if( start_files->playback && start_files->recording ) { @@ -783,7 +783,8 @@ /* Input recordings */ if( start_files->playback ) { - error = utils_open_file( start_files->playback, autoload, NULL ); + check_snapshot = start_files->snapshot ? 0 : 1; + error = rzx_start_playback( start_files->playback, check_snapshot ); if( error ) return error; } Modified: vendor/fuse-emulator/current/fuse/hacking/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse/hacking/ChangeLog 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/hacking/ChangeLog 2010-10-07 11:31:54 UTC (rev 648) @@ -3299,3 +3299,55 @@ changes from 0.10.0.2 onto trunk (Fred). 20100521 ChangeLog: remove duplicate entry (Fred). 20100522 sound.c: allow a little more treble in the TV Speaker mode (Fred). +20100527 sound/coreaudiosound.c: add some casts in output statements to avoid + annoying warnings about format mismatches (Fred). +20100530 ChangeLog: remove another duplicate entry (Fred). +20100627 ui/gtk/gtkdisplay.c: ensure an appropriate scaler is selected when + the Fuse window is resized by the user. +20100719 disk/disk.c: set track lengths when inserting a new disk (fixes bug + #3031299) (Gergely Szasz). +20100819 disk/beta.c: correct writing of status and system regeisters to + snapshots (Patrik Rak). +20100825 machine.c,machines/{Makefile.am,machines.h},tape.c: reintegrate + NTSC Spectrum branch. +20100831 lib/[un]compressed/{disk_plus3.szx,tape_128.szx,tape_16.szx, + tape_2048.szx,tape_2068.szx,tape_48.szx,tape_pentagon.szx, + tape_plus2.szx,tape_plus2a.szx,tape_plus3.szx,tape_plus3e.szx, + tape_scorpion.szx,tape_se.szx,tape_ts2068.szx}: swap A and F and A' + and F' registers in autoload snapshots which were written when + libspectrum still suffered from bug #2857419 (fixes bug #3040262) + (thanks, Gergely Szasz) (Fred). +20100831 machines/spec48_ntsc.c: add some more peripherals and add display + setup code (Fred). +20100901 lib/{[un]compressed/tape_48_ntsc.szx,Makefile.am}: add autoload + snapshot for NTSC Spectrum (Fred). +20100905 tape.c: remove obsolete reference to munmap (Fred). +20100909 settings.pl: remove the 80 character limit in ini file settings + names+values and change 256 char path lengths to MAX_PATH (patch + #3013768) (Gergely Szasz). +20100912 menu.c,rzx.[ch]: query for an initial snapshot when opening a rzx file + which doesn't have one as is common in competition mode rzx files + (patch #3054536) (Sergio Baldovi). +20100912 configure.in,windres.rc: enhancements to Windows version encoding + (patch #3061430) (Sergio Baldovi). +20100913 fuse.c,menu.[ch],rzx.[ch],utils.[ch]: extend RZX playback handling of + files without initial embedded snapshots to cover File->Open, the + command line and some miscellaneous RZX playback initialisation bugs + (more from patch #3054536) (Sergio Baldovi). +20100919 ui/win32/installer/fuse.nsi: windows installer improvements; correct + uninstall registry key, parameterise installation directory path, add + version information fields, optionally register file types, make start + menu shortcuts optional and add desktop shortcut (patch #3069264) + (Sergio Baldovi). +20100930 ChangeLog,fuse.c,man/fuse.1,README: first updates for a "1.0" release. +20101002 lib/{compressed,uncompressed}/*.szx: update libspectrum signature in + each file so we know they don't have the A-F swap bug. +20101003 README: small update to mention WoS forums. +20101006 configure.in: update header check for XShm.h (patch #3081497) (Gergely + Szasz). +20101006 ui/gtk/{gtkkeyboard.c,gtkui.c,statusbar.c,stock.c}: use F1 as shortcut to + open menus, set window dialogs as transient for the main window and set a + fixed width for the emulation speed display (patch #3081729) (Sergio + Baldovi). +20101007 ui.c: don't close a disk or mdr if a write fails (patch #3058156) (thanks, + Crisis) (Gergely Szasz). Modified: vendor/fuse-emulator/current/fuse/ide/divide.c =================================================================== --- vendor/fuse-emulator/current/fuse/ide/divide.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/ide/divide.c 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* divide.c: DivIDE interface routines Copyright (c) 2005-2008 Matthew Westcott, Philip Kendall - $Id: divide.c 4099 2009-10-22 10:59:02Z fredm $ + $Id: divide.c 4148 2010-08-25 21:20: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 Modified: vendor/fuse-emulator/current/fuse/ide/divide.h =================================================================== --- vendor/fuse-emulator/current/fuse/ide/divide.h 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/ide/divide.h 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* divide.h: DivIDE interface routines Copyright (c) 2005 Matthew Westcott - $Id: divide.h 4060 2009-07-30 13:21:38Z fredm $ + $Id: divide.h 4148 2010-08-25 21:20: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 Modified: vendor/fuse-emulator/current/fuse/ide/ide.c =================================================================== --- vendor/fuse-emulator/current/fuse/ide/ide.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/ide/ide.c 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* ide.c: Generic routines shared between the various IDE devices Copyright (c) 2005 Philip Kendall - $Id: ide.c 4060 2009-07-30 13:21:38Z fredm $ + $Id: ide.c 4148 2010-08-25 21:20: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 Modified: vendor/fuse-emulator/current/fuse/ide/ide.h =================================================================== --- vendor/fuse-emulator/current/fuse/ide/ide.h 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/ide/ide.h 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* ide.h: Generic routines shared between the various IDE devices Copyright (c) 2005 Philip Kendall - $Id: ide.h 4060 2009-07-30 13:21:38Z fredm $ + $Id: ide.h 4148 2010-08-25 21:20: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 Modified: vendor/fuse-emulator/current/fuse/ide/simpleide.c =================================================================== --- vendor/fuse-emulator/current/fuse/ide/simpleide.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/ide/simpleide.c 2010-10-07 11:31:54 UTC (rev 648) @@ -3,7 +3,7 @@ 2004 Philip Kendall, 2008 Fredrick Meunier - $Id: simpleide.c 4060 2009-07-30 13:21:38Z fredm $ + $Id: simpleide.c 4148 2010-08-25 21:20: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 Modified: vendor/fuse-emulator/current/fuse/ide/simpleide.h =================================================================== --- vendor/fuse-emulator/current/fuse/ide/simpleide.h 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/ide/simpleide.h 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* simpleide.h: Simple 8-bit IDE interface routines Copyright (c) 2003-2004 Garry Lancaster - $Id: simpleide.h 4060 2009-07-30 13:21:38Z fredm $ + $Id: simpleide.h 4148 2010-08-25 21:20: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 Modified: vendor/fuse-emulator/current/fuse/ide/zxatasp.c =================================================================== --- vendor/fuse-emulator/current/fuse/ide/zxatasp.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/ide/zxatasp.c 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* zxatasp.c: ZXATASP interface routines Copyright (c) 2003-2008 Garry Lancaster and Philip Kendall - $Id: zxatasp.c 4099 2009-10-22 10:59:02Z fredm $ + $Id: zxatasp.c 4148 2010-08-25 21:20: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 Modified: vendor/fuse-emulator/current/fuse/ide/zxatasp.h =================================================================== --- vendor/fuse-emulator/current/fuse/ide/zxatasp.h 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/ide/zxatasp.h 2010-10-07 11:31:54 UTC (rev 648) @@ -2,7 +2,7 @@ Copyright (c) 2003-2004 Garry Lancaster, 2004 Philip Kendall - $Id: zxatasp.h 4060 2009-07-30 13:21:38Z fredm $ + $Id: zxatasp.h 4148 2010-08-25 21:20: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 Modified: vendor/fuse-emulator/current/fuse/ide/zxcf.c =================================================================== --- vendor/fuse-emulator/current/fuse/ide/zxcf.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/ide/zxcf.c 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* zxcf.c: ZXCF interface routines Copyright (c) 2003-2008 Garry Lancaster and Philip Kendall - $Id: zxcf.c 4099 2009-10-22 10:59:02Z fredm $ + $Id: zxcf.c 4148 2010-08-25 21:20: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 Modified: vendor/fuse-emulator/current/fuse/ide/zxcf.h =================================================================== --- vendor/fuse-emulator/current/fuse/ide/zxcf.h 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/ide/zxcf.h 2010-10-07 11:31:54 UTC (rev 648) @@ -2,7 +2,7 @@ Copyright (c) 2003-2004 Garry Lancaster, 2004 Philip Kendall - $Id: zxcf.h 4060 2009-07-30 13:21:38Z fredm $ + $Id: zxcf.h 4148 2010-08-25 21:20: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 Modified: vendor/fuse-emulator/current/fuse/lib/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/lib/Makefile.am 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/lib/Makefile.am 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2004 Philip Kendall -## $Id: Makefile.am 3150 2007-09-05 14:05:00Z pak21 $ +## $Id: Makefile.am 4154 2010-08-31 14:14:34Z 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 @@ -33,6 +33,7 @@ @AUTOLOAD_SNAPS@/tape_2048.szx \ @AUTOLOAD_SNAPS@/tape_2068.szx \ @AUTOLOAD_SNAPS@/tape_48.szx \ + @AUTOLOAD_SNAPS@/tape_48_ntsc.szx \ @AUTOLOAD_SNAPS@/tape_plus2.szx \ @AUTOLOAD_SNAPS@/tape_plus2a.szx \ @AUTOLOAD_SNAPS@/tape_plus3.szx \ @@ -51,6 +52,7 @@ compressed/tape_2048.szx \ compressed/tape_2068.szx \ compressed/tape_48.szx \ + compressed/tape_48_ntsc.szx \ compressed/tape_plus2.szx \ compressed/tape_plus2a.szx \ compressed/tape_plus3.szx \ @@ -65,6 +67,7 @@ uncompressed/tape_2048.szx \ uncompressed/tape_2068.szx \ uncompressed/tape_48.szx \ + uncompressed/tape_48_ntsc.szx \ uncompressed/tape_plus2.szx \ uncompressed/tape_plus2a.szx \ uncompressed/tape_plus3.szx \ Modified: vendor/fuse-emulator/current/fuse/lib/compressed/disk_plus3.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_128.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_16.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_2048.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_2068.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_48.szx =================================================================== (Binary files differ) Added: vendor/fuse-emulator/current/fuse/lib/compressed/tape_48_ntsc.szx =================================================================== (Binary files differ) Property changes on: vendor/fuse-emulator/current/fuse/lib/compressed/tape_48_ntsc.szx ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_pentagon.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_plus2.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_plus2a.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_plus3.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_plus3e.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_scorpion.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_se.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/compressed/tape_ts2068.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/disk_plus3.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_128.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_16.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_2048.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_2068.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_48.szx =================================================================== (Binary files differ) Added: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_48_ntsc.szx =================================================================== (Binary files differ) Property changes on: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_48_ntsc.szx ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_pentagon.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_plus2.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_plus2a.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_plus3.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_plus3e.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_scorpion.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_se.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/lib/uncompressed/tape_ts2068.szx =================================================================== (Binary files differ) Modified: vendor/fuse-emulator/current/fuse/machine.c =================================================================== --- vendor/fuse-emulator/current/fuse/machine.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/machine.c 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* machine.c: Routines for handling the various machine types Copyright (c) 1999-2008 Philip Kendall - $Id: machine.c 3937 2009-01-07 14:02:30Z pak21 $ + $Id: machine.c 4148 2010-08-25 21:20: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 @@ -69,6 +69,8 @@ if (error ) return error; error = machine_add_machine( spec48_init ); if (error ) return error; + error = machine_add_machine( spec48_ntsc_init ); + if (error ) return error; error = machine_add_machine( spec128_init ); if (error ) return error; error = machine_add_machine( specplus2_init ); Modified: vendor/fuse-emulator/current/fuse/machines/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/machines/Makefile.am 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/machines/Makefile.am 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2004 Philip Kendall -## $Id: Makefile.am 3341 2007-11-26 14:48:01Z zubzero $ +## $Id: Makefile.am 4148 2010-08-25 21:20: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 @@ -36,6 +36,7 @@ spec128.c \ spec16.c \ spec48.c \ + spec48_ntsc.c \ specplus2.c \ spec_se.c \ specplus2a.c \ Modified: vendor/fuse-emulator/current/fuse/machines/machines.h =================================================================== --- vendor/fuse-emulator/current/fuse/machines/machines.h 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/machines/machines.h 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* machines.h: machine specific routines Copyright (c) 1999-2004 Philip Kendall - $Id: machines.h 3341 2007-11-26 14:48:01Z zubzero $ + $Id: machines.h 4148 2010-08-25 21:20: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 @@ -36,6 +36,7 @@ int pentagon1024_init( fuse_machine_info *machine ); int spec16_init( fuse_machine_info *machine ); +int spec48_ntsc_init( fuse_machine_info *machine ); int spec_se_init( fuse_machine_info *machine ); int specplus2_init( fuse_machine_info *machine ); int specplus2a_init( fuse_machine_info *machine ); Added: vendor/fuse-emulator/current/fuse/machines/spec48_ntsc.c =================================================================== --- vendor/fuse-emulator/current/fuse/machines/spec48_ntsc.c (rev 0) +++ vendor/fuse-emulator/current/fuse/machines/spec48_ntsc.c 2010-10-07 11:31:54 UTC (rev 648) @@ -0,0 +1,103 @@ +/* spec48_ntsc.c: NTSC Spectrum 48K specific routines + Copyright (c) 1999-2009 Philip Kendall + + $Id: spec48.c 3566 2008-03-18 12:59:16Z 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 + 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 <stdio.h> + +#include <libspectrum.h> + +#include "joystick.h" +#include "machine.h" +#include "memory.h" +#include "periph.h" +#include "printer.h" +#include "settings.h" +#include "spec48.h" +#include "spectrum.h" +#include "ula.h" +#include "if1.h" + +static int spec48_ntsc_reset( void ); + +static const periph_t peripherals[] = { + { 0x0001, 0x0000, ula_read, ula_write }, + { 0x0004, 0x0000, printer_zxp_read, printer_zxp_write }, + { 0x00e0, 0x0000, joystick_kempston_read, NULL }, +}; + +static const size_t peripherals_count = + sizeof( peripherals ) / sizeof( periph_t ); + +int spec48_ntsc_init( fuse_machine_info *machine ) +{ + machine->machine = LIBSPECTRUM_MACHINE_48_NTSC; + machine->id = "48_ntsc"; + + machine->reset = spec48_ntsc_reset; + + machine->timex = 0; + machine->ram.port_from_ula = spec48_port_from_ula; + machine->ram.contend_delay = spectrum_contend_delay_65432100; + machine->ram.contend_delay_no_mreq = spectrum_contend_delay_65432100; + + machine->unattached_port = spectrum_unattached_port; + + machine->shutdown = NULL; + + machine->memory_map = spec48_memory_map; + + return 0; + +} + +static int +spec48_ntsc_reset( void ) +{ + int error; + + error = machine_load_rom( 0, 0, settings_current.rom_48, + settings_default.rom_48, 0x4000 ); + if( error ) return error; + + error = periph_setup( peripherals, peripherals_count ); + if( error ) return error; + periph_setup_kempston( PERIPH_PRESENT_OPTIONAL ); + periph_setup_interface1( PERIPH_PRESENT_OPTIONAL ); + periph_setup_interface2( PERIPH_PRESENT_OPTIONAL ); + periph_setup_opus( PERIPH_PRESENT_OPTIONAL ); + periph_setup_plusd( PERIPH_PRESENT_OPTIONAL ); + periph_setup_beta128( PERIPH_PRESENT_OPTIONAL ); + periph_setup_fuller( PERIPH_PRESENT_OPTIONAL ); + periph_setup_melodik( PERIPH_PRESENT_OPTIONAL ); + periph_update(); + + memory_current_screen = 5; + memory_screen_mask = 0xffff; + + spec48_common_display_setup(); + + return spec48_common_reset(); +} Modified: vendor/fuse-emulator/current/fuse/man/fuse.1 =================================================================== --- vendor/fuse-emulator/current/fuse/man/fuse.1 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/man/fuse.1 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ .\" -*- nroff -*- .\" .\" fuse.1: Fuse man page -.\" Copyright (c) 2001-2008 Russell Marks, Philip Kendall, Darren Salt, +.\" Copyright (c) 2001-2010 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 "14th January, 2009" "Version 0.10.0.2" "Emulators" +.TH fuse 1 "FIXME October, 2010" "Version 1.0.0" "Emulators" .\" .\"------------------------------------------------------------------ .\" Modified: vendor/fuse-emulator/current/fuse/menu.c =================================================================== --- vendor/fuse-emulator/current/fuse/menu.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/menu.c 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* menu.c: general menu callbacks Copyright (c) 2004-2005 Philip Kendall - $Id: menu.c 4109 2009-12-27 06:15:10Z fredm $ + $Id: menu.c 4159 2010-09-13 11:51:13Z 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 @@ -136,13 +136,13 @@ recording = ui_get_open_filename( "Fuse - Start Replay" ); if( !recording ) { fuse_emulation_unpause(); return; } - rzx_start_playback( recording ); + rzx_start_playback( recording, 1 ); free( recording ); display_refresh_all(); - ui_menu_activate( UI_MENU_ITEM_RECORDING, 1 ); + if( rzx_playback ) ui_menu_activate( UI_MENU_ITEM_RECORDING, 1 ); fuse_emulation_unpause(); } @@ -839,20 +839,6 @@ } int -menu_open_snap( void ) -{ - char *filename; - int error; - - filename = ui_get_open_filename( "Fuse - Load Snapshot" ); - if( !filename ) return -1; - - error = snapshot_read( filename ); - free( filename ); - return error; -} - -int menu_check_media_changed( void ) { int confirm, i; Modified: vendor/fuse-emulator/current/fuse/menu.h =================================================================== --- vendor/fuse-emulator/current/fuse/menu.h 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/menu.h 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* menu.h: general menu callbacks Copyright (c) 2004 Philip Kendall - $Id: menu.h 4101 2009-11-13 12:54:28Z fredm $ + $Id: menu.h 4159 2010-09-13 11:51:13Z 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 @@ -105,8 +105,6 @@ MENU_CALLBACK( menu_media_ide_zxcf_upload ); MENU_CALLBACK( menu_media_ide_divide_writeprotect ); -int menu_open_snap( void ); - /* * Things to be defined elsewhere */ Modified: vendor/fuse-emulator/current/fuse/rzx.c =================================================================== --- vendor/fuse-emulator/current/fuse/rzx.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/rzx.c 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* rzx.c: .rzx files Copyright (c) 2002-2003 Philip Kendall - $Id: rzx.c 4085 2009-09-02 13:24:48Z fredm $ + $Id: rzx.c 4159 2010-09-13 11:51:13Z 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 @@ -37,7 +37,6 @@ #include "event.h" #include "fuse.h" #include "machine.h" -#include "menu.h" #include "rzx.h" #include "settings.h" #include "snapshot.h" @@ -234,10 +233,45 @@ return 0; } -int rzx_start_playback( const char *filename ) +libspectrum_snap* +rzx_get_initial_snapshot( void ) { + libspectrum_rzx_iterator it; + + for( it = libspectrum_rzx_iterator_begin( rzx ); + it; + it = libspectrum_rzx_iterator_next( it ) ) { + + libspectrum_rzx_block_id id = libspectrum_rzx_iterator_get_type( it ); + + switch( id ) { + + case LIBSPECTRUM_RZX_INPUT_BLOCK: + /* If we get this then there can't have been an initial snap to start + from */ + return NULL; + break; + + case LIBSPECTRUM_RZX_SNAPSHOT_BLOCK: + /* Got initial snap */ + return libspectrum_rzx_iterator_get_snap( it ); + break; + + default: + continue; + + } + + } + + return NULL; +} + +int rzx_start_playback( const char *filename, int check_snapshot ) +{ utils_file file; libspectrum_error libspec_error; int error; + libspectrum_snap* snap; if( rzx_recording ) return 1; @@ -257,6 +291,14 @@ return 1; } + snap = rzx_get_initial_snapshot(); + if( !snap && check_snapshot ) { + /* We need to load an external snapshot. Could be skipped if the snapshot + is preloaded from command line */ + error = utils_open_snap(); + if( error ) return error; + } + error = start_playback( rzx ); if( error ) { libspectrum_rzx_free( rzx ); @@ -270,6 +312,7 @@ rzx_start_playback_from_buffer( const unsigned char *buffer, size_t length ) { int error; + libspectrum_snap* snap; if( rzx_recording ) return 0; @@ -278,6 +321,15 @@ error = libspectrum_rzx_read( rzx, buffer, length ); if( error ) return error; + snap = rzx_get_initial_snapshot(); + if( !snap ) { + error = utils_open_snap(); + if( error ) { + libspectrum_rzx_free( rzx ); + return error; + } + } + error = start_playback( rzx ); if( error ) { libspectrum_rzx_free( rzx ); Modified: vendor/fuse-emulator/current/fuse/rzx.h =================================================================== --- vendor/fuse-emulator/current/fuse/rzx.h 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/rzx.h 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* rzx.h: .rzx files Copyright (c) 2002-2003 Philip Kendall - $Id: rzx.h 3681 2008-06-16 09:40:29Z pak21 $ + $Id: rzx.h 4159 2010-09-13 11:51:13Z 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,7 +64,7 @@ int rzx_start_recording( const char *filename, int embed_snapshot ); int rzx_stop_recording( void ); -int rzx_start_playback( const char *filename ); +int rzx_start_playback( const char *filename, int check_snapshot ); int rzx_start_playback_from_buffer( const unsigned char *buffer, size_t length ); Modified: vendor/fuse-emulator/current/fuse/settings.pl =================================================================== --- vendor/fuse-emulator/current/fuse/settings.pl 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/settings.pl 2010-10-07 11:31:54 UTC (rev 648) @@ -3,7 +3,7 @@ # settings.pl: generate settings.c from settings.dat # Copyright (c) 2002-2005 Philip Kendall -# $Id: settings.pl 4096 2009-10-07 08:43:00Z fredm $ +# $Id: settings.pl 4156 2010-09-09 13:01:38Z 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 @@ -166,14 +166,14 @@ static int read_config_file( settings_info *settings ) { - const char *home; char path[256]; + const char *home; char path[ PATH_MAX ]; struct stat stat_info; xmlDocPtr doc; home = compat_get_home_path(); if( !home ) return 1; - snprintf( path, 256, "%s/%s", home, CONFIG_FILE_NAME ); + snprintf( path, PATH_MAX, "%s/%s", home, CONFIG_FILE_NAME ); /* See if the file exists; if doesn't, it's not a problem */ if( stat( path, &stat_info ) ) { @@ -275,13 +275,13 @@ int settings_write_config( settings_info *settings ) { - const char *home; char path[256], buffer[80]; + const char *home; char path[ PATH_MAX ], buffer[80]; xmlDocPtr doc; xmlNodePtr root; home = compat_get_home_path(); if( !home ) return 1; - snprintf( path, 256, "%s/%s", home, CONFIG_FILE_NAME ); + snprintf( path, PATH_MAX, "%s/%s", home, CONFIG_FILE_NAME ); /* Create the XML document */ doc = xmlNewDoc( (const xmlChar*)"1.0" ); @@ -329,7 +329,7 @@ static int read_config_file( settings_info *settings ) { - const char *home; char path[256]; + const char *home; char path[ PATH_MAX ]; struct stat stat_info; int error; @@ -337,7 +337,7 @@ home = compat_get_home_path(); if( !home ) return 1; - snprintf( path, 256, "%s/%s", home, CONFIG_FILE_NAME ); + snprintf( path, PATH_MAX, "%s/%s", home, CONFIG_FILE_NAME ); /* See if the file exists; if doesn't, it's not a problem */ if( stat( path, &stat_info ) ) { @@ -363,139 +363,158 @@ return 0; } -/* special_trim() trims that are characters less then equal than space (32). - This will eliminate extra tabs, \r (if line ends with \r\n, or \n\r), - and spaces (if someone edits the config with external editor), - both leading and trailing. - */ -static void -special_trim( char string[80] ) { +static int +settings_var( settings_info *settings, unsigned char *name, unsigned char *last, + int **val_int, char ***val_char, unsigned char **next ) +{ + unsigned char* cpos; + size_t n; - size_t trim_pos; + *val_int = NULL; + *val_char = NULL; - /* Trim leading chars */ - trim_pos = 0; - while( string[ trim_pos ] && ( string[ trim_pos ] <= 32 ) ) - trim_pos++; - if( trim_pos > 0 ) - strcpy( string, &string[ trim_pos ] ); - - /* Trim trailing chars */ - trim_pos = strlen( string ); - while( ( --trim_pos > 0 ) && ( string[ trim_pos ] <= 32 ) ) { - string[ trim_pos ] = '\0'; + *next = name; + while( name < last && ( *name == ' ' || *name == '\t' || *name == '\r' || + *name == '\n' ) ) { + *next = ++name; /* seek to first char */ } -} + cpos = name; -static int -parse_ini( utils_file *file, settings_info *settings ) -{ - unsigned char* current_pos; - char setting_name[80], setting_value[80]; - size_t chars_copied; - - current_pos = file->buffer; + while( cpos < last && ( *cpos != '=' && *cpos != ' ' && *cpos != '\t' && + *cpos != '\r' && *cpos != '\n' ) ) cpos++; + *next = cpos; + n = cpos - name; /* length of name */ - /* Read until the end of file */ - while( current_pos < file->buffer + file->length ) { + while( *next < last && **next != '=' ) { /* search for '=' */ + if( **next != ' ' && **next != '\t' && **next != '\r' && **next != '\n' ) + return 1; /* error in value */ + (*next)++; + } + if( *next < last) (*next)++; /* set after '=' */ +/* ui_error( UI_ERROR_WARNING, "Config: (%5s): ", name ); */ - /* Safely copy the text to setting_name, delimted by "=", until \n or eof */ - chars_copied = 0; - while( ( current_pos < file->buffer + file->length ) - && ( *current_pos != '\n' ) && ( *current_pos != '=' ) - && ( chars_copied < 79 ) ) { /* leave one char for \0 */ - setting_name[ chars_copied ] = *current_pos; - current_pos++; - chars_copied++; - } - setting_name[ chars_copied ] = '\0'; - - if( *current_pos != '=' ) { - /* line misses the "=" delimiter, skip to next line */ - current_pos++; - continue; - } - - /* Safely copy the text to setting_value, until \n or eof */ - current_pos++; - chars_copied = 0; - while( ( current_pos < file->buffer + file->length ) - && ( *current_pos != '\n' ) - && ( chars_copied < 79 ) ) { /* leave one char for \0 */ - setting_value[ chars_copied ] = *current_pos; - current_pos++; - chars_copied++; - } - setting_value[ chars_copied ] = '\0'; - - current_pos++; - - special_trim( setting_name ); - special_trim( setting_value ); - CODE - +my %type = ('null' => 0, 'boolean' => 1, 'numeric' => 1, 'string' => 2 ); foreach my $name ( sort keys %options ) { + my $len = length $options{$name}->{configfile}; - my $type = $options{$name}->{type}; - - if( $type eq 'boolean' or $type eq 'numeric' ) { - - print << "CODE"; - if( !strcmp( setting_name, "$options{$name}->{configfile}" ) ) { - settings->$name = atoi( setting_value ); - } else + print << "CODE"; + if( n == $len && !strncmp( (const char *)name, "$options{$name}->{configfile}", n ) ) { CODE - - } elsif( $type eq 'string' ) { - - print << "CODE"; - if( !strcmp( setting_name, "$options{$name}->{configfile}" ) ) { - free( settings->$name ); - settings->$name = strdup( setting_value ); - } else + print " *val_int = \&settings->$name;\n" if( $options{$name}->{type} eq 'boolean' or $options{$name}->{type} eq 'numeric' ); + print " *val_char = \&settings->$name;\n" if( $options{$name}->{type} eq 'string' ); + print "/* *val_null = \&settings->$name; */\n" if( $options{$name}->{type} eq 'null' ); + print << "CODE"; + return 0; + } CODE +} + print << "CODE"; + return 1; +} - } elsif( $type eq 'null' ) { +static int +parse_ini( utils_file *file, settings_info *settings ) +{ + unsigned char *cpos, *cpos_new; + int *val_int; + char **val_char; - print << "CODE"; - if( !strcmp( setting_name, "$options{$name}->{configfile}" ) ) { - /* Do nothing */ - } else -CODE + cpos = file->buffer; - } else { - die "Unknown setting type `$type'"; + /* Read until the end of file */ + while( cpos < file->buffer + file->length ) { + if( settings_var( settings, cpos, file->buffer + file->length, &val_int, + &val_char, &cpos_new ) ) { + /* error in name or something else ... */ + cpos = cpos_new + 1; + ui_error( UI_ERROR_WARNING, + "Unknown and/or invalid setting '%s' in config file", cpos ); + continue; } -} + cpos = cpos_new; + if( val_int ) { + *val_int = atoi( (char *)cpos ); + while( cpos < file->buffer + file->length && + ( *cpos != '\\0' && *cpos != '\\r' && *cpos != '\\n' ) ) cpos++; + } else if( val_char ) { + char *value = (char *)cpos; + size_t n = 0; + while( cpos < file->buffer + file->length && + ( *cpos != '\\0' && *cpos != '\\r' && *cpos != '\\n' ) ) cpos++; + n = (char *)cpos - value; + if( n > 0 ) { + if( *val_char != NULL ) { + free( *val_char ); + *val_char = NULL; + } + *val_char = malloc( n + 1 ); + if( ! *val_char ) { + ui_error( UI_ERROR_WARNING, "Out of memory!" ); + return 1; + } + (*val_char)[n] = '\\0'; + memcpy( *val_char, value, n ); + } + } + /* skip 'new line' like chars */ + while( ( cpos < ( file->buffer + file->length ) ) && + ( *cpos == '\\r' || *cpos == '\\n' ) ) cpos++; +CODE print hashline( __LINE__ ), << 'CODE'; - if( !strcmp( setting_name, "text" ) ) { - /* Do nothing */ - } else { - ui_error( UI_ERROR_WARNING, "Unknown setting '%s' in config file", - setting_name ); - } } return 0; } +static int +settings_file_write( compat_fd fd, const char *buffer, size_t length ) +{ + return compat_file_write( fd, (const unsigned char *)buffer, length ); +} + +static int +settings_string_write( compat_fd doc, const char* name, const char* config ) +{ + if( config != NULL && + ( settings_file_write( doc, name, strlen( name ) ) || + settings_file_write( doc, "=", 1 ) || + settings_file_write( doc, config, strlen( config ) ) || + settings_file_write( doc, "\n", 1 ) ) ) + return 1; + return 0; +} + +static int +settings_boolean_write( compat_fd doc, const char* name, int config ) +{ + return settings_string_write( doc, name, config ? "1" : "0" ); +} + +static int +settings_numeric_write( compat_fd doc, const char* name, int config ) +{ + char buffer[80]; + snprintf( buffer, sizeof( buffer ), "%d", config ); + return settings_string_write( doc, name, buffer ); +} + int settings_write_config( settings_info *settings ) { - const char *home; char path[256], buffer[80]; + const char *home; char path[ PATH_MAX ]; compat_fd doc; home = compat_get_home_path(); if( !home ) return 1; - snprintf( path, 256, "%s/%s", home, CONFIG_FILE_NAME ); + snprintf( path, PATH_MAX, "%s/%s", home, CONFIG_FILE_NAME ); doc = compat_file_open( path, 1 ); if( doc == COMPAT_FILE_OPEN_FAILED ) { ui_error( UI_ERROR_ERROR, "couldn't open `%s' for writing: %s\n", - path, strerror( errno ) ); + path, strerror( errno ) ); return 1; } @@ -504,38 +523,28 @@ foreach my $name ( sort keys %options ) { my $type = $options{$name}->{type}; + my $len = length "$options{$name}->{configfile}"; if( $type eq 'boolean' ) { print << "CODE"; - snprintf( buffer, 80, "%s=%s\\n", "$options{$name}->{configfile}", settings->$name ? "1" : "0" ); - if( compat_file_write( doc, ( const unsigned char * ) buffer, - strlen( buffer ) > 80 ? 80 : strlen( buffer ) ) ) { - compat_file_close( doc ); - return 1; - } + if( settings_boolean_write( doc, "$options{$name}->{configfile}", + settings->$name ) ) + goto error; CODE } elsif( $type eq 'string' ) { print << "CODE"; - if( settings->$name ) { - snprintf( buffer, 80, "%s=%s\\n", "$options{$name}->{configfile}", settings->$name ); - if( compat_file_write( doc, ( const unsigned char * ) buffer, - strlen( buffer ) > 80 ? 80 : strlen( buffer ) ) ) { - compat_file_close( doc ); - return 1; - } - } + if( settings_string_write( doc, "$options{$name}->{configfile}", + settings->$name ) ) + goto error; CODE } elsif( $type eq 'numeric' ) { print << "CODE"; - snprintf( buffer, 80, "%s=%d\\n", "$options{$name}->{configfile}", settings->$name ); - if( compat_file_write( doc, ( const unsigned char * ) buffer, - strlen( buffer ) > 80 ? 80 : strlen( buffer ) ) ) { - compat_file_close( doc ); - return 1; - } + if( settings_numeric_write( doc, "$options{$name}->{configfile}", + settings->$name ) ) + goto error; CODE } elsif( $type eq 'null' ) { @@ -550,6 +559,10 @@ compat_file_close( doc ); return 0; +error: + compat_file_close( doc ); + + return 1; } #endif /* #ifdef HAVE_LIB_XML2 */ Modified: vendor/fuse-emulator/current/fuse/sound/coreaudiosound.c =================================================================== --- vendor/fuse-emulator/current/fuse/sound/coreaudiosound.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/sound/coreaudiosound.c 2010-10-07 11:31:54 UTC (rev 648) @@ -73,8 +73,8 @@ 0, NULL, &count, device); if ( err != kAudioHardwareNoError && device != kAudioObjectUnknown ) { ui_error( UI_ERROR_ERROR, - "get kAudioHardwarePropertyDefaultOutputDevice error %d", - err ); + "get kAudioHardwarePropertyDefaultOutputDevice error %ld", + (long)err ); return 1; } @@ -100,8 +100,8 @@ rate); if ( err != kAudioHardwareNoError ) { ui_error( UI_ERROR_ERROR, - "get kAudioDevicePropertyNominalSampleRate error %d", - err ); + "get kAudioDevicePropertyNominalSampleRate error %ld", + (long)err ); return 1; } @@ -150,7 +150,7 @@ err = OpenAComponent( comp, &gOutputUnit ); if( comp == NULL ) { - ui_error( UI_ERROR_ERROR, "OpenAComponent=%d", err ); + ui_error( UI_ERROR_ERROR, "OpenAComponent=%ld", (long)err ); return 1; } @@ -166,7 +166,7 @@ &input, sizeof( input ) ); if( err ) { - ui_error( UI_ERROR_ERROR, "AudioUnitSetProperty-CB=%d", err ); + ui_error( UI_ERROR_ERROR, "AudioUnitSetProperty-CB=%ld", (long)err ); return 1; } @@ -177,13 +177,14 @@ &deviceFormat, sizeof( AudioStreamBasicDescription ) ); if( err ) { - ui_error( UI_ERROR_ERROR, "AudioUnitSetProperty-SF=%4.4s, %d", (char*)&err, err ); + ui_error( UI_ERROR_ERROR, "AudioUnitSetProperty-SF=%4.4s, %ld", (char*)&err, + (long)err ); return 1; } err = AudioUnitInitialize( gOutputUnit ); if( err ) { - ui_error( UI_ERROR_ERROR, "AudioUnitInitialize=%d", err ); + ui_error( UI_ERROR_ERROR, "AudioUnitInitialize=%ld", (long)err ); return 1; } @@ -224,7 +225,7 @@ err = AudioUnitUninitialize( gOutputUnit ); if( err ) { - printf( "AudioUnitUninitialize=%d", err ); + printf( "AudioUnitUninitialize=%ld", (long)err ); } CloseComponent( gOutputUnit ); @@ -263,7 +264,7 @@ default device */ OSStatus err = AudioOutputUnitStart( gOutputUnit ); if( err ) { - ui_error( UI_ERROR_ERROR, "AudioOutputUnitStart=%d", err ); + ui_error( UI_ERROR_ERROR, "AudioOutputUnitStart=%ld", (long)err ); return; } Modified: vendor/fuse-emulator/current/fuse/tape.c =================================================================== --- vendor/fuse-emulator/current/fuse/tape.c 2010-09-28 11:58:20 UTC (rev 647) +++ vendor/fuse-emulator/current/fuse/tape.c 2010-10-07 11:31:54 UTC (rev 648) @@ -1,7 +1,7 @@ /* tape.c: tape handling routines Copyright (c) 1999-2008 Philip Kendall, Darren Salt, Witold Filipczyk - $Id: tape.c 4086 2009-09-02 13:27:22Z fredm $ + $Id: tape.c 4155 2010-09-05 11:58:37Z 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 @@ -198,7 +198,7 @@ if( error ) { utils_close_file( &snap ); return error; } if( utils_close_file( &snap ) ) { - ui_error( UI_ERROR_ERROR, "Couldn't munmap '%s': %s", filename, + ui_error( UI_ERROR_ERROR, "Couldn't close '%s': %s", filename, strerror( errno ) ); return 1; } @@ -564,6 ... [truncated message content] |
From: <fr...@us...> - 2010-09-28 11:58:26
|
Revision: 647 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=647&view=rev Author: fredm Date: 2010-09-28 11:58:20 +0000 (Tue, 28 Sep 2010) Log Message: ----------- Use @property and friends for accessors where possible. Modified Paths: -------------- trunk/fuse/fusepb/content_arrays/CAMachines.h trunk/fuse/fusepb/content_arrays/CAMachines.m trunk/fuse/fusepb/content_arrays/HIDJoysticks.h trunk/fuse/fusepb/content_arrays/HIDJoysticks.m trunk/fuse/fusepb/content_arrays/Joysticks.h trunk/fuse/fusepb/content_arrays/Joysticks.m trunk/fuse/fusepb/controllers/FuseController.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/controllers/TapeBrowserController.h trunk/fuse/fusepb/controllers/TapeBrowserController.m trunk/fuse/fusepb/models/Emulator.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/views/Texture.h trunk/fuse/fusepb/views/Texture.m Modified: trunk/fuse/fusepb/content_arrays/CAMachines.h =================================================================== --- trunk/fuse/fusepb/content_arrays/CAMachines.h 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/content_arrays/CAMachines.h 2010-09-28 11:58:20 UTC (rev 647) @@ -36,10 +36,8 @@ + (id)machineWithName:(NSString *)aTitle andType:(int)aValue; + (Machine *)machineForName:(NSString *)theName; + (Machine *)machineForType:(int)theType; -- (int)machineType; -- (void)setMachineType:(int)aValue; -- (NSString *)machineName; -- (void)setMachineName:(NSString *)aName; +@property (copy,getter=machineName,setter=setMachineName) NSString *name; +@property (getter=machineType,setter=setMachineType:) int type; - (id)copyWithZone:(NSZone *)zone; - (id)valueForUndefinedKey:(NSString *)key; Modified: trunk/fuse/fusepb/content_arrays/CAMachines.m =================================================================== --- trunk/fuse/fusepb/content_arrays/CAMachines.m 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/content_arrays/CAMachines.m 2010-09-28 11:58:20 UTC (rev 647) @@ -120,30 +120,9 @@ // Accessors -- (NSString *)machineName -{ - return name; -} +@synthesize name; +@synthesize type; -- (void)setMachineName:(NSString *)aName -{ - if (name != aName) { - [name release]; - name = [aName copy]; - } - return; -} - -- (int)machineType -{ - return type; -} - -- (void)setMachineType:(int)aValue -{ - type = aValue; -} - - (void)dealloc { [self setMachineName:nil]; Modified: trunk/fuse/fusepb/content_arrays/HIDJoysticks.h =================================================================== --- trunk/fuse/fusepb/content_arrays/HIDJoysticks.h 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/content_arrays/HIDJoysticks.h 2010-09-28 11:58:20 UTC (rev 647) @@ -36,10 +36,8 @@ + (id)joystickWithName:(NSString *)aTitle andType:(int)aValue; + (HIDJoystick *)joystickForName:(NSString *)theName; + (HIDJoystick *)joystickForType:(int)theType; -- (int)joystickType; -- (void)setJoystickType:(int)aValue; -- (NSString *)joystickName; -- (void)setJoystickName:(NSString *)aName; +@property (retain,getter=joystickName,setter=setJoystickName:) NSString *name; +@property (getter=joystickType,setter=setJoystickType:) int type; - (id)copyWithZone:(NSZone *)zone; - (id)valueForUndefinedKey:(NSString *)key; Modified: trunk/fuse/fusepb/content_arrays/HIDJoysticks.m =================================================================== --- trunk/fuse/fusepb/content_arrays/HIDJoysticks.m 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/content_arrays/HIDJoysticks.m 2010-09-28 11:58:20 UTC (rev 647) @@ -124,30 +124,9 @@ // Accessors -- (NSString *)joystickName -{ - return name; -} +@synthesize name; +@synthesize type; -- (void)setJoystickName:(NSString *)aName -{ - if (name != aName) { - [name release]; - name = [aName copy]; - } - return; -} - -- (int)joystickType -{ - return type; -} - -- (void)setJoystickType:(int)aValue -{ - type = aValue; -} - - (void)dealloc { [self setJoystickName:nil]; Modified: trunk/fuse/fusepb/content_arrays/Joysticks.h =================================================================== --- trunk/fuse/fusepb/content_arrays/Joysticks.h 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/content_arrays/Joysticks.h 2010-09-28 11:58:20 UTC (rev 647) @@ -36,10 +36,8 @@ + (id)joystickWithName:(NSString *)aTitle andType:(int)aValue; + (Joystick *)joystickForName:(NSString *)theName; + (Joystick *)joystickForType:(int)theType; -- (int)joystickType; -- (void)setJoystickType:(int)aValue; -- (NSString *)joystickName; -- (void)setJoystickName:(NSString *)aName; +@property (retain,getter=joystickName,setter=setJoystickName:) NSString *name; +@property (getter=joystickType,setter=setJoystickType:) int type; - (id)copyWithZone:(NSZone *)zone; - (id)valueForUndefinedKey:(NSString *)key; Modified: trunk/fuse/fusepb/content_arrays/Joysticks.m =================================================================== --- trunk/fuse/fusepb/content_arrays/Joysticks.m 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/content_arrays/Joysticks.m 2010-09-28 11:58:20 UTC (rev 647) @@ -120,30 +120,9 @@ // Accessors -- (NSString *)joystickName -{ - return name; -} +@synthesize name; +@synthesize type; -- (void)setJoystickName:(NSString *)aName -{ - if (name != aName) { - [name release]; - name = [aName copy]; - } - return; -} - -- (int)joystickType -{ - return type; -} - -- (void)setJoystickType:(int)aValue -{ - type = aValue; -} - - (void)dealloc { [self setJoystickName:nil]; Modified: trunk/fuse/fusepb/controllers/FuseController.h =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.h 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/controllers/FuseController.h 2010-09-28 11:58:20 UTC (rev 647) @@ -146,7 +146,7 @@ - (IBAction)saveFileTypeClicked:(id)sender; - savePanelAccessoryView; -- (NSPopUpButton*) saveFileType; +@property (getter=saveFileType,readonly) NSPopUpButton* saveFileType; - (void)releaseCmdKeys:(NSString *)character:(int)keyCode; - (void)releaseKey:(int)keyCode; Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/controllers/FuseController.m 2010-09-28 11:58:20 UTC (rev 647) @@ -1046,10 +1046,7 @@ return savePanelAccessoryView; } -- (NSPopUpButton*) saveFileType -{ - return saveFileType; -} +@synthesize saveFileType; - (IBAction)resetUserDefaults:(id)sender { Modified: trunk/fuse/fusepb/controllers/TapeBrowserController.h =================================================================== --- trunk/fuse/fusepb/controllers/TapeBrowserController.h 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/controllers/TapeBrowserController.h 2010-09-28 11:58:20 UTC (rev 647) @@ -49,7 +49,6 @@ - (void)tableViewSelectionDidChange:(NSNotification *)aNotification; -- (NSArrayController *)tapeController; -- (NSArrayController *)infoController; - +@property (retain,getter=tapeController,readonly) NSArrayController *tapeController; +@property (retain,getter=infoController,readonly) NSArrayController *infoController; @end Modified: trunk/fuse/fusepb/controllers/TapeBrowserController.m =================================================================== --- trunk/fuse/fusepb/controllers/TapeBrowserController.m 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/controllers/TapeBrowserController.m 2010-09-28 11:58:20 UTC (rev 647) @@ -129,16 +129,8 @@ initialising = [value boolValue]; } -- (NSArrayController *)tapeController -{ - return [[tapeController retain] autorelease]; -} - -- (NSArrayController *)infoController -{ - return [[infoController retain] autorelease]; -} - +@synthesize tapeController; +@synthesize infoController; @end static void Modified: trunk/fuse/fusepb/models/Emulator.h =================================================================== --- trunk/fuse/fusepb/models/Emulator.h 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/models/Emulator.h 2010-09-28 11:58:20 UTC (rev 647) @@ -53,8 +53,6 @@ -(void) connectWithPorts:(NSArray *)portArray; -(void) stop; --(BOOL) isEmulating; - -(void) startEmulationTimer; -(void) stopEmulationTimer; @@ -191,4 +189,5 @@ -(void) debuggerActivate; +@property (getter=isEmulating,readonly) BOOL isEmulating; @end Modified: trunk/fuse/fusepb/models/Emulator.m =================================================================== --- trunk/fuse/fusepb/models/Emulator.m 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/models/Emulator.m 2010-09-28 11:58:20 UTC (rev 647) @@ -620,10 +620,7 @@ return divide_eject( unit ); } --(BOOL) isEmulating -{ - return isEmulating; -} +@synthesize isEmulating; -(void) startEmulationTimer { Modified: trunk/fuse/fusepb/views/Texture.h =================================================================== --- trunk/fuse/fusepb/views/Texture.h 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/views/Texture.h 2010-09-28 11:58:20 UTC (rev 647) @@ -40,7 +40,7 @@ -(void) dealloc; -(Cocoa_Texture*) getTexture; --(GLuint) getTextureId; +@property (getter=getTextureId,readonly) GLuint textureId; -(void) uploadIconTexture; Modified: trunk/fuse/fusepb/views/Texture.m =================================================================== --- trunk/fuse/fusepb/views/Texture.m 2010-09-24 12:32:35 UTC (rev 646) +++ trunk/fuse/fusepb/views/Texture.m 2010-09-28 11:58:20 UTC (rev 647) @@ -93,10 +93,7 @@ return &texture; } --(GLuint) getTextureId -{ - return textureId; -} +@synthesize textureId; -(void) uploadIconTexture; { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-09-24 12:32:42
|
Revision: 646 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=646&view=rev Author: fredm Date: 2010-09-24 12:32:35 +0000 (Fri, 24 Sep 2010) Log Message: ----------- Modernise enumerator loops. Modified Paths: -------------- trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/settings.pl Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2010-08-07 06:44:28 UTC (rev 645) +++ trunk/fuse/fusepb/controllers/FuseController.m 2010-09-24 12:32:35 UTC (rev 646) @@ -1786,8 +1786,7 @@ /* Iterate through matches, setting the title in recentSnaps with the full path with commonPrefix removed, and with snap name - .../ prepended */ - enumerator = [matches objectEnumerator]; - while( (object = [enumerator nextObject]) ) { + for( object in matches ) { unsigned index = [[object objectAtIndex:0] intValue]; NSString *file = [settings_current.cocoa->recent_snapshots objectAtIndex:[[object objectAtIndex:0] intValue]]; Modified: trunk/fuse/settings.pl =================================================================== --- trunk/fuse/settings.pl 2010-08-07 06:44:28 UTC (rev 645) +++ trunk/fuse/settings.pl 2010-09-24 12:32:35 UTC (rev 646) @@ -676,7 +676,6 @@ void settings_get_rom_array( settings_info *settings, NSArray *machineroms ) { - NSEnumerator *enumerator; NSMutableDictionary *roms; if ( machineroms == nil ) { @@ -684,8 +683,7 @@ } CODE -print " enumerator = [machineroms objectEnumerator];\n"; -print " while ( ( roms = [enumerator nextObject] ) ) {\n"; +print " for ( roms in machineroms ) {\n"; print " int machineType = [[roms valueForKey:@\"machine\"] machineType];\n "; my $first=0; foreach my $machine ( sort keys %machineRoms ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-08-07 06:44:34
|
Revision: 645 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=645&view=rev Author: fredm Date: 2010-08-07 06:44:28 +0000 (Sat, 07 Aug 2010) Log Message: ----------- Switch to new de-facto character encoding for TZX blocks from WoS in Tape Browser. Modified Paths: -------------- trunk/fuse/fusepb/controllers/TapeBrowserController.m Modified: trunk/fuse/fusepb/controllers/TapeBrowserController.m =================================================================== --- trunk/fuse/fusepb/controllers/TapeBrowserController.m 2010-08-06 13:51:53 UTC (rev 644) +++ trunk/fuse/fusepb/controllers/TapeBrowserController.m 2010-08-07 06:44:28 UTC (rev 645) @@ -171,7 +171,7 @@ values = [NSArray arrayWithObjects: @"Title", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ], nil]; [tapeBrowserController @@ -184,7 +184,7 @@ info = [NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ]; values = [NSArray arrayWithObjects: @"Publishers", @@ -199,7 +199,7 @@ info = [NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ]; values = [NSArray arrayWithObjects: @"Authors", @@ -216,7 +216,7 @@ [[NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ] intValue]], nil]; [tapeBrowserController @@ -229,7 +229,7 @@ info = [NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ]; values = [NSArray arrayWithObjects: @"Languages", @@ -244,7 +244,7 @@ values = [NSArray arrayWithObjects: @"Category", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ], nil]; [tapeBrowserController @@ -254,23 +254,40 @@ ]; break; case 6: - values = [NSArray arrayWithObjects: @"Price", - [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) + { + const char *infoString = + libspectrum_tape_block_texts( block, i ); + NSMutableString *priceString = + [NSMutableString stringWithCString:infoString #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif - ], nil]; + ]; + // WoS Infoseek has been putting HTML-style "€" in for the + // Euro symbol which isn't in the ISO Latin 1 string encoding. + // Martijn has agreed to use CP1252 (a superset of Latin 1) + // instead. + // In case of encountering some old blocks we support + // translating "€" to the correect sign as well as + // supporting CP1252 encoding on import replace it with the + // standard euro sign + [priceString replaceOccurrencesOfString:@"€" + withString:@"€" + options:NSCaseInsensitiveSearch + range:NSMakeRange(0, [priceString length])]; + values = [NSArray arrayWithObjects: @"Price", priceString, nil]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] waitUntilDone:NO ]; + } break; case 7: values = [NSArray arrayWithObjects: @"Loader", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ], nil]; [tapeBrowserController @@ -283,7 +300,7 @@ values = [NSArray arrayWithObjects: @"Origin", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ], nil]; [tapeBrowserController @@ -296,7 +313,7 @@ values = [NSArray arrayWithObjects: @"Comment", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ], nil]; [tapeBrowserController This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-08-06 13:51:59
|
Revision: 644 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=644&view=rev Author: fredm Date: 2010-08-06 13:51:53 +0000 (Fri, 06 Aug 2010) Log Message: ----------- Switch to new de-facto character encoding for TZX blocks from WoS. Modified Paths: -------------- trunk/FuseImporter/LibspectrumMetadataImporter.m Modified: trunk/FuseImporter/LibspectrumMetadataImporter.m =================================================================== --- trunk/FuseImporter/LibspectrumMetadataImporter.m 2010-05-30 12:55:56 UTC (rev 643) +++ trunk/FuseImporter/LibspectrumMetadataImporter.m 2010-08-06 13:51:53 UTC (rev 644) @@ -261,20 +261,20 @@ case 0: [attributes setObject:[NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) - encoding:NSISOLatin1StringEncoding] + encoding:NSWindowsCP1252StringEncoding] forKey:(NSString *)kMDItemTitle]; break; case 1: info = [NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) - encoding:NSISOLatin1StringEncoding]; + encoding:NSWindowsCP1252StringEncoding]; [attributes setObject:[info componentsSeparatedByString:@"\n"] forKey:(NSString *)kMDItemPublishers]; break; case 2: info = [NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) - encoding:NSISOLatin1StringEncoding]; + encoding:NSWindowsCP1252StringEncoding]; [attributes setObject:[info componentsSeparatedByString:@"\n"] forKey:(NSString *)kMDItemAuthors]; break; @@ -282,44 +282,62 @@ [attributes setObject:[NSNumber numberWithInt: [[NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) - encoding:NSISOLatin1StringEncoding] intValue]] + encoding:NSWindowsCP1252StringEncoding] intValue]] forKey:(NSString *)kMDItemRecordingYear]; break; case 4: // We will want to translate from "English" etc. info = [NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) - encoding:NSISOLatin1StringEncoding]; + encoding:NSWindowsCP1252StringEncoding]; [attributes setObject:[info componentsSeparatedByString:@"\n"] forKey:(NSString *)kMDItemLanguages]; break; case 5: [attributes setObject:[NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) - encoding:NSISOLatin1StringEncoding] + encoding:NSWindowsCP1252StringEncoding] forKey:@"net_sourceforge_projects_fuse_emulator_Category"]; break; case 6: - [attributes setObject:[NSString stringWithCString: - (const char *)libspectrum_tape_block_texts( block, i ) - encoding:NSISOLatin1StringEncoding] + { + const char *infoString = + libspectrum_tape_block_texts( block, i ); + NSMutableString *priceString = + [NSMutableString stringWithCString:infoString + encoding:NSWindowsCP1252StringEncoding]; + // WoS Infoseek has been putting HTML-style "€" in for the + // Euro symbol which isn't in the ISO Latin 1 string encoding. + // Martijn has agreed to use CP1252 (a superset of Latin 1) + // instead. + // In case of encountering some old blocks we support + // translating "€" to the correect sign as well as + // supporting CP1252 encoding on import replace it with the + // standard euro sign + [priceString replaceOccurrencesOfString:@"€" + withString:@"€" + options:NSCaseInsensitiveSearch + range:NSMakeRange(0, [priceString length])]; + // Also should consider UKP from some TZX Vault info blocks? + [attributes setObject:priceString forKey:@"net_sourceforge_projects_fuse_emulator_Price"]; + } break; case 7: [attributes setObject:[NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) - encoding:NSISOLatin1StringEncoding] + encoding:NSWindowsCP1252StringEncoding] forKey:@"net_sourceforge_projects_fuse_emulator_Loader"]; break; case 8: [attributes setObject:[NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) - encoding:NSISOLatin1StringEncoding] + encoding:NSWindowsCP1252StringEncoding] forKey:@"net_sourceforge_projects_fuse_emulator_Origin"]; break; case 255: [attributes setObject:[NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) - encoding:NSISOLatin1StringEncoding] + encoding:NSWindowsCP1252StringEncoding] forKey:(NSString *)kMDItemComment]; break; default: NSLog(@"(Unknown string): %s", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-05-30 12:56:02
|
Revision: 643 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=643&view=rev Author: fredm Date: 2010-05-30 12:55:56 +0000 (Sun, 30 May 2010) Log Message: ----------- Update changelog for latest vendor merge and other changes in fuse-for-macosx. Modified Paths: -------------- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2010-05-29 11:45:56 UTC (rev 642) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2010-05-30 12:55:56 UTC (rev 643) @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta @@ -14,16 +14,31 @@ name="What's New In Fuse?" id="What's New In Fuse?"></a><!-- AppleSegDescription="This section describes the changes for version 0.10.0 of the Fuse emulator." --></font><br> <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse -For Mac OS X Beta 20090???</font></h2> +For Mac OS X Beta 20100???</font></h2> <ul> <li><font face="Lucida Grande,Helvetica,Arial">Changes since last beta:</font></li> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Add Opus Discovery -support (Gergely Szasz and Fredrick Meunier)</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix Mr Gluk Reset -Service reset with a disk present on Pentagon 512 and 1024 (Gergely -Szasz).</font> </li> + <li><font face="Lucida Grande,Helvetica,Arial">Support weak data in ++3 disk images (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Extend 80 track +drives to accept disks up to 84 tracks and 40 track drives to accept +disks up to 42 tracks (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix stuck key +problem with shfted extended punctuation keys <>:"_+ (Fredrick +Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Remove RZX +compression option (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Resolve hang when +double-clicking a file to open in Fuse (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Restore handling of +zoom titlebar button events (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Pause emulation +before loading a file from a double click/drag-n-drop when Fuse is +already running (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add x86_64 target to +Universal Binary (Fredrick Meunier).<br> + </font></li> </ul> </ul> <ul> @@ -32,6 +47,10 @@ <li style="list-style-type: none; list-style-image: none; list-style-position: outside;"> <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Add Opus Discovery +disk interface support (Gergely Szasz and Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Support weak data +in +3 disk images (Gergely Szasz). </font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add support for flipping disk images in single sided drives (Gergely Szasz).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add support for @@ -40,11 +59,15 @@ <li><font face="Lucida Grande,Helvetica,Arial">Switch to using Blip_Buffer (by Shay Green) for improved beeper and AY output (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Allow beeper and +AY volumes to be set </font><font face="Lucida Grande,Helvetica,Arial">individually</font><font + face="Lucida Grande,Helvetica,Arial"> (Fredrick Meunier).<br> + </font></li> <li><font face="Lucida Grande,Helvetica,Arial">Enable Beta 128 interface in 48K and TC2048 machines (thanks, Omikron) (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add emulation of -the Fuller Audio Box (Stuart Brady & Fredrick Meunier).</font></li> +the Fuller Audio Box (Stuart Brady and Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Allow sound to run from 2% speed up (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add emulation of @@ -52,11 +75,11 @@ sound ports (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add support for Pentagon 1024SL v2.2 16 colour mode (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Allow selection of +"TV speaker" or "beeper"-style sound output (Fredrick Meunier).<br> + </font></li> <li><font face="Lucida Grande,Helvetica,Arial">New Preferences window (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Allow beeper and -AY volumes to be set individually (Fredrick Meunier).<br> - </font></li> <li><font face="Lucida Grande,Helvetica,Arial">Collapse Media menu hierarchy, to just have Tape, Disk A, Disk B, Master, Slave, Microdrive 1 and 2 etc. (Fredrick Meunier).<br> @@ -74,7 +97,7 @@ <li><font face="Lucida Grande,Helvetica,Arial">Preformat new disks on +3 to allow the format command on +3 to work (Gergely Szasz).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Support non-standard -TRD images with 41-83 tracks per side (Gergely Szasz).</font></li> +TRD images with 41-84 tracks per side (Gergely Szasz).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Allow user to swap Kempston mouse buttons as some combinations of physical hardware and Spectrum software make it hard to use the standard mapping e.g. right @@ -84,6 +107,13 @@ estimation (Gergely Szasz).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix border colour in Timex HiRes screenshots (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix poke finder +passing the wrong page to the debugger (Marek Januszewski).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Tweak sector padding +to fix Opus ATC+Technician Ted.dsk (Gergely Szasz; thanks, Simon Owen).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Z80 NMI should take +some time (Fredrick Meunier).<br> + </font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix loading Warajevo TAPs of raw samples (e.g. BRUCELEE.TAP) (</font><font face="Lucida Grande,Helvetica,Arial">Fredrick Meunier</font><font This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-05-29 11:46:03
|
Revision: 642 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=642&view=rev Author: fredm Date: 2010-05-29 11:45:56 +0000 (Sat, 29 May 2010) Log Message: ----------- Resolve warnings by removing problematic defaulting of Auto Save Name in interface builder. Modified Paths: -------------- trunk/fuse/fusepb/xibs/Debugger.xib trunk/fuse/fusepb/xibs/Keyboard.xib trunk/fuse/fusepb/xibs/LoadBinary.xib trunk/fuse/fusepb/xibs/PokeFinder.xib trunk/fuse/fusepb/xibs/Preferences.xib trunk/fuse/fusepb/xibs/Rollback.xib trunk/fuse/fusepb/xibs/SaveBinary.xib trunk/fuse/fusepb/xibs/SavePanelAccessoryView.xib trunk/fuse/fusepb/xibs/TapeBrowser.xib Modified: trunk/fuse/fusepb/xibs/Debugger.xib =================================================================== --- trunk/fuse/fusepb/xibs/Debugger.xib 2010-05-27 11:49:15 UTC (rev 641) +++ trunk/fuse/fusepb/xibs/Debugger.xib 2010-05-29 11:45:56 UTC (rev 642) @@ -2,16 +2,16 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> <data> <int key="IBDocument.SystemTarget">1060</int> - <string key="IBDocument.SystemVersion">10A432</string> - <string key="IBDocument.InterfaceBuilderVersion">732</string> - <string key="IBDocument.AppKitVersion">1038</string> - <string key="IBDocument.HIToolboxVersion">437.00</string> + <string key="IBDocument.SystemVersion">10D2094</string> + <string key="IBDocument.InterfaceBuilderVersion">762</string> + <string key="IBDocument.AppKitVersion">1038.29</string> + <string key="IBDocument.HIToolboxVersion">460.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">732</string> + <string key="NS.object.0">762</string> </object> <array class="NSMutableArray" key="IBDocument.EditedObjectIDs"> - <integer value="5"/> + <integer value="6"/> </array> <array key="IBDocument.PluginDependencies"> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -267,13 +267,13 @@ <object class="NSTextField" id="633875962"> <reference key="NSNextResponder" ref="233491278"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{187, 207}, {60, 16}}</string> + <string key="NSFrame">{{187, 206}, {60, 17}}</string> <reference key="NSSuperview" ref="233491278"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="213989840"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">4194304</int> - <string type="base64-UTF8" key="NSContents">U1o1SDNQTkMKA</string> + <string key="NSContents">SZ5H3PNC</string> <reference key="NSSupport" ref="234635903"/> <reference key="NSControlView" ref="633875962"/> <object class="NSColor" key="NSBackgroundColor" id="359607598"> @@ -313,7 +313,7 @@ <reference key="NSSuperview" ref="233491278"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="733809501"> - <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags">-2080244224</int> <int key="NSCellFlags2">137887744</int> <string key="NSContents">Evaluate</string> <object class="NSFont" key="NSSupport" id="149379105"> @@ -968,7 +968,7 @@ </object> </object> <object class="NSFormCell" id="1021064257"> - <int key="NSCellFlags">74579521</int> + <int key="NSCellFlags">-2072904127</int> <int key="NSCellFlags2">71304192</int> <string key="NSContents"/> <reference key="NSSupport" ref="234635903"/> @@ -1065,8 +1065,8 @@ <reference key="NSSupport" ref="234635903"/> </object> </object> - <int key="NSSelectedRow">-1</int> - <int key="NSSelectedCol">-1</int> + <int key="NSSelectedRow">8</int> + <reference key="NSSelectedCell" ref="1021064257"/> <reference key="NSBackgroundColor" ref="359607598"/> <reference key="NSCellBackgroundColor" ref="282309020"/> </object> @@ -1563,7 +1563,7 @@ <object class="NSTableHeaderCell" key="NSHeaderCell"> <int key="NSCellFlags">75628096</int> <int key="NSCellFlags2">2048</int> - <string key="NSContents">W?riteable</string> + <string key="NSContents">W?</string> <reference key="NSSupport" ref="26"/> <reference key="NSBackgroundColor" ref="935589818"/> <reference key="NSTextColor" ref="27500870"/> @@ -1745,7 +1745,7 @@ <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string> <string key="NSMinSize">{213, 129}</string> <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> - <string key="NSFrameAutosaveName">DebuggerWindow</string> + <string key="NSFrameAutosaveName"/> </object> </array> <object class="IBObjectContainer" key="IBDocument.Objects"> @@ -2896,6 +2896,7 @@ </array> </object> <dictionary class="NSMutableDictionary" key="flattenedProperties"> + <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="10.ImportedFromIB2"/> <string key="152.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -2984,37 +2985,82 @@ <boolean value="YES" key="311.ImportedFromIB2"/> <string key="312.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="312.ImportedFromIB2"/> + <string key="326.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="327.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="328.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="329.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="330.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="331.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="332.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="333.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="334.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="335.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="336.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="337.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="338.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="339.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="339.IBShouldRemoveOnLegacySave"/> + <string key="340.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="340.IBShouldRemoveOnLegacySave"/> + <string key="341.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="341.IBShouldRemoveOnLegacySave"/> + <string key="342.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="342.IBShouldRemoveOnLegacySave"/> + <string key="343.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="343.IBShouldRemoveOnLegacySave"/> + <string key="344.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="344.IBShouldRemoveOnLegacySave"/> + <string key="345.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="345.IBShouldRemoveOnLegacySave"/> + <string key="346.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="346.IBShouldRemoveOnLegacySave"/> + <string key="347.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="347.IBShouldRemoveOnLegacySave"/> + <string key="348.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="348.IBShouldRemoveOnLegacySave"/> + <string key="349.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="349.IBShouldRemoveOnLegacySave"/> + <string key="350.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="350.IBShouldRemoveOnLegacySave"/> + <string key="351.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="351.IBShouldRemoveOnLegacySave"/> + <string key="352.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="352.IBShouldRemoveOnLegacySave"/> + <string key="353.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="353.IBShouldRemoveOnLegacySave"/> + <string key="354.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="354.IBShouldRemoveOnLegacySave"/> + <string key="355.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="355.IBShouldRemoveOnLegacySave"/> + <string key="356.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="356.IBShouldRemoveOnLegacySave"/> + <string key="357.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="357.IBShouldRemoveOnLegacySave"/> + <string key="358.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="358.IBShouldRemoveOnLegacySave"/> + <string key="359.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="359.IBShouldRemoveOnLegacySave"/> + <string key="360.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="360.IBShouldRemoveOnLegacySave"/> + <string key="361.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="361.IBShouldRemoveOnLegacySave"/> + <string key="362.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="362.IBShouldRemoveOnLegacySave"/> + <string key="363.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="363.IBShouldRemoveOnLegacySave"/> + <string key="364.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="364.IBShouldRemoveOnLegacySave"/> + <string key="365.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="365.IBShouldRemoveOnLegacySave"/> + <string key="366.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="366.IBShouldRemoveOnLegacySave"/> + <string key="367.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="367.IBShouldRemoveOnLegacySave"/> + <string key="368.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="368.IBShouldRemoveOnLegacySave"/> + <string key="369.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="369.IBShouldRemoveOnLegacySave"/> + <string key="370.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="370.IBShouldRemoveOnLegacySave"/> <string key="5.IBEditorWindowLastContentRect">{{0, 149}, {788, 596}}</string> <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -3139,6 +3185,7 @@ </object> <object class="IBPartialClassDescription"> <string key="className">FirstResponder</string> + <string key="superclassName">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBUserSource</string> <string key="minorKey"/> @@ -3673,6 +3720,7 @@ </array> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> <integer value="1060" key="NS.object.0"/> @@ -3682,7 +3730,7 @@ <integer value="1050" key="NS.object.0"/> </object> <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> - <nil key="IBDocument.LastKnownRelativeProjectPath"/> + <string key="IBDocument.LastKnownRelativeProjectPath">../Fuse.xcodeproj</string> <int key="IBDocument.defaultPropertyAccessControl">3</int> </data> </archive> Modified: trunk/fuse/fusepb/xibs/Keyboard.xib =================================================================== --- trunk/fuse/fusepb/xibs/Keyboard.xib 2010-05-27 11:49:15 UTC (rev 641) +++ trunk/fuse/fusepb/xibs/Keyboard.xib 2010-05-29 11:45:56 UTC (rev 642) @@ -2,13 +2,13 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">10A432</string> - <string key="IBDocument.InterfaceBuilderVersion">732</string> - <string key="IBDocument.AppKitVersion">1038</string> - <string key="IBDocument.HIToolboxVersion">437.00</string> + <string key="IBDocument.SystemVersion">10D2094</string> + <string key="IBDocument.InterfaceBuilderVersion">762</string> + <string key="IBDocument.AppKitVersion">1038.29</string> + <string key="IBDocument.HIToolboxVersion">460.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">732</string> + <string key="NS.object.0">762</string> </object> <array class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <integer value="15"/> @@ -76,7 +76,7 @@ <string key="NSScreenRect">{{0, 0}, {1280, 778}}</string> <string key="NSMinSize">{541, 217}</string> <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> - <string key="NSFrameAutosaveName">KeyboardWindow</string> + <string key="NSFrameAutosaveName"/> </object> </array> <object class="IBObjectContainer" key="IBDocument.Objects"> @@ -169,6 +169,7 @@ <string key="14.windowTemplate.minSize">{541, 201}</string> <string key="15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="15.ImportedFromIB2"/> + <string key="22.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> </dictionary> <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> <nil key="activeLocalization"/> @@ -180,6 +181,7 @@ <array class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="IBPartialClassDescription"> <string key="className">FirstResponder</string> + <string key="superclassName">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBUserSource</string> <string key="minorKey"/> @@ -653,6 +655,7 @@ </array> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> <integer value="1050" key="NS.object.0"/> @@ -664,5 +667,9 @@ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> <string key="IBDocument.LastKnownRelativeProjectPath">../Fuse.xcodeproj</string> <int key="IBDocument.defaultPropertyAccessControl">3</int> + <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes"> + <string key="NS.key.0">48k</string> + <string key="NS.object.0">{541, 201}</string> + </object> </data> </archive> Modified: trunk/fuse/fusepb/xibs/LoadBinary.xib =================================================================== --- trunk/fuse/fusepb/xibs/LoadBinary.xib 2010-05-27 11:49:15 UTC (rev 641) +++ trunk/fuse/fusepb/xibs/LoadBinary.xib 2010-05-29 11:45:56 UTC (rev 642) @@ -2,13 +2,13 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> <data> <int key="IBDocument.SystemTarget">1060</int> - <string key="IBDocument.SystemVersion">10A432</string> - <string key="IBDocument.InterfaceBuilderVersion">732</string> - <string key="IBDocument.AppKitVersion">1038</string> - <string key="IBDocument.HIToolboxVersion">437.00</string> + <string key="IBDocument.SystemVersion">10D2094</string> + <string key="IBDocument.InterfaceBuilderVersion">762</string> + <string key="IBDocument.AppKitVersion">1038.29</string> + <string key="IBDocument.HIToolboxVersion">460.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">732</string> + <string key="NS.object.0">762</string> </object> <array class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <integer value="5"/> @@ -251,7 +251,7 @@ <string key="NSScreenRect">{{0, 0}, {1152, 746}}</string> <string key="NSMinSize">{213, 129}</string> <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> - <string key="NSFrameAutosaveName">LoadBinaryWindow</string> + <string key="NSFrameAutosaveName"/> </object> </array> <object class="IBObjectContainer" key="IBDocument.Objects"> @@ -486,6 +486,7 @@ </array> </object> <dictionary class="NSMutableDictionary" key="flattenedProperties"> + <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="14.ImportedFromIB2"/> <string key="16.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -502,6 +503,11 @@ <boolean value="YES" key="24.ImportedFromIB2"/> <string key="25.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="25.ImportedFromIB2"/> + <string key="43.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="44.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="45.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="46.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="47.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="5.IBEditorWindowLastContentRect">{{63, 514}, {591, 162}}</string> <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="5.IBWindowTemplateEditedContentRect">{{63, 514}, {591, 162}}</string> @@ -521,6 +527,7 @@ <array class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="IBPartialClassDescription"> <string key="className">FirstResponder</string> + <string key="superclassName">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBUserSource</string> <string key="minorKey"/> @@ -1030,6 +1037,7 @@ </array> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> <integer value="1060" key="NS.object.0"/> Modified: trunk/fuse/fusepb/xibs/PokeFinder.xib =================================================================== --- trunk/fuse/fusepb/xibs/PokeFinder.xib 2010-05-27 11:49:15 UTC (rev 641) +++ trunk/fuse/fusepb/xibs/PokeFinder.xib 2010-05-29 11:45:56 UTC (rev 642) @@ -2,13 +2,13 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> <data> <int key="IBDocument.SystemTarget">1060</int> - <string key="IBDocument.SystemVersion">10A432</string> - <string key="IBDocument.InterfaceBuilderVersion">732</string> - <string key="IBDocument.AppKitVersion">1038</string> - <string key="IBDocument.HIToolboxVersion">437.00</string> + <string key="IBDocument.SystemVersion">10D2094</string> + <string key="IBDocument.InterfaceBuilderVersion">762</string> + <string key="IBDocument.AppKitVersion">1038.29</string> + <string key="IBDocument.HIToolboxVersion">460.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">732</string> + <string key="NS.object.0">762</string> </object> <array class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <integer value="5"/> @@ -422,7 +422,7 @@ <string key="NSScreenRect">{{0, 0}, {1152, 746}}</string> <string key="NSMinSize">{213, 129}</string> <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> - <string key="NSFrameAutosaveName">PokeFinder</string> + <string key="NSFrameAutosaveName"/> </object> </array> <object class="IBObjectContainer" key="IBDocument.Objects"> @@ -759,6 +759,7 @@ </array> </object> <dictionary class="NSMutableDictionary" key="flattenedProperties"> + <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="10.ImportedFromIB2"/> <string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -777,16 +778,27 @@ <boolean value="YES" key="39.ImportedFromIB2"/> <string key="40.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="40.ImportedFromIB2"/> + <string key="44.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="45.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="46.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="47.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="48.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="49.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="5.IBEditorWindowLastContentRect">{{105, 301}, {264, 329}}</string> <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="5.IBWindowTemplateEditedContentRect">{{105, 301}, {264, 329}}</string> <boolean value="YES" key="5.ImportedFromIB2"/> <boolean value="YES" key="5.windowTemplate.hasMinSize"/> <string key="5.windowTemplate.minSize">{213, 107}</string> + <string key="50.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="50.IBShouldRemoveOnLegacySave"/> + <string key="51.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="51.IBShouldRemoveOnLegacySave"/> + <string key="52.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="52.IBShouldRemoveOnLegacySave"/> + <string key="53.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="53.IBShouldRemoveOnLegacySave"/> + <string key="54.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="54.IBShouldRemoveOnLegacySave"/> <string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="6.ImportedFromIB2"/> @@ -807,6 +819,7 @@ <array class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="IBPartialClassDescription"> <string key="className">FirstResponder</string> + <string key="superclassName">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBUserSource</string> <string key="minorKey"/> @@ -1363,6 +1376,7 @@ </array> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> <integer value="1060" key="NS.object.0"/> Modified: trunk/fuse/fusepb/xibs/Preferences.xib =================================================================== --- trunk/fuse/fusepb/xibs/Preferences.xib 2010-05-27 11:49:15 UTC (rev 641) +++ trunk/fuse/fusepb/xibs/Preferences.xib 2010-05-29 11:45:56 UTC (rev 642) @@ -2,20 +2,25 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">10C540</string> - <string key="IBDocument.InterfaceBuilderVersion">740</string> - <string key="IBDocument.AppKitVersion">1038.25</string> - <string key="IBDocument.HIToolboxVersion">458.00</string> + <string key="IBDocument.SystemVersion">10D2094</string> + <string key="IBDocument.InterfaceBuilderVersion">762</string> + <string key="IBDocument.AppKitVersion">1038.29</string> + <string key="IBDocument.HIToolboxVersion">460.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">740</string> + <string key="NS.object.0">762</string> </object> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="1836"/> <integer value="1347"/> - <integer value="1446"/> + <integer value="1506"/> + <integer value="1714"/> <integer value="6"/> <integer value="1488"/> + <integer value="1408"/> + <integer value="1582"/> + <integer value="1686"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -771,7 +776,7 @@ <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="803517542"> - <nil key="NSNextResponder"/> + <reference key="NSNextResponder"/> <int key="NSvFlags">268</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -1019,6 +1024,7 @@ </object> </object> <string key="NSFrameSize">{627, 192}</string> + <reference key="NSSuperview"/> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="649138232"> @@ -2121,7 +2127,7 @@ <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="159048013"/> <int key="NSButtonFlags">1211912703</int> - <int key="NSButtonFlags2">128</int> + <int key="NSButtonFlags2">0</int> <reference key="NSAlternateImage" ref="32434582"/> <string key="NSAlternateContents"/> <string key="NSKeyEquivalent"/> @@ -2136,7 +2142,7 @@ <reference key="NSControlView" ref="159048013"/> <int key="NSTag">1</int> <int key="NSButtonFlags">1211912703</int> - <int key="NSButtonFlags2">128</int> + <int key="NSButtonFlags2">0</int> <object class="NSImage" key="NSNormalImage"> <int key="NSImageFlags">549453824</int> <string key="NSSize">{18, 18}</string> @@ -2242,7 +2248,7 @@ <reference key="NSControlView" ref="159048013"/> <int key="NSTag">2</int> <int key="NSButtonFlags">1211912703</int> - <int key="NSButtonFlags2">128</int> + <int key="NSButtonFlags2">0</int> <object class="NSImage" key="NSNormalImage"> <int key="NSImageFlags">549453824</int> <string key="NSSize">{18, 18}</string> @@ -2364,7 +2370,7 @@ <string key="NSContents">Radio</string> <reference key="NSSupport" ref="447006373"/> <int key="NSButtonFlags">1211912703</int> - <int key="NSButtonFlags2">128</int> + <int key="NSButtonFlags2">0</int> <object class="NSImage" key="NSNormalImage"> <int key="NSImageFlags">549453824</int> <string key="NSSize">{18, 18}</string> @@ -2498,7 +2504,7 @@ <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="206600598"> - <nil key="NSNextResponder"/> + <reference key="NSNextResponder"/> <int key="NSvFlags">268</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -2645,7 +2651,7 @@ <object class="NSTextFieldCell" key="NSCell" id="373649031"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">4194304</int> - <string type="base64-UTF8" key="NSContents">UmVhbCBkZXZpY2U6Cg</string> + <string key="NSContents">Real device:</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="542263437"/> <reference key="NSBackgroundColor" ref="519317542"/> @@ -2661,7 +2667,7 @@ <object class="NSTextFieldCell" key="NSCell" id="265069830"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">4194304</int> - <string type="base64-UTF8" key="NSContents">RW11bGF0ZWQgam95c3RpY2s6Cg</string> + <string key="NSContents">Emulated joystick:</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="377685888"/> <reference key="NSBackgroundColor" ref="519317542"/> @@ -2859,7 +2865,7 @@ <object class="NSTextFieldCell" key="NSCell" id="333413210"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">4194304</int> - <string type="base64-UTF8" key="NSContents">RW11bGF0ZWQgam95c3RpY2s6Cg</string> + <string key="NSContents">Emulated joystick:</string> <reference key="NSSupport" ref="447006373"/> <reference key="NSControlView" ref="987744709"/> <reference key="NSBackgroundColor" ref="519317542"/> @@ -3055,10 +3061,11 @@ </object> </object> <string key="NSFrameSize">{627, 319}</string> + <reference key="NSSuperview"/> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="754180095"> - <nil key="NSNextResponder"/> + <reference key="NSNextResponder"/> <int key="NSvFlags">268</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -3593,6 +3600,7 @@ <int key="NSCellFlags2">67108864</int> <string key="NSContents">ROM 0:</string> <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="631470246"/> </object> </object> <object class="NSFormCell" id="229275155"> @@ -3608,6 +3616,7 @@ <int key="NSCellFlags2">67108864</int> <string key="NSContents">ROM 1:</string> <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="631470246"/> </object> </object> <object class="NSFormCell" id="220367471"> @@ -3623,6 +3632,7 @@ <int key="NSCellFlags2">67108864</int> <string key="NSContents">ROM 2:</string> <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="631470246"/> </object> </object> <object class="NSFormCell" id="852577404"> @@ -3638,6 +3648,7 @@ <int key="NSCellFlags2">67108864</int> <string key="NSContents">ROM 3:</string> <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="631470246"/> </object> </object> </object> @@ -3914,10 +3925,11 @@ </object> </object> <string key="NSFrameSize">{627, 343}</string> + <reference key="NSSuperview"/> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="453171511"> - <nil key="NSNextResponder"/> + <reference key="NSNextResponder"/> <int key="NSvFlags">268</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -4456,10 +4468,11 @@ </object> </object> <string key="NSFrameSize">{627, 338}</string> + <reference key="NSSuperview"/> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="462167203"> - <nil key="NSNextResponder"/> + <reference key="NSNextResponder"/> <int key="NSvFlags">268</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -4819,6 +4832,7 @@ </object> </object> <string key="NSFrameSize">{627, 278}</string> + <reference key="NSSuperview"/> <string key="NSClassName">NSView</string> </object> <object class="NSUserDefaultsController" id="979455873"> @@ -9826,7 +9840,7 @@ <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> - <string>{{35, 23}, {627, 343}}</string> + <string>{{35, 66}, {627, 343}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>{628, 654}</string> <string>{{217, 442}, {480, 272}}</string> @@ -9965,7 +9979,7 @@ <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> - <string>{{28, 42}, {627, 278}}</string> + <string>{{28, 66}, {627, 278}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>{628, 654}</string> <string>{{217, 442}, {480, 272}}</string> @@ -10839,6 +10853,7 @@ </object> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> <integer value="1050" key="NS.object.0"/> @@ -10854,5 +10869,36 @@ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> <string key="IBDocument.LastKnownRelativeProjectPath">../Fuse.xcodeproj</string> <int key="IBDocument.defaultPropertyAccessControl">3</int> + <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>Graphics_Filter</string> + <string>Machine</string> + <string>NSMenuCheckmark</string> + <string>NSMenuMixedState</string> + <string>NSPreferencesGeneral</string> + <string>NSRadioButton</string> + <string>Peripherals</string> + <string>RZX</string> + <string>Select_ROMs</string> + <string>Sound</string> + <string>qs2t_icon</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>{32, 32}</string> + <string>{32.3959, 32.3959}</string> + <string>{9, 8}</string> + <string>{7, 2}</string> + <string>{32, 32}</string> + <string>{16, 15}</string> + <string>{32.3959, 32.3959}</string> + <string>{32.3959, 32.3959}</string> + <string>{32.3959, 32.3959}</string> + <string>{32, 32}</string> + <string>{23, 23}</string> + </object> + </object> </data> </archive> Modified: trunk/fuse/fusepb/xibs/Rollback.xib =================================================================== --- trunk/fuse/fusepb/xibs/Rollback.xib 2010-05-27 11:49:15 UTC (rev 641) +++ trunk/fuse/fusepb/xibs/Rollback.xib 2010-05-29 11:45:56 UTC (rev 642) @@ -2,13 +2,13 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> <data> <int key="IBDocument.SystemTarget">1060</int> - <string key="IBDocument.SystemVersion">10A432</string> - <string key="IBDocument.InterfaceBuilderVersion">732</string> - <string key="IBDocument.AppKitVersion">1038</string> - <string key="IBDocument.HIToolboxVersion">437.00</string> + <string key="IBDocument.SystemVersion">10D2094</string> + <string key="IBDocument.InterfaceBuilderVersion">762</string> + <string key="IBDocument.AppKitVersion">1038.29</string> + <string key="IBDocument.HIToolboxVersion">460.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">732</string> + <string key="NS.object.0">762</string> </object> <array class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <integer value="5"/> @@ -258,7 +258,7 @@ <string key="NSScreenRect">{{0, 0}, {1024, 746}}</string> <string key="NSMinSize">{213, 129}</string> <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> - <string key="NSFrameAutosaveName">rollback</string> + <string key="NSFrameAutosaveName"/> </object> </array> <object class="IBObjectContainer" key="IBDocument.Objects"> @@ -449,15 +449,22 @@ </array> </object> <dictionary class="NSMutableDictionary" key="flattenedProperties"> + <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="10.ImportedFromIB2"/> <string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="11.ImportedFromIB2"/> <string key="12.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="12.ImportedFromIB2"/> + <string key="25.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="26.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="27.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="27.IBShouldRemoveOnLegacySave"/> + <string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="28.IBShouldRemoveOnLegacySave"/> + <string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="29.IBShouldRemoveOnLegacySave"/> + <string key="30.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="30.IBShouldRemoveOnLegacySave"/> <string key="5.IBEditorWindowLastContentRect">{{126, 332}, {235, 275}}</string> <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -482,6 +489,7 @@ <array class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="IBPartialClassDescription"> <string key="className">FirstResponder</string> + <string key="superclassName">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBUserSource</string> <string key="minorKey"/> @@ -1010,6 +1018,7 @@ </array> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> <integer value="1060" key="NS.object.0"/> Modified: trunk/fuse/fusepb/xibs/SaveBinary.xib =================================================================== --- trunk/fuse/fusepb/xibs/SaveBinary.xib 2010-05-27 11:49:15 UTC (rev 641) +++ trunk/fuse/fusepb/xibs/SaveBinary.xib 2010-05-29 11:45:56 UTC (rev 642) @@ -2,13 +2,13 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> <data> <int key="IBDocument.SystemTarget">1060</int> - <string key="IBDocument.SystemVersion">10A432</string> - <string key="IBDocument.InterfaceBuilderVersion">732</string> - <string key="IBDocument.AppKitVersion">1038</string> - <string key="IBDocument.HIToolboxVersion">437.00</string> + <string key="IBDocument.SystemVersion">10D2094</string> + <string key="IBDocument.InterfaceBuilderVersion">762</string> + <string key="IBDocument.AppKitVersion">1038.29</string> + <string key="IBDocument.HIToolboxVersion">460.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">732</string> + <string key="NS.object.0">762</string> </object> <array class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <integer value="12"/> @@ -251,7 +251,7 @@ <string key="NSScreenRect">{{0, 0}, {1152, 746}}</string> <string key="NSMinSize">{213, 129}</string> <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> - <string key="NSFrameAutosaveName">SaveBinaryWindow</string> + <string key="NSFrameAutosaveName"/> </object> </array> <object class="IBObjectContainer" key="IBDocument.Objects"> @@ -486,6 +486,7 @@ </array> </object> <dictionary class="NSMutableDictionary" key="flattenedProperties"> + <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="10.ImportedFromIB2"/> <string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -502,6 +503,11 @@ <boolean value="YES" key="14.ImportedFromIB2"/> <string key="15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="15.ImportedFromIB2"/> + <string key="31.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="32.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="33.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="34.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="35.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="5.ImportedFromIB2"/> <string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -521,6 +527,7 @@ <array class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="IBPartialClassDescription"> <string key="className">FirstResponder</string> + <string key="superclassName">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBUserSource</string> <string key="minorKey"/> @@ -1030,6 +1037,7 @@ </array> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> <integer value="1060" key="NS.object.0"/> Modified: trunk/fuse/fusepb/xibs/SavePanelAccessoryView.xib =================================================================== --- trunk/fuse/fusepb/xibs/SavePanelAccessoryView.xib 2010-05-27 11:49:15 UTC (rev 641) +++ trunk/fuse/fusepb/xibs/SavePanelAccessoryView.xib 2010-05-29 11:45:56 UTC (rev 642) @@ -2,16 +2,16 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> <data> <int key="IBDocument.SystemTarget">1060</int> - <string key="IBDocument.SystemVersion">10A432</string> - <string key="IBDocument.InterfaceBuilderVersion">732</string> - <string key="IBDocument.AppKitVersion">1038</string> - <string key="IBDocument.HIToolboxVersion">437.00</string> + <string key="IBDocument.SystemVersion">10D2094</string> + <string key="IBDocument.InterfaceBuilderVersion">762</string> + <string key="IBDocument.AppKitVersion">1038.29</string> + <string key="IBDocument.HIToolboxVersion">460.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">732</string> + <string key="NS.object.0">762</string> </object> <array class="NSMutableArray" key="IBDocument.EditedObjectIDs"> - <integer value="5"/> + <integer value="6"/> </array> <array key="IBDocument.PluginDependencies"> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -123,7 +123,7 @@ <object class="NSTextFieldCell" key="NSCell" id="276985334"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">272629760</int> - <string type="base64-UTF8" key="NSContents">Rm9ybWF0Ogo</string> + <string key="NSContents">Format:</string> <reference key="NSSupport" ref="1070059508"/> <reference key="NSControlView" ref="372937770"/> <object class="NSColor" key="NSBackgroundColor"> @@ -316,12 +316,15 @@ </array> </object> <dictionary class="NSMutableDictionary" key="flattenedProperties"> + <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="10.ImportedFromIB2"/> <string key="12.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="12.ImportedFromIB2"/> <string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="14.ImportedFromIB2"/> + <string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="20.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="5.IBEditorWindowLastContentRect">{{231, 385}, {252, 107}}</string> <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="5.IBWindowTemplateEditedContentRect">{{231, 385}, {252, 107}}</string> @@ -345,6 +348,7 @@ <array class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="IBPartialClassDescription"> <string key="className">FirstResponder</string> + <string key="superclassName">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBUserSource</string> <string key="minorKey"/> @@ -969,6 +973,7 @@ </array> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> <integer value="1060" key="NS.object.0"/> @@ -980,5 +985,9 @@ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> <string key="IBDocument.LastKnownRelativeProjectPath">../Fuse.xcodeproj</string> <int key="IBDocument.defaultPropertyAccessControl">3</int> + <dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes"> + <string key="NSMenuCheckmark">{9, 8}</string> + <string key="NSMenuMixedState">{7, 2}</string> + </dictionary> </data> </archive> Modified: trunk/fuse/fusepb/xibs/TapeBrowser.xib =================================================================== --- trunk/fuse/fusepb/xibs/TapeBrowser.xib 2010-05-27 11:49:15 UTC (rev 641) +++ trunk/fuse/fusepb/xibs/TapeBrowser.xib 2010-05-29 11:45:56 UTC (rev 642) @@ -2,17 +2,17 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">10A432</string> - <string key="IBDocument.InterfaceBuilderVersion">732</string> - <string key="IBDocument.AppKitVersion">1038</string> - <string key="IBDocument.HIToolboxVersion">437.00</string> + <string key="IBDocument.SystemVersion">10D2094</string> + <string key="IBDocument.InterfaceBuilderVersion">762</string> + <string key="IBDocument.AppKitVersion">1038.29</string> + <string key="IBDocument.HIToolboxVersion">460.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">732</string> + <string key="NS.object.0">762</string> </object> <array class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <integer value="61"/> <integer value="63"/> - <integer value="61"/> </array> <array key="IBDocument.PluginDependencies"> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -307,7 +307,7 @@ <string key="NSScreenRect">{{0, 0}, {1280, 778}}</string> <string key="NSMinSize">{213, 123}</string> <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> - <string key="NSFrameAutosaveName">TapeWindow</string> + <string key="NSFrameAutosaveName"/> </object> <object class="NSCustomView" id="230950266"> <reference key="NSNextResponder"/> @@ -888,15 +888,27 @@ <dictionary class="NSMutableDictionary" key="flattenedProperties"> <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="-3.ImportedFromIB2"/> + <string key="106.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="107.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="108.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="108.IBShouldRemoveOnLegacySave"/> + <string key="109.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="109.IBShouldRemoveOnLegacySave"/> + <string key="110.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="110.IBShouldRemoveOnLegacySave"/> + <string key="111.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="111.IBShouldRemoveOnLegacySave"/> + <string key="112.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="112.IBShouldRemoveOnLegacySave"/> + <string key="113.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="113.IBShouldRemoveOnLegacySave"/> + <string key="114.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="114.IBShouldRemoveOnLegacySave"/> + <string key="115.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="115.IBShouldRemoveOnLegacySave"/> + <string key="116.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="116.IBShouldRemoveOnLegacySave"/> + <string key="117.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="117.IBShouldRemoveOnLegacySave"/> <string key="38.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="38.ImportedFromIB2"/> @@ -946,6 +958,7 @@ <array class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="IBPartialClassDescription"> <string key="className">FirstResponder</string> + <string key="superclassName">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBUserSource</string> <string key="minorKey"/> @@ -1502,6 +1515,7 @@ </array> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> <integer value="1050" key="NS.object.0"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-05-27 11:49:21
|
Revision: 641 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=641&view=rev Author: fredm Date: 2010-05-27 11:49:15 +0000 (Thu, 27 May 2010) Log Message: ----------- Use standard Fuse non-const keysyms_map definition to avoid needing casts about the place to remove warnings. Modified Paths: -------------- trunk/fuse/keyboard.c trunk/fuse/keyboard.h trunk/fuse/ui/cocoa/keysyms.m Modified: trunk/fuse/keyboard.c =================================================================== --- trunk/fuse/keyboard.c 2010-05-26 12:46:40 UTC (rev 640) +++ trunk/fuse/keyboard.c 2010-05-27 11:49:15 UTC (rev 641) @@ -283,7 +283,7 @@ { struct key_info *ptr; struct spectrum_keys_wrapper *ptr2; - const keysyms_map_t *ptr3; + keysyms_map_t *ptr3; struct key_text_t *ptr4; keyboard_release_all(); Modified: trunk/fuse/keyboard.h =================================================================== --- trunk/fuse/keyboard.h 2010-05-26 12:46:40 UTC (rev 640) +++ trunk/fuse/keyboard.h 2010-05-27 11:49:15 UTC (rev 641) @@ -119,7 +119,7 @@ } keysyms_map_t; -extern const keysyms_map_t keysyms_map[]; +extern keysyms_map_t keysyms_map[]; input_key keysyms_remap( libspectrum_dword ui_keysym ); Modified: trunk/fuse/ui/cocoa/keysyms.m =================================================================== --- trunk/fuse/ui/cocoa/keysyms.m 2010-05-26 12:46:40 UTC (rev 640) +++ trunk/fuse/ui/cocoa/keysyms.m 2010-05-27 11:49:15 UTC (rev 641) @@ -31,7 +31,7 @@ /* Map ADC keyboard scancode to Fuse input layer keysym for Spectrum virtual keyboard */ -const keysyms_map_t keysyms_map[] = { +keysyms_map_t keysyms_map[] = { { 48, INPUT_KEY_Tab }, { 36, INPUT_KEY_Return }, @@ -99,7 +99,7 @@ /* Map UCS-2(?) Unicode to Fuse input layer keysym for non-extended mode Spectrum symbols present on keyboards */ -const keysyms_map_t unicode_keysyms_map[] = { +keysyms_map_t unicode_keysyms_map[] = { { 27, INPUT_KEY_Escape }, { NSUpArrowFunctionKey, INPUT_KEY_Up }, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2010-05-26 12:46:47
|
Revision: 640 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=640&view=rev Author: fredm Date: 2010-05-26 12:46:40 +0000 (Wed, 26 May 2010) Log Message: ----------- Update libspectrum.h for FuseGenerator and FuseImporter. Modified Paths: -------------- trunk/FuseGenerator/libspectrum.h trunk/FuseImporter/libspectrum.h Modified: trunk/FuseGenerator/libspectrum.h =================================================================== --- trunk/FuseGenerator/libspectrum.h 2010-05-24 14:23:37 UTC (rev 639) +++ trunk/FuseGenerator/libspectrum.h 2010-05-26 12:46:40 UTC (rev 640) @@ -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 4060 2009-07-30 13:21:38Z fredm $ + $Id: libspectrum.h.in 4120 2010-02-21 05:06:56Z 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 @@ -38,8 +38,6 @@ #include <stdlib.h> #include <stdio.h> -#include <TargetConditionals.h> - #ifdef _WIN32 #define WIN32_LEAN_AND_MEAN /* Exclude rarely used stuff from Windows @@ -202,6 +200,8 @@ #define g_array_index(a,t,i) (*(((t*)a->data)+i)) GArray* WIN32_DLL g_array_set_size( GArray *array, guint length ); +#include <TargetConditionals.h> + #ifdef TARGET_RT_64_BIT #define GINT_TO_POINTER(i) ((gpointer) (glong)(i)) #define GPOINTER_TO_INT(p) ((gint) (glong)(p)) @@ -210,11 +210,6 @@ #define GPOINTER_TO_INT(p) ((gint) (p)) #endif -/* Library capabilities */ - -/* we support snapshots etc. requiring zlib (e.g. compressed szx) */ -#define LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION (1) - /* * General libspectrum routines */ @@ -239,24 +234,40 @@ } libspectrum_error; +/* Library capabilities */ + +/* we support snapshots etc. requiring zlib (e.g. compressed szx) */ +#define LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION (1) + +/* zlib (de)compression routines */ + +WIN32_DLL libspectrum_error +libspectrum_zlib_inflate( const libspectrum_byte *gzptr, size_t gzlength, + libspectrum_byte **outptr, size_t *outlength ); + +WIN32_DLL libspectrum_error +libspectrum_zlib_compress( const libspectrum_byte *data, size_t length, + libspectrum_byte **gzptr, size_t *gzlength ); + + /* Initialisation */ -libspectrum_error WIN32_DLL libspectrum_init( void ); +WIN32_DLL libspectrum_error libspectrum_init( void ); /* Version checking */ -int WIN32_DLL libspectrum_check_version( const char *version ); -const char WIN32_DLL *libspectrum_version( void ); -const char WIN32_DLL *libspectrum_gcrypt_version( void ); +WIN32_DLL int libspectrum_check_version( const char *version ); +WIN32_DLL const char *libspectrum_version( void ); +WIN32_DLL const char *libspectrum_gcrypt_version( void ); /* Error handling */ typedef libspectrum_error (*libspectrum_error_function_t)( libspectrum_error error, const char *format, va_list ap ); -extern libspectrum_error_function_t WIN32_DLL libspectrum_error_function; +extern WIN32_DLL libspectrum_error_function_t libspectrum_error_function; -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_default_error_function( libspectrum_error error, const char *format, va_list ap ); @@ -274,12 +285,12 @@ libspectrum_free_fn_t free; } libspectrum_mem_vtable_t; -void* WIN32_DLL libspectrum_malloc( size_t size ); -void* WIN32_DLL libspectrum_calloc( size_t nmemb, size_t size ); -void* WIN32_DLL libspectrum_realloc( void *ptr, size_t size ); -void WIN32_DLL libspectrum_free( void *ptr ); +WIN32_DLL void* libspectrum_malloc( size_t size ); +WIN32_DLL void* libspectrum_calloc( size_t nmemb, size_t size ); +WIN32_DLL void* libspectrum_realloc( void *ptr, size_t size ); +WIN32_DLL void libspectrum_free( void *ptr ); -void WIN32_DLL libspectrum_mem_set_vtable( libspectrum_mem_vtable_t *table ); +WIN32_DLL void libspectrum_mem_set_vtable( libspectrum_mem_vtable_t *table ); /* Attempt to identify a given file */ @@ -394,20 +405,20 @@ } libspectrum_class_t; -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_identify_file( libspectrum_id_t *type, const char *filename, const unsigned char *buffer, size_t length ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_identify_file_with_class( libspectrum_id_t *type, libspectrum_class_t *libspectrum_class, const char *filename, const unsigned char *buffer, size_t length ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_identify_file_raw( libspectrum_id_t *type, const char *filename, const unsigned char *buffer, size_t length ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_identify_class( libspectrum_class_t *libspectrum_class, libspectrum_id_t type ); @@ -442,122 +453,122 @@ } libspectrum_machine; -const char* WIN32_DLL libspectrum_machine_name( libspectrum_machine type ); +WIN32_DLL const char* libspectrum_machine_name( libspectrum_machine type ); /* The various capabilities of the different machines */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_AY; /* AY-3-8192 */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_128_MEMORY; /* 128-style memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_PLUS3_MEMORY; /* +3-style memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_PLUS3_DISK; /* +3-style disk drive */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_TIMEX_MEMORY; /* Timex-style memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_TIMEX_VIDEO; /* Timex-style video modes */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_TRDOS_DISK; /* TRDOS-style disk drive */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_TIMEX_DOCK; /* T[SC]2068-style cartridge port */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_SINCLAIR_JOYSTICK; /* Sinclair-style joystick ports */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_KEMPSTON_JOYSTICK; /* Kempston-style joystick ports */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_SCORP_MEMORY; /* Scorpion-style memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_EVEN_M1; /* M1 cycles always start on even tstate counts */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_SE_MEMORY; /* SE-style memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_NTSC; /* NTSC display */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_PENT512_MEMORY; /* Pentagon 512 memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_PENT1024_MEMORY; /* Pentagon 1024 memory paging */ /* Get the capabilities of a machine */ -int WIN32_DLL libspectrum_machine_capabilities( libspectrum_machine type ); +WIN32_DLL int libspectrum_machine_capabilities( libspectrum_machine type ); /* Get the timings of a machine */ -libspectrum_dword WIN32_DLL +WIN32_DLL libspectrum_dword libspectrum_timings_processor_speed( libspectrum_machine machine ); -libspectrum_dword WIN32_DLL +WIN32_DLL libspectrum_dword libspectrum_timings_ay_speed( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_left_border( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_horizontal_screen( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_right_border( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_horizontal_retrace( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_top_border( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_vertical_screen( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_bottom_border( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_vertical_retrace( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_interrupt_length( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_top_left_pixel( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_tstates_per_line( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_lines_per_frame( libspectrum_machine machine ); -libspectrum_dword WIN32_DLL +WIN32_DLL libspectrum_dword libspectrum_timings_tstates_per_frame( libspectrum_machine machine ); /* Creator information */ typedef struct libspectrum_creator libspectrum_creator; -libspectrum_creator* WIN32_DLL +WIN32_DLL libspectrum_creator* libspectrum_creator_alloc( void ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_free( libspectrum_creator *creator ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_set_program( libspectrum_creator *creator, const char *program ); -const char WIN32_DLL * +WIN32_DLL const char * libspectrum_creator_program( libspectrum_creator *creator ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_set_major( libspectrum_creator *creator, libspectrum_word major ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_creator_major( libspectrum_creator *creator ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_set_minor( libspectrum_creator *creator, libspectrum_word minor ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_creator_minor( libspectrum_creator *creator ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_set_competition_code( libspectrum_creator *creator, libspectrum_dword competition_code ); -libspectrum_dword WIN32_DLL +WIN32_DLL libspectrum_dword libspectrum_creator_competition_code( libspectrum_creator *creator ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_set_custom( libspectrum_creator *creator, libspectrum_byte *data, size_t length ); -libspectrum_byte WIN32_DLL * +WIN32_DLL libspectrum_byte * libspectrum_creator_custom( libspectrum_creator *creator ); -size_t WIN32_DLL +WIN32_DLL size_t libspectrum_creator_custom_length( libspectrum_creator *creator ); /* @@ -566,29 +577,29 @@ typedef struct libspectrum_snap libspectrum_snap; -libspectrum_snap* WIN32_DLL libspectrum_snap_alloc( void ); -libspectrum_error WIN32_DLL libspectrum_snap_free( libspectrum_snap *snap ); +WIN32_DLL libspectrum_snap* libspectrum_snap_alloc( void ); +WIN32_DLL libspectrum_error libspectrum_snap_free( libspectrum_snap *snap ); /* Read in a snapshot, optionally guessing what type it is */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_snap_read( libspectrum_snap *snap, const libspectrum_byte *buffer, size_t length, libspectrum_id_t type, const char *filename ); /* Write a snapshot */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_snap_write( libspectrum_byte **buffer, size_t *length, int *out_flags, libspectrum_snap *snap, libspectrum_id_t type, libspectrum_creator *creator, int in_flags ); /* The flags that can be given to libspectrum_snap_write() */ -extern const int WIN32_DLL LIBSPECTRUM_FLAG_SNAPSHOT_NO_COMPRESSION; -extern const int WIN32_DLL LIBSPECTRUM_FLAG_SNAPSHOT_ALWAYS_COMPRESS; +extern WIN32_DLL const int LIBSPECTRUM_FLAG_SNAPSHOT_NO_COMPRESSION; +extern WIN32_DLL const int LIBSPECTRUM_FLAG_SNAPSHOT_ALWAYS_COMPRESS; /* The flags that may be returned from libspectrum_snap_write() */ -extern const int WIN32_DLL LIBSPECTRUM_FLAG_SNAPSHOT_MINOR_INFO_LOSS; -extern const int WIN32_DLL LIBSPECTRUM_FLAG_SNAPSHOT_MAJOR_INFO_LOSS; +extern WIN32_DLL const int LIBSPECTRUM_FLAG_SNAPSHOT_MINOR_INFO_LOSS; +extern WIN32_DLL const int LIBSPECTRUM_FLAG_SNAPSHOT_MAJOR_INFO_LOSS; /* The joystick types we can handle */ typedef enum libspectrum_joystick { @@ -605,12 +616,12 @@ } libspectrum_joystick; -const char* WIN32_DLL libspectrum_joystick_name( libspectrum_joystick type ); +WIN32_DLL const char* libspectrum_joystick_name( libspectrum_joystick type ); -extern const int WIN32_DLL LIBSPECTRUM_JOYSTICK_INPUT_NONE; -extern const int WIN32_DLL LIBSPECTRUM_JOYSTICK_INPUT_KEYBOARD; -extern const int WIN32_DLL LIBSPECTRUM_JOYSTICK_INPUT_JOYSTICK_1; -extern const int WIN32_DLL LIBSPECTRUM_JOYSTICK_INPUT_JOYSTICK_2; +extern WIN32_DLL const int LIBSPECTRUM_JOYSTICK_INPUT_NONE; +extern WIN32_DLL const int LIBSPECTRUM_JOYSTICK_INPUT_KEYBOARD; +extern WIN32_DLL const int LIBSPECTRUM_JOYSTICK_INPUT_JOYSTICK_1; +extern WIN32_DLL const int LIBSPECTRUM_JOYSTICK_INPUT_JOYSTICK_2; /* Accessor functions */ libspectrum_machine WIN32_DLL libspectrum_snap_machine( libspectrum_snap *snap ); @@ -856,8 +867,7 @@ int WIN32_DLL libspectrum_snap_fuller_box_active( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_fuller_box_active( libspectrum_snap *snap, int fuller_box_active ); int WIN32_DLL libspectrum_snap_melodik_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_melodik_active( libspectrum_snap *snap, int - melodik_active ); +void WIN32_DLL libspectrum_snap_set_melodik_active( libspectrum_snap *snap, int melodik_active ); /* * Tape handling routines @@ -911,15 +921,15 @@ typedef struct _GSList *libspectrum_tape_iterator; /* Some flags */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_BLOCK; /* End of block */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_STOP; /* Stop tape */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_STOP48; /* Stop tape if in 48K mode */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_NO_EDGE; /* Edge isn't really an edge */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LEVEL_LOW; /* Set level low */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LEVEL_HIGH; /* Set level high */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LENGTH_SHORT; -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LENGTH_LONG; -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_TAPE; /* Tape has finished */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_BLOCK; /* End of block */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_STOP; /* Stop tape */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_STOP48; /* Stop tape if in 48K mode */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_NO_EDGE; /* Edge isn't really an edge */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_LEVEL_LOW; /* Set level low */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_LEVEL_HIGH; /* Set level high */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_LENGTH_SHORT; +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_LENGTH_LONG; +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_TAPE; /* Tape has finished */ /* The states which a block can be in */ typedef enum libspectrum_tape_state_type { @@ -936,28 +946,28 @@ } libspectrum_tape_state_type; /* Routines to manipulate tape blocks */ -libspectrum_tape_block* WIN32_DLL +WIN32_DLL libspectrum_tape_block* libspectrum_tape_block_alloc( libspectrum_tape_type type ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_block_free( libspectrum_tape_block *block ); -libspectrum_tape_type WIN32_DLL +WIN32_DLL libspectrum_tape_type libspectrum_tape_block_type( libspectrum_tape_block *block ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_block_set_type( libspectrum_tape_block *block, libspectrum_tape_type type ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_block_init( libspectrum_tape_block *block, libspectrum_tape_block_state *state ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_block_description( char *buffer, size_t length, libspectrum_tape_block *block ); -int WIN32_DLL +WIN32_DLL int libspectrum_tape_block_metadata( libspectrum_tape_block *block ); -libspectrum_dword WIN32_DLL +WIN32_DLL libspectrum_dword libspectrum_tape_block_length( libspectrum_tape_block *block ); /* Accessor functions */ @@ -1019,86 +1029,86 @@ /* A linked list of tape blocks */ typedef struct libspectrum_tape libspectrum_tape; -libspectrum_tape* WIN32_DLL libspectrum_tape_alloc( void ); -libspectrum_error WIN32_DLL libspectrum_tape_clear( libspectrum_tape *tape ); -libspectrum_error WIN32_DLL libspectrum_tape_free( libspectrum_tape *tape ); +WIN32_DLL libspectrum_tape* libspectrum_tape_alloc( void ); +WIN32_DLL libspectrum_error libspectrum_tape_clear( libspectrum_tape *tape ); +WIN32_DLL libspectrum_error libspectrum_tape_free( libspectrum_tape *tape ); /* Read in a tape file, optionally guessing what sort of file it is */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_read( libspectrum_tape *tape, const libspectrum_byte *buffer, size_t length, libspectrum_id_t type, const char *filename ); /* Write a tape file */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_write( libspectrum_byte **buffer, size_t *length, libspectrum_tape *tape, libspectrum_id_t type ); /* Does this tape structure actually contain a tape? */ -int WIN32_DLL libspectrum_tape_present( const libspectrum_tape *tape ); +WIN32_DLL int libspectrum_tape_present( const libspectrum_tape *tape ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_get_next_edge( libspectrum_dword *tstates, int *flags, libspectrum_tape *tape ); /* Get the current block from the tape */ -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_current_block( libspectrum_tape *tape ); /* Get the state of the active block on the tape */ -libspectrum_tape_state_type WIN32_DLL +WIN32_DLL libspectrum_tape_state_type libspectrum_tape_state( libspectrum_tape *tape ); /* Set the state of the active block on the tape */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_set_state( libspectrum_tape *tape, libspectrum_tape_state_type state ); /* Peek at the next block on the tape */ -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_peek_next_block( libspectrum_tape *tape ); /* Peek at the last block on the tape */ -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_peek_last_block( libspectrum_tape *tape ); /* Cause the next block on the tape to be active, initialise it and return it */ -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_select_next_block( libspectrum_tape *tape ); /* Get the position on the tape of the current block */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_position( int *n, libspectrum_tape *tape ); /* Select the nth block on the tape */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_nth_block( libspectrum_tape *tape, int n ); /* Append a block to the current tape */ -void WIN32_DLL +WIN32_DLL void libspectrum_tape_append_block( libspectrum_tape *tape, libspectrum_tape_block *block ); -void WIN32_DLL +WIN32_DLL void libspectrum_tape_remove_block( libspectrum_tape *tape, libspectrum_tape_iterator it ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_insert_block( libspectrum_tape *tape, libspectrum_tape_block *block, size_t position ); /*** Routines for iterating through a tape ***/ -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_iterator_init( libspectrum_tape_iterator *iterator, libspectrum_tape *tape ); -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_iterator_current( libspectrum_tape_iterator iterator ); -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_iterator_next( libspectrum_tape_iterator *iterator ); /*** Routines for handling the TZX generalised data block symbol table @@ -1115,13 +1125,13 @@ typedef struct libspectrum_tape_generalised_data_symbol libspectrum_tape_generalised_data_symbol; -libspectrum_dword WIN32_DLL libspectrum_tape_generalised_data_symbol_table_symbols_in_block( const libspectrum_tape_generalised_data_symbol_table *table ); -libspectrum_byte WIN32_DLL libspectrum_tape_generalised_data_symbol_table_max_pulses( const libspectrum_tape_generalised_data_symbol_table *table ); -libspectrum_word WIN32_DLL libspectrum_tape_generalised_data_symbol_table_symbols_in_table( const libspectrum_tape_generalised_data_symbol_table *table ); -libspectrum_tape_generalised_data_symbol* WIN32_DLL libspectrum_tape_generalised_data_symbol_table_symbol( const libspectrum_tape_generalised_data_symbol_table *table, size_t which ); +WIN32_DLL libspectrum_dword libspectrum_tape_generalised_data_symbol_table_symbols_in_block( const libspectrum_tape_generalised_data_symbol_table *table ); +WIN32_DLL libspectrum_byte libspectrum_tape_generalised_data_symbol_table_max_pulses( const libspectrum_tape_generalised_data_symbol_table *table ); +WIN32_DLL libspectrum_word libspectrum_tape_generalised_data_symbol_table_symbols_in_table( const libspectrum_tape_generalised_data_symbol_table *table ); +WIN32_DLL libspectrum_tape_generalised_data_symbol* libspectrum_tape_generalised_data_symbol_table_symbol( const libspectrum_tape_generalised_data_symbol_table *table, size_t which ); -libspectrum_tape_generalised_data_symbol_edge_type WIN32_DLL libspectrum_tape_generalised_data_symbol_type( const libspectrum_tape_generalised_data_symbol *symbol ); -libspectrum_word WIN32_DLL libspectrum_tape_generalised_data_symbol_pulse( const libspectrum_tape_generalised_data_symbol *symbol, size_t which ); +WIN32_DLL libspectrum_tape_generalised_data_symbol_edge_type libspectrum_tape_generalised_data_symbol_type( const libspectrum_tape_generalised_data_symbol *symbol ); +WIN32_DLL libspectrum_word libspectrum_tape_generalised_data_symbol_pulse( const libspectrum_tape_generalised_data_symbol *symbol, size_t which ); /* @@ -1130,40 +1140,40 @@ typedef struct libspectrum_rzx libspectrum_rzx; -libspectrum_rzx* WIN32_DLL libspectrum_rzx_alloc( void ); -libspectrum_error WIN32_DLL libspectrum_rzx_free( libspectrum_rzx *rzx ); +WIN32_DLL libspectrum_rzx* libspectrum_rzx_alloc( void ); +WIN32_DLL libspectrum_error libspectrum_rzx_free( libspectrum_rzx *rzx ); -void WIN32_DLL +WIN32_DLL void libspectrum_rzx_start_input( libspectrum_rzx *rzx, libspectrum_dword tstates ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_stop_input( libspectrum_rzx *rzx ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_add_snap( libspectrum_rzx *rzx, libspectrum_snap *snap, int automatic ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_rollback( libspectrum_rzx *rzx, libspectrum_snap **snap ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_rollback_to( libspectrum_rzx *rzx, libspectrum_snap **snap, size_t which ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_store_frame( libspectrum_rzx *rzx, size_t instructions, size_t count, libspectrum_byte *in_bytes ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_start_playback( libspectrum_rzx *rzx, int which, libspectrum_snap **snap ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_playback_frame( libspectrum_rzx *rzx, int *finished, libspectrum_snap **snap ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_playback( libspectrum_rzx *rzx, libspectrum_byte *byte ); /* Get and set the tstate counter */ -size_t WIN32_DLL libspectrum_rzx_tstates( libspectrum_rzx *rzx ); +WIN32_DLL size_t libspectrum_rzx_tstates( libspectrum_rzx *rzx ); /* Get the current frame's instruction count */ -size_t WIN32_DLL libspectrum_rzx_instructions( libspectrum_rzx *rzx ); +WIN32_DLL size_t libspectrum_rzx_instructions( libspectrum_rzx *rzx ); -libspectrum_dword WIN32_DLL libspectrum_rzx_get_keyid( libspectrum_rzx *rzx ); +WIN32_DLL libspectrum_dword libspectrum_rzx_get_keyid( libspectrum_rzx *rzx ); typedef struct libspectrum_signature { @@ -1174,7 +1184,7 @@ } libspectrum_signature; -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_get_signature( libspectrum_rzx *rzx, libspectrum_signature *signature ); @@ -1186,11 +1196,11 @@ } libspectrum_rzx_dsa_key; -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_read( libspectrum_rzx *rzx, const libspectrum_byte *buffer, size_t length ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_write( libspectrum_byte **buffer, size_t *length, libspectrum_rzx *rzx, libspectrum_id_t snap_format, libspectrum_creator *creator, int compress, @@ -1217,22 +1227,22 @@ libspectrum_rzx_insert_snap( libspectrum_rzx *rzx, libspectrum_snap *snap, int where ); -libspectrum_rzx_iterator WIN32_DLL +WIN32_DLL libspectrum_rzx_iterator libspectrum_rzx_iterator_begin( libspectrum_rzx *rzx ); -libspectrum_rzx_iterator WIN32_DLL +WIN32_DLL libspectrum_rzx_iterator libspectrum_rzx_iterator_next( libspectrum_rzx_iterator it ); -libspectrum_rzx_block_id WIN32_DLL +WIN32_DLL libspectrum_rzx_block_id libspectrum_rzx_iterator_get_type( libspectrum_rzx_iterator it ); -size_t WIN32_DLL +WIN32_DLL size_t libspectrum_rzx_iterator_get_frames( libspectrum_rzx_iterator it ); -void WIN32_DLL +WIN32_DLL void libspectrum_rzx_iterator_delete( libspectrum_rzx *rzx, libspectrum_rzx_iterator it ); -libspectrum_snap* WIN32_DLL +WIN32_DLL libspectrum_snap* libspectrum_rzx_iterator_get_snap( libspectrum_rzx_iterator it ); -int WIN32_DLL +WIN32_DLL int libspectrum_rzx_iterator_snap_is_automatic( libspectrum_rzx_iterator it ); /* @@ -1252,41 +1262,41 @@ /* Constructor/destructor */ -libspectrum_microdrive* WIN32_DLL +WIN32_DLL libspectrum_microdrive* libspectrum_microdrive_alloc( void ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_microdrive_free( libspectrum_microdrive *microdrive ); /* Accessors */ -libspectrum_byte WIN32_DLL +WIN32_DLL libspectrum_byte libspectrum_microdrive_data( const libspectrum_microdrive *microdrive, size_t which ); -void WIN32_DLL +WIN32_DLL void libspectrum_microdrive_set_data( libspectrum_microdrive *microdrive, size_t which, libspectrum_byte data ); -int WIN32_DLL +WIN32_DLL int libspectrum_microdrive_write_protect( const libspectrum_microdrive *microdrive ); -void WIN32_DLL +WIN32_DLL void libspectrum_microdrive_set_write_protect( libspectrum_microdrive *microdrive, int write_protect ); -libspectrum_byte WIN32_DLL +WIN32_DLL libspectrum_byte libspectrum_microdrive_cartridge_len( const libspectrum_microdrive *microdrive ); -void WIN32_DLL +WIN32_DLL void libspectrum_microdrive_set_cartridge_len( libspectrum_microdrive *microdrive, libspectrum_byte len ); /* .mdr format routines */ -int WIN32_DLL +WIN32_DLL int libspectrum_microdrive_checksum( libspectrum_microdrive *microdrive, libspectrum_byte what ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_microdrive_mdr_read( libspectrum_microdrive *microdrive, libspectrum_byte *buffer, size_t length ); -void WIN32_DLL +WIN32_DLL void libspectrum_microdrive_mdr_write( const libspectrum_microdrive *microdrive, libspectrum_byte **buffer, size_t *length ); @@ -1322,17 +1332,17 @@ libspectrum_dck_block *dck[256]; /* dck block data */ } libspectrum_dck; -libspectrum_dck* WIN32_DLL libspectrum_dck_alloc( void ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_dck* libspectrum_dck_alloc( void ); +WIN32_DLL libspectrum_error libspectrum_dck_free( libspectrum_dck *dck, int keep_pages ); /* Read in a DCK file */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_dck_read( libspectrum_dck *dck, const libspectrum_byte *buffer, size_t length ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_dck_read2( libspectrum_dck *dck, const libspectrum_byte *buffer, size_t length, const char *filename ); @@ -1340,10 +1350,10 @@ * Crypto functions */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_verify_signature( libspectrum_signature *signature, libspectrum_rzx_dsa_key *key ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_signature_free( libspectrum_signature *signature ); /* @@ -1382,33 +1392,33 @@ typedef struct libspectrum_ide_channel libspectrum_ide_channel; -libspectrum_ide_channel* WIN32_DLL +WIN32_DLL libspectrum_ide_channel* libspectrum_ide_alloc( libspectrum_ide_databus databus ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_ide_free( libspectrum_ide_channel *chn ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_ide_insert( libspectrum_ide_channel *chn, libspectrum_ide_unit unit, const char *filename ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_ide_commit( libspectrum_ide_channel *chn, libspectrum_ide_unit unit ); -int WIN32_DLL +WIN32_DLL int libspectrum_ide_dirty( libspectrum_ide_channel *chn, libspectrum_ide_unit unit ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_ide_eject( libspectrum_ide_channel *chn, libspectrum_ide_unit unit ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_ide_reset( libspectrum_ide_channel *chn ); -libspectrum_byte WIN32_DLL +WIN32_DLL libspectrum_byte libspectrum_ide_read( libspectrum_ide_channel *chn, libspectrum_ide_register reg ); -void WIN32_DLL +WIN32_DLL void libspectrum_ide_write( libspectrum_ide_channel *chn, libspectrum_ide_register reg, libspectrum_byte data ); Modified: trunk/FuseImporter/libspectrum.h =================================================================== --- trunk/FuseImporter/libspectrum.h 2010-05-24 14:23:37 UTC (rev 639) +++ trunk/FuseImporter/libspectrum.h 2010-05-26 12:46:40 UTC (rev 640) @@ -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 4060 2009-07-30 13:21:38Z fredm $ + $Id: libspectrum.h.in 4120 2010-02-21 05:06:56Z 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 @@ -38,8 +38,6 @@ #include <stdlib.h> #include <stdio.h> -#include <TargetConditionals.h> - #ifdef _WIN32 #define WIN32_LEAN_AND_MEAN /* Exclude rarely used stuff from Windows @@ -202,6 +200,8 @@ #define g_array_index(a,t,i) (*(((t*)a->data)+i)) GArray* WIN32_DLL g_array_set_size( GArray *array, guint length ); +#include <TargetConditionals.h> + #ifdef TARGET_RT_64_BIT #define GINT_TO_POINTER(i) ((gpointer) (glong)(i)) #define GPOINTER_TO_INT(p) ((gint) (glong)(p)) @@ -210,11 +210,6 @@ #define GPOINTER_TO_INT(p) ((gint) (p)) #endif -/* Library capabilities */ - -/* we support snapshots etc. requiring zlib (e.g. compressed szx) */ -#define LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION (1) - /* * General libspectrum routines */ @@ -239,24 +234,40 @@ } libspectrum_error; +/* Library capabilities */ + +/* we support snapshots etc. requiring zlib (e.g. compressed szx) */ +#define LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION (1) + +/* zlib (de)compression routines */ + +WIN32_DLL libspectrum_error +libspectrum_zlib_inflate( const libspectrum_byte *gzptr, size_t gzlength, + libspectrum_byte **outptr, size_t *outlength ); + +WIN32_DLL libspectrum_error +libspectrum_zlib_compress( const libspectrum_byte *data, size_t length, + libspectrum_byte **gzptr, size_t *gzlength ); + + /* Initialisation */ -libspectrum_error WIN32_DLL libspectrum_init( void ); +WIN32_DLL libspectrum_error libspectrum_init( void ); /* Version checking */ -int WIN32_DLL libspectrum_check_version( const char *version ); -const char WIN32_DLL *libspectrum_version( void ); -const char WIN32_DLL *libspectrum_gcrypt_version( void ); +WIN32_DLL int libspectrum_check_version( const char *version ); +WIN32_DLL const char *libspectrum_version( void ); +WIN32_DLL const char *libspectrum_gcrypt_version( void ); /* Error handling */ typedef libspectrum_error (*libspectrum_error_function_t)( libspectrum_error error, const char *format, va_list ap ); -extern libspectrum_error_function_t WIN32_DLL libspectrum_error_function; +extern WIN32_DLL libspectrum_error_function_t libspectrum_error_function; -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_default_error_function( libspectrum_error error, const char *format, va_list ap ); @@ -274,12 +285,12 @@ libspectrum_free_fn_t free; } libspectrum_mem_vtable_t; -void* WIN32_DLL libspectrum_malloc( size_t size ); -void* WIN32_DLL libspectrum_calloc( size_t nmemb, size_t size ); -void* WIN32_DLL libspectrum_realloc( void *ptr, size_t size ); -void WIN32_DLL libspectrum_free( void *ptr ); +WIN32_DLL void* libspectrum_malloc( size_t size ); +WIN32_DLL void* libspectrum_calloc( size_t nmemb, size_t size ); +WIN32_DLL void* libspectrum_realloc( void *ptr, size_t size ); +WIN32_DLL void libspectrum_free( void *ptr ); -void WIN32_DLL libspectrum_mem_set_vtable( libspectrum_mem_vtable_t *table ); +WIN32_DLL void libspectrum_mem_set_vtable( libspectrum_mem_vtable_t *table ); /* Attempt to identify a given file */ @@ -394,20 +405,20 @@ } libspectrum_class_t; -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_identify_file( libspectrum_id_t *type, const char *filename, const unsigned char *buffer, size_t length ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_identify_file_with_class( libspectrum_id_t *type, libspectrum_class_t *libspectrum_class, const char *filename, const unsigned char *buffer, size_t length ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_identify_file_raw( libspectrum_id_t *type, const char *filename, const unsigned char *buffer, size_t length ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_identify_class( libspectrum_class_t *libspectrum_class, libspectrum_id_t type ); @@ -442,122 +453,122 @@ } libspectrum_machine; -const char* WIN32_DLL libspectrum_machine_name( libspectrum_machine type ); +WIN32_DLL const char* libspectrum_machine_name( libspectrum_machine type ); /* The various capabilities of the different machines */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_AY; /* AY-3-8192 */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_128_MEMORY; /* 128-style memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_PLUS3_MEMORY; /* +3-style memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_PLUS3_DISK; /* +3-style disk drive */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_TIMEX_MEMORY; /* Timex-style memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_TIMEX_VIDEO; /* Timex-style video modes */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_TRDOS_DISK; /* TRDOS-style disk drive */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_TIMEX_DOCK; /* T[SC]2068-style cartridge port */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_SINCLAIR_JOYSTICK; /* Sinclair-style joystick ports */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_KEMPSTON_JOYSTICK; /* Kempston-style joystick ports */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_SCORP_MEMORY; /* Scorpion-style memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_EVEN_M1; /* M1 cycles always start on even tstate counts */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_SE_MEMORY; /* SE-style memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_NTSC; /* NTSC display */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_PENT512_MEMORY; /* Pentagon 512 memory paging */ -extern const int WIN32_DLL +extern WIN32_DLL const int LIBSPECTRUM_MACHINE_CAPABILITY_PENT1024_MEMORY; /* Pentagon 1024 memory paging */ /* Get the capabilities of a machine */ -int WIN32_DLL libspectrum_machine_capabilities( libspectrum_machine type ); +WIN32_DLL int libspectrum_machine_capabilities( libspectrum_machine type ); /* Get the timings of a machine */ -libspectrum_dword WIN32_DLL +WIN32_DLL libspectrum_dword libspectrum_timings_processor_speed( libspectrum_machine machine ); -libspectrum_dword WIN32_DLL +WIN32_DLL libspectrum_dword libspectrum_timings_ay_speed( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_left_border( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_horizontal_screen( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_right_border( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_horizontal_retrace( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_top_border( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_vertical_screen( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_bottom_border( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_vertical_retrace( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_interrupt_length( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_top_left_pixel( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_tstates_per_line( libspectrum_machine machine ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_timings_lines_per_frame( libspectrum_machine machine ); -libspectrum_dword WIN32_DLL +WIN32_DLL libspectrum_dword libspectrum_timings_tstates_per_frame( libspectrum_machine machine ); /* Creator information */ typedef struct libspectrum_creator libspectrum_creator; -libspectrum_creator* WIN32_DLL +WIN32_DLL libspectrum_creator* libspectrum_creator_alloc( void ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_free( libspectrum_creator *creator ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_set_program( libspectrum_creator *creator, const char *program ); -const char WIN32_DLL * +WIN32_DLL const char * libspectrum_creator_program( libspectrum_creator *creator ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_set_major( libspectrum_creator *creator, libspectrum_word major ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_creator_major( libspectrum_creator *creator ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_set_minor( libspectrum_creator *creator, libspectrum_word minor ); -libspectrum_word WIN32_DLL +WIN32_DLL libspectrum_word libspectrum_creator_minor( libspectrum_creator *creator ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_set_competition_code( libspectrum_creator *creator, libspectrum_dword competition_code ); -libspectrum_dword WIN32_DLL +WIN32_DLL libspectrum_dword libspectrum_creator_competition_code( libspectrum_creator *creator ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_creator_set_custom( libspectrum_creator *creator, libspectrum_byte *data, size_t length ); -libspectrum_byte WIN32_DLL * +WIN32_DLL libspectrum_byte * libspectrum_creator_custom( libspectrum_creator *creator ); -size_t WIN32_DLL +WIN32_DLL size_t libspectrum_creator_custom_length( libspectrum_creator *creator ); /* @@ -566,29 +577,29 @@ typedef struct libspectrum_snap libspectrum_snap; -libspectrum_snap* WIN32_DLL libspectrum_snap_alloc( void ); -libspectrum_error WIN32_DLL libspectrum_snap_free( libspectrum_snap *snap ); +WIN32_DLL libspectrum_snap* libspectrum_snap_alloc( void ); +WIN32_DLL libspectrum_error libspectrum_snap_free( libspectrum_snap *snap ); /* Read in a snapshot, optionally guessing what type it is */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_snap_read( libspectrum_snap *snap, const libspectrum_byte *buffer, size_t length, libspectrum_id_t type, const char *filename ); /* Write a snapshot */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_snap_write( libspectrum_byte **buffer, size_t *length, int *out_flags, libspectrum_snap *snap, libspectrum_id_t type, libspectrum_creator *creator, int in_flags ); /* The flags that can be given to libspectrum_snap_write() */ -extern const int WIN32_DLL LIBSPECTRUM_FLAG_SNAPSHOT_NO_COMPRESSION; -extern const int WIN32_DLL LIBSPECTRUM_FLAG_SNAPSHOT_ALWAYS_COMPRESS; +extern WIN32_DLL const int LIBSPECTRUM_FLAG_SNAPSHOT_NO_COMPRESSION; +extern WIN32_DLL const int LIBSPECTRUM_FLAG_SNAPSHOT_ALWAYS_COMPRESS; /* The flags that may be returned from libspectrum_snap_write() */ -extern const int WIN32_DLL LIBSPECTRUM_FLAG_SNAPSHOT_MINOR_INFO_LOSS; -extern const int WIN32_DLL LIBSPECTRUM_FLAG_SNAPSHOT_MAJOR_INFO_LOSS; +extern WIN32_DLL const int LIBSPECTRUM_FLAG_SNAPSHOT_MINOR_INFO_LOSS; +extern WIN32_DLL const int LIBSPECTRUM_FLAG_SNAPSHOT_MAJOR_INFO_LOSS; /* The joystick types we can handle */ typedef enum libspectrum_joystick { @@ -605,12 +616,12 @@ } libspectrum_joystick; -const char* WIN32_DLL libspectrum_joystick_name( libspectrum_joystick type ); +WIN32_DLL const char* libspectrum_joystick_name( libspectrum_joystick type ); -extern const int WIN32_DLL LIBSPECTRUM_JOYSTICK_INPUT_NONE; -extern const int WIN32_DLL LIBSPECTRUM_JOYSTICK_INPUT_KEYBOARD; -extern const int WIN32_DLL LIBSPECTRUM_JOYSTICK_INPUT_JOYSTICK_1; -extern const int WIN32_DLL LIBSPECTRUM_JOYSTICK_INPUT_JOYSTICK_2; +extern WIN32_DLL const int LIBSPECTRUM_JOYSTICK_INPUT_NONE; +extern WIN32_DLL const int LIBSPECTRUM_JOYSTICK_INPUT_KEYBOARD; +extern WIN32_DLL const int LIBSPECTRUM_JOYSTICK_INPUT_JOYSTICK_1; +extern WIN32_DLL const int LIBSPECTRUM_JOYSTICK_INPUT_JOYSTICK_2; /* Accessor functions */ libspectrum_machine WIN32_DLL libspectrum_snap_machine( libspectrum_snap *snap ); @@ -856,8 +867,7 @@ int WIN32_DLL libspectrum_snap_fuller_box_active( libspectrum_snap *snap ); void WIN32_DLL libspectrum_snap_set_fuller_box_active( libspectrum_snap *snap, int fuller_box_active ); int WIN32_DLL libspectrum_snap_melodik_active( libspectrum_snap *snap ); -void WIN32_DLL libspectrum_snap_set_melodik_active( libspectrum_snap *snap, int - melodik_active ); +void WIN32_DLL libspectrum_snap_set_melodik_active( libspectrum_snap *snap, int melodik_active ); /* * Tape handling routines @@ -911,15 +921,15 @@ typedef struct _GSList *libspectrum_tape_iterator; /* Some flags */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_BLOCK; /* End of block */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_STOP; /* Stop tape */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_STOP48; /* Stop tape if in 48K mode */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_NO_EDGE; /* Edge isn't really an edge */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LEVEL_LOW; /* Set level low */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LEVEL_HIGH; /* Set level high */ -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LENGTH_SHORT; -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_LENGTH_LONG; -extern const int WIN32_DLL LIBSPECTRUM_TAPE_FLAGS_TAPE; /* Tape has finished */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_BLOCK; /* End of block */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_STOP; /* Stop tape */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_STOP48; /* Stop tape if in 48K mode */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_NO_EDGE; /* Edge isn't really an edge */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_LEVEL_LOW; /* Set level low */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_LEVEL_HIGH; /* Set level high */ +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_LENGTH_SHORT; +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_LENGTH_LONG; +extern WIN32_DLL const int LIBSPECTRUM_TAPE_FLAGS_TAPE; /* Tape has finished */ /* The states which a block can be in */ typedef enum libspectrum_tape_state_type { @@ -936,28 +946,28 @@ } libspectrum_tape_state_type; /* Routines to manipulate tape blocks */ -libspectrum_tape_block* WIN32_DLL +WIN32_DLL libspectrum_tape_block* libspectrum_tape_block_alloc( libspectrum_tape_type type ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_block_free( libspectrum_tape_block *block ); -libspectrum_tape_type WIN32_DLL +WIN32_DLL libspectrum_tape_type libspectrum_tape_block_type( libspectrum_tape_block *block ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_block_set_type( libspectrum_tape_block *block, libspectrum_tape_type type ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_block_init( libspectrum_tape_block *block, libspectrum_tape_block_state *state ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_block_description( char *buffer, size_t length, libspectrum_tape_block *block ); -int WIN32_DLL +WIN32_DLL int libspectrum_tape_block_metadata( libspectrum_tape_block *block ); -libspectrum_dword WIN32_DLL +WIN32_DLL libspectrum_dword libspectrum_tape_block_length( libspectrum_tape_block *block ); /* Accessor functions */ @@ -1019,86 +1029,86 @@ /* A linked list of tape blocks */ typedef struct libspectrum_tape libspectrum_tape; -libspectrum_tape* WIN32_DLL libspectrum_tape_alloc( void ); -libspectrum_error WIN32_DLL libspectrum_tape_clear( libspectrum_tape *tape ); -libspectrum_error WIN32_DLL libspectrum_tape_free( libspectrum_tape *tape ); +WIN32_DLL libspectrum_tape* libspectrum_tape_alloc( void ); +WIN32_DLL libspectrum_error libspectrum_tape_clear( libspectrum_tape *tape ); +WIN32_DLL libspectrum_error libspectrum_tape_free( libspectrum_tape *tape ); /* Read in a tape file, optionally guessing what sort of file it is */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_read( libspectrum_tape *tape, const libspectrum_byte *buffer, size_t length, libspectrum_id_t type, const char *filename ); /* Write a tape file */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_write( libspectrum_byte **buffer, size_t *length, libspectrum_tape *tape, libspectrum_id_t type ); /* Does this tape structure actually contain a tape? */ -int WIN32_DLL libspectrum_tape_present( const libspectrum_tape *tape ); +WIN32_DLL int libspectrum_tape_present( const libspectrum_tape *tape ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_get_next_edge( libspectrum_dword *tstates, int *flags, libspectrum_tape *tape ); /* Get the current block from the tape */ -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_current_block( libspectrum_tape *tape ); /* Get the state of the active block on the tape */ -libspectrum_tape_state_type WIN32_DLL +WIN32_DLL libspectrum_tape_state_type libspectrum_tape_state( libspectrum_tape *tape ); /* Set the state of the active block on the tape */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_set_state( libspectrum_tape *tape, libspectrum_tape_state_type state ); /* Peek at the next block on the tape */ -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_peek_next_block( libspectrum_tape *tape ); /* Peek at the last block on the tape */ -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_peek_last_block( libspectrum_tape *tape ); /* Cause the next block on the tape to be active, initialise it and return it */ -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_select_next_block( libspectrum_tape *tape ); /* Get the position on the tape of the current block */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_position( int *n, libspectrum_tape *tape ); /* Select the nth block on the tape */ -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_nth_block( libspectrum_tape *tape, int n ); /* Append a block to the current tape */ -void WIN32_DLL +WIN32_DLL void libspectrum_tape_append_block( libspectrum_tape *tape, libspectrum_tape_block *block ); -void WIN32_DLL +WIN32_DLL void libspectrum_tape_remove_block( libspectrum_tape *tape, libspectrum_tape_iterator it ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_tape_insert_block( libspectrum_tape *tape, libspectrum_tape_block *block, size_t position ); /*** Routines for iterating through a tape ***/ -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_iterator_init( libspectrum_tape_iterator *iterator, libspectrum_tape *tape ); -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_iterator_current( libspectrum_tape_iterator iterator ); -libspectrum_tape_block WIN32_DLL * +WIN32_DLL libspectrum_tape_block * libspectrum_tape_iterator_next( libspectrum_tape_iterator *iterator ); /*** Routines for handling the TZX generalised data block symbol table @@ -1115,13 +1125,13 @@ typedef struct libspectrum_tape_generalised_data_symbol libspectrum_tape_generalised_data_symbol; -libspectrum_dword WIN32_DLL libspectrum_tape_generalised_data_symbol_table_symbols_in_block( const libspectrum_tape_generalised_data_symbol_table *table ); -libspectrum_byte WIN32_DLL libspectrum_tape_generalised_data_symbol_table_max_pulses( const libspectrum_tape_generalised_data_symbol_table *table ); -libspectrum_word WIN32_DLL libspectrum_tape_generalised_data_symbol_table_symbols_in_table( const libspectrum_tape_generalised_data_symbol_table *table ); -libspectrum_tape_generalised_data_symbol* WIN32_DLL libspectrum_tape_generalised_data_symbol_table_symbol( const libspectrum_tape_generalised_data_symbol_table *table, size_t which ); +WIN32_DLL libspectrum_dword libspectrum_tape_generalised_data_symbol_table_symbols_in_block( const libspectrum_tape_generalised_data_symbol_table *table ); +WIN32_DLL libspectrum_byte libspectrum_tape_generalised_data_symbol_table_max_pulses( const libspectrum_tape_generalised_data_symbol_table *table ); +WIN32_DLL libspectrum_word libspectrum_tape_generalised_data_symbol_table_symbols_in_table( const libspectrum_tape_generalised_data_symbol_table *table ); +WIN32_DLL libspectrum_tape_generalised_data_symbol* libspectrum_tape_generalised_data_symbol_table_symbol( const libspectrum_tape_generalised_data_symbol_table *table, size_t which ); -libspectrum_tape_generalised_data_symbol_edge_type WIN32_DLL libspectrum_tape_generalised_data_symbol_type( const libspectrum_tape_generalised_data_symbol *symbol ); -libspectrum_word WIN32_DLL libspectrum_tape_generalised_data_symbol_pulse( const libspectrum_tape_generalised_data_symbol *symbol, size_t which ); +WIN32_DLL libspectrum_tape_generalised_data_symbol_edge_type libspectrum_tape_generalised_data_symbol_type( const libspectrum_tape_generalised_data_symbol *symbol ); +WIN32_DLL libspectrum_word libspectrum_tape_generalised_data_symbol_pulse( const libspectrum_tape_generalised_data_symbol *symbol, size_t which ); /* @@ -1130,40 +1140,40 @@ typedef struct libspectrum_rzx libspectrum_rzx; -libspectrum_rzx* WIN32_DLL libspectrum_rzx_alloc( void ); -libspectrum_error WIN32_DLL libspectrum_rzx_free( libspectrum_rzx *rzx ); +WIN32_DLL libspectrum_rzx* libspectrum_rzx_alloc( void ); +WIN32_DLL libspectrum_error libspectrum_rzx_free( libspectrum_rzx *rzx ); -void WIN32_DLL +WIN32_DLL void libspectrum_rzx_start_input( libspectrum_rzx *rzx, libspectrum_dword tstates ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_stop_input( libspectrum_rzx *rzx ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_add_snap( libspectrum_rzx *rzx, libspectrum_snap *snap, int automatic ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_rollback( libspectrum_rzx *rzx, libspectrum_snap **snap ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_rollback_to( libspectrum_rzx *rzx, libspectrum_snap **snap, size_t which ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_store_frame( libspectrum_rzx *rzx, size_t instructions, size_t count, libspectrum_byte *in_bytes ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_start_playback( libspectrum_rzx *rzx, int which, libspectrum_snap **snap ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_playback_frame( libspectrum_rzx *rzx, int *finished, libspectrum_snap **snap ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_playback( libspectrum_rzx *rzx, libspectrum_byte *byte ); /* Get and set the tstate counter */ -size_t WIN32_DLL libspectrum_rzx_tstates( libspectrum_rzx *rzx ); +WIN32_DLL size_t libspectrum_rzx_tstates( libspectrum_rzx *rzx ); /* Get the current frame's instruction count */ -size_t WIN32_DLL libspectrum_rzx_instructions( libspectrum_rzx *rzx ); +WIN32_DLL size_t libspectrum_rzx_instructions( libspectrum_rzx *rzx ); -libspectrum_dword WIN32_DLL libspectrum_rzx_get_keyid( libspectrum_rzx *rzx ); +WIN32_DLL libspectrum_dword libspectrum_rzx_get_keyid( libspectrum_rzx *rzx ); typedef struct libspectrum_signature { @@ -1174,7 +1184,7 @@ } libspectrum_signature; -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_get_signature( libspectrum_rzx *rzx, libspectrum_signature *signature ); @@ -1186,11 +1196,11 @@ } libspectrum_rzx_dsa_key; -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_read( libspectrum_rzx *rzx, const libspectrum_byte *buffer, size_t length ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_rzx_write( libspectrum_byte **buffer, size_t *length, libspectrum_rzx *rzx, libspectrum_id_t snap_format, libspectrum_creator *creator, int compress, @@ -1217,22 +1227,22 @@ libspectrum_rzx_insert_snap( libspectrum_rzx *rzx, libspectrum_snap *snap, int where ); -libspectrum_rzx_iterator WIN32_DLL +WIN32_DLL libspectrum_rzx_iterator libspectrum_rzx_iterator_begin( libspectrum_rzx *rzx ); -libspectrum_rzx_iterator WIN32_DLL +WIN32_DLL libspectrum_rzx_iterator libspectrum_rzx_iterator_next( libspectrum_rzx_iterator it ); -libspectrum_rzx_block_id WIN32_DLL +WIN32_DLL libspectrum_rzx_block_id libspectrum_rzx_iterator_get_type( libspectrum_rzx_iterator it ); -size_t WIN32_DLL +WIN32_DLL size_t libspectrum_rzx_iterator_get_frames( libspectrum_rzx_iterator it ); -void WIN32_DLL +WIN32_DLL void libspectrum_rzx_iterator_delete( libspectrum_rzx *rzx, libspectrum_rzx_iterator it ); -libspectrum_snap* WIN32_DLL +WIN32_DLL libspectrum_snap* libspectrum_rzx_iterator_get_snap( libspectrum_rzx_iterator it ); -int WIN32_DLL +WIN32_DLL int libspectrum_rzx_iterator_snap_is_automatic( libspectrum_rzx_iterator it ); /* @@ -1252,41 +1262,41 @@ /* Constructor/destructor */ -libspectrum_microdrive* WIN32_DLL +WIN32_DLL libspectrum_microdrive* libspectrum_microdrive_alloc( void ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_microdrive_free( libspectrum_microdrive *microdrive ); /* Accessors */ -libspectrum_byte WIN32_DLL +WIN32_DLL libspectrum_byte libspectrum_microdrive_data( const libspectrum_microdrive *microdrive, size_t which ); -void WIN32_DLL +WIN32_DLL void libspectrum_microdrive_set_data( libspectrum_microdrive *microdrive, size_t which, libspectrum_byte data ); -int WIN32_DLL +WIN32_DLL int libspectrum_microdrive_write_protect( const libspectrum_microdrive *microdrive ); -void WIN32_DLL +WIN32_DLL void libspectrum_microdrive_set_write_protect( libspectrum_microdrive *microdrive, int write_protect ); -libspectrum_byte WIN32_DLL +WIN32_DLL libspectrum_byte libspectrum_microdrive_cartridge_len( const libspectrum_microdrive *microdrive ); -void WIN32_DLL +WIN32_DLL void libspectrum_microdrive_set_cartridge_len( libspectrum_microdrive *microdrive, libspectrum_byte len ); /* .mdr format routines */ -int WIN32_DLL +WIN32_DLL int libspectrum_microdrive_checksum( libspectrum_microdrive *microdrive, libspectrum_byte what ); -libspectrum_error WIN32_DLL +WIN32_DLL libspectrum_error libspectrum_microdrive_mdr_read( libspectrum_microdrive *microdrive, libspectrum_byte *buffer, size_t length ); -void WIN32_DLL +WIN32_DLL void libspectrum_microdrive_mdr_write( const libspectrum_microdrive *microdrive, libspectrum_byte **buffer, size_t *length ); @@ -1322,17 +1332,17 @@ libspectrum_dck_block *dck[256]; /* dck block data */ } libspectrum_dck; -libspectrum_dck* WIN32_DLL libspectrum_dck_alloc( void ); -libspectrum_error ... [truncated message content] |
From: <fr...@us...> - 2010-05-24 14:23:46
|
Revision: 639 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=639&view=rev Author: fredm Date: 2010-05-24 14:23:37 +0000 (Mon, 24 May 2010) Log Message: ----------- Merge up to vendor revision 4135. Revision Links: -------------- http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=4135&view=rev Modified Paths: -------------- trunk/FuseGenerator/generate.pl trunk/FuseImporter/generate.pl trunk/fuse/ChangeLog trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/compat/unix/file.c trunk/fuse/compat/wii/paths.c trunk/fuse/compat.h trunk/fuse/configure.in trunk/fuse/debugger/command.c trunk/fuse/debugger/commandl.l trunk/fuse/debugger/debugger_internals.h trunk/fuse/debugger/disassemble.c trunk/fuse/disk/beta.c trunk/fuse/disk/beta.h trunk/fuse/disk/disk.c trunk/fuse/disk/disk.h trunk/fuse/disk/fdd.c trunk/fuse/disk/fdd.h trunk/fuse/disk/opus.c trunk/fuse/disk/plusd.c trunk/fuse/disk/upd_fdc.c trunk/fuse/disk/upd_fdc.h trunk/fuse/display.c trunk/fuse/fuse.c trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/generate.pl trunk/fuse/fusepb/libspectrum.h trunk/fuse/hacking/ChangeLog trunk/fuse/ide/divide.c trunk/fuse/ide/zxatasp.c trunk/fuse/ide/zxcf.c trunk/fuse/if1.c trunk/fuse/if2.c trunk/fuse/input.c trunk/fuse/input.h trunk/fuse/keyboard.c trunk/fuse/keysyms.dat trunk/fuse/keysyms.pl trunk/fuse/machines/pentagon.c trunk/fuse/machines/pentagon1024.c trunk/fuse/machines/pentagon512.c trunk/fuse/machines/scorpion.c trunk/fuse/machines/specplus3.c trunk/fuse/machines/specplus3.h trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/memory.h trunk/fuse/menu.c trunk/fuse/menu.h trunk/fuse/menu_data.dat trunk/fuse/periph.c trunk/fuse/printer.c trunk/fuse/rzx.c trunk/fuse/settings-header.pl trunk/fuse/settings.dat trunk/fuse/settings.pl trunk/fuse/sound/Makefile.am trunk/fuse/sound/coreaudiosound.c trunk/fuse/tape.c trunk/fuse/ui/fb/fbkeyboard.c trunk/fuse/ui/fb/fbui.c trunk/fuse/ui/gtk/gtkkeyboard.c trunk/fuse/ui/gtk/gtkui.c trunk/fuse/ui/gtk/picture.c trunk/fuse/ui/options.dat trunk/fuse/ui/sdl/sdldisplay.c trunk/fuse/ui/sdl/sdlkeyboard.c trunk/fuse/ui/sdl/sdlui.c trunk/fuse/ui/svga/svgadisplay.c trunk/fuse/ui/svga/svgakeyboard.c trunk/fuse/ui/svga/svgaui.c trunk/fuse/ui/ui.h trunk/fuse/ui/uijoystick.c trunk/fuse/ui/widget/browse.c trunk/fuse/ui/widget/debugger.c trunk/fuse/ui/widget/error.c trunk/fuse/ui/widget/filesel.c trunk/fuse/ui/widget/memory.c trunk/fuse/ui/widget/menu.c trunk/fuse/ui/widget/options.pl trunk/fuse/ui/widget/picture.c trunk/fuse/ui/widget/pokefinder.c trunk/fuse/ui/widget/query.c trunk/fuse/ui/widget/roms.c trunk/fuse/ui/widget/select.c trunk/fuse/ui/widget/text.c trunk/fuse/ui/widget/widget.c trunk/fuse/ui/widget/widget.h trunk/fuse/ui/wii/wiidisplay.c trunk/fuse/ui/wii/wiikeyboard.c trunk/fuse/ui/wii/wiiui.c trunk/fuse/ui/win32/confirm.c trunk/fuse/ui/win32/options-header.pl trunk/fuse/ui/win32/options-resource.pl trunk/fuse/ui/win32/options.pl trunk/fuse/ui/win32/picture.c trunk/fuse/ui/xlib/xdisplay.c trunk/fuse/ui/xlib/xerror.c trunk/fuse/ui/xlib/xkeyboard.c trunk/fuse/ui/xlib/xui.c trunk/fuse/ui.c trunk/fuse/ula.c trunk/fuse/utils.c trunk/fuse/windres.rc trunk/fuse/z80/z80.c trunk/libspectrum/generate.pl trunk/libspectrum/libspectrum/dck.c trunk/libspectrum/libspectrum/dll.c trunk/libspectrum/libspectrum/generate.pl.in trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum/internals.h trunk/libspectrum/libspectrum/libspectrum.h.in trunk/libspectrum/libspectrum/make-perl.c trunk/libspectrum/libspectrum/myglib/ghash.c trunk/libspectrum/libspectrum/plusd.c trunk/libspectrum/libspectrum/rzx.c trunk/libspectrum/libspectrum/snapshot.c trunk/libspectrum/libspectrum/szx.c trunk/libspectrum/libspectrum/tape.c trunk/libspectrum/libspectrum/warajevo_read.c trunk/libspectrum/libspectrum/wav.c trunk/libspectrum/libspectrum.h trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj trunk/libspectrum/libspectrumpb/libspectrum.xcodeproj/project.pbxproj Added Paths: ----------- trunk/fuse/rectangle.c trunk/fuse/rectangle.h trunk/fuse/sound/blipbuffer.c trunk/fuse/sound/blipbuffer.h trunk/fuse/sound.c Removed Paths: ------------- trunk/fuse/sound/Blip_Buffer.cpp trunk/fuse/sound/Blip_Buffer.h trunk/fuse/sound.cpp Property Changed: ---------------- trunk/fuse/ trunk/libspectrum/libspectrum/ Modified: trunk/FuseGenerator/generate.pl =================================================================== --- trunk/FuseGenerator/generate.pl 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/FuseGenerator/generate.pl 2010-05-24 14:23:37 UTC (rev 639) @@ -172,6 +172,17 @@ /* we support snapshots etc. requiring zlib (e.g. compressed szx) */ #define LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION (1) + +/* zlib (de)compression routines */ + +WIN32_DLL libspectrum_error +libspectrum_zlib_inflate( const libspectrum_byte *gzptr, size_t gzlength, + libspectrum_byte **outptr, size_t *outlength ); + +WIN32_DLL libspectrum_error +libspectrum_zlib_compress( const libspectrum_byte *data, size_t length, + libspectrum_byte **gzptr, size_t *gzlength ); + CODE } Modified: trunk/FuseImporter/generate.pl =================================================================== --- trunk/FuseImporter/generate.pl 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/FuseImporter/generate.pl 2010-05-24 14:23:37 UTC (rev 639) @@ -172,6 +172,17 @@ /* we support snapshots etc. requiring zlib (e.g. compressed szx) */ #define LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION (1) + +/* zlib (de)compression routines */ + +WIN32_DLL libspectrum_error +libspectrum_zlib_inflate( const libspectrum_byte *gzptr, size_t gzlength, + libspectrum_byte **outptr, size_t *outlength ); + +WIN32_DLL libspectrum_error +libspectrum_zlib_compress( const libspectrum_byte *data, size_t length, + libspectrum_byte **gzptr, size_t *gzlength ); + CODE } Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo - /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-609 + /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-638 Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/ChangeLog 2010-05-24 14:23:37 UTC (rev 639) @@ -1,13 +1,13 @@ -2009-xx-xx Philip Kendall <phi...@sh...> +2010-xx-xx Philip Kendall <phi...@sh...> - * Fuse ?.??.? released + * Fuse 0.11.0 released - FIXME: Just a start, mostly changes visible on Fuse for OS X at the - moment * Add Opus Discovery disk interface support (Gergely Szasz and Fredrick Meunier). - * Wii support. - * Many improvements to Win32 UI (Marek Januszewski). + * Wii support (Bjoern Giesler, Philip Kendall, Marek Januszewski). + * Many improvements to Win32 UI, including an installer (Marek + Januszewski). + * Support weak data in +3 disk images (Gergely Szasz). * Add support for flipping disk images in single sided drives (Gergely Szasz). * Add support for automatically merging both both disk images where @@ -25,6 +25,16 @@ that use the 128K sound ports (Fredrick Meunier). * Add support for Pentagon 1024SL v2.2 16 colour mode (Fredrick Meunier). + * Implement GTK+ drag and drop support (Dmitry Semyonov). + * Better support for international keyboards (Michal Jurica). + * Allow svgalib UI to use full range of bit depths and scalers (Gergely + Szasz). + * Allow GTK+ scalers to set window size in GTK+ UI (rkd77, Fredrick + Meunier). + * Allow selection of "TV speaker" or "beeper"-style sound output + (Fredrick Meunier) + * Allow hot-key switching between full-screen and windowed mode in + SDL UI (György Szombathelyi). * Miscellaneous improvements: * Preformat new disks on +3 to allow the format command on +3 to work @@ -37,7 +47,51 @@ notebooks (thanks, Andrew Owen) (Fredrick Meunier). * Fixes for speed estimation (Gergely Szasz). * Fix border colour in Timex HiRes screenshots (Fredrick Meunier). + * Fix accelerated loaders when compiling with gcc 3.x (Carlos + Almeida, Alberto Garcia and Philip Kendall). + * Allow "combo" boxes in widget UI (Gergely Szasz). + * Allow Home and End keys to work in widget UI (Gergely Szasz). + * Fix poke finder passing the wrong page to the debugger (Marek + Januszewski). + * Ensure joystick code always activates fire buttons correctly + (thanks, anonymous user) + * Don't fire joystick fire button events unless they've actually + changed (Fredrick Meunier; thanks, Phil Reynolds). + * Make svgalib UI use event interface rather than polling (thanks, + anonymous user). + * Ensure empty XML elements can't cause a segfault (thanks, + anonymous user). + * Tweak sector padding to fix Opus ATC+Technician Ted.dsk (Gergely + Szasz; thanks, Simon Owen). + * Z80 NMI should take some time (Fredrick Meunier). + * Ensure netbooks always recognise the enter key (Fredrick Meunier; + thanks, Marce). + * Add a --without-png option to configure for Gentoo (José Manuel + Ferrer Ortiz) + * Many other things I forgot. If you contributed something and would + like to be mentioned here, please mail me. + +2009-01-14 Philip Kendall <phi...@sh...> + + * Fuse 0.10.0.2 released + + * Make loader acceleration work on all compilers (Philip Kendall; + thanks, Carlos Almeida, Alberto Garcia and Alexander Yurchenko). + + * Make the "Don't Save" option in the widget UI do the right thing + (Frederick Meunier). + + * Allow both +3 disk drives to be used at once (Gergely Szasz). + + * Allow both +D disk drives to be used at once (Gergely Szasz). + + * Make .dsk code handle missing newline on "Track-Info" header + (Gergely Szasz; thanks, Simon Owen). + + * Remove unnecessary 'use' directive when building widget options + header file; fixes some build issues (Frederick Meunier) + 2008-12-10 Philip Kendall <phi...@sh...> * Fuse 0.10.0.1 released @@ -981,4 +1035,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 4060 2009-07-30 13:21:38Z fredm $ +$Id: ChangeLog 4134 2010-05-21 13:16:19Z fredm $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/Makefile.am 2010-05-24 14:23:37 UTC (rev 639) @@ -1,7 +1,7 @@ # Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2009 Philip Kendall -## $Id: Makefile.am 4032 2009-06-10 11:09:44Z fredm $ +## $Id: Makefile.am 4112 2010-01-08 11:03:43Z 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 @@ -81,13 +81,14 @@ printer.c \ profile.c \ psg.c \ + rectangle.c \ rzx.c \ scld.c \ screenshot.c \ settings.c \ slt.c \ snapshot.c \ - sound.cpp \ + sound.c \ spectrum.c \ tape.c \ ui.c \ @@ -149,8 +150,8 @@ BUILT_SOURCES = options.h settings.c settings.h -windres.o: windres.rc winfuse.ico - @WINDRES@ -I$(srcdir) -I. $(srcdir)/windres.rc windres.o +windres.o: windres.rc winfuse.ico ui/win32/*.rc + @WINDRES@ -I$(srcdir) -I. $(srcdir)/windres.rc @LIBSPEC_CFLAGS@ @CPPFLAGS@ windres.o settings.c: settings.pl settings.dat @PERL@ -I$(srcdir)/perl $(srcdir)/settings.pl $(srcdir)/settings.dat > $@.tmp && mv $@.tmp $@ @@ -191,6 +192,7 @@ module.h \ periph.h \ psg.h \ + rectangle.h \ rzx.h \ screenshot.h \ settings.h \ Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/README 2010-05-24 14:23:37 UTC (rev 639) @@ -1,4 +1,4 @@ -The Free Unix Spectrum Emulator (Fuse) 0.10.0.1 +The Free Unix Spectrum Emulator (Fuse) 0.10.0.2 =============================================== Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat @@ -111,9 +111,9 @@ Once you've got Fuse configured and built, read the man page :-) -Note that if you're using version of Fuse from CVS rather than one of -the released tarballs, you'll need to run `autogen.sh' before running -'configure' for the first time. +Note that if you're using version of Fuse from Subversion rather than +one of the released tarballs, you'll need to run `autogen.sh' before +running 'configure' for the first time. Building the OS X version of Fuse --------------------------------- @@ -138,7 +138,7 @@ --with-wii \ --without-libxml2 --without-libiconv --without-gpm \ --without-x --without-glib \ - CFLAGS="-g -I$DEVKITPPC/include -I$DEVKITPRO/libogc/include" \ + CFLAGS="-g -I$DEVKITPPC/include -I$DEVKITPRO/libogc/include -DGEKKO" \ LDFLAGS="-g -mrvl -mcpu=750 -meabi -mhard-float \ -Wl,-Map,fuse.elf.map -L$DEVKITPPC/lib \ -L$DEVKITPRO/libogc/lib/wii" \ @@ -151,6 +151,42 @@ This should build fuse.elf, which you can run on your Wii via the usual methods. +Building the Win32 version of Fuse on Linux +-------------------------------- + +You'll need to have the standard MinGW programming tool set. e.g. on Debian +`apt-get install mingw32 mingw-binutils mingw32-runtime' + <http://www.mingw.org/> + +First, have to compile libspectrum: + +./configure --host=i586-mingw32msvc --without-libaudiofile --without-zlib \ + --without-libgcrypt --without-bzip2 --without-glib --prefix=`pwd` +make install + +This should compile libspectrum without any external lib, and `install' into the +source directory. All of the external libs needed by libspectrum and fuse +compile with successfully with MingGW environment - in case of problems +with compiling any of the libs please refer to the lib's homepage for help. + +Then, compile fuse: + +./configure --host=i586-mingw32msvc --without-glib --prefix=`pwd` \ + --with-libspectrum-prefix=`pwd`/../libspectrum --with-win32 \ + --without-libxml2 --without-x +make + +You have to use the real path of libspectrum with `--with-libspectrum-prefix='. +This should build `fuse.exe' without any external lib, but you can run it on +Windows or Linux (with Wine). + +Note: you need `libspectrum-7.dll' and the `roms' directory and the `lib' + directory to `fuse' run perfectly. You may copy this file and directories + into that directory where `fuse.exe' exists. On windows you may need to + copy all files from `lib/uncompressed' into `lib'. + With wine you need `fltmgr.sys' in Windows `system32' directory. (e.g.: + ~/.wine/c_drive/windows/system32). + Closing comments ---------------- @@ -178,6 +214,6 @@ ( http://www.worldofspectrum.org/faq/index.html ) first! Philip Kendall <phi...@sh...> -10 December 2008 +14 January 2009 -$Id: README 4060 2009-07-30 13:21:38Z fredm $ +$Id: README 4132 2010-05-20 12:06:53Z fredm $ Modified: trunk/fuse/compat/unix/file.c =================================================================== --- trunk/fuse/compat/unix/file.c 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/compat/unix/file.c 2010-05-24 14:23:37 UTC (rev 639) @@ -1,7 +1,7 @@ /* file.c: File-related compatibility routines Copyright (c) 2008 Philip Kendall - $Id: file.c 4040 2009-06-27 09:32:42Z fredm $ + $Id: file.c 4072 2009-08-31 15:42:26Z specu $ 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 @@ -41,7 +41,7 @@ compat_fd compat_file_open( const char *path, int write ) { - return fopen( path, write ? "w" : "r" ); + return fopen( path, write ? "wb" : "rb" ); } off_t Modified: trunk/fuse/compat/wii/paths.c =================================================================== --- trunk/fuse/compat/wii/paths.c 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/compat/wii/paths.c 2010-05-24 14:23:37 UTC (rev 639) @@ -1,7 +1,7 @@ /* paths.c: Path-related compatibility routines Copyright (c) 1999-2009 Philip Kendall, Bjoern Giesler - $Id: paths.c 3970 2009-01-19 03:47:02Z specu $ + $Id: paths.c 4065 2009-08-13 18:33:21Z specu $ 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 @@ -50,5 +50,8 @@ if(strlen(path) >= strlen("fat:/") && strncmp(path, "fat:/", strlen("fat:/")) == 0) return 1; + if(strlen(path) >= strlen("sd:/") && + strncmp(path, "sd:/", strlen("sd:/")) == 0) + return 1; return 0; } Modified: trunk/fuse/compat.h =================================================================== --- trunk/fuse/compat.h 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/compat.h 2010-05-24 14:23:37 UTC (rev 639) @@ -1,7 +1,7 @@ /* compat.h: various compatibility bits Copyright (c) 2003-2008 Philip Kendall - $Id: compat.h 4040 2009-06-27 09:32:42Z fredm $ + $Id: compat.h 4068 2009-08-30 19:30:19Z specu $ 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 @@ -78,11 +78,11 @@ typedef FILE* compat_fd; -#ifndef UI_WII +#ifndef GEKKO typedef DIR* compat_dir; -#else /* #ifndef UI_WII */ +#else /* #ifndef GEKKO */ typedef DIR_ITER* compat_dir; -#endif /* #ifndef UI_WII */ +#endif /* #ifndef GEKKO */ extern const compat_fd COMPAT_FILE_OPEN_FAILED; Modified: trunk/fuse/configure.in =================================================================== --- trunk/fuse/configure.in 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/configure.in 2010-05-24 14:23:37 UTC (rev 639) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in 4028 2009-05-31 13:15:52Z fredm $ +dnl $Id: configure.in 4132 2010-05-20 12:06:53Z 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 @@ -24,11 +24,10 @@ AC_CANONICAL_SYSTEM dnl Use automake to produce `Makefile.in' -AM_INIT_AUTOMAKE(fuse, 0.10.0.1) +AM_INIT_AUTOMAKE(fuse, 0.10.0.2) dnl Checks for programs. AC_PROG_CC -AC_PROG_CXX AC_PROG_RANLIB AC_PATH_PROG(PERL, perl) AC_SUBST(PERL) @@ -308,10 +307,7 @@ ac_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $LIBSPEC_CFLAGS" AC_TRY_COMPILE([#include <libspectrum.h>],[ -void test() -{ int test = LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION; -} ], AUTOLOAD_SNAPS=compressed; AC_MSG_RESULT(yes), AUTOLOAD_SNAPS=uncompressed; AC_MSG_RESULT(no)) @@ -348,33 +344,41 @@ lib/tape_ts2068.szx]) dnl Check if a version of libpng which supplies png_write_png is available -AC_PATH_PROG([LIBPNG_CONFIG], [libpng-config]) -if test -n "$LIBPNG_CONFIG"; then - PNG_CFLAGS=`libpng-config --cflags` - PNG_LIBS=`libpng-config --ldflags` - PNG_LIBS=`echo " $PNG_LIBS" | sed 's/ -l[[^ ]][[^ ]]*//g'` -fi +AC_MSG_CHECKING(whether PNG support requested) +AC_ARG_WITH(png, +[ --without-png don't use libpng], +if test "$withval" = no; then libpng=no; else libpng=yes; fi, +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` + PNG_LIBS=`echo " $PNG_LIBS" | sed 's/ -l[[^ ]][[^ ]]*//g'` + fi -ac_save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS $PNG_CFLAGS" -ac_save_LDFLAGS="$LDFLAGS" -LDFLAGS="$PNG_LIBS $LDFLAGS" + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $PNG_CFLAGS" + ac_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$PNG_LIBS $LDFLAGS" -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_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_LIBS) + [AC_MSG_WARN(png_write_png not found - saving screenshots disabled) + PNG_LIBS=''] + ) + AC_SUBST(PNG_LIBS) +fi LDFLAGS="$ac_save_LDFLAGS" @@ -554,7 +558,7 @@ if test "$libxml2" = yes; then AM_PATH_XML2(2.0.0,AC_DEFINE([HAVE_LIB_XML2], 1, [Defined if we've got libxml2]), - AC_WARN(libxml2 not found - config file use disabled)) + AC_WARN(libxml2 not found - config file will use ini format)) fi dnl Work out which timer routines to use Modified: trunk/fuse/debugger/command.c =================================================================== --- trunk/fuse/debugger/command.c 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/debugger/command.c 2010-05-24 14:23:37 UTC (rev 639) @@ -1,7 +1,7 @@ /* command.c: Parse a debugger command Copyright (c) 2002-2008 Philip Kendall - $Id: command.c 3631 2008-05-26 12:22:29Z pak21 $ + $Id: command.c 4125 2010-05-06 22:18: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 Modified: trunk/fuse/debugger/commandl.l =================================================================== --- trunk/fuse/debugger/commandl.l 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/debugger/commandl.l 2010-05-24 14:23:37 UTC (rev 639) @@ -1,7 +1,7 @@ /* commandl.l: Debugger command lexical scanner Copyright (c) 2002-2008 Philip Kendall - $Id: commandl.l 3712 2008-07-06 11:45:24Z pak21 $ + $Id: commandl.l 4130 2010-05-18 12:06:19Z 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 @@ -37,7 +37,9 @@ #define YY_INPUT(buf,result,max_size) \ { \ - if( !debugger_command_input( buf, &result, max_size ) ) result = YY_NULL; \ + int retval; \ + if( !debugger_command_input( buf, &retval, max_size ) ) retval = YY_NULL; \ + result = (yy_size_t)retval; \ } #define YY_NO_INPUT Modified: trunk/fuse/debugger/debugger_internals.h =================================================================== --- trunk/fuse/debugger/debugger_internals.h 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/debugger/debugger_internals.h 2010-05-24 14:23:37 UTC (rev 639) @@ -1,7 +1,7 @@ /* debugger_internals.h: The internals of Fuse's monitor/debugger Copyright (c) 2002-2008 Philip Kendall - $Id: debugger_internals.h 3681 2008-06-16 09:40:29Z pak21 $ + $Id: debugger_internals.h 4125 2010-05-06 22:18: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 Modified: trunk/fuse/debugger/disassemble.c =================================================================== --- trunk/fuse/debugger/disassemble.c 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/debugger/disassemble.c 2010-05-24 14:23:37 UTC (rev 639) @@ -1,7 +1,7 @@ /* disassemble.c: Fuse's disassembler Copyright (c) 2002-2003 Darren Salt, Philip Kendall - $Id: disassemble.c 3115 2007-08-19 02:49:14Z fredm $ + $Id: disassemble.c 4087 2009-09-02 13:42:00Z 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 @@ -161,7 +161,7 @@ case 0x00: case 0x08: if( b <= 0x08 ) { - snprintf( buffer, buflen, opcode_00xxx000[ b >> 3 ] ); *length = 1; + snprintf( buffer, buflen, "%s", opcode_00xxx000[ b >> 3 ] ); *length = 1; } else { get_offset( buffer2, 40, address + 2, readbyte_internal( address + 1 ) ); snprintf( buffer, buflen, "%s%s", opcode_00xxx000[ b >> 3 ], buffer2 ); @@ -540,7 +540,7 @@ break; case 0x07: case 0x0f: - snprintf( buffer, buflen, opcode_01xxx111[ ( b >> 3 ) & 0x07 ] ); + snprintf( buffer, buflen, "%s", opcode_01xxx111[ ( b >> 3 ) & 0x07 ] ); *length = 1; break; @@ -560,7 +560,7 @@ snprintf( buffer, buflen, "NOPD" ); *length = 1; *length = 1; } else { /* Note: 0xbc to 0xbf already removed */ - snprintf( buffer, buflen, opcode_101xxxxx[ b & 0x1f ] ); *length = 1; + snprintf( buffer, buflen, "%s", opcode_101xxxxx[ b & 0x1f ] ); *length = 1; } } @@ -713,7 +713,7 @@ return 1; } else { const char *regs[] = { "B", "C", "D", "E", "H", "L", "(HL)", "A" }; - snprintf( buffer, buflen, regs[i] ); + snprintf( buffer, buflen, "%s", regs[i] ); return 0; } } Modified: trunk/fuse/disk/beta.c =================================================================== --- trunk/fuse/disk/beta.c 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/disk/beta.c 2010-05-24 14:23:37 UTC (rev 639) @@ -1,7 +1,7 @@ /* beta.c: Routines for handling the Beta disk interface Copyright (c) 2004-2008 Stuart Brady - $Id: beta.c 4060 2009-07-30 13:21:38Z fredm $ + $Id: beta.c 4131 2010-05-19 10:52:37Z 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 @@ -58,6 +58,9 @@ #define DISK_TRY_MERGE(heads) ( option_enumerate_diskoptions_disk_try_merge() == 2 || \ ( option_enumerate_diskoptions_disk_try_merge() == 1 && heads == 1 ) ) +/* Two 8Kb memory chunks accessible by the Z80 when /ROMCS is low */ +memory_page beta_memory_map_romcs[2]; + int beta_available = 0; int beta_active = 0; int beta_builtin = 0; @@ -124,8 +127,8 @@ { if( !beta_active ) return; - memory_map_read[0] = memory_map_write[0] = memory_map_romcs[ 0 ]; - memory_map_read[1] = memory_map_write[1] = memory_map_romcs[ 1 ]; + memory_map_read[0] = memory_map_write[0] = beta_memory_map_romcs[0]; + memory_map_read[1] = memory_map_write[1] = beta_memory_map_romcs[1]; } static void @@ -150,7 +153,7 @@ for( i = 0; i < BETA_NUM_DRIVES; i++ ) { d = &beta_drives[ i ]; - fdd_init( &d->fdd, FDD_SHUGART, 0, 0, 0 ); /* drive geometry 'autodetect' */ + fdd_init( &d->fdd, FDD_SHUGART, NULL, 0 ); /* drive geometry 'autodetect' */ d->disk.flag = DISK_FLAG_NONE; } beta_select_drive( 0 ); @@ -165,6 +168,7 @@ if( index_event == -1 ) return 1; module_register( &beta_module_info ); + for( i = 0; i < 2; i++ ) beta_memory_map_romcs[i].bank = MEMORY_BANK_ROMCS; return 0; } @@ -199,15 +203,15 @@ } if( !beta_builtin ) { - machine_load_rom_bank( memory_map_romcs, 0, 0, + machine_load_rom_bank( beta_memory_map_romcs, 0, 0, settings_current.rom_beta128, settings_default.rom_beta128, 0x4000 ); - memory_map_romcs[ 0 ].writable = 0; - memory_map_romcs[ 1 ].writable = 0; + beta_memory_map_romcs[ 0 ].writable = 0; + beta_memory_map_romcs[ 1 ].writable = 0; - memory_map_romcs[0].source = MEMORY_SOURCE_PERIPHERAL; - memory_map_romcs[1].source = MEMORY_SOURCE_PERIPHERAL; + beta_memory_map_romcs[0].source = MEMORY_SOURCE_PERIPHERAL; + beta_memory_map_romcs[1].source = MEMORY_SOURCE_PERIPHERAL; beta_active = 0; @@ -225,8 +229,7 @@ /* We can eject disks only if they are currently present */ dt = &fdd_params[ option_enumerate_diskoptions_drive_beta128a_type() + 1 ]; /* +1 => there is no `Disabled' */ - fdd_init( &beta_drives[ BETA_DRIVE_A ].fdd, FDD_SHUGART, - dt->heads, dt->cylinders, 1 ); + fdd_init( &beta_drives[ BETA_DRIVE_A ].fdd, FDD_SHUGART, dt, 1 ); ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_A, dt->enabled ); ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_A_EJECT, beta_drives[ BETA_DRIVE_A ].fdd.loaded ); @@ -237,8 +240,7 @@ dt = &fdd_params[ option_enumerate_diskoptions_drive_beta128b_type() ]; - fdd_init( &beta_drives[ BETA_DRIVE_B ].fdd, dt->enabled ? FDD_SHUGART : FDD_TYPE_NONE, - dt->heads, dt->cylinders, 1 ); + fdd_init( &beta_drives[ BETA_DRIVE_B ].fdd, dt->enabled ? FDD_SHUGART : FDD_TYPE_NONE, dt, 1 ); ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_B, dt->enabled ); ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_B_FLIP_SET, !beta_drives[ BETA_DRIVE_B ].fdd.upsidedown ); @@ -249,8 +251,7 @@ dt = &fdd_params[ option_enumerate_diskoptions_drive_beta128c_type() ]; - fdd_init( &beta_drives[ BETA_DRIVE_C ].fdd, dt->enabled ? FDD_SHUGART : FDD_TYPE_NONE, - dt->heads, dt->cylinders, 1 ); + fdd_init( &beta_drives[ BETA_DRIVE_C ].fdd, dt->enabled ? FDD_SHUGART : FDD_TYPE_NONE, dt, 1 ); ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_C, dt->enabled ); ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_C_FLIP_SET, !beta_drives[ BETA_DRIVE_C ].fdd.upsidedown ); @@ -261,8 +262,7 @@ dt = &fdd_params[ option_enumerate_diskoptions_drive_beta128d_type() ]; - fdd_init( &beta_drives[ BETA_DRIVE_D ].fdd, dt->enabled ? FDD_SHUGART : FDD_TYPE_NONE, - dt->heads, dt->cylinders, 1 ); + fdd_init( &beta_drives[ BETA_DRIVE_D ].fdd, dt->enabled ? FDD_SHUGART : FDD_TYPE_NONE, dt, 1 ); ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_D, dt->enabled ); ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_D_FLIP_SET, !beta_drives[ BETA_DRIVE_D ].fdd.upsidedown ); @@ -702,7 +702,7 @@ if( libspectrum_snap_beta_custom_rom( snap ) && libspectrum_snap_beta_rom( snap, 0 ) && machine_load_rom_bank_from_buffer( - memory_map_romcs, 0, 0, + beta_memory_map_romcs, 0, 0, libspectrum_snap_beta_rom( snap, 0 ), MEMORY_PAGE_SIZE * 2, 1 ) ) @@ -734,7 +734,7 @@ libspectrum_snap_set_beta_active( snap, 1 ); - if( memory_map_romcs[0].source == MEMORY_SOURCE_CUSTOMROM ) { + if( beta_memory_map_romcs[0].source == MEMORY_SOURCE_CUSTOMROM ) { size_t rom_length = MEMORY_PAGE_SIZE * 2; buffer = malloc( rom_length ); @@ -743,8 +743,8 @@ return; } - memcpy( buffer, memory_map_romcs[0].page, MEMORY_PAGE_SIZE ); - memcpy( buffer + MEMORY_PAGE_SIZE, memory_map_romcs[1].page, + memcpy( buffer, beta_memory_map_romcs[0].page, MEMORY_PAGE_SIZE ); + memcpy( buffer + MEMORY_PAGE_SIZE, beta_memory_map_romcs[1].page, MEMORY_PAGE_SIZE ); libspectrum_snap_set_beta_rom( snap, 0, buffer ); Modified: trunk/fuse/disk/beta.h =================================================================== --- trunk/fuse/disk/beta.h 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/disk/beta.h 2010-05-24 14:23:37 UTC (rev 639) @@ -1,7 +1,7 @@ /* beta.h: Routines for handling the Beta disk interface Copyright (c) 2003-2004 Fredrick Meunier, Philip Kendall - $Id: beta.h 4029 2009-06-05 13:50:55Z fredm $ + $Id: beta.h 4099 2009-10-22 10:59: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 @@ -30,6 +30,7 @@ #include <libspectrum.h> +#include "memory.h" #include "periph.h" #include "disk/fdd.h" @@ -37,6 +38,9 @@ extern int beta_active; /* Is the Beta disk interface enabled? */ extern int beta_builtin; /* Is the Beta disk interface built-in? */ +/* Two 8Kb memory chunks accessible by the Z80 when /ROMCS is low */ +extern memory_page beta_memory_map_romcs[2]; + extern libspectrum_word beta_pc_mask; /* Bits to mask in PC for enable check */ extern libspectrum_word beta_pc_value; /* Value to compare masked PC against */ Modified: trunk/fuse/disk/disk.c =================================================================== --- trunk/fuse/disk/disk.c 2010-05-24 12:05:28 UTC (rev 638) +++ trunk/fuse/disk/disk.c 2010-05-24 14:23:37 UTC (rev 639) @@ -1,7 +1,7 @@ /* disk.c: Routines for handling disk images - Copyright (c) 2007 Gergely Szasz + Copyright (c) 2007-2010 Gergely Szasz - $Id: disk.c 4061 2009-07-30 23:37:29Z fredm $ + $Id: disk.c 4114 2010-01-15 13:45: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 @@ -53,7 +53,7 @@ "Cannot close file", /* DISK_CLOSE */ "Cannot write disk image", /* DISK_WRFILE */ "Partially written file", /* DISK_WRPART */ - + "Unknown error code" /* DISK_LAST_ERROR */ }; @@ -135,7 +135,7 @@ id_read( disk_t *d, int *head, int *track, int *sector, int *length ) { int a1mark = 0; - + while( d->i < d->bpt ) { if( d->track[ d->i ] == 0xa1 && bitmap_test( d->clocks, d->i ) ) { /* 0xa1 with clock */ @@ -210,9 +210,8 @@ { int s; int del; - - d->track = d->data + ( ( d->sides * track + head ) * d->tlen ); - d->clocks = d->track + d->bpt; + + DISK_SET_TRACK( d, head, track ); d->i = 0; for( s = sector_base; s < sector_base + sectors; s++ ) { if( id_seek( d, s ) ) { @@ -232,9 +231,8 @@ { int h, t, s, seclen; int del; - - d->track = d->data + ( ( d->sides * track + head ) * d->tlen ); - d->clocks = d->track + d->bpt; + + DISK_SET_TRACK( d, head, track ); d->i = 0; while( id_read( d, &h, &t, &s, &seclen ) ) { if( datamark_read( d, &del ) ) { /* write data if we have data */ @@ -253,6 +251,8 @@ #define DISK_DDAM 32 #define DISK_CORRUPT_SECTOR 64 #define DISK_UNFORMATTED_TRACK 128 +#define DISK_FM_DATA 256 +#define DISK_WEAK_DATA 512 static int guess_track_geom( disk_t *d, int head, int track, int *sector_base, @@ -266,8 +266,7 @@ *seclen = -1; *mfm = -1; - d->track = d->data + ( d->sides * track + head ) * d->tlen; - d->clocks = d->track + d->bpt; + DISK_SET_TRACK( d, head, track ); d->i = 0; while( id_read( d, &h, &t, &s, &sl ) ) { if( *sector_base == -1 ) @@ -294,6 +293,31 @@ return r; } +static void +update_tracks_mode( disk_t *d ) +{ + int i, j, bpt; + int mfm, fm, weak; + + for( i = 0; i < d->cylinders * d->sides; i++ ) { + DISK_SET_TRACK_IDX( d, i ); + mfm = 0, fm = 0, weak = 0; + bpt = d->track[-3] + 256 * d->track[-2]; + for( j = DISK_CLEN( bpt ) - 1; j >= 0; j-- ) { + mfm |= ~d->fm[j]; + fm |= d->fm[j]; + weak |= d->weak[j]; + } + if( mfm && !fm ) d->track[-1] = 0x00; + if( !mfm && fm ) d->track[-1] = 0x01; + if( mfm && fm ) d->track[-1] = 0x02; + if( weak ) { + d->track[-1] |= 0x80; + d->have_weak = 1; + } + } +} + static int check_disk_geom( disk_t *d, int *sector_base, int *sectors, int *seclen, int *mfm, int *unf ) @@ -301,7 +325,7 @@ int h, t, s, slen, sbase, m; int r = 0; - d->track = d->data; d->clocks = d->track + d->bpt; + DISK_SET_TRACK_IDX( d, 0 ); d->i = 0; *sector_base = -1; *sectors = -1; @@ -310,6 +334,9 @@ *unf = -1; for( t = 0; t < d->cylinders; t++ ) { for( h = 0; h < d->sides; h++ ) { + r |= ( d->track[-1] & 0x80 ) ? DISK_WEAK_DATA : 0; + r |= ( d->track[-1] & 0x03 ) == 0x02 ? DISK_MFM_VARI : 0; + r |= ( d->track[-1] & 0x03 ) == 0x01 ? DISK_FM_DATA : 0; r |= guess_track_geom( d, h, t, &sbase, &s, &slen, &m ); if( *sector_base == -1 ) *sector_base = sbase; @@ -512,7 +539,7 @@ /* if 'buffer' == NULL, then copy data bytes from 'data' */ static int data_add( disk_t *d, buffer_t *buffer, unsigned char *data, int len, int ddam, - int gaptype, int crc_error, int autofill ) + int gaptype, int crc_error, int autofill, int *start_data ) { int length; libspectrum_word crc = 0xffff; @@ -532,6 +559,7 @@ if( d->i + len + 2 >= d->bpt ) /* too many data bytes */ return 1; /*------------------------------ data ------------------------------*/ + if( start_data != NULL ) *start_data = d->i; /* record data start position */ if( buffer == NULL ) { memcpy( d->track + d->i, data, len ); length = len; @@ -580,6 +608,19 @@ return len; } +static int +calc_lenid( int sector_length ) +{ + int id = 0; + + while( sector_length > 0x80 ) { + id++; + sector_length >>= 1; + } + + return id; +} + #define NO_INTERLEAVE 1 #define INTERLEAVE_2 2 #define INTERLEAVE_OPUS 13 @@ -597,8 +638,7 @@ int idx; d->i = 0; - d->track = d->data + ( ( d->sides * track + head ) * d->tlen ); - d->clocks = d->track + d->bpt; + DISK_SET_TRACK( d, head, track ); if( preindex && preindex_add( d, gap ) ) return 1; if( postindex_add( d, gap ) ) @@ -608,9 +648,9 @@ pos = i = 0; for( s = sector_base; s < sector_base + sectors; s++ ) { d->i = idx + pos * slen; - if( id_add( d, head, track, s, sector_length >> 8, gap, CRC_OK ) ) + if( id_add( d, head, track, s, calc_lenid( sector_length ), gap, CRC_OK ) ) return 1; - if( data_add( d, buffer, NULL, sector_length, NO_DDAM, gap, CRC_OK, autofill ) ) + if( data_add( d, buffer, NULL, sector_length, NO_DDAM, gap, CRC_OK, autofill, NULL ) ) return 1; pos += interleave; if( pos >= sectors ) { /* wrap around */ @@ -672,8 +712,8 @@ } if( d->bpt > 0 ) - d->tlen = d->bpt + d->bpt / 8 + ( d->bpt % 8 ? 1 : 0 ); - dlen = d->sides * d->cylinders * d->tlen; /* track len with clock marks */ + d->tlen = 4 + d->bpt + 3 * DISK_CLEN( d->bpt ); + dlen = d->sides * d->cylinders * d->tlen; /* track len with clock and other marks */ if( ( d->data = calloc( 1, dlen ) ) == NULL ) return d->status = DISK_MEM; @@ -739,11 +779,221 @@ if( d->sides < 1 || d->sides > 2 || \ d->cylinders < 1 || d->cylinders > 85 ) return d->status = DISK_GEOM +#ifdef LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION static int +udi_read_compressed( const libspectrum_byte *buffer, + size_t compr_size, size_t uncompr_size, + libspectrum_byte **data, size_t *data_size ) +{ + libspectrum_error error; + libspectrum_byte *tmp; + size_t olength = uncompr_size; + + tmp = NULL; + + error = libspectrum_zlib_inflate( buffer, compr_size, &tmp, &olength ); + if( error ) { + if( *data ) free( *data ); + *data_size = 0; + return error; + } + if( *data_size < uncompr_size ) { + *data = libspectrum_realloc( *data, uncompr_size ); + *data_size = uncompr_size; + } + memcpy( *data, tmp, uncompr_size ); + libspectrum_free( tmp ); + + return 0; +} + +static int +udi_write_compressed( const libspectrum_byte *buffer, + size_t uncompr_size, size_t *compr_size, + libspectrum_byte **data, size_t *data_size ) +{ + libspectrum_error error; + libspectrum_byte *tmp; + + tmp = NULL; + error = libspectrum_zlib_compress( buffer, uncompr_size, + &tmp, compr_size ); + if( error ) return error; + + if( *data_size < *compr_size ) { + *data = libspectrum_realloc( *data, *compr_size ); + *data_size = *compr_size; + } + memcpy( *data, tmp, *compr_size ); + libspectrum_free( tmp ); + + return LIBSPECTRUM_ERROR_NONE; +} +#endif /* #ifdef LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION */ + +static void +udi_pack_tracks( disk_t *d ) +{ + int i, tlen, clen, ttyp; + libspectrum_byte *tmp; + + for( i = 0; i < d->sides * d->cylinders; i++ ) { + DISK_SET_TRACK_IDX( d, i ); + tmp = d->track; + ttyp = tmp[-1]; + tlen = tmp[-3] + 256 * tmp[-2]; + clen = DISK_CLEN( tlen ); + tmp += tlen; + /* copy clock if needed */ + if( tmp != d->clocks ) + memcpy( tmp, d->clocks, clen ); + if( ttyp == 0x00 || ttyp == 0x01 ) continue; + tmp += clen; + if( ttyp & 0x02 ) { /* copy FM marks */ + if( tmp != d->fm ) + memcpy( tmp, d->fm, clen ); + tmp += clen; + } + if( ! ( ttyp & 0x80 ) ) continue; + if( tmp != d->weak ) /* copy WEAK marks*/ + memcpy( tmp, d->weak, clen ); + } +} + +static void +udi_unpack_tracks( disk_t *d ) +{ + int i, tlen, clen, ttyp; + libspectrum_byte *tmp; + libspectrum_byte mask[] = { 0xff, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe }; + + for( i = 0; i < d->sides * d->cylinders; i++ ) { + DISK_SET_TRACK_IDX( d, i ); + tmp = d->track; + ttyp = tmp[-1]; + tlen = tmp[-3] + 256 * tmp[-2]; + clen = DISK_CLEN( tlen ); + tmp += tlen; + if( ttyp & 0x80 ) tmp += clen; + if( ttyp & 0x02 ) tmp += clen; + if( ( ttyp & 0x80 ) ) { /* copy WEAK marks*/ + if( tmp != d->weak ) + memcpy( d->weak, tmp, clen ); + tmp -= clen; + } else { /* clear WEAK marks*/ + memset( d->weak, 0, clen ); + } + if( ttyp & 0x02 ) { /* copy FM marks */ + if( tmp != d->fm ) + memcpy( d->fm, tmp, clen ); + tmp -= clen; + } else { /* set/clear FM marks*/ + memset( d->fm, ttyp & 0x01 ? 0xff : 0, clen ); + if( tlen % 8 ) { /* adjust last byte */ + d->fm[clen - 1] &= mask[ tlen % 8 ]; + } + } + /* copy clock if needed */ + if( tmp != d->clocks ) + memcpy( d->clocks, tmp, clen ); + } +} + +/* calculate track len from type, if type eq. 0x00/0x01/0x02/0x80/0x81/0x82 + !!! not for 0x83 nor 0xf0 !!! +*/ +#define UDI_TLEN( type, bpt ) ( ( bpt ) + DISK_CLEN( bpt ) * ( 1 + \ + ( type & 0x02 ? 1 : 0 ) + \ + ( type & 0x80 ? 1 : 0 ) ) ) + +static int +udi_uncompress_tracks( disk_t *d ) +{ + int i; + libspectrum_byte *data = NULL; +#ifdef LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION + size_t data_size = 0; + int bpt, tlen, clen, ttyp; +#endif /* #ifdef LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION */ + + for( i = 0; i < d->sides * d->cylinders; i++ ) { + DISK_SET_TRACK_IDX( d, i ); + if( d->track[-1] != 0xf0 ) continue; /* if not compressed */ + +#ifndef LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION + /* if libspectrum cannot support */ + return d->status = DISK_UNSUP; +#else /* #ifndef LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION */ + clen = d->track[-3] + 256 * d->track[-2] + 1; + ttyp = d->track[0]; /* compressed track type */ + bpt = d->track[1] + 256 * d->track[2]; /* compressed track len... */ + tlen = UDI_TLEN( ttyp, bpt ); + d->track[-1] = ttyp; + d->track[-3] = d->track[1]; + d->track[-2] = d->track[2]; + if( udi_read_compressed( d->track + 3, clen, tlen, &data, &data_size ) ) { + if( data ) libspectrum_free( data ); + return d->status = DISK_UNSUP; + } + memcpy( d->track, data, tlen ); /* read track */ +#endif /* #ifndef LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION */ + } + if( data ) libspectrum_free( data ); + return DISK_OK; +} + +#ifdef LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION +static int +udi_compress_tracks( disk_t *d ) +{ + int i, tlen; + libspectrum_byte *data = NULL; + size_t clen, data_size = 0; + + for( i = 0; i < d->sides * d->cylinders; i++ ) { + DISK_SET_TRACK_IDX( d, i ); + if( d->track[-1] == 0xf0 ) continue; /* already compressed??? */ + + tlen = UDI_TLEN( d->track[-1], d->track[-3] + 256 * d->track[-2] ); + /* if fail to compress, skip ... */ + if( udi_write_compressed( d->track, tlen, &clen, &data, &data_size ) || + clen < 1 ) continue; + /* if compression too large, skip... */ + if( clen > 65535 || clen >= tlen ) continue; + d->track[0] = d->track[-1]; /* track type... */ + d->track[1] = d->track[-3]; /* compressed track len... */ + d->track[2] = d->track[-2]; /* compressed track len... */ + memcpy( d->track + 3, data, clen ); /* read track */ + clen--; + d->track[-1] = 0xf0; + d->track[-3] = clen & 0xff; + d->track[-2] = ( clen >> 8 ) & 0xff; + } + if( data ) libspectrum_free( data ); + return DISK_OK; +} +#endif /* #ifdef LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION */ + +static int open_udi( buffer_t *buffer, disk_t *d ) { - int i, j, bpt; + int i, bpt, ttyp, tlen, error; + size_t clen, eof; + libspectrum_dword crc; + crc = ~(libspectrum_dword) 0; + + /* check file length */ + eof = buff[4] + 256 * buff[5] + 65536 * buff[6] + 16777216 * buff[7]; + if( eof != buffer->file.length - 4 ) + return d->status = DISK_OPEN; + /* check CRC32 */ + for( i = 0; i < eof; i++ ) + crc = crc_udi( crc, buff[i] ); + if( crc != buff[eof] + 256 * buff[eof + 1] + 65536 * buff[eof + 2] + + 16777216 * buff[eof + 3] ) + return d->status = DISK_OPEN; + d->sides = buff[10] + 1; d->cylinders = buff[9] + 1; GEOM_CHECK; @@ -752,15 +1002,35 @@ d->bpt = 0; /* scan file for the longest track */ - for( i = 0; i < d->sides * d->cylinders; i++ ) { + for( i = 0; buffer->index < eof; i++ ) { if( buffavail( buffer ) < 3 ) return d->status = DISK_OPEN; - if( buff[0] != 0x00 ) + ttyp = buff[0]; + if( ttyp != 0x00 && ttyp != 0x01 && ttyp != 0x02 && ttyp != 0x80 && + ttyp != 0x81 && ttyp != 0x82 && ttyp != 0x83 && ttyp != 0xf0 ) return d->status = DISK_UNSUP; - bpt = buff[1] + 256 * buff[2]; /* current track len... */ + + /* if libspectrum cannot suppot*/ +#ifndef LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION + if( ttyp == 0xf0 ) d->status = DISK_UNSUP; +#endif /* #ifndef LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION */ + if( ttyp == 0x83 ) { /* multiple read */ + if( i == 0 ) return d->status = DISK_GEOM; /* cannot be first track */ + i--; bpt = 0; /* not a real track */ + tlen = buff[1] + 256 * buff[2]; /* current track len... */ + tlen = ( tlen & 0xfff8 ) * ( tlen & 0x07 ); + } else if( ttyp == 0xf0 ) { /* compressed track */ + if( buffavail( buffer ) < 7 ) + return d->status = DISK_OPEN; + bpt = buff[4] + 256 * buff[5]; + tlen = 7 + buff[1] + 256 * buff[2]; + } else { + bpt = buff[1] + 256 * buff[2]; /* current track len... */ + tlen = 3 + UDI_TLEN( ttyp, bpt ); + } if( bpt > d->bpt ) d->bpt = bpt; - if( buffseek( buffer, 3 + bpt + bpt / 8 + ( bpt % 8 ? 1 : 0 ), SEEK_CUR ) == -1 ) + if( buffseek( buffer, tlen, SEEK_CUR ) == -1 ) return d->status = DISK_OPEN; } @@ -768,33 +1038,46 @@ return d->status = DISK_GEOM; bpt = d->bpt; /* save the maximal value */ - d->tlen = bpt + bpt / 8 + ( bpt % 8 ? 1 : 0 ); + d->tlen = 3 + bpt + 3 * DISK_CLEN( bpt ); d->bpt = 0; /* we know exactly the track len... */ if( disk_alloc( d ) != DISK_OK ) return d->status; d->bpt = bpt; /* restore the maximal byte per track */ buffer->index = 16; - d->track = d->data; - for( i = 0; i < d->sides * d->cylinders; i++ ) { + for( i = 0; buffer->index < eof; i++ ) { + DISK_SET_TRACK_IDX( d, i ); + ttyp = buff[0]; bpt = buff[1] + 256 * buff[2]; /* current track len... */ - buffer->index += 3; + clen = DISK_CLEN( bpt ); + + memset( d->track, d->bpt, 0x4e ); /* fillup */ /* read track + clocks */ - if( d->bpt == bpt ) { /* if udi track length equal with the maximal track length */ - buffread( d->track, bpt + bpt / 8 + ( bpt % 8 ? 1 : 0 ), buffer ); + if( ttyp == 0x83 ) { /* multiple read */ + i--; /* not a real track */ + DISK_SET_TRACK_IDX( d, i ); /* back to previouse track */ + d->weak += buff[3] + 256 * buff[4]; /* add offset to weak */ + tlen = ( buff[1] + 256 * buff[2] ) >> 3; /* weak len in bytes */ + for( tlen--; tlen >= 0; tlen-- ) + d->weak[tlen] = 0xff; + tlen = buff[1] + 256 * buff[2]; /* current track len... */ + tlen = ( tlen & 0xfff8 ) * ( tlen & 0x07 ); + buffseek( buffer, tlen, SEEK_CUR ); } else { - buffread( d->track, bpt, buffer ); /* first the data */ - d->track += bpt; - for( j = d->bpt - bpt; j > 0; j--, d->track++ ) - *d->track = 0x4e; /* fill track data with 0x4e */ - buffread( d->track, bpt / 8 + ( bpt % 8 ? 1 : 0 ), buffer ); - d->track += bpt / 8 + ( bpt % 8 ? 1 : 0 ); - for( j = ( d->bpt / 8 + ( d->bpt % 8 ? 1 : 0 ) ) - - ( bpt / 8 + ( bpt % 8 ? 1 : 0 ) ); j > 0; j--, d->track++ ) - *d->track = 0x00; /* fill the clocks with 0x00 */ + if( ttyp == 0xf0 ) /* compressed */ + tlen = bpt + 4; + else + tlen = UDI_TLEN( ttyp, bpt ); + d->track[-1] = ttyp; + d->track[-3] = buff[1]; + d->track[-2] = buff[2]; + buffer->index += 3; + buffread( d->track, tlen, buffer ); /* first read data */ } - d->track += d->tlen; } + error = udi_uncompress_tracks( d ); + if( error ) return error; + udi_unpack_tracks( d ); return d->status = DISK_OK; } @@ -990,12 +1273,11 @@ buffread( head, 7, buffer ); /* 7 = track head */ track_offset = head[0x00] + 256 * head[0x01] + 65536 * head[0x02] + 16777216 * head[0x03]; - d->track = d->data + i * d->tlen; d->clocks = d->track + d->bpt; + DISK_SET_TRACK_IDX( d, i ); d->i = 0; if( preindex ) preindex_add( d, gap ); postindex_add( d, gap ); - bpt = 0; for( j = 0; j < head[0x06]; j++ ) { if( j % 35 == 0 ) { /* if we have more than 35 sector in a track, we have to seek back to the next sector @@ -1012,7 +1294,7 @@ data_add( d, buffer, NULL, ( head[ 0x0b + 7 * ( j % 35 ) ] & 0x3f ) == 0 ? -1 : 0x80 << head[ 0x0a + 7 * ( j % 35 ) ], head[ 0x0b + 7 * ( j % 35 ) ] & 0x80 ? DDAM : NO_DDAM, - gap, CRC_OK, NO_AUTOFILL ); + gap, CRC_OK, NO_AUTOFILL, NULL ); } head_offset += 7 + 7 * head[0x06]; gap4_add( d, gap ); @@ -1020,6 +1302,28 @@ return d->status = DISK_OK; } +static void +cpc_set_weak_range( disk_t *d, int idx, buffer_t *buffer, int n, int len ) +{ + int i, j, first = -1, last = -1; + libspectrum_byte *t, *w; + + t = d->track + idx; + w = buffer->file.buffer + buffer->index; + + for( i = 0; i < len; i++, t++, w++ ) { + for( j = 0; j < n - 1; j ++ ) { + if( *t != w[j * len] ) { + if( first == -1 ) first = idx + i; + last = idx + i; + } + } + } + for( ; first <= last; first++ ) { + bitmap_set( d->weak, first ); + } +} + #define CPC_ISSUE_NONE 0 #define CPC_ISSUE_1 1 #define CPC_ISSUE_2 2 @@ -1030,7 +1334,7 @@ static int open_cpc( buffer_t *buffer, disk_t *d, int preindex ) { - int i, j, seclen, idlen, gap, sector_pad; + int i, j, seclen, idlen, gap, sector_pad, idx; int bpt, max_bpt = 0, trlen; int fix[84], plus3_fix; unsigned char *hdrb; @@ -1122,7 +1426,7 @@ if( disk_alloc( d ) != DISK_OK ) return d->status; - d->track = d->data; d->clocks = d->track + d->bpt; + DISK_SET_TRACK_IDX( d, 0 ); buffer->index = 256; /* rewind to first track */ for( i = 0; i < d->sides*d->cylinders; i++ ) { hdrb = buff; @@ -1130,7 +1434,7 @@ gap = (unsigned char)hdrb[0x16] == 0xff ? GAP_MINIMAL_FM : GAP_MINIMAL_MFM; i = hdrb[0x10] * d->sides + hdrb[0x11]; /* adjust track No. */ - d->track = d->data + i * d->tlen; d->clocks = d->track + d->bpt; + DISK_SET_TRACK_IDX( d, i ); d->i = 0; if( preindex) preindex_add( d, gap ); @@ -1158,7 +1462,7 @@ data_add( d, buffer, NULL, seclen, hdrb[ 0x1d + 8 * j ] & 0x40 ? DDAM : NO_DDAM, gap, hdrb[ 0x1c + 8 * j ] & 0x20 && hdrb[ 0x1d + 8 * j ] & 0x20 ? - CRC_ERROR : CRC_OK, 0x00 ); + CRC_ERROR : CRC_OK, 0x00, NULL ); } else if( i < 84 && fix[i] == CPC_ISSUE_2 && j == 0 ) { /* 6144, 10x512 */ datamark_add( d, hdrb[ 0x1d + 8 * j ] & 0x40 ? DDAM : NO_DDAM, gap ); gap_add( d, 2, gap ); @@ -1167,13 +1471,13 @@ data_add( d, buffer, NULL, 128, hdrb[ 0x1d + 8 * j ] & 0x40 ? DDAM : NO_DDAM, gap, hdrb[ 0x1c + 8 * j ] & 0x20 && hdrb[ 0x1d + 8 * j ] & 0x20 ? - CRC_ERROR : CRC_OK, 0x00 ); + CRC_ERROR : CRC_OK, 0x00, NULL ); buffer->index += seclen - 128; } else if( i < 84 && fix[i] == CPC_ISSUE_4 ) { /* Nx8192 (max 6384 byte ) */ data_add( d, buffer, NULL, 6384, hdrb[ 0x1d + 8 * j ] & 0x40 ? DDAM : NO_DDAM, gap, hdrb[ 0x1c + 8 * j ] & 0x20 && hdrb[ 0x1d + 8 * j ] & 0x20 ? - CRC_ERROR : CRC_OK, 0x00 ); + CRC_ERROR : CRC_OK, 0x00, NULL ); buffer->index += seclen - 6384; } else if( i < 84 && fix[i] == CPC_ISSUE_5 ) { /* 9x512 */ /* 512 256 512 256 512 256 512 256 512 */ @@ -1181,22 +1485,22 @@ data_add( d, NULL, buff, 512, hdrb[ 0x1d + 8 * j ] & 0x40 ? DDAM : NO_DDAM, gap, hdrb[ 0x1c + 8 * j ] & 0x20 && hdrb[ 0x1d + 8 * j ] & 0x20 ? - CRC_ERROR : CRC_OK, 0x00 ); + CRC_ERROR : CRC_OK, 0x00, NULL ); buffer->index += idlen; } else { data_add( d, buffer, NULL, idlen, hdrb[ 0x1d + 8 * j ] & 0x40 ? DDAM : NO_DDAM, gap, hdrb[ 0x1c + 8 * j ] & 0x20 && hdrb[ 0x1d + 8 * j ] & 0x20 ? - CRC_ERROR : CRC_OK, 0x00 ); + CRC_ERROR : CRC_OK, 0x00, NULL ); } } else { data_add( d, buffer, NULL, seclen > idlen ? idlen : seclen, hdrb[ 0x1d + 8 * j ] & 0x40 ? DDAM : NO_DDAM, gap, hdrb[ 0x1c + 8 * j ] & 0x20 && hdrb[ 0x1d + 8 * j ] & 0x20 ? - CRC_ERROR : CRC_OK, 0x00 ); + CRC_ERROR : CRC_OK, 0x00, &idx ); if( seclen > idlen ) { /* weak sector with multiple copy */ - buffer->index +=( seclen / ( 0x80 << hdrb[ 0x1b + 8 * j ] ) - 1 ) * - ( 0x80 << hdrb[ 0x1b + 8 * j ] ); + cpc_set_weak_range( d, idx, buffer, seclen / idlen, idlen ); + buffer->index += ( seclen / idlen - 1 ) * idlen; /* ( ( N * len ) / len - 1 ) * len */ } } @@ -1236,8 +1540,7 @@ return d->status = DISK_GEOM; /* too many file */ buffer->index = 9; /* read SCL entries */ - d->track = d->data; /* track 0 */ - d->clocks = d->track + d->bpt; + DISK_SET_TRACK_IDX( d, 0 ); d->i = 0; postindex_add( d, GAP_TRDOS ); scl_i = d->i; /* the position of first sector */ @@ -1266,7 +1569,7 @@ if( j == 256 ) { /* one sector ready */ d->i = scl_i + ( ( s - 1 ) % 8 * 2 + ( s - 1 ) / 8 ) * seclen; /* 1 9 2 10 3 ... */ id_add( d, 0, 0, s, SECLEN_256, GAP_TRDOS, CRC_OK ); - data_add( d, NULL, head, 256, NO_DDAM, GAP_TRDOS, CRC_OK, NO_AUTOFILL ); + data_add( d, NULL, head, 256, NO_DDAM, GAP_TRDOS, CRC_OK, NO_AUTOFILL, NULL ); memset( head, 0, 256 ); s++; j = 0; @@ -1276,7 +1579,7 @@ if( j != 0 ) { /* we have to add this sector */ d->i = scl_i + ( ( s - 1 ) % 8 * 2 + ( s - 1 ) / 8 ) * seclen; /* 1 9 2 10 3 ... */ id_add( d, 0, 0, s, SECLEN_256, GAP_TRDOS, CRC_OK ); - data_add( d, NULL, head, 256, NO_DDAM, GAP_TRDOS, CRC_OK, NO_AUTOFILL ); + data_add( d, NULL, head, 256, NO_DDAM, GAP_TRDOS, CRC_OK, NO_AUTOFILL, NULL ); s++; } /* and add empty sectors up to No. 16 */ @@ -1296,7 +1599,7 @@ head[244] = scl_deleted; /* number of deleted files */ memcpy( head + 245, "FUSE-SCL", 8 ); } - data_add( d, NULL, head, 256, NO_DDAM, GAP_TRDOS, CRC_OK, NO_AUTOFILL ); + data_add( d, NULL, head, 256, NO_DDAM, GAP_TRDOS, CRC_OK, NO_AUTOFILL, NULL ); if( s == 9 ) memset( head, 0, 256 ); /* clear sector data... */ } @@ -1346,7 +1649,6 @@ return d->status = DISK_OPEN; if( buff[1] + 1 > d->cylinders ) /* find the biggest cylinder number */ d->cylinders = buff[1] + 1; - bpt = 0; sector_offset = track_offset + 4; mfm = buff[2] & 0x80 ? 0 : 1; /* 0x80 == 1 => SD track */ bpt = postindex_len( d, mfm_old || mfm ? GAP_MINIMAL_FM : GAP_MINIMAL_MFM ) + @@ -1382,15 +1684,14 @@ if( disk_alloc( d ) != DISK_OK ) return d->status; - d->track = d->data; d->clocks = d->track + d->bpt; + DISK_SET_TRACK_IDX( d, 0 ); buffer->index = data_offset; /* first track header */ while( 1 ) { if( ( sectors = buff[0] ) == 255 ) /* sector number 255 => end of tracks */ break; - d->track = d->data + ( d->sides * buff[1] + ( buff[2] & 0x01 ) ) * d->tlen; - d->clocks = d->track + d->bpt; + DISK_SET_TRACK( d, ( buff[2] & 0x01 ), buff[1] ); d->i = 0; /* later teledisk -> if buff[2] & 0x80 -> FM track */ gap = mfm_old || buff[2] & 0x80 ? GAP_MINIMAL_FM : GAP_MINIMAL_MFM; @@ -1418,7 +1719,7 @@ return d->status = DISK_OPEN; } if( data_add( d, buffer, NULL, hdrb[6] + 256 * hdrb[7] - 1, - hdrb[4] & 0x04 ? DDAM : NO_DDAM, gap, CRC_OK, NO_AUTOFILL ) ) { + hdrb[4] & 0x04 ? DDAM : NO_DDAM, gap, CRC_OK, NO_AUTOFILL, NULL ) ) { if( uncomp_buff ) free( uncomp_buff ); return d->status = DISK_OPEN; @@ -1443,7 +1744,7 @@ i += 2 * ( hdrb[9] + 256 * hdrb[10] ); } if( data_add( d, NULL, uncomp_buff, hdrb[6] + 256 * hdrb[7] - 1, - hdrb[4] & 0x04 ? DDAM : NO_DDAM, gap, CRC_OK, NO_AUTOFILL ) ) { + hdrb[4] & 0x04 ? DDAM : NO_DDAM, gap, CRC_OK, NO_AUTOFILL, NULL ) ) { free( uncomp_buff ); return d->status = DISK_OPEN; } @@ -1482,7 +1783,7 @@ } } if( data_add( d, NULL, uncomp_buff, hdrb[6] + 256 * hdrb[7] - 1, - hdrb[4] & 0x04 ? DDAM : NO_DDAM, gap, CRC_OK, NO_AUTOFILL ) ) { + hdrb[4] & 0x04 ? DDAM : NO_DDAM, gap, CRC_OK, NO_AUTOFILL, NULL ) ) { free( uncomp_buff ); return d->status = DISK_OPEN; } @@ -1503,6 +1804,21 @@ return d->status = DISK_OK; } +/* update tracks TLEN */ +void +disk_update_tlens( disk_t *d ) +{ + int i; + + for( i = 0; i < d->sides * d->cylinders; i++ ) { /* check tracks */ + DISK_SET_TRACK_IDX( d, i ); + if( d->track[-3] + 256 * d->track[-2] == 0 ) { + d->track[-3] = d->bpt & 0xff; + d->track[-2] = ( d->bpt >> 8 ) & 0xff; + } + } +} + /* open a disk image file, read and convert to our format * if preindex != 0 we generate preindex gap if needed */ @@ -1513,14 +1829,14 @@ libspectrum_id_t type; int error; -#ifdef UI_WII /* Wii doesn't have access() */ +#ifdef GEKKO /* Wii doesn't have access() */ d->wrprot = 0; -#else /* #ifdef UI_WII */ +#else /* #ifdef GEKKO */ if( access( filename, W_OK ) == -1 ) /* file read only */ d->wrprot = 1; else d->wrprot = 0; -#endif /* #ifdef UI_WII */ +#endif /* #ifdef GEKKO */ if( utils_read_file( filename, &buffer.file ) ) return d->status = DISK_OPEN; @@ -1582,6 +1898,8 @@ } utils_close_file( &buffer.file ); d->dirty = 0; + disk_update_tlens( d ); + update_tracks_mode( d ); return d->status = DISK_OK; } @@ -1610,7 +1928,7 @@ if( disk_alloc( d ) != DISK_OK ) return d->status; - clen = d->bpt / 8 + ( d->bpt % 8 ? 1 : 0 ); + clen = DISK_CLEN( d->bpt ); d->track = d->data; d1->track = d1->data; d2->track = d2->data; @@ -1618,19 +1936,25 @@ if( i < d1->cylinders ) memcpy( d->track, d1->track, d->tlen ); else { - memset( d->track, d->bpt, autofill & 0xff ); /* fill data */ - memset( d->track + d->bpt, clen, 0x00 ); /* no clock marks */ + d->track[0] = d->bpt & 0xff; + d->track[1] = ( d->bpt >> 8 ) & 0xff; + d->track[2] = 0x00; + memset( d->track + 3, d->bpt, autofill & 0xff ); /* fill data */ + memset( d->track + 3 + d->bpt, ... [truncated message content] |
From: <fr...@us...> - 2010-05-24 12:05:34
|
Revision: 638 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=638&view=rev Author: fredm Date: 2010-05-24 12:05:28 +0000 (Mon, 24 May 2010) Log Message: ----------- Tag vendor/fuse-emulator/current as vendor/fuse-emulator/fuse-r4135. Added Paths: ----------- vendor/fuse-emulator/fuse-r4135/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |