Thread: [Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx:[542] trunk/fuse
Brought to you by:
fredm
From: <fr...@us...> - 2008-11-05 12:55:42
|
Revision: 542 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=542&view=rev Author: fredm Date: 2008-11-05 11:38:41 +0000 (Wed, 05 Nov 2008) Log Message: ----------- Update manual for changes from vendor. Modified Paths: -------------- trunk/fuse/TODO trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/compressed.html trunk/fuse/fusepb/resources/Fuse Help/html/formats.html trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html Modified: trunk/fuse/TODO =================================================================== --- trunk/fuse/TODO 2008-11-05 11:33:28 UTC (rev 541) +++ trunk/fuse/TODO 2008-11-05 11:38:41 UTC (rev 542) @@ -3,19 +3,17 @@ * Pentagon port #ff returning floating bus issues - it does it because the RusFAQ says so? * Timex 2068 fusetests * Console mode GUI -* C version of standard tape loader * Add "proper" preferences window * Add TITLE tags to help files? * SZX ZX Printer block? * PAL Compsite emulation -* Seperate out sound buffer interleaving code to allow for the use of hardware etc. +* Separate out sound buffer interleaving code to allow for the use of hardware etc. sound mixing * Add volume option to standard fuse + a sound API method to set volume (or a parameter to sound_lowlevel_init) * Randomise FRAMES sys var after autoload snapshot loaded in order to try and get less deterministic program behaviour after load is complete * Use sheets rather than modal dialogs (for Save As) -* Put in latest hq[23]x filters (HQ2x_555 from ScummVM should do the trick) * Allow Cmd-w to close as many windows as possible * Make border display optional * Make activity icons transparent Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2008-11-05 11:33:28 UTC (rev 541) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2008-11-05 11:38:41 UTC (rev 542) @@ -11,103 +11,24 @@ <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.8.0 of the Fuse emulator." --></font> + 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 0.9.0.2</font></h2> +For Mac OS X 0.10.0</font></h2> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">New features:</font></li> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Add Quick Look -generator for emulator file formats</font><font - face="Lucida Grande,Helvetica,Arial"> -(Fredrick Meunier, James Weatherley)</font><font - face="Lucida Grande,Helvetica,Arial">.</font></li> - </ul> - <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous bugfixes:</font></li> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Fix importing of SCR - </font><font face="Lucida Grande,Helvetica,Arial">graphics mode -in SpotLight importer -(Fredrick Meunier)</font><font face="Lucida Grande,Helvetica,Arial">.</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add UI support for -.udi and .fdi files to -be opened as Beta disk images</font><font - face="Lucida Grande,Helvetica,Arial"> (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add UI support for </font><font - face="Lucida Grande,Helvetica,Arial">.udi, .fdi and .scl files to -be saved as Beta disk images</font><font - face="Lucida Grande,Helvetica,Arial"> (Fredrick Meunier).</font></li> - </ul> -</ul> -<h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse -For Mac OS X 0.9.0.1</font></h2> -<ul> - <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous bugfixes:</font></li> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Add +D and Beta disk -insert menu entries</font><font face="Lucida Grande,Helvetica,Arial"> -(Fredrick Meunier, thanks Paul van der Laan)</font><font - face="Lucida Grande,Helvetica,Arial">.</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Allow .img files to -be opened and saved as +D images</font><font - face="Lucida Grande,Helvetica,Arial"> (Fredrick Meunier, thanks Paul -van der Laan)</font><font face="Lucida Grande,Helvetica,Arial">.</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Update joystick -support from SDL</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">Add 4x and 5x zoom -options (Fredrick Meunier; thanks Richard Hallas)<br> - </font></li> - </ul> -</ul> -<h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse -For Mac OS X 0.9.0</font></h2> -<ul> <li><font face="Lucida Grande,Helvetica,Arial">New features:</font></li> <li style="list-style-type: none; list-style-image: none; list-style-position: outside;"> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Switch to using -OpenGL, CoreAudio and Cocoa for video, sound and user interaction and -cease to use SDL (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Run emulation in a -separate thread (Fredrick Meunier).<br> + <li><font face="Lucida Grande,Helvetica,Arial">New upd765 FDC +emulation; all known +3 DSK images now work (Gergely Szasz; thanks to +Simon Owen for expert technical advice).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Loading +acceleration (Philip Kendall).<br> </font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add +D disk -interface support (Stuart -Brady).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">New floppy disk -controller emulation for +D and Beta (aka TR-DOS) disk interface -emulation (Gergely Szasz and Stuart Brady).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add Pentagon 512 -and Pentagon 1024 emulation (Q-Master).<br> - </font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add Hi-Fi beeper -option for improved reproduction of multi-channel beeper tunes (e.g. -Fairlight -2 and Wham - the Music Box) (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for -saving tape images without using tape traps (Fredrick -Meunier).<br> - </font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for -loading from WAV tape images (Fredrick Meunier).<br> - </font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for -saving CSW tape -images and TZX -direct recording blocks (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for -loading from SPC, STA and LTP tape formats (Stuart Brady).<br> - </font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Allow distinction -between "soft" resets (activing the reset line on the Z80) and "hard" -resets (pulling the power) (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for -saving Interface I state information to z80 and szx snapshots (Fredrick -Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Automatic saves +while using RZX recording (Philip Kendall).</font></li> </ul> </li> <li><font face="Lucida Grande,Helvetica,Arial">Emulation core @@ -115,63 +36,44 @@ <li style="list-style-type: none; list-style-image: none; list-style-position: outside;"> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Fix contention for -LD?R, CP?R and IN?R (Philip -Kendall; thanks, -Mark -Woodmass).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix undocumented -flags after BIT n,(IX+d) instructions (Philip Kendall).<br> + <li><font face="Lucida Grande,Helvetica,Arial">New late timings +option to emulate machines with 1 tstate later timings (Philip Kendall).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Reading from the +128K's memory control port causes that byte to be written back to the +port (Philip Kendall; thanks, Marat Fayzullin).<br> </font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix undocumented -behaviour of DAA (Stuart Brady).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">High ports (0xc000 -to 0xffff) are contended on the 128K when a contended RAM page is paged -in (Philip Kendall; thanks, Patrik Rak).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Correct contention -for the +2A/+3 ULA (Philip Kendall).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">NMI causes Z80 to +unHALT (Philip Kendall; thanks, Simon Owen).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Emulate C, H and +P/V flags on repeated IO instructions (Philip Kendall).</font></li> </ul> </li> - <li><font face="Lucida Grande,Helvetica,Arial">Machine specific -improvements:</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Debugger improvements:</font></li> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Fix joystick port -mask on TC2048 (Fredrick Meunier)</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Improved keyboard -handling for 128K / +3 machines (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Improved -contention for TC2048 and TC2068 machines (Fredrick Meunier; thanks, -Mark Woodmass).<br> - </font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Debugger events to +allow the debugger to stop when various Spectrum-level events happen +(Philip Kendall).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Make time +breakpoints work properly when more than one is present (Philip +Kendall).</font></li> </ul> - <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous bugfixes:</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous +improvements:</font></li> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Timed breakpoints -now work in the debugger (Philip Kendall).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">More informative -error messages when ejecting disks (Stuart Brady).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Ejecting -Microdrive cartridges now checks for changes and doesn't automatically -overwrite the original file (Stuart Brady).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Snapshots can no -longer cause the profiler to assert (Philip Kendall; thanks, Stuart -Brady).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">DivIDE could page -itself in incorrectly after a reset (Stuart Brady).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Update +3e ROMs to -v1.31 (Fredrick Meunier; thanks, Garry Lancaster).<br> + <li><font face="Lucida Grande,Helvetica,Arial">Loader detection now +works with the Digital Integration loader (Philip Kendall).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">New HQ2X and HQ3x +scalers (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Revert Pentagon 128 +to being the "base" machine without extra ROMs (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Updated +3e ROMs +(Fredrick Meunier; thanks, Garry Lancaster).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Allow DivIDE, custom +ROMs, Kempston mouse status and Simple 8-bit IDE interface to be saved +in snapshots (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Better (but probably +not perfect) TS2068 contention (Philip Kendall).<br> </font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Make sure we clean -up temporary files from all media, not just tapes (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Stop processing -keypresses in the emulator when the command key is pressed (Fredrick -Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Merge up to -lib765-0.4.0 and libdsk-1.1.12 (+3 bugfixes).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Can now change -menu shortcuts in the Keyboard & Mouse preferences pane (Fredrick -Meunier).<br> - </font></li> <ul> </ul> </ul> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/compressed.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/compressed.html 2008-11-05 11:33:28 UTC (rev 541) +++ trunk/fuse/fusepb/resources/Fuse Help/html/compressed.html 2008-11-05 11:38:41 UTC (rev 542) @@ -1,4 +1,9 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> <!-- AppleSegStart="Compressed Files" --> +</head> +<body> <font face="Lucida Grande,Helvetica,Arial"><a name="Compressed Files"></a><!-- AppleSegDescription="This section describes Fuses support of compressed files." --></font> <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">Compressed @@ -10,8 +15,9 @@ can be read from files compressed with <span class="emphasis"><em>bzip2</em></span> or <span class="emphasis"><em>gzip</em></span> just as if they were -uncompressed. Equivalent functionality is provided for +3 and +D disk -images, but there is currently no support for reading compressed -TR-DOS disk +uncompressed. There is currently no support for reading compressed +3, ++D or Beta disk images.</font></p> <!-- AppleSegEnd --> +</body> +</html> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/formats.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/formats.html 2008-11-05 11:33:28 UTC (rev 541) +++ trunk/fuse/fusepb/resources/Fuse Help/html/formats.html 2008-11-05 11:38:41 UTC (rev 542) @@ -39,10 +39,12 @@ face="Lucida Grande,Helvetica,Arial">DISCiPLE/+D file formats.</font><br> </div> <p><font face="Lucida Grande,Helvetica,Arial">.SAD<br> +.SDF<br> </font></p> <div style="margin-left: 40px;"><font face="Lucida Grande,Helvetica,Arial">For compatibility with SAM -Coupé disk images using this format. Note that SAM Coupé +Coupé disk images using these formats. Note that SAM +Coupé `.DSK' images share the same format as `.MGT'.</font><br> </div> <p><font face="Lucida Grande,Helvetica,Arial">.TRD<br> @@ -79,11 +81,7 @@ face="Lucida Grande,Helvetica,Arial">section and the CPCEMU manual section 7.7.1 <a href="http://www.cpc-emu.org/linux/cpcemu_e.txt">http://www.cpc-emu.org/linux/cpcemu_e.txt</a>.</font><br> </div> -<p><font face="Lucida Grande,Helvetica,Arial">.SDF<br> -</font></p> -<div style="margin-left: 40px;"><font - face="Lucida Grande,Helvetica,Arial">TODO</font><br> -</div> +<br> <p><font face="Lucida Grande,Helvetica,Arial">Fuse supports the <span style="font-style: italic;">.UDI, .FDI, .MGT, .IMG, .SAD, .TRD, .SCL and .DSK</span> (only the old CPC format)</font><font @@ -98,7 +96,7 @@ inappropriate format that loses some information (e.g. variable track length or sector length).<br> <br> -</font><font face="Lucida Grande,Helvetica,Arial"></font></p> +</font></p> <!-- AppleSegEnd --> </body> </html> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html 2008-11-05 11:33:28 UTC (rev 541) +++ trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html 2008-11-05 11:38:41 UTC (rev 542) @@ -1,5 +1,10 @@ -<!-- AppleSegStart="Monitor/Debugger" --><font - face="Lucida Grande,Helvetica,Arial"><a name="Monitor/Debugger"></a><!-- AppleSegDescription="This section describes the Fuse machine code monitor and debugger." --></font> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<!-- AppleSegStart="Monitor/Debugger" --> +</head> +<body> +<font face="Lucida Grande,Helvetica,Arial"><a name="Monitor/Debugger"></a><!-- AppleSegDescription="This section describes the Fuse machine code monitor and debugger." --></font> <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">Monitor/Debugger</font></h2> </div> @@ -19,8 +24,10 @@ `events' which are due to occur and could affect emulation. Below the events pane is the Spectrum's 64K memory map (the <span class="emphasis"><em>W?</em></span> and -<span class="emphasis"><em>C?</em></span> indicate whether each 8K chunk -is writeable or contended respectively). Below the displays are an entry +<span class="emphasis"><em>C?</em></span> indicate whether each 8K +chunk +is writeable or contended respectively). Below the displays are an +entry box for debugger commands, and five buttons for controlling the debugger:</font></p> <p> @@ -113,10 +120,54 @@ class="emphasis"><em>time</em></span> [<span class="emphasis"><em>condition</em></span>] Set a breakpoint to occur <span class="emphasis"><em>time</em></span> tstates after -the start of the current frame, assuming +the start of every frame, assuming <span class="emphasis"><em>condition</em></span> evaluates true (if one is given).</font></p> +<p><font face="Lucida Grande,Helvetica,Arial">br{eakpoint} ev{ent} <span + class="emphasis"><em>area</em></span>:<span class="emphasis"><em>detail</em></span> +[<span class="emphasis"><em>condition</em></span>] Set a breakpoint +to occur when the event specified by <span class="emphasis"><em>area</em></span> +<span class="emphasis"><em>detail</em></span> occurs and <span + class="emphasis"><em>condition</em></span> evaluates to true. The +events which can be caught are:</font></p> +<p style="margin-left: 40px;"><font face="Lucida Grande,Helvetica,Arial">divide:page +<br> +divide:unpage</font></p> +<p style="margin-left: 80px;"><font face="Lucida Grande,Helvetica,Arial">The +DivIDE interface is paged +into or out of memory respectively</font></p> +<p style="margin-left: 40px;"><font face="Lucida Grande,Helvetica,Arial">if1:page +<br> +if1:unpage</font></p> +<p style="margin-left: 80px;"><font face="Lucida Grande,Helvetica,Arial">The +Interface 1 shadow ROM is +paged into or out of memory</font></p> +<p style="margin-left: 40px;"><font face="Lucida Grande,Helvetica,Arial">rzx:end</font></p> +<p style="margin-left: 80px;"><font face="Lucida Grande,Helvetica,Arial">An +RZX recording finishes +playing</font></p> +<p style="margin-left: 40px;"><font face="Lucida Grande,Helvetica,Arial">tape:play +<br> +tape:stop</font></p> +<p style="margin-left: 80px;"><font face="Lucida Grande,Helvetica,Arial">The +emulated tape starts or +stops playing</font></p> +<p style="margin-left: 40px;"><font face="Lucida Grande,Helvetica,Arial">zxcf:page +<br> +zxcf:unpage</font></p> +<p style="margin-left: 80px;"><font face="Lucida Grande,Helvetica,Arial">The +ZXCF interface is paged +into or out of memory</font></p> +<p style="margin-left: 40px;"><font face="Lucida Grande,Helvetica,Arial">zxatasp:page +<br> +zxatasp:unpage</font></p> +<p style="margin-left: 80px;"><font face="Lucida Grande,Helvetica,Arial">The +ZXATASP interface is paged +into or out of memory</font></p> +<p><font face="Lucida Grande,Helvetica,Arial">In all cases, +the event can be specified as <i>area</i>:* to catch all +events from that area.</font></p> <p> <font face="Lucida Grande,Helvetica,Arial">cl{ear} [<span class="emphasis"><em>address</em></span>] Remove all @@ -237,3 +288,5 @@ (`&&') and or (`||').</font></p> <!-- AppleSegEnd --> +</body> +</html> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html 2008-11-05 11:33:28 UTC (rev 541) +++ trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html 2008-11-05 11:38:41 UTC (rev 542) @@ -45,6 +45,12 @@ input ports, and a few games depended on the old value of these bits. Enabling this option switches to the old value, to let you run those games.</font></p> +<p><span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Late +timings</em></font></span> <font face="Lucida Grande,Helvetica,Arial">If +selected, Fuse will cause all screen-related timings (for example, when +the screen is rendered and when memory contention occurs) to be one +tstate later than "normal", an effect which is present on some real +hardware.</font></p> <p> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Use tape traps</em></font></span> @@ -338,6 +344,19 @@ face="Lucida Grande,Helvetica,Arial">The RZX options tab, lets you configure how Fuse deals with RZX emulator input recordings.</font></p> +<p><span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Create +autosaves</em></font></span> +<font face="Lucida Grande,Helvetica,Arial">If this option is +selected, Fuse will add a snapshot into the recording stream every 5 +seconds while creating an RZX file, thus enabling the rollback +facilities to be used without having to explicitly add snapshots into +the stream. Older snapshots will be pruned from the stream to keep the +file size and number of snapshots down: each snapshot up to 15 seconds +will be kept, then one snapshot every 15 seconds until one minute, then +one snapshot every minute until 5 minutes, and then one snapshot every +5 minutes. Note that this "pruning" applies only to automatically +inserted snapshots: snapshots manually inserted into the stream will +never be pruned.</font></p> <p> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Compress data</em></font></span> @@ -513,16 +532,32 @@ for more details on the Timex models.</font></p> <p style="margin-left: 40px;"> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Pentagon -128K</em></font></span> -<span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Scorpion -ZS 256</em></font></span> -<font face="Lucida Grande,Helvetica,Arial">Two Russian clones of +128K</em></font></span> +<font face="Lucida Grande,Helvetica,Arial">Russian clone of the +Spectrum. There were many different machines<br> +called Pentagon from 1989 to 2006, this machine corresponds to a 1991 +era Pentagon-128K with the optional AY sound chip and the integrated +Beta 128 disk interface, and is the version of the machine most often +emulated. More technical details can be found at +<a href="http://www.worldofspectrum.org/rusfaq/index.html">http://www.worldofspectrum.org/rusfaq/index.html</a>.</font></p> +<p style="margin-left: 40px;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Pentagon 512K</em></font></span> +<span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Pentagon +1024K</em></font></span> <font face="Lucida Grande,Helvetica,Arial">Newer +versions of the Pentagon 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 + face="Lucida Grande,Helvetica,Arial"><em>Scorpion +ZS 256</em></font></span> <font face="Lucida Grande,Helvetica,Arial">Another +Russian clone of the Spectrum. Some details can be found at <a href="http://www.worldofspectrum.org/rusfaq/index.html">http://www.worldofspectrum.org/rusfaq/index.html</a>, -but possibly the most important thing to note about both these -machines is that they have built in 3.5" disk drives, accessed via +like all the Russian clones they have built in 3.5" disk drives, +accessed via the Betadisk interface and TR-DOS (the Technology Research Disk -Operating System).</font></p> +Operating System). The most important distinction from the Pentagon +128k and similar machines is the display timing details.</font></p> <p style="margin-left: 40px;"> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Spectrum SE</em></font></span> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2008-12-15 11:09:01
|
Revision: 572 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=572&view=rev Author: fredm Date: 2008-12-15 11:08:41 +0000 (Mon, 15 Dec 2008) Log Message: ----------- Remove icon thumbnails as they are obsolete with OS X 10.5 and spotlight. Modified Paths: -------------- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib trunk/fuse/settings.dat trunk/fuse/ui/cocoa/cocoascreenshot.h trunk/fuse/ui/cocoa/cocoascreenshot.m Added Paths: ----------- trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib Removed Paths: ------------- trunk/fuse/fusepb/thumbnail.h trunk/fuse/fusepb/thumbnail.m Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2008-12-14 20:15:22 UTC (rev 571) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2008-12-15 11:08:41 UTC (rev 572) @@ -175,9 +175,6 @@ B639B7680A6BAFCF00927E24 /* csw.icns in Resources */ = {isa = PBXBuildFile; fileRef = B639B7670A6BAFCF00927E24 /* csw.icns */; }; B639B7D10A6BB45600927E24 /* raw.icns in Resources */ = {isa = PBXBuildFile; fileRef = B639B7D00A6BB45600927E24 /* raw.icns */; }; B6403FD80A7E4B1A00E00B11 /* loader.c in Sources */ = {isa = PBXBuildFile; fileRef = B6403FD60A7E4B1A00E00B11 /* loader.c */; }; - B64E29FA0A6532ED006863D9 /* IconFamily.m in Sources */ = {isa = PBXBuildFile; fileRef = B64E29F80A6532ED006863D9 /* IconFamily.m */; }; - B64E29FE0A65337A006863D9 /* NSString+CarbonFSRefCreation.m in Sources */ = {isa = PBXBuildFile; fileRef = B64E29FC0A65337A006863D9 /* NSString+CarbonFSRefCreation.m */; }; - B64E2A020A6533FD006863D9 /* thumbnail.m in Sources */ = {isa = PBXBuildFile; fileRef = B64E2A000A6533FD006863D9 /* thumbnail.m */; }; B64E2A170A6534A3006863D9 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B64E2A160A6534A3006863D9 /* Carbon.framework */; }; B650986D09366C8F003AF1BF /* hdf.icns in Resources */ = {isa = PBXBuildFile; fileRef = B650986A09366C8F003AF1BF /* hdf.icns */; }; B650986E09366C8F003AF1BF /* rom.icns in Resources */ = {isa = PBXBuildFile; fileRef = B650986B09366C8F003AF1BF /* rom.icns */; }; @@ -364,12 +361,6 @@ B643BB980403A13600A864FD /* tzx.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = tzx.icns; sourceTree = "<group>"; }; B64586D2059BC04A00934482 /* pokefinder.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = pokefinder.c; path = ../pokefinder/pokefinder.c; sourceTree = SOURCE_ROOT; }; B64586D3059BC04A00934482 /* pokefinder.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = pokefinder.h; path = ../pokefinder/pokefinder.h; sourceTree = SOURCE_ROOT; }; - B64E29F70A6532ED006863D9 /* IconFamily.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = IconFamily.h; sourceTree = "<group>"; }; - B64E29F80A6532ED006863D9 /* IconFamily.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = IconFamily.m; sourceTree = "<group>"; }; - B64E29FB0A65337A006863D9 /* NSString+CarbonFSRefCreation.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "NSString+CarbonFSRefCreation.h"; sourceTree = "<group>"; }; - B64E29FC0A65337A006863D9 /* NSString+CarbonFSRefCreation.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = "NSString+CarbonFSRefCreation.m"; sourceTree = "<group>"; }; - B64E29FF0A6533FD006863D9 /* thumbnail.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = thumbnail.h; sourceTree = SOURCE_ROOT; }; - B64E2A000A6533FD006863D9 /* thumbnail.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = thumbnail.m; sourceTree = SOURCE_ROOT; }; B64E2A160A6534A3006863D9 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; }; B64FEA96084F8EC300879389 /* FuseImporter.mdimporter */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.bundle"; name = FuseImporter.mdimporter; path = ../../FuseImporter/build/deployment/FuseImporter.mdimporter; sourceTree = SOURCE_ROOT; }; B650986A09366C8F003AF1BF /* hdf.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = hdf.icns; path = resources/hdf.icns; sourceTree = SOURCE_ROOT; }; @@ -664,7 +655,6 @@ B6DD457908134943008E9F7E /* Content Arrays */, B67F3C4E07ED34260045339F /* Transformers */, B632C6AD03E5360C00A864FD /* Controllers */, - B64E29F40A6532A2006863D9 /* icon_family */, B66EA7830401075300A864FD /* FuseMenus.h */, B66EA7840401075300A864FD /* FuseMenus.m */, B6A7F0E904C9A11D001025EB /* NumberFormatter.h */, @@ -886,17 +876,6 @@ name = pokefinder; sourceTree = "<group>"; }; - B64E29F40A6532A2006863D9 /* icon_family */ = { - isa = PBXGroup; - children = ( - B64E29F70A6532ED006863D9 /* IconFamily.h */, - B64E29F80A6532ED006863D9 /* IconFamily.m */, - B64E29FB0A65337A006863D9 /* NSString+CarbonFSRefCreation.h */, - B64E29FC0A65337A006863D9 /* NSString+CarbonFSRefCreation.m */, - ); - path = icon_family; - sourceTree = "<group>"; - }; B678E3E20608FAA600678A33 /* sound */ = { isa = PBXGroup; children = ( @@ -1227,8 +1206,6 @@ F55986180389234A01A804BA /* spectrum.h */, F559862B0389235F01A804BA /* tape.c */, F559862C0389235F01A804BA /* tape.h */, - B64E29FF0A6533FD006863D9 /* thumbnail.h */, - B64E2A000A6533FD006863D9 /* thumbnail.m */, B6AB429D0677466E007C50EF /* ula.c */, B6AB429E0677466E007C50EF /* ula.h */, B6DDE53B0D67963600D6F905 /* ui.c */, @@ -1484,9 +1461,6 @@ B61F469309121DF100C8096C /* profile.c in Sources */, B61F469409121DF100C8096C /* ide.c in Sources */, B6825549091817F30014B5EE /* divide.c in Sources */, - B64E29FA0A6532ED006863D9 /* IconFamily.m in Sources */, - B64E29FE0A65337A006863D9 /* NSString+CarbonFSRefCreation.m in Sources */, - B64E2A020A6533FD006863D9 /* thumbnail.m in Sources */, B6403FD80A7E4B1A00E00B11 /* loader.c in Sources */, B6CE7F420B2830A300EB65B3 /* cocoajoystick.c in Sources */, B6CE7FCE0B28FBD600EB65B3 /* DisplayOpenGLView.m in Sources */, Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2008-12-14 20:15:22 UTC (rev 571) +++ trunk/fuse/fusepb/controllers/FuseController.m 2008-12-15 11:08:41 UTC (rev 572) @@ -52,7 +52,6 @@ #include "settings_cocoa.h" #include "snapshot.h" #include "tape.h" -#include "thumbnail.h" #include "ui.h" #include "uidisplay.h" #include "utils.h" @@ -640,9 +639,6 @@ [[DisplayOpenGLView instance] snapshotWrite:filename]; - if( settings_current.thumbnails ) - add_screen_thumbnail_to( filename ); - [self addRecentSnapshot:filename]; free( filename ); @@ -707,9 +703,6 @@ [[DisplayOpenGLView instance] screenshotScrWrite:filename]; - if( settings_current.thumbnails ) - add_screen_thumbnail_to( filename ); - [self addRecentSnapshot:filename]; free( filename ); @@ -729,9 +722,6 @@ [[DisplayOpenGLView instance] screenshotWrite:filename]; - if( settings_current.thumbnails ) - add_screen_thumbnail_to( filename ); - free( filename ); [[DisplayOpenGLView instance] unpause]; Added: trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib =================================================================== --- trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib (rev 0) +++ trunk/fuse/fusepb/nibs/Preferences.nib/designable.nib 2008-12-15 11:08:41 UTC (rev 572) @@ -0,0 +1,9338 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02"> + <data> + <int key="IBDocument.SystemTarget">1050</int> + <string key="IBDocument.SystemVersion">9F2114</string> + <string key="IBDocument.InterfaceBuilderVersion">672</string> + <string key="IBDocument.AppKitVersion">949.41</string> + <string key="IBDocument.HIToolboxVersion">352.00</string> + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="6"/> + <integer value="1347"/> + </object> + <object class="NSArray" key="IBDocument.PluginDependencies"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + </object> + <object class="NSMutableArray" key="IBDocument.RootObjects" id="729263285"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSCustomObject" id="363526684"> + <string key="NSClassName">PreferencesController</string> + </object> + <object class="NSCustomObject" id="341482335"> + <string key="NSClassName">FirstResponder</string> + </object> + <object class="NSCustomObject" id="218789108"> + <string key="NSClassName">NSApplication</string> + </object> + <object class="NSWindowTemplate" id="765474969"> + <int key="NSWindowStyleMask">3</int> + <int key="NSWindowBacking">2</int> + <string key="NSWindowRect">{{24, 202}, {627, 403}}</string> + <int key="NSWTFlags">1886912512</int> + <string key="NSWindowTitle">Preferences</string> + <string key="NSWindowClass">NSPanel</string> + <object class="NSToolbar" key="NSViewClass" id="281460241"> + <object class="NSMutableString" key="NSToolbarIdentifier"> + <characters key="NS.bytes">2B5EC7EB-5A6C-4F96-8405-91E5B21A019C</characters> + </object> + <nil key="NSToolbarDelegate"/> + <bool key="NSToolbarPrefersToBeShown">YES</bool> + <bool key="NSToolbarShowsBaselineSeparator">NO</bool> + <bool key="NSToolbarAllowsUserCustomization">NO</bool> + <bool key="NSToolbarAutosavesConfiguration">YES</bool> + <int key="NSToolbarDisplayMode">1</int> + <int key="NSToolbarSizeMode">1</int> + <object class="NSMutableDictionary" key="NSToolbarIBIdentifiedItems"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>1D3C684F-4B0A-4828-ADF3-E4106D08C1CD</string> + <string>2C4BF74A-9900-4A0E-A2FC-50ADDA64B166</string> + <string>4F5A5E26-7A02-464D-80D8-F49DECE3E69B</string> + <string>75749378-6992-4894-9B4C-43B464285D3E</string> + <string>BE697B6E-7F18-4D78-9F89-364AF4806055</string> + <string>D64DF5CD-B687-4DAB-8B9B-CB7BCB98DECE</string> + <string>F897F259-A5D7-4274-A9C8-9D7D7C86199E</string> + <string>FD445694-259E-4F31-A40E-117D01F46BB6</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSToolbarItem" id="761998648"> + <object class="NSMutableString" key="NSToolbarItemIdentifier"> + <characters key="NS.bytes">1D3C684F-4B0A-4828-ADF3-E4106D08C1CD</characters> + </object> + <string key="NSToolbarItemLabel">Sound</string> + <string key="NSToolbarItemPaletteLabel">Sound</string> + <string key="NSToolbarItemToolTip"/> + <nil key="NSToolbarItemView"/> + <object class="NSCustomResource" key="NSToolbarItemImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">Sound</string> + </object> + <nil key="NSToolbarItemTarget"/> + <nil key="NSToolbarItemAction"/> + <string key="NSToolbarItemMinSize">{0, 0}</string> + <string key="NSToolbarItemMaxSize">{0, 0}</string> + <bool key="NSToolbarItemEnabled">YES</bool> + <bool key="NSToolbarItemAutovalidates">NO</bool> + <int key="NSToolbarItemTag">1</int> + <bool key="NSToolbarIsUserRemovable">YES</bool> + <int key="NSToolbarItemVisibilityPriority">0</int> + </object> + <object class="NSToolbarItem" id="141636598"> + <object class="NSMutableString" key="NSToolbarItemIdentifier"> + <characters key="NS.bytes">2C4BF74A-9900-4A0E-A2FC-50ADDA64B166</characters> + </object> + <string key="NSToolbarItemLabel">Video</string> + <string key="NSToolbarItemPaletteLabel">Video</string> + <string key="NSToolbarItemToolTip"/> + <nil key="NSToolbarItemView"/> + <object class="NSCustomResource" key="NSToolbarItemImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">Graphics_Filter</string> + </object> + <nil key="NSToolbarItemTarget"/> + <nil key="NSToolbarItemAction"/> + <string key="NSToolbarItemMinSize">{0, 0}</string> + <string key="NSToolbarItemMaxSize">{0, 0}</string> + <bool key="NSToolbarItemEnabled">YES</bool> + <bool key="NSToolbarItemAutovalidates">NO</bool> + <int key="NSToolbarItemTag">7</int> + <bool key="NSToolbarIsUserRemovable">YES</bool> + <int key="NSToolbarItemVisibilityPriority">0</int> + </object> + <object class="NSToolbarItem" id="160350779"> + <object class="NSMutableString" key="NSToolbarItemIdentifier"> + <characters key="NS.bytes">4F5A5E26-7A02-464D-80D8-F49DECE3E69B</characters> + </object> + <string key="NSToolbarItemLabel">Peripherals</string> + <string key="NSToolbarItemPaletteLabel">Peripherals</string> + <string key="NSToolbarItemToolTip"/> + <nil key="NSToolbarItemView"/> + <object class="NSCustomResource" key="NSToolbarItemImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">Peripherals</string> + </object> + <nil key="NSToolbarItemTarget"/> + <nil key="NSToolbarItemAction"/> + <string key="NSToolbarItemMinSize">{0, 0}</string> + <string key="NSToolbarItemMaxSize">{0, 0}</string> + <bool key="NSToolbarItemEnabled">YES</bool> + <bool key="NSToolbarItemAutovalidates">NO</bool> + <int key="NSToolbarItemTag">2</int> + <bool key="NSToolbarIsUserRemovable">YES</bool> + <int key="NSToolbarItemVisibilityPriority">0</int> + </object> + <object class="NSToolbarItem" id="924265735"> + <object class="NSMutableString" key="NSToolbarItemIdentifier"> + <characters key="NS.bytes">75749378-6992-4894-9B4C-43B464285D3E</characters> + </object> + <string key="NSToolbarItemLabel">General</string> + <string key="NSToolbarItemPaletteLabel">General</string> + <string key="NSToolbarItemToolTip"/> + <nil key="NSToolbarItemView"/> + <object class="NSCustomResource" key="NSToolbarItemImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">NSPreferencesGeneral</string> + </object> + <nil key="NSToolbarItemTarget"/> + <nil key="NSToolbarItemAction"/> + <string key="NSToolbarItemMinSize">{0, 0}</string> + <string key="NSToolbarItemMaxSize">{0, 0}</string> + <bool key="NSToolbarItemEnabled">YES</bool> + <bool key="NSToolbarItemAutovalidates">NO</bool> + <int key="NSToolbarItemTag">0</int> + <bool key="NSToolbarIsUserRemovable">YES</bool> + <int key="NSToolbarItemVisibilityPriority">0</int> + </object> + <object class="NSToolbarItem" id="490785676"> + <object class="NSMutableString" key="NSToolbarItemIdentifier"> + <characters key="NS.bytes">BE697B6E-7F18-4D78-9F89-364AF4806055</characters> + </object> + <string key="NSToolbarItemLabel">Recording</string> + <string key="NSToolbarItemPaletteLabel">Recording</string> + <string key="NSToolbarItemToolTip"/> + <nil key="NSToolbarItemView"/> + <object class="NSCustomResource" key="NSToolbarItemImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">RZX</string> + </object> + <nil key="NSToolbarItemTarget"/> + <nil key="NSToolbarItemAction"/> + <string key="NSToolbarItemMinSize">{0, 0}</string> + <string key="NSToolbarItemMaxSize">{0, 0}</string> + <bool key="NSToolbarItemEnabled">YES</bool> + <bool key="NSToolbarItemAutovalidates">NO</bool> + <int key="NSToolbarItemTag">3</int> + <bool key="NSToolbarIsUserRemovable">YES</bool> + <int key="NSToolbarItemVisibilityPriority">0</int> + </object> + <object class="NSToolbarItem" id="367507624"> + <object class="NSMutableString" key="NSToolbarItemIdentifier"> + <characters key="NS.bytes">D64DF5CD-B687-4DAB-8B9B-CB7BCB98DECE</characters> + </object> + <string key="NSToolbarItemLabel">ROM</string> + <string key="NSToolbarItemPaletteLabel">ROM</string> + <string key="NSToolbarItemToolTip"/> + <nil key="NSToolbarItemView"/> + <object class="NSCustomResource" key="NSToolbarItemImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">Select_ROMs</string> + </object> + <nil key="NSToolbarItemTarget"/> + <nil key="NSToolbarItemAction"/> + <string key="NSToolbarItemMinSize">{0, 0}</string> + <string key="NSToolbarItemMaxSize">{0, 0}</string> + <bool key="NSToolbarItemEnabled">YES</bool> + <bool key="NSToolbarItemAutovalidates">NO</bool> + <int key="NSToolbarItemTag">5</int> + <bool key="NSToolbarIsUserRemovable">YES</bool> + <int key="NSToolbarItemVisibilityPriority">0</int> + </object> + <object class="NSToolbarItem" id="156451834"> + <object class="NSMutableString" key="NSToolbarItemIdentifier"> + <characters key="NS.bytes">F897F259-A5D7-4274-A9C8-9D7D7C86199E</characters> + </object> + <string key="NSToolbarItemLabel">Joysticks</string> + <string key="NSToolbarItemPaletteLabel">Joysticks</string> + <string key="NSToolbarItemToolTip"/> + <nil key="NSToolbarItemView"/> + <object class="NSCustomResource" key="NSToolbarItemImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">qs2t_icon</string> + </object> + <nil key="NSToolbarItemTarget"/> + <nil key="NSToolbarItemAction"/> + <string key="NSToolbarItemMinSize">{0, 0}</string> + <string key="NSToolbarItemMaxSize">{0, 0}</string> + <bool key="NSToolbarItemEnabled">YES</bool> + <bool key="NSToolbarItemAutovalidates">NO</bool> + <int key="NSToolbarItemTag">4</int> + <bool key="NSToolbarIsUserRemovable">YES</bool> + <int key="NSToolbarItemVisibilityPriority">0</int> + </object> + <object class="NSToolbarItem" id="943816128"> + <object class="NSMutableString" key="NSToolbarItemIdentifier"> + <characters key="NS.bytes">FD445694-259E-4F31-A40E-117D01F46BB6</characters> + </object> + <string key="NSToolbarItemLabel">Machine</string> + <string key="NSToolbarItemPaletteLabel">Machine</string> + <string key="NSToolbarItemToolTip"/> + <nil key="NSToolbarItemView"/> + <object class="NSCustomResource" key="NSToolbarItemImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">Machine</string> + </object> + <nil key="NSToolbarItemTarget"/> + <nil key="NSToolbarItemAction"/> + <string key="NSToolbarItemMinSize">{0, 0}</string> + <string key="NSToolbarItemMaxSize">{0, 0}</string> + <bool key="NSToolbarItemEnabled">YES</bool> + <bool key="NSToolbarItemAutovalidates">NO</bool> + <int key="NSToolbarItemTag">6</int> + <bool key="NSToolbarIsUserRemovable">YES</bool> + <int key="NSToolbarItemVisibilityPriority">0</int> + </object> + </object> + </object> + <object class="NSArray" key="NSToolbarIBAllowedItems"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="924265735"/> + <reference ref="761998648"/> + <reference ref="160350779"/> + <reference ref="490785676"/> + <reference ref="156451834"/> + <reference ref="367507624"/> + <reference ref="943816128"/> + <reference ref="141636598"/> + </object> + <object class="NSMutableArray" key="NSToolbarIBDefaultItems"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="924265735"/> + <reference ref="761998648"/> + <reference ref="160350779"/> + <reference ref="490785676"/> + <reference ref="156451834"/> + <reference ref="367507624"/> + <reference ref="943816128"/> + <reference ref="141636598"/> + </object> + <object class="NSMutableArray" key="NSToolbarIBSelectableItems"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> + <string key="NSWindowContentMinSize">{213, 107}</string> + <object class="NSView" key="NSWindowView" id="41054612"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">256</int> + <string key="NSFrameSize">{627, 403}</string> + <reference key="NSSuperview"/> + </object> + <string key="NSScreenRect">{{0, 0}, {1280, 778}}</string> + <string key="NSMinSize">{213, 184}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> + <string key="NSFrameAutosaveName"/> + </object> + <object class="NSCustomView" id="869768206"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">268</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="382408068"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{119, 49}, {123, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="508894506"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Confirm actions</string> + <object class="NSFont" key="NSSupport" id="447006373"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.300000e+01</double> + <int key="NSfFlags">1044</int> + </object> + <reference key="NSControlView" ref="382408068"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <object class="NSButtonImageSource" key="NSAlternateImage" id="529831564"> + <string key="NSImageName">NSSwitch</string> + </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="691708568"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{293, 169}, {131, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="565379702"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Issue 2 keyboard</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="691708568"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="236482654"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{119, 69}, {168, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="1036853429"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Show tape/disk status</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="236482654"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="876021687"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{119, 89}, {165, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="288530032"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Auto-load media</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="876021687"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="632257383"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{293, 109}, {105, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="336105546"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Use .slt traps</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="632257383"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="776295189"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{119, 169}, {113, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="921014375"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Use tape traps</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="776295189"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="706432924"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{293, 89}, {214, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="71439217"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Set joysticks on snapshot load</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="706432924"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="173497110"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{293, 129}, {151, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="279939766"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Allow writes to ROM</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="173497110"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSForm" id="418457192"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{121, 193}, {279, 52}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <int key="NSNumRows">2</int> + <int key="NSNumCols">1</int> + <object class="NSMutableArray" key="NSCells"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSFormCell" id="494277899"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">-1941961728</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="447006373"/> + <object class="NSNumberFormatter" key="NSFormatter" id="815687010"> + <object class="NSMutableDictionary" key="NS.attributes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>allowsFloats</string> + <string>formatterBehavior</string> + <string>minimum</string> + <string>multiplier</string> + <string>numberStyle</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="1" id="9"/> + <integer value="1040" id="736002568"/> + <reference ref="9"/> + <reference ref="9"/> + <integer value="3" id="11"/> + </object> + </object> + <string key="NS.positiveformat">#,##0%</string> + <string key="NS.negativeformat">#,##0%</string> + <nil key="NS.positiveattrs"/> + <nil key="NS.negativeattrs"/> + <object class="NSAttributedString" key="NS.zero"> + <nil key="NSString"/> + </object> + <object class="NSAttributedString" key="NS.nil"> + <nil key="NSString"/> + </object> + <object class="NSAttributedString" key="NS.nan"> + <string key="NSString">NaN</string> + <object class="NSDictionary" key="NSAttributes" id="625184385"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + </object> + <reference key="NS.min" ref="9"/> + <object class="NSDecimalNumberPlaceholder" key="NS.max" id="648108068"> + <int key="NS.exponent">0</int> + <int key="NS.length">0</int> + <bool key="NS.negative">YES</bool> + <bool key="NS.compact">NO</bool> + <int key="NS.mantissa.bo">1</int> + <bytes key="NS.mantissa">AAAAAAAAAAAAAAAAAAAAAA</bytes> + </object> + <object class="NSDecimalNumberHandler" key="NS.rounding"> + <int key="NS.roundingmode">3</int> + <bool key="NS.raise.overflow">YES</bool> + <bool key="NS.raise.underflow">YES</bool> + <bool key="NS.raise.dividebyzero">YES</bool> + </object> + <string key="NS.decimal">.</string> + <string key="NS.thousand">,</string> + <bool key="NS.hasthousands">YES</bool> + <bool key="NS.localized">YES</bool> + <bool key="NS.allowsfloats">YES</bool> + </object> + <reference key="NSControlView" ref="418457192"/> + <double key="NSTitleWidth">1.610000e+02</double> + <object class="NSCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">67108864</int> + <string key="NSContents">Emulation speed:</string> + <reference key="NSSupport" ref="447006373"/> + </object> + </object> + <object class="NSFormCell" id="319020855"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">205521920</int> + <reference key="NSSupport" ref="447006373"/> + <object class="NSNumberFormatter" key="NSFormatter" id="657991658"> + <object class="NSMutableDictionary" key="NS.attributes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>allowsFloats</string> + <string>formatterBehavior</string> + <string>maximum</string> + <string>minimum</string> + <string>numberStyle</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="9"/> + <reference ref="736002568"/> + <real value="5.000000e+01" id="754928329"/> + <reference ref="9"/> + <integer value="0" id="8"/> + </object> + </object> + <string key="NS.positiveformat">#</string> + <string key="NS.negativeformat">#</string> + <nil key="NS.positiveattrs"/> + <nil key="NS.negativeattrs"/> + <object class="NSAttributedString" key="NS.zero"> + <nil key="NSString"/> + </object> + <object class="NSAttributedString" key="NS.nil"> + <nil key="NSString"/> + </object> + <object class="NSAttributedString" key="NS.nan"> + <string key="NSString">NaN</string> + <reference key="NSAttributes" ref="625184385"/> + </object> + <reference key="NS.min" ref="9"/> + <reference key="NS.max" ref="754928329"/> + <object class="NSDecimalNumberHandler" key="NS.rounding"> + <int key="NS.roundingmode">3</int> + <bool key="NS.raise.overflow">YES</bool> + <bool key="NS.raise.underflow">YES</bool> + <bool key="NS.raise.dividebyzero">YES</bool> + </object> + <string key="NS.decimal">.</string> + <string key="NS.thousand">,</string> + <bool key="NS.hasthousands">NO</bool> + <bool key="NS.localized">YES</bool> + <bool key="NS.allowsfloats">YES</bool> + </object> + <int key="NSTag">1</int> + <reference key="NSControlView" ref="418457192"/> + <double key="NSTitleWidth">1.610000e+02</double> + <object class="NSCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">67108864</int> + <string key="NSContents">Screen refresh rate (1:n):</string> + <reference key="NSSupport" ref="447006373"/> + </object> + </object> + </object> + <string key="NSCellSize">{279, 22}</string> + <string key="NSIntercellSpacing">{1, 8}</string> + <int key="NSMatrixFlags">67633152</int> + <string key="NSCellClass">NSActionCell</string> + <object class="NSFormCell" key="NSProtoCell" id="912393328"> + <int key="NSCellFlags">343014976</int> + <int key="NSCellFlags2">205521920</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="447006373"/> + <double key="NSTitleWidth">1.610000e+02</double> + <object class="NSCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">67108864</int> + <string key="NSContents">Field:</string> + <reference key="NSSupport" ref="447006373"/> + </object> + </object> + <int key="NSSelectedRow">-1</int> + <int key="NSSelectedCol">-1</int> + <object class="NSColor" key="NSBackgroundColor" id="519317542"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlColor</string> + <object class="NSColor" key="NSColor" id="429360493"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes> + </object> + </object> + <object class="NSColor" key="NSCellBackgroundColor" id="70288484"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + </object> + <reference key="NSFont" ref="447006373"/> + </object> + <object class="NSButton" id="281223997"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{119, 149}, {131, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="787494350"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Fast tape loading</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="281223997"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="695941014"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{119, 109}, {145, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="539932935"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Detect tape loaders</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="695941014"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="759805714"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{119, 129}, {170, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="153178233"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Accelerate tape loaders</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="759805714"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="384664460"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{293, 149}, {151, 18}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="696843910"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Late CPU timings</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="384664460"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="934579195"> + <reference key="NSNextResponder" ref="869768206"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{461, 12}, {152, 32}}</string> + <reference key="NSSuperview" ref="869768206"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="305612276"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">Reset Preferences</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="934579195"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">1</int> + <reference key="NSAlternateImage" ref="447006373"/> + <string key="NSAlternateContents"/> + <object class="NSMutableString" key="NSKeyEquivalent"> + <characters key="NS.bytes"/> + </object> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + </object> + <string key="NSFrameSize">{627, 265}</string> + <reference key="NSSuperview"/> + <string key="NSClassName">NSView</string> + </object> + <object class="NSCustomView" id="803517542"> + <nil key="NSNextResponder"/> + <int key="NSvFlags">268</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="992395947"> + <reference key="NSNextResponder" ref="803517542"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{216, 70}, {154, 18}}</string> + <reference key="NSSuperview" ref="803517542"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="896123690"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">AY stereo seperation</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="992395947"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="1049631705"> + <reference key="NSNextResponder" ref="803517542"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{216, 50}, {162, 18}}</string> + <reference key="NSSuperview" ref="803517542"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="1047691103"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Beeper pseudo-stereo</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="1049631705"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="441962883"> + <reference key="NSNextResponder" ref="803517542"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{216, 90}, {126, 18}}</string> + <reference key="NSSuperview" ref="803517542"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="486371396"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Loading sounds</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="441962883"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSSlider" id="524220653"> + <reference key="NSNextResponder" ref="803517542"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{295, 114}, {115, 25}}</string> + <reference key="NSSuperview" ref="803517542"/> + <bool key="NSEnabled">YES</bool> + <object class="NSSliderCell" key="NSCell" id="904083090"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <object class="NSMutableString" key="NSContents"> + <characters key="NS.bytes"/> + </object> + <object class="NSFont" key="NSSupport"> + <string key="NSName">Helvetica</string> + <double key="NSSize">1.200000e+01</double> + <int key="NSfFlags">16</int> + </object> + <reference key="NSControlView" ref="524220653"/> + <double key="NSMaxValue">8.000000e+00</double> + <double key="NSMinValue">3.000000e+00</double> + <double key="NSValue">8.000000e+00</double> + <double key="NSAltIncValue">0.000000e+00</double> + <int key="NSNumberOfTickMarks">6</int> + <int key="NSTickMarkPosition">0</int> + <bool key="NSAllowsTickMarkValuesOnly">YES</bool> + <bool key="NSVertical">NO</bool> + </object> + </object> + <object class="NSButton" id="637855161"> + <reference key="NSNextResponder" ref="803517542"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{216, 141}, {116, 18}}</string> + <reference key="NSSuperview" ref="803517542"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="759125109"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Enabled</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="637855161"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSTextField" id="843751024"> + <reference key="NSNextResponder" ref="803517542"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{232, 118}, {60, 17}}</string> + <reference key="NSSuperview" ref="803517542"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="529077263"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">4194304</int> + <string key="NSContents">Volume</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="843751024"/> + <reference key="NSBackgroundColor" ref="519317542"/> + <object class="NSColor" key="NSTextColor" id="696958365"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlTextColor</string> + <object class="NSColor" key="NSColor" id="399634204"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MAA</bytes> + </object> + </object> + </object> + </object> + <object class="NSButton" id="141004482"> + <reference key="NSNextResponder" ref="803517542"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{216, 30}, {162, 18}}</string> + <reference key="NSSuperview" ref="803517542"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="530825906"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Hi-Fi beeper</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="141004482"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + </object> + <string key="NSFrameSize">{627, 177}</string> + <string key="NSClassName">NSView</string> + </object> + <object class="NSCustomView" id="649138232"> + <nil key="NSNextResponder"/> + <int key="NSvFlags">268</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="724557388"> + <reference key="NSNextResponder" ref="649138232"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{399, 307}, {198, 18}}</string> + <reference key="NSSuperview" ref="649138232"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="101822818"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Kempston joystick interface</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="724557388"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="1010771688"> + <reference key="NSNextResponder" ref="649138232"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{399, 263}, {138, 18}}</string> + <reference key="NSSuperview" ref="649138232"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="813453349"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Interface II</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="1010771688"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="1031545301"> + <reference key="NSNextResponder" ref="649138232"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{399, 285}, {187, 18}}</string> + <reference key="NSSuperview" ref="649138232"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="354861720"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Kempston mouse</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="1031545301"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="529831564"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSBox" id="342524131"> + <reference key="NSNextResponder" ref="649138232"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="173510519"> + <reference key="NSNextResponder" ref="342524131"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMatrix" id="833825163"> + <reference key="NSNextResponder" ref="173510519"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{14, 9}, {138, 158}}</string> + <reference key="NSSuperview" ref="173510519"/> + <bool key="NSEnabled">YES</bool> + <int key="NSNumRows">8</int> + <int key="NSNumCols">1</int> + <object class="NSMutableArray" key="NSCells"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButtonCell" id="949804708"> + <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">None</string> + <reference key="NSSupport" ref="447006373"/> + <reference key="NSControlView" ref="833825163"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <object class="NSButtonImageSource" key="NSAlternateImage" id="32434582"> + <string key="NSImageName">NSRadioButton</string> + </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + <object class="NSButtonCell" id="1035080357"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Interface I</string> + <reference key="NSSupport" ref="447006373"/> + <int key="NSTag">1</int> + <reference key="NSControlView" ref="833825163"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">0</int> + <reference key="NSAlternateImage" ref="32434582"/> + <object class="NSMutableString" key="NSAlternateContents" id="974780515"> + <characters key="NS.bytes"/> + </object> + <reference key="NSKeyEquivalent" ref="974780515"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + <object class="NSButtonCell" id="225396391"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Simple 8-bit IDE</string> + <reference key="NSSupport" ref="447006373"/> + <int key="NSTag">2</int> + <reference key="NSControlView" ref="833825163"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">0</int> + <object class="NSImage" key="NSNormalImage"> + <int key="NSImageFlags">549453824</int> + <string key="NSSize">{18, 18}</string> + <object class="NSMutableArray" key="NSReps"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="8"/> + <object class="NSBitmapImageRep"> + <object class="NSData" key="NSTIFFRepresentation"> + <bytes key="NS.bytes">TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw +IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ +29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 +dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA +AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG +AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ +0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ +7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ +5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ +3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD +AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns +AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ +6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ +/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ +///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl +YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA +AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD +AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu +AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB +AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES +AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABBxwAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS +AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes> + </object> + </object> + </object> + </object> + <object class="NSColor" key="NSColor" id="408283555"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwAA</bytes> + </object> + </object> + <reference key="NSAlternateImag... [truncated message content] |
From: <fr...@us...> - 2009-01-09 13:06:42
|
Revision: 578 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=578&view=rev Author: fredm Date: 2009-01-09 13:06:36 +0000 (Fri, 09 Jan 2009) Log Message: ----------- Fix running with sound off. Modified Paths: -------------- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/models/Emulator.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/spectrum.c Added Paths: ----------- trunk/fuse/fusepb/timer/ trunk/fuse/fusepb/timer/timer.c Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2008-12-18 10:18:38 UTC (rev 577) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2009-01-09 13:06:36 UTC (rev 578) @@ -170,8 +170,8 @@ B62B1A2A0DD667EC00D42AAF /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B62B1A290DD667EC00D42AAF /* main.m */; }; B63225EC0C66BA1300BB081B /* osname.c in Sources */ = {isa = PBXBuildFile; fileRef = B63225EB0C66BA1300BB081B /* osname.c */; }; B63225EE0C66BA3700BB081B /* paths.c in Sources */ = {isa = PBXBuildFile; fileRef = B63225ED0C66BA3700BB081B /* paths.c */; }; - B63225F50C66BA7400BB081B /* timer.c in Sources */ = {isa = PBXBuildFile; fileRef = B63225F20C66BA7400BB081B /* timer.c */; }; B63225F70C66BA7400BB081B /* unix.c in Sources */ = {isa = PBXBuildFile; fileRef = B63225F40C66BA7400BB081B /* unix.c */; }; + B6374FA50F178298003CE6E2 /* timer.c in Sources */ = {isa = PBXBuildFile; fileRef = B6374FA40F178298003CE6E2 /* timer.c */; }; B639B7680A6BAFCF00927E24 /* csw.icns in Resources */ = {isa = PBXBuildFile; fileRef = B639B7670A6BAFCF00927E24 /* csw.icns */; }; B639B7D10A6BB45600927E24 /* raw.icns in Resources */ = {isa = PBXBuildFile; fileRef = B639B7D00A6BB45600927E24 /* raw.icns */; }; B6403FD80A7E4B1A00E00B11 /* loader.c in Sources */ = {isa = PBXBuildFile; fileRef = B6403FD60A7E4B1A00E00B11 /* loader.c */; }; @@ -339,11 +339,11 @@ B62F3BCF059F5BF300A7009A /* PokeFinderController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PokeFinderController.m; path = controllers/PokeFinderController.m; sourceTree = "<group>"; }; B63225EB0C66BA1300BB081B /* osname.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = osname.c; sourceTree = "<group>"; }; B63225ED0C66BA3700BB081B /* paths.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = paths.c; sourceTree = "<group>"; }; - B63225F20C66BA7400BB081B /* timer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = timer.c; sourceTree = "<group>"; }; B63225F30C66BA7400BB081B /* timer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = "<group>"; }; B63225F40C66BA7400BB081B /* unix.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = unix.c; sourceTree = "<group>"; }; B632C6AE03E5368700A864FD /* DebuggerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DebuggerController.h; path = controllers/DebuggerController.h; sourceTree = "<group>"; }; B632C6AF03E5368700A864FD /* DebuggerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DebuggerController.m; path = controllers/DebuggerController.m; sourceTree = "<group>"; }; + B6374FA40F178298003CE6E2 /* timer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = timer.c; path = timer/timer.c; sourceTree = SOURCE_ROOT; }; B6379299060AA0D300246736 /* se-0.rom */ = {isa = PBXFileReference; lastKnownFileType = file; name = "se-0.rom"; path = "../roms/se-0.rom"; sourceTree = SOURCE_ROOT; }; B637929A060AA0D300246736 /* se-1.rom */ = {isa = PBXFileReference; lastKnownFileType = file; name = "se-1.rom"; path = "../roms/se-1.rom"; sourceTree = SOURCE_ROOT; }; B639B7670A6BAFCF00927E24 /* csw.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = csw.icns; sourceTree = "<group>"; }; @@ -789,7 +789,7 @@ B63225EF0C66BA4B00BB081B /* timer */ = { isa = PBXGroup; children = ( - B63225F20C66BA7400BB081B /* timer.c */, + B6374FA40F178298003CE6E2 /* timer.c */, B63225F30C66BA7400BB081B /* timer.h */, B63225F40C66BA7400BB081B /* unix.c */, ); @@ -1481,7 +1481,6 @@ B6CADD580C47AD90004BA954 /* Texture.m in Sources */, B63225EC0C66BA1300BB081B /* osname.c in Sources */, B63225EE0C66BA3700BB081B /* paths.c in Sources */, - B63225F50C66BA7400BB081B /* timer.c in Sources */, B63225F70C66BA7400BB081B /* unix.c in Sources */, B6CE3A060CD2160A005ACDC8 /* beta.c in Sources */, B6CE3A080CD2160A005ACDC8 /* crc.c in Sources */, @@ -1499,6 +1498,7 @@ B684A19E0E93A8CD00A5B097 /* event.c in Sources */, B684A1A00E93A8D700A5B097 /* variable.c in Sources */, B684A1A20E93A8FC00A5B097 /* file.c in Sources */, + B6374FA50F178298003CE6E2 /* timer.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; Modified: trunk/fuse/fusepb/models/Emulator.h =================================================================== --- trunk/fuse/fusepb/models/Emulator.h 2008-12-18 10:18:38 UTC (rev 577) +++ trunk/fuse/fusepb/models/Emulator.h 2009-01-09 13:06:36 UTC (rev 578) @@ -64,7 +64,7 @@ -(void) stopEmulationTimer; -(void) updateEmulation:(NSTimer*)theTimer; --(void) updateEmulationForTimeDelta:(CFAbsoluteTime)deltaTime; +-(void) updateEmulationForTimeDelta:(CFTimeInterval)deltaTime; -(void) setEmulationHz:(float)hz; /* FIXME: Could do with a setSettings? maybe we just update settings when Modified: trunk/fuse/fusepb/models/Emulator.m =================================================================== --- trunk/fuse/fusepb/models/Emulator.m 2008-12-18 10:18:38 UTC (rev 577) +++ trunk/fuse/fusepb/models/Emulator.m 2009-01-09 13:06:36 UTC (rev 578) @@ -148,7 +148,7 @@ } /* given a delta time in seconds, update overall emulation state */ --(void) updateEmulationForTimeDelta:(CFAbsoluteTime)deltaTime +-(void) updateEmulationForTimeDelta:(CFTimeInterval)deltaTime { if( sound_enabled ) { int too_long = 0; Added: trunk/fuse/fusepb/timer/timer.c =================================================================== --- trunk/fuse/fusepb/timer/timer.c (rev 0) +++ trunk/fuse/fusepb/timer/timer.c 2009-01-09 13:06:36 UTC (rev 578) @@ -0,0 +1,136 @@ +/* timer.c: Speed routines for Fuse + Copyright (c) 1999-2007 Philip Kendall, Marek Januszewski, Fredrick Meunier + + $Id: timer.c 3681 2008-06-16 09:40:29Z 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 "event.h" +#include "settings.h" +#include "sound.h" +#include "tape.h" +#include "timer.h" +#include "ui/ui.h" + +/* + * Routines for estimating emulation speed + */ + +/* The actual time at the end of each of the last 10 emulated seconds */ +static timer_type stored_times[10]; + +/* Which is the next entry in 'stored_times' that we will update */ +static size_t next_stored_time; + +/* The number of frames until we next update 'stored_times' */ +static int frames_until_update; + +/* The number of time samples we have for estimating speed */ +static int samples; + +float current_speed = 100.0; + +static timer_type start_time; + +int timer_event; + +static void timer_frame( libspectrum_dword last_tstates, int event GCC_UNUSED, + void *user_data GCC_UNUSED ); + +int +timer_estimate_speed( void ) +{ + timer_type current_time; + float difference; + int error; + + if( frames_until_update-- ) return 0; + + error = timer_get_real_time( ¤t_time ); if( error ) return error; + + if( samples < 10 ) { + + /* If we don't have enough data, assume we're running at the desired + speed :-) */ + current_speed = settings_current.emulation_speed; + + } else { + + difference = + timer_get_time_difference( ¤t_time, + &stored_times[ next_stored_time ] ); + current_speed = 100 * ( 10.0 / difference ); + + } + + ui_statusbar_update_speed( current_speed ); + + stored_times[ next_stored_time ] = current_time; + + next_stored_time = ( next_stored_time + 1 ) % 10; + frames_until_update = + ( machine_current->timings.processor_speed / + machine_current->timings.tstates_per_frame ) - 1; + + samples++; + + return 0; +} + +int +timer_estimate_reset( void ) +{ + int error = timer_get_real_time( &start_time ); if( error ) return error; + samples = 0; + next_stored_time = 0; + frames_until_update = 0; + + return 0; +} + +int +timer_init( void ) +{ + int error = timer_get_real_time( &start_time ); if( error ) return error; + + timer_event = event_register( timer_frame, "Timer" ); + if( timer_event == -1 ) return 1; + + error = event_add( 0, timer_event ); + if( error ) return error; + + return 0; +} + +int +timer_end( void ) +{ + return event_remove_type( timer_event ); +} + +static void +timer_frame( libspectrum_dword last_tstates, int event GCC_UNUSED, + void *user_data GCC_UNUSED ) +{ + event_timer = 1; +} Modified: trunk/fuse/spectrum.c =================================================================== --- trunk/fuse/spectrum.c 2008-12-18 10:18:38 UTC (rev 577) +++ trunk/fuse/spectrum.c 2009-01-09 13:06:36 UTC (rev 578) @@ -275,11 +275,11 @@ void spectrum_do_timer( libspectrum_dword target_tstates ) { + event_timer=0; if( event_add( target_tstates + tstates, timer_event ) ) { /* Some sort of dire error */ return; } - event_timer=0; while( !event_timer ) { z80_do_opcodes(); event_do_events(); @@ -287,5 +287,4 @@ spectrum_do_frame_end(); } } - event_timer=0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2009-09-04 22:58:56
|
Revision: 619 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=619&view=rev Author: fredm Date: 2009-09-04 22:58:49 +0000 (Fri, 04 Sep 2009) Log Message: ----------- Tidy up issues from the XCode 3.2 static analyser. Modified Paths: -------------- trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/controllers/PokeFinderController.m trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/controllers/SaveBinaryController.m trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m trunk/fuse/fusepb/views/DisplayOpenGLView.m trunk/fuse/fusepb/views/Texture.m trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c trunk/fuse/ui/cocoa/cocoadisplay.m trunk/fuse/ui/cocoa/cocoascreenshot.m Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2009-09-04 22:50:16 UTC (rev 618) +++ trunk/fuse/fusepb/controllers/FuseController.m 2009-09-04 22:58:49 UTC (rev 619) @@ -1975,8 +1975,6 @@ if( ui_mouse_grabbed ) ui_mouse_grabbed = ui_mouse_release( 1 ); - confirm = UI_CONFIRM_SAVE_CANCEL; - result = NSRunAlertPanel(@"Confirm", theMessage, @"Save", @"Don't Save", @"Cancel"); Modified: trunk/fuse/fusepb/controllers/PokeFinderController.m =================================================================== --- trunk/fuse/fusepb/controllers/PokeFinderController.m 2009-09-04 22:50:16 UTC (rev 618) +++ trunk/fuse/fusepb/controllers/PokeFinderController.m 2009-09-04 22:58:49 UTC (rev 619) @@ -59,7 +59,7 @@ - (void)awakeFromNib { - NumberFormatter *searchForFormatter = [[NumberFormatter alloc] init]; + NumberFormatter *searchForFormatter = [[[NumberFormatter alloc] init] autorelease]; [searchForFormatter setMinimum:[NSDecimalNumber zero]]; [searchForFormatter setMaximum:[NSDecimalNumber decimalNumberWithString:@"255"]]; @@ -72,7 +72,7 @@ - (void)matchListDoubleAction:(id)sender { - int error, row; + int row; id record, value; unsigned long page, offset; @@ -86,10 +86,9 @@ value = [record valueForKey:@"offset_number"]; offset = [value unsignedLongValue]; - error = - debugger_breakpoint_add_address( DEBUGGER_BREAKPOINT_TYPE_WRITE, - page, offset, 0, - DEBUGGER_BREAKPOINT_LIFE_PERMANENT, NULL); + (void)debugger_breakpoint_add_address( DEBUGGER_BREAKPOINT_TYPE_WRITE, + page, offset, 0, + DEBUGGER_BREAKPOINT_LIFE_PERMANENT, NULL); } - (void) dealloc Modified: trunk/fuse/fusepb/controllers/PreferencesController.m =================================================================== --- trunk/fuse/fusepb/controllers/PreferencesController.m 2009-09-04 22:50:16 UTC (rev 618) +++ trunk/fuse/fusepb/controllers/PreferencesController.m 2009-09-04 22:58:49 UTC (rev 619) @@ -69,16 +69,14 @@ [NSValueTransformer setValueTransformer:sNToITransformer forName:@"ScalerNameToIdTransformer"]; - machineScalerIsEnabled = [[MachineScalerIsEnabled - machineScalerIsEnabledWithInt:1] - autorelease]; + machineScalerIsEnabled = [MachineScalerIsEnabled + machineScalerIsEnabledWithInt:1]; [NSValueTransformer setValueTransformer:machineScalerIsEnabled forName:@"MachineTimexIsEnabled"]; - machineScalerIsEnabled = [[MachineScalerIsEnabled - machineScalerIsEnabledWithInt:0] - autorelease]; + machineScalerIsEnabled = [MachineScalerIsEnabled + machineScalerIsEnabledWithInt:0]; [NSValueTransformer setValueTransformer:machineScalerIsEnabled forName:@"MachineTimexIsDisabled"]; Modified: trunk/fuse/fusepb/controllers/SaveBinaryController.m =================================================================== --- trunk/fuse/fusepb/controllers/SaveBinaryController.m 2009-09-04 22:50:16 UTC (rev 618) +++ trunk/fuse/fusepb/controllers/SaveBinaryController.m 2009-09-04 22:58:49 UTC (rev 619) @@ -68,7 +68,7 @@ - (IBAction)apply:(id)sender { libspectrum_word s, l; size_t i; - char *buffer; + libspectrum_byte *buffer; int error; Modified: trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m =================================================================== --- trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m 2009-09-04 22:50:16 UTC (rev 618) +++ trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m 2009-09-04 22:58:49 UTC (rev 619) @@ -32,8 +32,8 @@ @implementation MachineScalerIsEnabled + (MachineScalerIsEnabled *)machineScalerIsEnabledWithInt:(int)value -{ - return [[MachineScalerIsEnabled alloc] initWithInt:value]; +{ + return [[[MachineScalerIsEnabled alloc] initWithInt:value] autorelease]; } - (id)initWithInt:(int)value Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2009-09-04 22:50:16 UTC (rev 618) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2009-09-04 22:58:49 UTC (rev 619) @@ -333,13 +333,13 @@ filename = [NSString stringWithFormat:@"%@_green", name]; /* Colour first image green */ - greenTexture = [greenTexture initWithImageFile:filename withXOrigin:x + (void)[greenTexture initWithImageFile:filename withXOrigin:x withYOrigin:y]; filename = [NSString stringWithFormat:@"%@_red", name]; /* Colour second image red */ - redTexture = [redTexture initWithImageFile:filename withXOrigin:x + (void)[redTexture initWithImageFile:filename withXOrigin:x withYOrigin:y]; } @@ -514,32 +514,6 @@ } } -/* scrolled, moved or resized */ --(void) reshape -{ - [view_lock lock]; - NSRect rect; - - [super reshape]; - - [[self openGLContext] makeCurrentContext]; - [[self openGLContext] update]; - - rect = [self bounds]; - - [self setViewPort:rect]; - - glMatrixMode( GL_PROJECTION ); - glLoadIdentity(); - - glMatrixMode( GL_MODELVIEW ); - glLoadIdentity(); - - statusbar_updated = YES; - - [view_lock unlock]; -} - -(void) destroyTexture { GLuint i; Modified: trunk/fuse/fusepb/views/Texture.m =================================================================== --- trunk/fuse/fusepb/views/Texture.m 2009-09-04 22:50:16 UTC (rev 618) +++ trunk/fuse/fusepb/views/Texture.m 2009-09-04 22:58:49 UTC (rev 619) @@ -40,6 +40,9 @@ CGImageRef image = CGImageSourceCreateImageAtIndex( image_source, 0, nil ); + + CFRelease( image_source ); + texture.image_width = CGImageGetWidth( image ); texture.image_height = CGImageGetHeight( image ); @@ -60,6 +63,10 @@ CGRectMake(0, 0, texture.image_width, texture.image_height), image ); + CGColorSpaceRelease( color_space ); + + CGImageRelease( image ); + CGContextRelease( context ); texture.image_xoffset = x; Modified: trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c =================================================================== --- trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c 2009-09-04 22:50:16 UTC (rev 618) +++ trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c 2009-09-04 22:58:49 UTC (rev 619) @@ -110,7 +110,7 @@ static void HIDReportErrorNum(char *strError, long numError) { - ui_error( UI_ERROR_ERROR, strError); + ui_error( UI_ERROR_ERROR, "%s", strError); } static void HIDGetCollectionElements(CFMutableDictionaryRef deviceProperties, Modified: trunk/fuse/ui/cocoa/cocoadisplay.m =================================================================== --- trunk/fuse/ui/cocoa/cocoadisplay.m 2009-09-04 22:50:16 UTC (rev 618) +++ trunk/fuse/ui/cocoa/cocoadisplay.m 2009-09-04 22:58:49 UTC (rev 619) @@ -207,7 +207,7 @@ return 0; } -static int +static void cocoadisplay_allocate_colours( int numColours, uint16_t *colour_values, uint16_t *bw_values ) { @@ -224,16 +224,13 @@ bw_values[i] = (grey << 10) | (grey << 5) | grey; } - - return 0; } int uidisplay_init( int width, int height ) { - int error; - error = cocoadisplay_allocate_colours( sizeof(colour_values) / sizeof(uint16_t), - colour_values, bw_values ); + cocoadisplay_allocate_colours( sizeof(colour_values) / sizeof(uint16_t), + colour_values, bw_values ); image_width = width; image_height = height; @@ -292,10 +289,10 @@ (y+unscaled_screen.image_yoffset) * unscaled_screen.pitch ); *(dest++) = palette_colour; - *(dest++) = palette_colour; + *(dest ) = palette_colour; dest = (uint16_t*)( (uint8_t*)dest_base + unscaled_screen.pitch ); *(dest++) = palette_colour; - *(dest++) = palette_colour; + *(dest ) = palette_colour; } else { dest = (uint16_t*)( (uint8_t*)unscaled_screen.pixels + (x+unscaled_screen.image_xoffset) * sizeof(uint16_t) + Modified: trunk/fuse/ui/cocoa/cocoascreenshot.m =================================================================== --- trunk/fuse/ui/cocoa/cocoascreenshot.m 2009-09-04 22:50:16 UTC (rev 618) +++ trunk/fuse/ui/cocoa/cocoascreenshot.m 2009-09-04 22:58:49 UTC (rev 619) @@ -158,10 +158,11 @@ NSData *data = [ bits representationUsingType:type properties:nil ]; [ data writeToFile:[NSString stringWithUTF8String:filename] atomically:NO ]; +freePool: + [ bits release ]; -freePool: - [pool release]; + [ pool release ]; return error; } 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-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...> - 2011-04-04 11:56:11
|
Revision: 672 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=672&view=rev Author: fredm Date: 2011-04-04 11:56:05 +0000 (Mon, 04 Apr 2011) Log Message: ----------- Merge in vendor revision 4234 change to handle missing peripheral ROM files (patch #3147415). Revision Links: -------------- http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=4234&view=rev Modified Paths: -------------- trunk/fuse/disk/beta.c trunk/fuse/disk/opus.c trunk/fuse/disk/plusd.c trunk/fuse/hacking/ChangeLog trunk/fuse/if1.c trunk/fuse/if2.c Modified: trunk/fuse/disk/beta.c =================================================================== --- trunk/fuse/disk/beta.c 2011-04-04 11:54:04 UTC (rev 671) +++ trunk/fuse/disk/beta.c 2011-04-04 11:56:05 UTC (rev 672) @@ -205,9 +205,15 @@ } if( !beta_builtin ) { - machine_load_rom_bank( beta_memory_map_romcs, 0, 0, - settings_current.rom_beta128, - settings_default.rom_beta128, 0x4000 ); + if( machine_load_rom_bank( beta_memory_map_romcs, 0, 0, + settings_current.rom_beta128, + settings_default.rom_beta128, 0x4000 ) ) { + beta_active = 0; + beta_available = 0; + periph_beta128_active = 0; + settings_current.beta128 = 0; + return; + } beta_memory_map_romcs[ 0 ].writable = 0; beta_memory_map_romcs[ 1 ].writable = 0; Modified: trunk/fuse/disk/opus.c =================================================================== --- trunk/fuse/disk/opus.c 2011-04-04 11:54:04 UTC (rev 671) +++ trunk/fuse/disk/opus.c 2011-04-04 11:56:05 UTC (rev 672) @@ -162,9 +162,13 @@ if( !periph_opus_active ) return; - machine_load_rom_bank( opus_memory_map_romcs, 0, 0, - settings_current.rom_opus, - settings_default.rom_opus, 0x2000 ); + if( machine_load_rom_bank( opus_memory_map_romcs, 0, 0, + settings_current.rom_opus, + settings_default.rom_opus, 0x2000 ) ) { + settings_current.opus = 0; + periph_opus_active = 0; + return; + } opus_memory_map_romcs[0].source = MEMORY_SOURCE_PERIPHERAL; Modified: trunk/fuse/disk/plusd.c =================================================================== --- trunk/fuse/disk/plusd.c 2011-04-04 11:54:04 UTC (rev 671) +++ trunk/fuse/disk/plusd.c 2011-04-04 11:56:05 UTC (rev 672) @@ -174,9 +174,13 @@ if( !periph_plusd_active ) return; - machine_load_rom_bank( plusd_memory_map_romcs, 0, 0, - settings_current.rom_plusd, - settings_default.rom_plusd, 0x2000 ); + if( machine_load_rom_bank( plusd_memory_map_romcs, 0, 0, + settings_current.rom_plusd, + settings_default.rom_plusd, 0x2000 ) ) { + settings_current.plusd = 0; + periph_plusd_active = 0; + return; + } plusd_memory_map_romcs[0].source = MEMORY_SOURCE_PERIPHERAL; Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2011-04-04 11:54:04 UTC (rev 671) +++ trunk/fuse/hacking/ChangeLog 2011-04-04 11:56:05 UTC (rev 672) @@ -3373,8 +3373,10 @@ system (fixes bugs #3124787 and #3124788) (rkd77). 20101216 ChangeLog,README,configure.in,man/fuse.1: update for 1.0.0 release. 20101217 keysyms.pl: fix SVGAlib compilation (rkd77). -20101229 debugger/breakpoint.c: don't free temporary breakpoint until after we have run - it (fixes bug #3084862) (thanks, Chris Cowley) (Fred). +20101229 disk/{beta.c,opus.c,plusd.c},if1.c,if2.c: handle missing peripheral ROM + files (patch #3147415) (Alberto Garcia). +20101229 debugger/breakpoint.c: don't free temporary breakpoint until after we + have run it (fixes bug #3084862) (thanks, Chris Cowley) (Fred). 20101230 debugger/breakpoint.c: stop evaluating breakpoints when we have hit a temporary breakpoint (really fixes bug #3084862) (patch #3142840) (Sergio Baldovi). Modified: trunk/fuse/if1.c =================================================================== --- trunk/fuse/if1.c 2011-04-04 11:54:04 UTC (rev 671) +++ trunk/fuse/if1.c 2011-04-04 11:56:05 UTC (rev 672) @@ -364,10 +364,14 @@ if( !periph_interface1_active ) return; - machine_load_rom_bank( if1_memory_map_romcs, 0, 0, - settings_current.rom_interface_i, - settings_default.rom_interface_i, - MEMORY_PAGE_SIZE ); + if( machine_load_rom_bank( if1_memory_map_romcs, 0, 0, + settings_current.rom_interface_i, + settings_default.rom_interface_i, + MEMORY_PAGE_SIZE ) ) { + settings_current.interface1 = 0; + periph_interface1_active = 0; + return; + } if1_memory_map_romcs[0].source = MEMORY_SOURCE_PERIPHERAL; Modified: trunk/fuse/if2.c =================================================================== --- trunk/fuse/if2.c 2011-04-04 11:54:04 UTC (rev 671) +++ trunk/fuse/if2.c 2011-04-04 11:56:05 UTC (rev 672) @@ -121,10 +121,11 @@ if ( !periph_interface2_active ) return; - machine_load_rom_bank( if2_memory_map_romcs, 0, 0, - settings_current.if2_file, - NULL, - 2 * MEMORY_PAGE_SIZE ); + if ( machine_load_rom_bank( if2_memory_map_romcs, 0, 0, + settings_current.if2_file, + NULL, + 2 * MEMORY_PAGE_SIZE ) ) + return; if2_memory_map_romcs[0].source = if2_memory_map_romcs[1].source = MEMORY_SOURCE_CARTRIDGE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2012-11-02 12:03:53
|
Revision: 702 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=702&view=rev Author: fredm Date: 2012-11-02 12:03:41 +0000 (Fri, 02 Nov 2012) Log Message: ----------- Migrate to modern Objective-C syntax. Modified Paths: -------------- trunk/fuse/fusepb/content_arrays/CAMachines.m trunk/fuse/fusepb/content_arrays/HIDJoysticks.m trunk/fuse/fusepb/content_arrays/Joysticks.m trunk/fuse/fusepb/controllers/DebuggerController.m trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/controllers/JoystickConfigurationController.m trunk/fuse/fusepb/controllers/LoadBinaryController.m trunk/fuse/fusepb/controllers/MemoryBrowserController.m trunk/fuse/fusepb/controllers/PokeFinderController.m trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/controllers/RollbackController.m trunk/fuse/fusepb/controllers/TapeBrowserController.m trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/transformers/MachineNameToIdTransformer.m trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m trunk/fuse/fusepb/transformers/ScalerNameToIdTransformer.m trunk/fuse/fusepb/transformers/VolumeSliderToPrefTransformer.m trunk/fuse/fusepb/views/DisplayOpenGLView.m trunk/fuse/settings.pl trunk/fuse/ui/cocoa/cocoaerror.m trunk/fuse/ui/cocoa/cocoascreenshot.m trunk/fuse/ui/cocoa/cocoaui.m Modified: trunk/fuse/fusepb/content_arrays/CAMachines.m =================================================================== --- trunk/fuse/fusepb/content_arrays/CAMachines.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/content_arrays/CAMachines.m 2012-11-02 12:03:41 UTC (rev 702) @@ -43,8 +43,7 @@ for( i=0; i<machine_count; i++ ) { [machines addObject: - [Machine machineWithName:[NSString stringWithUTF8String: - libspectrum_machine_name( machine_types[i]->machine )] + [Machine machineWithName:@(libspectrum_machine_name( machine_types[i]->machine )) andType:machine_types[i]->machine] ]; } Modified: trunk/fuse/fusepb/content_arrays/HIDJoysticks.m =================================================================== --- trunk/fuse/fusepb/content_arrays/HIDJoysticks.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/content_arrays/HIDJoysticks.m 2012-11-02 12:03:41 UTC (rev 702) @@ -46,8 +46,7 @@ if( joysticks_supported > 0 ){ for( i=0; i<joysticks_supported; i++ ) { [joysticks addObject: - [HIDJoystick joystickWithName:[NSString stringWithUTF8String: - SDL_SYS_JoystickName(i)] + [HIDJoystick joystickWithName:@(SDL_SYS_JoystickName(i)) andType:i+1] ]; } Modified: trunk/fuse/fusepb/content_arrays/Joysticks.m =================================================================== --- trunk/fuse/fusepb/content_arrays/Joysticks.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/content_arrays/Joysticks.m 2012-11-02 12:03:41 UTC (rev 702) @@ -43,9 +43,7 @@ for( i=0; i<JOYSTICK_TYPE_COUNT; i++ ) { [joysticks addObject: - [Joystick joystickWithName:[NSString stringWithUTF8String: - joystick_name[i]] - andType:i] + [Joystick joystickWithName:@(joystick_name[i]) andType:i] ]; } } Modified: trunk/fuse/fusepb/controllers/DebuggerController.m =================================================================== --- trunk/fuse/fusepb/controllers/DebuggerController.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/controllers/DebuggerController.m 2012-11-02 12:03:41 UTC (rev 702) @@ -130,7 +130,7 @@ if( row < 0 || row >= [eventsContents count] ) return; - record = [eventsContents objectAtIndex:row]; + record = eventsContents[row]; value = [record valueForKey:@"time"]; error = debugger_breakpoint_add_time( DEBUGGER_BREAKPOINT_TYPE_TIME, @@ -197,11 +197,11 @@ libspectrum_word address; if( debugger_output_base == 10 ) { - format_16_bit = [NSString stringWithUTF8String:"%5d"]; - format_8_bit = [NSString stringWithUTF8String:"%3d"]; + format_16_bit = @"%5d"; + format_8_bit = @"%3d"; } else { - format_16_bit = [NSString stringWithUTF8String:"0x%04X"]; - format_8_bit = [NSString stringWithUTF8String:"0x%02X"]; + format_16_bit = @"0x%04X"; + format_8_bit = @"0x%02X"; } [PCText setStringValue:[NSString stringWithFormat:format_16_bit, PC ]]; @@ -226,7 +226,7 @@ for( i = 0; i < 8; i++ ) buffer[i] = ( F & ( 0x80 >> i ) ) ? '1' : '0'; buffer[8] = '\0'; - [flags setStringValue:[NSString stringWithUTF8String:buffer]]; + [flags setStringValue:@(buffer)]; capabilities = libspectrum_machine_capabilities( machine_current->machine ); @@ -336,20 +336,18 @@ if( bp->condition ) { char condition_cstring[80]; debugger_expression_deparse( condition_cstring, 80, bp->condition ); - condition = [NSString stringWithUTF8String:condition_cstring]; + condition = @(condition_cstring); } else { condition = @""; } [breakpointsContents addObject: - [NSDictionary dictionaryWithObjectsAndKeys: - id, @"id", - type, @"type", - value, @"value", - ignore, @"ignore", - life, @"life", - condition, @"condition", - nil] + @{@"id": id, + @"type": type, + @"value": value, + @"ignore": ignore, + @"life": life, + @"condition": condition} ]; } @@ -371,14 +369,12 @@ disassembly_address = [NSString stringWithFormat:format_16_bit, address ]; debugger_disassemble( buffer, 40, &length, address ); - instruction = [NSString stringWithUTF8String:buffer]; + instruction = @(buffer); address += length; [dissasemblyContents addObject: - [NSDictionary dictionaryWithObjectsAndKeys: - disassembly_address, @"address", - instruction, @"instruction", - nil] + @{@"address": disassembly_address, + @"instruction": instruction} ]; } @@ -403,10 +399,8 @@ stack_value = [NSString stringWithFormat:format_16_bit, contents ]; [stackContents addObject: - [NSDictionary dictionaryWithObjectsAndKeys: - stack_address, @"address", - stack_value, @"value", - nil] + @{@"address": stack_address, + @"value": stack_value} ]; } @@ -440,18 +434,16 @@ NSString *memory_map_address = [NSString stringWithFormat:format_16_bit, i*MEMORY_PAGE_SIZE ]; NSString *memory_map_type = [NSString stringWithFormat:@"%s", memory_source_description( memory_map_read[i].source )]; - NSNumber *memory_map_page = [ NSNumber numberWithInt:memory_map_read[i].page_num ]; + NSNumber *memory_map_page = @(memory_map_read[i].page_num); NSString *memory_map_writeable = [NSString stringWithFormat:@"%s", memory_map_read[i].writable ? "Y" : "N" ]; NSString *memory_map_contended = [NSString stringWithFormat:@"%s", memory_map_read[i].contended ? "Y" : "N" ]; [memoryMapContents addObject: - [NSDictionary dictionaryWithObjectsAndKeys: - memory_map_address, @"address", - memory_map_type, @"type", - memory_map_page, @"page", - memory_map_writeable, @"writeable", - memory_map_contended, @"contended", - nil] + @{@"address": memory_map_address, + @"type": memory_map_type, + @"page": memory_map_page, + @"writeable": memory_map_writeable, + @"contended": memory_map_contended} ]; } @@ -463,15 +455,10 @@ /* Skip events which have been removed */ if( ptr->type == event_type_null ) return; - NSNumber *event_time = [ NSNumber numberWithUnsignedLong:ptr->tstates ]; - NSString *event_type = [ NSString stringWithUTF8String:event_name( ptr->type ) ]; + NSNumber *event_time = @(ptr->tstates); + NSString *event_type = @(event_name( ptr->type )); - [eventsContents addObject: - [NSDictionary dictionaryWithObjectsAndKeys: - event_time, @"time", - event_type, @"type", - nil] - ]; + [eventsContents addObject:@{@"time": event_time, @"type": event_type}]; } - (void)debugger_disassemble:(libspectrum_word)address @@ -538,31 +525,31 @@ switch( [table tag] ) { case 0: if(row < 0 || row > [dissasemblyContents count]) return nil; - record = [dissasemblyContents objectAtIndex:row]; + record = dissasemblyContents[row]; value = [record valueForKey:[col identifier]]; return value; break; case 1: if(row < 0 || row > [stackContents count]) return nil; - record = [stackContents objectAtIndex:row]; + record = stackContents[row]; value = [record valueForKey:[col identifier]]; return value; break; case 2: if(row < 0 || row > [breakpointsContents count]) return nil; - record = [breakpointsContents objectAtIndex:row]; + record = breakpointsContents[row]; value = [record valueForKey:[col identifier]]; return value; break; case 3: if(row < 0 || row > [eventsContents count]) return nil; - record = [eventsContents objectAtIndex:row]; + record = eventsContents[row]; value = [record valueForKey:[col identifier]]; return value; break; case 4: if(row < 0 || row > [memoryMapContents count]) return nil; - record = [memoryMapContents objectAtIndex:row]; + record = memoryMapContents[row]; value = [record valueForKey:[col identifier]]; return value; break; Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/controllers/FuseController.m 2012-11-02 12:03:41 UTC (rev 702) @@ -201,8 +201,7 @@ [super init]; singleton = self; - NSArray *compressedFileTypes = [NSArray arrayWithObjects:@"gz", @"GZ", - @"bz2", @"BZ2", nil]; + NSArray *compressedFileTypes = @[@"gz", @"GZ", @"bz2", @"BZ2"]; snapFileTypes = [NSMutableArray arrayWithObjects:@"mgtsnp", @"MGTSNP", @"slt", @"SLT", @"sna", @"SNA", @"sp", @"SP", @"szx", @@ -678,7 +677,7 @@ [[DisplayOpenGLView instance] pause]; - recording = cocoaui_savepanel_get_filename( @"Start Recording", [NSArray arrayWithObjects:@"rzx", nil] ); + recording = cocoaui_savepanel_get_filename( @"Start Recording", @[@"rzx"] ); if( !recording ) { [[DisplayOpenGLView instance] unpause]; return; } [[DisplayOpenGLView instance] rzxStartRecording:recording embedSnapshot:1]; @@ -701,7 +700,7 @@ snap = cocoaui_openpanel_get_filename( @"Load Snapshot", snapFileTypes ); if( !snap ) { [[DisplayOpenGLView instance] unpause]; return; } - recording = cocoaui_savepanel_get_filename( @"Start Recording", [NSArray arrayWithObjects:@"rzx", nil] ); + recording = cocoaui_savepanel_get_filename( @"Start Recording", @[@"rzx"] ); if( !recording ) { free( snap ); [[DisplayOpenGLView instance] unpause]; return; } if( snapshot_read( snap ) ) { @@ -735,7 +734,7 @@ [[DisplayOpenGLView instance] pause]; - psgfile = cocoaui_savepanel_get_filename( @"Start AY Sound Recording", [NSArray arrayWithObjects:@"psg", nil] ); + psgfile = cocoaui_savepanel_get_filename( @"Start AY Sound Recording", @[@"psg"] ); if( !psgfile ) { [[DisplayOpenGLView instance] unpause]; return; } [[DisplayOpenGLView instance] psgStart:psgfile]; @@ -764,7 +763,7 @@ if( !settings_current.full_screen ) { [[DisplayOpenGLView instance] pause]; - filename = cocoaui_savepanel_get_filename( @"Save Snapshot As", [NSArray arrayWithObjects:@"szx", @"z80", @"sna", nil] ); + filename = cocoaui_savepanel_get_filename( @"Save Snapshot As", @[@"szx", @"z80", @"sna"] ); if( !filename ) goto save_as_exit; @@ -837,7 +836,7 @@ [[DisplayOpenGLView instance] pause]; - filename = cocoaui_savepanel_get_filename( @"Save Profile Data As", [NSArray arrayWithObjects:@"profile", nil] ); + filename = cocoaui_savepanel_get_filename( @"Save Profile Data As", @[@"profile"] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; } [[DisplayOpenGLView instance] profileFinish:filename]; @@ -853,7 +852,7 @@ [[DisplayOpenGLView instance] pause]; - filename = cocoaui_savepanel_get_filename( @"Save Screenshot As", [NSArray arrayWithObjects:@"scr", nil] ); + filename = cocoaui_savepanel_get_filename( @"Save Screenshot As", @[@"scr"] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; } @@ -872,7 +871,7 @@ [[DisplayOpenGLView instance] pause]; - filename = cocoaui_savepanel_get_filename( @"Export Screenshot", [NSArray arrayWithObjects:@"png", @"tiff", @"bmp", @"jpg", @"gif", nil] ); + filename = cocoaui_savepanel_get_filename( @"Export Screenshot", @[@"png", @"tiff", @"bmp", @"jpg", @"gif"] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; } @@ -1058,7 +1057,7 @@ - (IBAction)saveFileTypeClicked:(id)sender; { - [sPanel setAllowedFileTypes:[NSArray arrayWithObject:[saveFileType titleOfSelectedItem]]]; + [sPanel setAllowedFileTypes:@[[saveFileType titleOfSelectedItem]]]; } - savePanelAccessoryView @@ -1798,8 +1797,7 @@ - (void)openRecent:(id)fileMenu { - NSString *file = [settings_current.cocoa->recent_snapshots - objectAtIndex:[recentSnaps indexOfItem:fileMenu]]; + NSString *file = settings_current.cocoa->recent_snapshots[[recentSnaps indexOfItem:fileMenu]]; char *filename = strdup([file UTF8String]); if( filename == NULL ) return; @@ -1822,17 +1820,15 @@ while( (object = [enumerator nextObject]) ) { if( [object isEqualToString:filename] ) { - NSNumber *index = [NSNumber - numberWithInt:[recentSnapFileNames indexOfObjectIdenticalTo:object]]; + NSNumber *index = @([recentSnapFileNames indexOfObjectIdenticalTo:object]); NSString *file = [NSString stringWithString:filename]; - NSArray *match = [NSArray arrayWithObjects:index, file, nil]; + NSArray *match = @[index, file]; [matches addObject:match]; } } NSMutableString *commonPrefix = [NSMutableString - stringWithString:[settings_current.cocoa->recent_snapshots - objectAtIndex:[[[matches lastObject] objectAtIndex:1] intValue]]]; + stringWithString:settings_current.cocoa->recent_snapshots[[[matches lastObject][1] intValue]]]; /* Iterate through matches to find shortest common string as found by commonPrefixWithString */ @@ -1841,14 +1837,12 @@ /* Compare all strings with commonPrefixWithString and find the shortest prefix */ id object2; - NSString *file = [settings_current.cocoa->recent_snapshots - objectAtIndex:[[object objectAtIndex:1] intValue]]; + NSString *file = settings_current.cocoa->recent_snapshots[[object[1] intValue]]; NSEnumerator *enumerator2 = [matches objectEnumerator]; while( (object2 = [enumerator2 nextObject]) ) { if([object isEqual:object2]) continue; - NSString *file2 = [settings_current.cocoa->recent_snapshots - objectAtIndex:[[object2 objectAtIndex:0] intValue]]; + NSString *file2 = settings_current.cocoa->recent_snapshots[[object2[0] intValue]]; NSString *prefix = [file commonPrefixWithString:file2 options:NSLiteralSearch]; if( [prefix length] < [commonPrefix length] ) { @@ -1862,9 +1856,8 @@ the full path with commonPrefix removed, and with snap name - .../ prepended */ for( object in matches ) { - unsigned index = [[object objectAtIndex:0] intValue]; - NSString *file = [settings_current.cocoa->recent_snapshots - objectAtIndex:[[object objectAtIndex:0] intValue]]; + unsigned index = [object[0] intValue]; + NSString *file = settings_current.cocoa->recent_snapshots[[object[0] intValue]]; NSMutableString *label = [NSMutableString stringWithString:file]; @@ -1925,8 +1918,7 @@ - (void)addRecentSnapshot:(const char *)filename { - NSString *file = [NSString stringWithUTF8String:filename]; - [self addRecentSnapshotWithString:file]; + [self addRecentSnapshotWithString:@(filename)]; } - (void)clearRecentSnapshots @@ -2082,7 +2074,7 @@ [[DisplayOpenGLView instance] pause]; - filename = cocoaui_savepanel_get_filename( @"Write Tape As", [NSArray arrayWithObjects:@"tzx", @"tap", @"csw", nil] ); + filename = cocoaui_savepanel_get_filename( @"Write Tape As", @[@"tzx", @"tap", @"csw"] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } @@ -2090,7 +2082,7 @@ paused */ tape_write( filename ); - [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; + [self addRecentSnapshotWithString:@(filename)]; free( filename ); @@ -2110,7 +2102,7 @@ if( saveas == YES ) { NSString *title = [NSString stringWithFormat:@"Write +3 Disk %c: As", drive]; - filename = cocoaui_savepanel_get_filename( title, [NSArray arrayWithObjects:@"dsk", nil] ); + filename = cocoaui_savepanel_get_filename( title, @[@"dsk"] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } } @@ -2118,7 +2110,7 @@ /* We will be calling this from the Emulator thread */ err = specplus3_disk_write( which, filename ); - [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; + [self addRecentSnapshotWithString:@(filename)]; if( saveas == YES ) free( filename ); @@ -2145,9 +2137,7 @@ if( saveas == YES ) { NSString *title = [NSString stringWithFormat:@"Write Beta Disk %c: As", drive]; filename = - cocoaui_savepanel_get_filename( title, - [NSArray arrayWithObjects:@"trd", @"scl", - @"udi", @"fdi", nil] ); + cocoaui_savepanel_get_filename( title, @[@"trd", @"scl", @"udi", @"fdi"] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } } @@ -2155,7 +2145,7 @@ /* We will be calling this from the main thread with emulator paused */ err = beta_disk_write( which, filename ); - [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; + [self addRecentSnapshotWithString:@(filename)]; if( saveas == YES ) free( filename ); @@ -2180,9 +2170,7 @@ if( saveas == YES ) { NSString *title = [NSString stringWithFormat:@"Write Opus Discovery Disk %c: As", drive]; filename = - cocoaui_savepanel_get_filename( title, - [NSArray arrayWithObjects:@"opd", @"opu", - @"dsk", nil] ); + cocoaui_savepanel_get_filename( title, @[@"opd", @"opu", @"dsk"] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } } @@ -2190,7 +2178,7 @@ /* We will be calling this from the main thread with emulator paused */ err = opus_disk_write( which, filename ); - [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; + [self addRecentSnapshotWithString:@(filename)]; if( saveas == YES ) free( filename ); @@ -2214,10 +2202,7 @@ if( saveas == YES ) { NSString *title = [NSString stringWithFormat:@"Write +D Disk %c: As", drive]; - filename = - cocoaui_savepanel_get_filename( title, - [NSArray arrayWithObjects:@"mgt", @"img", - nil] ); + filename = cocoaui_savepanel_get_filename( title, @[@"mgt", @"img"] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } } @@ -2225,7 +2210,7 @@ /* We will be calling this from the main thread with emulator paused */ err = plusd_disk_write( which, filename ); - [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; + [self addRecentSnapshotWithString:@(filename)]; free( filename ); @@ -2249,10 +2234,7 @@ if( saveas == YES ) { NSString *title = [NSString stringWithFormat:@"Write DISCiPLE Disk %c: As", drive]; - filename = - cocoaui_savepanel_get_filename( title, - [NSArray arrayWithObjects:@"mgt", @"img", - nil] ); + filename = cocoaui_savepanel_get_filename( title, @[@"mgt", @"img"] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } } @@ -2260,7 +2242,7 @@ /* We will be calling this from the main thread with emulator paused */ err = disciple_disk_write( which, filename ); - [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; + [self addRecentSnapshotWithString:@(filename)]; free( filename ); @@ -2278,7 +2260,7 @@ if( saveas == YES ) { NSString *title = [NSString stringWithFormat:@"Write Microdrive Cartridge %i As", which]; - filename = cocoaui_savepanel_get_filename( title, [NSArray arrayWithObjects:@"mdr", nil] ); + filename = cocoaui_savepanel_get_filename( title, @[@"mdr"] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; } } @@ -2286,7 +2268,7 @@ /* We will be calling this from the main thread with emulator paused */ err = if1_mdr_write( which, filename ); - [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]]; + [self addRecentSnapshotWithString:@(filename)]; if( saveas == YES ) free( filename ); @@ -2488,7 +2470,7 @@ result = [oPanel runModal]; if (result == NSOKButton) { NSArray *filesToOpen = [oPanel URLs]; - NSString *aFile = [[filesToOpen objectAtIndex:0] path]; + NSString *aFile = [filesToOpen[0] path]; [aFile getFileSystemRepresentation:buffer maxLength:PATH_MAX]; filename = strdup ( buffer ); } @@ -2506,7 +2488,7 @@ sPanel = [NSSavePanel savePanel]; [sPanel setTitle:title]; - [sPanel setAllowedFileTypes:[NSArray arrayWithObject:[fileTypes objectAtIndex:0]]]; + [sPanel setAllowedFileTypes:@[fileTypes[0]]]; [sPanel setCanSelectHiddenExtension:YES]; if( [fileTypes count] > 1 ) { @@ -2641,7 +2623,8 @@ int ui_menu_activate( ui_menu_item item, int active ) { - NSNumber* activeBool = [NSNumber numberWithBool:active ? YES : NO]; + BOOL value = active ? YES : NO; + NSNumber* activeBool = @(value); SEL method = nil; switch( item ) { @@ -3038,8 +3021,7 @@ [[DisplayOpenGLView instance] pause]; - NSString *m = [NSString stringWithUTF8String:message]; - result = NSRunAlertPanel(@"Confirm", m, @"OK", @"Cancel", nil); + result = NSRunAlertPanel(@"Confirm", @(message), @"OK", @"Cancel", nil); if( result == NSAlertDefaultReturn ) confirm = 1; Modified: trunk/fuse/fusepb/controllers/JoystickConfigurationController.m =================================================================== --- trunk/fuse/fusepb/controllers/JoystickConfigurationController.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/controllers/JoystickConfigurationController.m 2012-11-02 12:03:41 UTC (rev 702) @@ -109,32 +109,32 @@ switch(joyNum) { case 1: - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire1 selectedItem] tag]] forKey:@"joystick1fire1"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire2 selectedItem] tag]] forKey:@"joystick1fire2"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire3 selectedItem] tag]] forKey:@"joystick1fire3"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire4 selectedItem] tag]] forKey:@"joystick1fire4"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire5 selectedItem] tag]] forKey:@"joystick1fire5"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire6 selectedItem] tag]] forKey:@"joystick1fire6"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire7 selectedItem] tag]] forKey:@"joystick1fire7"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire8 selectedItem] tag]] forKey:@"joystick1fire8"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire9 selectedItem] tag]] forKey:@"joystick1fire9"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire10 selectedItem] tag]] forKey:@"joystick1fire10"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyXAxis selectedItem] tag]] forKey:@"joy1x"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyYAxis selectedItem] tag]] forKey:@"joy1y"]; + [currentValues setObject:@([[joyFire1 selectedItem] tag]) forKey:@"joystick1fire1"]; + [currentValues setObject:@([[joyFire2 selectedItem] tag]) forKey:@"joystick1fire2"]; + [currentValues setObject:@([[joyFire3 selectedItem] tag]) forKey:@"joystick1fire3"]; + [currentValues setObject:@([[joyFire4 selectedItem] tag]) forKey:@"joystick1fire4"]; + [currentValues setObject:@([[joyFire5 selectedItem] tag]) forKey:@"joystick1fire5"]; + [currentValues setObject:@([[joyFire6 selectedItem] tag]) forKey:@"joystick1fire6"]; + [currentValues setObject:@([[joyFire7 selectedItem] tag]) forKey:@"joystick1fire7"]; + [currentValues setObject:@([[joyFire8 selectedItem] tag]) forKey:@"joystick1fire8"]; + [currentValues setObject:@([[joyFire9 selectedItem] tag]) forKey:@"joystick1fire9"]; + [currentValues setObject:@([[joyFire10 selectedItem] tag]) forKey:@"joystick1fire10"]; + [currentValues setObject:@([[joyXAxis selectedItem] tag]) forKey:@"joy1x"]; + [currentValues setObject:@([[joyYAxis selectedItem] tag]) forKey:@"joy1y"]; break; case 2: - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire1 selectedItem] tag]] forKey:@"joystick2fire1"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire2 selectedItem] tag]] forKey:@"joystick2fire2"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire3 selectedItem] tag]] forKey:@"joystick2fire3"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire4 selectedItem] tag]] forKey:@"joystick2fire4"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire5 selectedItem] tag]] forKey:@"joystick2fire5"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire6 selectedItem] tag]] forKey:@"joystick2fire6"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire7 selectedItem] tag]] forKey:@"joystick2fire7"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire8 selectedItem] tag]] forKey:@"joystick2fire8"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire9 selectedItem] tag]] forKey:@"joystick2fire9"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyFire10 selectedItem] tag]] forKey:@"joystick2fire10"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyXAxis selectedItem] tag]] forKey:@"joy2x"]; - [currentValues setObject:[NSNumber numberWithInteger:[[joyYAxis selectedItem] tag]] forKey:@"joy2y"]; + [currentValues setObject:@([[joyFire1 selectedItem] tag]) forKey:@"joystick2fire1"]; + [currentValues setObject:@([[joyFire2 selectedItem] tag]) forKey:@"joystick2fire2"]; + [currentValues setObject:@([[joyFire3 selectedItem] tag]) forKey:@"joystick2fire3"]; + [currentValues setObject:@([[joyFire4 selectedItem] tag]) forKey:@"joystick2fire4"]; + [currentValues setObject:@([[joyFire5 selectedItem] tag]) forKey:@"joystick2fire5"]; + [currentValues setObject:@([[joyFire6 selectedItem] tag]) forKey:@"joystick2fire6"]; + [currentValues setObject:@([[joyFire7 selectedItem] tag]) forKey:@"joystick2fire7"]; + [currentValues setObject:@([[joyFire8 selectedItem] tag]) forKey:@"joystick2fire8"]; + [currentValues setObject:@([[joyFire9 selectedItem] tag]) forKey:@"joystick2fire9"]; + [currentValues setObject:@([[joyFire10 selectedItem] tag]) forKey:@"joystick2fire10"]; + [currentValues setObject:@([[joyXAxis selectedItem] tag]) forKey:@"joy2x"]; + [currentValues setObject:@([[joyYAxis selectedItem] tag]) forKey:@"joy2y"]; break; default: assert(0); @@ -241,35 +241,25 @@ [joyFire10 removeAllItems]; for( i = 0; i < key_menu_count; i++ ) { - [joyFire1 addItemWithTitle:[NSString - stringWithUTF8String:key_menu[i].key]]; + [joyFire1 addItemWithTitle:@(key_menu[i].key)]; [[joyFire1 lastItem] setTag:key_menu[i].value]; - [joyFire2 addItemWithTitle:[NSString - stringWithUTF8String:key_menu[i].key]]; + [joyFire2 addItemWithTitle:@(key_menu[i].key)]; [[joyFire2 lastItem] setTag:key_menu[i].value]; - [joyFire3 addItemWithTitle:[NSString - stringWithUTF8String:key_menu[i].key]]; + [joyFire3 addItemWithTitle:@(key_menu[i].key)]; [[joyFire3 lastItem] setTag:key_menu[i].value]; - [joyFire4 addItemWithTitle:[NSString - stringWithUTF8String:key_menu[i].key]]; + [joyFire4 addItemWithTitle:@(key_menu[i].key)]; [[joyFire4 lastItem] setTag:key_menu[i].value]; - [joyFire5 addItemWithTitle:[NSString - stringWithUTF8String:key_menu[i].key]]; + [joyFire5 addItemWithTitle:@(key_menu[i].key)]; [[joyFire5 lastItem] setTag:key_menu[i].value]; - [joyFire6 addItemWithTitle:[NSString - stringWithUTF8String:key_menu[i].key]]; + [joyFire6 addItemWithTitle:@(key_menu[i].key)]; [[joyFire6 lastItem] setTag:key_menu[i].value]; - [joyFire7 addItemWithTitle:[NSString - stringWithUTF8String:key_menu[i].key]]; + [joyFire7 addItemWithTitle:@(key_menu[i].key)]; [[joyFire7 lastItem] setTag:key_menu[i].value]; - [joyFire8 addItemWithTitle:[NSString - stringWithUTF8String:key_menu[i].key]]; + [joyFire8 addItemWithTitle:@(key_menu[i].key)]; [[joyFire8 lastItem] setTag:key_menu[i].value]; - [joyFire9 addItemWithTitle:[NSString - stringWithUTF8String:key_menu[i].key]]; + [joyFire9 addItemWithTitle:@(key_menu[i].key)]; [[joyFire9 lastItem] setTag:key_menu[i].value]; - [joyFire10 addItemWithTitle:[NSString - stringWithUTF8String:key_menu[i].key]]; + [joyFire10 addItemWithTitle:@(key_menu[i].key)]; [[joyFire10 lastItem] setTag:key_menu[i].value]; } Modified: trunk/fuse/fusepb/controllers/LoadBinaryController.m =================================================================== --- trunk/fuse/fusepb/controllers/LoadBinaryController.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/controllers/LoadBinaryController.m 2012-11-02 12:03:41 UTC (rev 702) @@ -136,7 +136,7 @@ u_file = new_file; - [file setStringValue:[NSString stringWithUTF8String:buffer]]; + [file setStringValue:@(buffer)]; [start setIntValue:0]; [length setIntValue:new_file.length]; Modified: trunk/fuse/fusepb/controllers/MemoryBrowserController.m =================================================================== --- trunk/fuse/fusepb/controllers/MemoryBrowserController.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/controllers/MemoryBrowserController.m 2012-11-02 12:03:41 UTC (rev 702) @@ -97,11 +97,7 @@ } [tableContents addObject: - [NSDictionary dictionaryWithObjectsAndKeys: - address, @"address", - data, @"data", - hex, @"hex", - nil] + @{@"address": address, @"data": data, @"hex": hex} ]; } @@ -125,7 +121,7 @@ id record, value; NSParameterAssert(row >= 0 && row < [tableContents count]); - record = [tableContents objectAtIndex:row]; + record = tableContents[row]; value = [record valueForKey:[col identifier]]; return value; } Modified: trunk/fuse/fusepb/controllers/PokeFinderController.m =================================================================== --- trunk/fuse/fusepb/controllers/PokeFinderController.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/controllers/PokeFinderController.m 2012-11-02 12:03:41 UTC (rev 702) @@ -80,7 +80,7 @@ if( row < 0 || row >= [tableContents count] ) return; - record = [tableContents objectAtIndex:row]; + record = tableContents[row]; value = [record valueForKey:@"page"]; page = [value unsignedLongValue]; value = [record valueForKey:@"offset_number"]; @@ -169,7 +169,7 @@ id record, value; if( row < 0 || row >= [tableContents count] ) return nil; - record = [tableContents objectAtIndex:row]; + record = tableContents[row]; value = [record valueForKey:[col identifier]]; return value; } @@ -185,16 +185,10 @@ for( page = 0; page < 2 * SPECTRUM_RAM_PAGES; page++ ) for( offset = 0; offset < 0x2000; offset++ ) if( !(pokefinder_impossible[page][offset/8] & 1 << (offset & 7)) ) { - NSNumber *p = [NSNumber numberWithUnsignedLong:page/2]; + NSNumber *p = @(page/2); NSString *o = [NSString stringWithFormat:@"0x%04lX", offset + 8192 * (page & 1)]; - NSNumber *on = [NSNumber numberWithUnsignedLong:offset + 8192 * (page & 1)]; - [tableContents addObject: - [NSDictionary dictionaryWithObjectsAndKeys: - p, @"page", - o, @"offset", - on, @"offset_number", - nil] - ]; + NSNumber *on = @(offset + 8192 * (page & 1)); + [tableContents addObject: @{@"page": p, @"offset": o, @"offset_number": on}]; } } else { [tableContents release]; Modified: trunk/fuse/fusepb/controllers/PreferencesController.m =================================================================== --- trunk/fuse/fusepb/controllers/PreferencesController.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/controllers/PreferencesController.m 2012-11-02 12:03:41 UTC (rev 702) @@ -117,7 +117,7 @@ - (void)awakeFromNib { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - NSToolbarItem *item = [[toolbar items] objectAtIndex:[defaults integerForKey:@"preferencestab"]]; + NSToolbarItem *item = [toolbar items][[defaults integerForKey:@"preferencestab"]]; [toolbar setSelectedItemIdentifier:[item itemIdentifier]]; [self selectPrefPanel:item]; } @@ -190,10 +190,10 @@ switch( [sender tag] ) { case 0: /* graphic */ - [sPanel setAllowedFileTypes:[NSArray arrayWithObject:@"pbm"]]; + [sPanel setAllowedFileTypes:@[@"pbm"]]; break; case 1: /* text */ - [sPanel setAllowedFileTypes:[NSArray arrayWithObject:@"txt"]]; + [sPanel setAllowedFileTypes:@[@"txt"]]; break; } @@ -204,10 +204,10 @@ switch( [sender tag] ) { case 0: /* graphic */ - [defaults setObject:[NSString stringWithUTF8String:buffer] forKey:@"graphicsfile"]; + [defaults setObject:@(buffer) forKey:@"graphicsfile"]; break; case 1: /* text */ - [defaults setObject:[NSString stringWithUTF8String:buffer] forKey:@"textfile"]; + [defaults setObject:@(buffer) forKey:@"textfile"]; break; } @@ -246,7 +246,7 @@ char buffer[PATH_MAX+1]; int result; NSOpenPanel *oPanel = [NSOpenPanel openPanel]; - NSArray *romFileTypes = [NSArray arrayWithObjects:@"rom", @"ROM", nil]; + NSArray *romFileTypes = @[@"rom", @"ROM"]; NSString *romString; [oPanel setAllowedFileTypes:romFileTypes]; @@ -256,7 +256,7 @@ NSString *oFile = [[oPanel URL] path]; [oFile getFileSystemRepresentation:buffer maxLength:PATH_MAX]; - romString = [NSString stringWithUTF8String:buffer]; + romString = @(buffer); switch( [sender tag] ) { case 0: @@ -326,10 +326,16 @@ newMachineRoms = settings_set_rom_array( &settings_current ); for( i=0; i<[newMachineRoms count]; i++ ) { - [self replaceObjectInMachineRomsAtIndex:i withObject:[newMachineRoms objectAtIndex:i]]; + [self replaceObjectInMachineRomsAtIndex:i withObject:newMachineRoms[i]]; } } +- (void)setCurrentValue:(int)value forKey:(NSString *)key inValues:(NSUserDefaults *)currentValues +{ + BOOL val = value ? YES : NO; + [currentValues setObject:@(val) forKey:key]; +} + - (IBAction)massStorageTypeClicked:(id)sender { NSUserDefaults *currentValues = [NSUserDefaults standardUserDefaults]; @@ -379,14 +385,14 @@ break; } - [currentValues setObject:[NSNumber numberWithBool:settings_current.interface1 ? YES : NO] forKey:@"interface1"]; - [currentValues setObject:[NSNumber numberWithBool:settings_current.simpleide_active ? YES : NO] forKey:@"simpleide"]; - [currentValues setObject:[NSNumber numberWithBool:settings_current.zxatasp_active ? YES : NO] forKey:@"zxatasp"]; - [currentValues setObject:[NSNumber numberWithBool:settings_current.zxcf_active ? YES : NO] forKey:@"zxcf"]; - [currentValues setObject:[NSNumber numberWithBool:settings_current.divide_enabled ? YES : NO] forKey:@"divide"]; - [currentValues setObject:[NSNumber numberWithBool:settings_current.plusd ? YES : NO] forKey:@"plusd"]; - [currentValues setObject:[NSNumber numberWithBool:settings_current.beta128 ? YES : NO] forKey:@"beta128"]; - [currentValues setObject:[NSNumber numberWithBool:settings_current.opus ? YES : NO] forKey:@"opus"]; + [self setCurrentValue:settings_current.interface1 forKey:@"interface1" inValues:currentValues]; + [self setCurrentValue:settings_current.simpleide_active forKey:@"simpleide" inValues:currentValues]; + [self setCurrentValue:settings_current.zxatasp_active forKey:@"zxatasp" inValues:currentValues]; + [self setCurrentValue:settings_current.zxcf_active forKey:@"zxcf" inValues:currentValues]; + [self setCurrentValue:settings_current.divide_enabled forKey:@"divide" inValues:currentValues]; + [self setCurrentValue:settings_current.plusd forKey:@"plusd" inValues:currentValues]; + [self setCurrentValue:settings_current.beta128 forKey:@"beta128" inValues:currentValues]; + [self setCurrentValue:settings_current.opus forKey:@"opus" inValues:currentValues]; [currentValues synchronize]; } @@ -416,9 +422,9 @@ break; } - [currentValues setObject:[NSNumber numberWithBool:settings_current.fuller ? YES : NO] forKey:@"fuller"]; - [currentValues setObject:[NSNumber numberWithBool:settings_current.melodik ? YES : NO] forKey:@"melodik"]; - [currentValues setObject:[NSNumber numberWithBool:settings_current.specdrum ? YES : NO] forKey:@"specdrum"]; + [self setCurrentValue:settings_current.fuller forKey:@"fuller" inValues:currentValues]; + [self setCurrentValue:settings_current.melodik forKey:@"melodik" inValues:currentValues]; + [self setCurrentValue:settings_current.specdrum forKey:@"specdrum" inValues:currentValues]; [currentValues synchronize]; } @@ -477,7 +483,7 @@ [window setContentView:prefsView]; [[NSUserDefaults standardUserDefaults] - setObject:[NSNumber numberWithInteger:[item tag]] forKey:@"preferencestab"]; + setObject:@([item tag]) forKey:@"preferencestab"]; } // NSToolbar delegate method @@ -534,7 +540,7 @@ - (id)objectInMachineRomsAtIndex:(unsigned int)index { - return [machineRoms objectAtIndex:index]; + return machineRoms[index]; } - (void)insertObject:(id)anObject inMachineRomsAtIndex:(unsigned int)index @@ -549,7 +555,7 @@ - (void)replaceObjectInMachineRomsAtIndex:(unsigned int)index withObject:(id)anObject { - [machineRoms replaceObjectAtIndex:index withObject:anObject]; + machineRoms[index] = anObject; } @end Modified: trunk/fuse/fusepb/controllers/RollbackController.m =================================================================== --- trunk/fuse/fusepb/controllers/RollbackController.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/controllers/RollbackController.m 2012-11-02 12:03:41 UTC (rev 702) @@ -121,7 +121,7 @@ id record, value; NSParameterAssert(row >= 0 && row < [tableContents count]); - record = [tableContents objectAtIndex:row]; + record = tableContents[row]; value = [record valueForKey:[col identifier]]; return value; } @@ -176,9 +176,6 @@ seconds = [NSString stringWithFormat:@"%.2f", GPOINTER_TO_INT( point ) / 50.0 ]; - [tableContents addObject: - [NSDictionary dictionaryWithObjectsAndKeys: - seconds, @"seconds", - nil] + [tableContents addObject:@{@"seconds": seconds} ]; } Modified: trunk/fuse/fusepb/controllers/TapeBrowserController.m =================================================================== --- trunk/fuse/fusepb/controllers/TapeBrowserController.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/controllers/TapeBrowserController.m 2012-11-02 12:03:41 UTC (rev 702) @@ -139,14 +139,14 @@ TapeBrowserController *tapeBrowserController = (TapeBrowserController*)user_data; NSString *type, *data; char buffer[256]; - NSArray *keys = [NSArray arrayWithObjects: @"type", @"data", nil]; + NSArray *keys = @[@"type", @"data"]; NSArray *values; libspectrum_tape_block_description( buffer, 256, block ); - type = [NSString stringWithUTF8String:buffer]; + type = @(buffer); tape_block_details( buffer, 256, block ); - data = [NSString stringWithUTF8String:buffer]; - values = [NSArray arrayWithObjects: type, data, nil]; + data = @(buffer); + values = @[type, data]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToTapeContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] @@ -160,12 +160,12 @@ switch( libspectrum_tape_block_ids( block, i ) ) { case 0: - values = [NSArray arrayWithObjects: @"Title", + values = @[@"Title", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 encoding:NSWindowsCP1252StringEncoding #endif - ], nil]; + ]]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] @@ -179,8 +179,8 @@ encoding:NSWindowsCP1252StringEncoding #endif ]; - values = [NSArray arrayWithObjects: @"Publishers", - [[info componentsSeparatedByString:@"\n"] componentsJoinedByString:@", "], nil]; + values = @[@"Publishers", + [[info componentsSeparatedByString:@"\n"] componentsJoinedByString:@", "]]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] @@ -194,8 +194,8 @@ encoding:NSWindowsCP1252StringEncoding #endif ]; - values = [NSArray arrayWithObjects: @"Authors", - [[info componentsSeparatedByString:@"\n"] componentsJoinedByString:@", "], nil]; + values = @[@"Authors", + [[info componentsSeparatedByString:@"\n"] componentsJoinedByString:@", "]]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] @@ -203,14 +203,13 @@ ]; break; case 3: - values = [NSArray arrayWithObjects: @"Year", - [NSNumber numberWithInt: - [[NSString stringWithCString: + values = @[@"Year", + @([[NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 encoding:NSWindowsCP1252StringEncoding #endif - ] intValue]], nil]; + ] intValue])]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] @@ -224,8 +223,8 @@ encoding:NSWindowsCP1252StringEncoding #endif ]; - values = [NSArray arrayWithObjects: @"Languages", - [[info componentsSeparatedByString:@"\n"] componentsJoinedByString:@", "], nil]; + values = @[@"Languages", + [[info componentsSeparatedByString:@"\n"] componentsJoinedByString:@", "]]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] @@ -233,12 +232,12 @@ ]; break; case 5: - values = [NSArray arrayWithObjects: @"Category", + values = @[@"Category", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 encoding:NSWindowsCP1252StringEncoding #endif - ], nil]; + ]]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] @@ -267,7 +266,7 @@ withString:@"€" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [priceString length])]; - values = [NSArray arrayWithObjects: @"Price", priceString, nil]; + values = @[@"Price", priceString]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] @@ -276,12 +275,12 @@ } break; case 7: - values = [NSArray arrayWithObjects: @"Loader", + values = @[@"Loader", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 encoding:NSWindowsCP1252StringEncoding #endif - ], nil]; + ]]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] @@ -289,12 +288,12 @@ ]; break; case 8: - values = [NSArray arrayWithObjects: @"Origin", + values = @[@"Origin", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 encoding:NSWindowsCP1252StringEncoding #endif - ], nil]; + ]]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] @@ -302,12 +301,12 @@ ]; break; case 255: - values = [NSArray arrayWithObjects: @"Comment", + values = @[@"Comment", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 encoding:NSWindowsCP1252StringEncoding #endif - ], nil]; + ]]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] @@ -344,13 +343,13 @@ [tapeBrowserController performSelectorOnMainThread:@selector(setInitialising:) - withObject:[NSNumber numberWithBool:YES] + withObject:@YES waitUntilDone:NO ]; error = tape_foreach( add_block_details, tapeBrowserController ); [tapeBrowserController performSelectorOnMainThread:@selector(setInitialising:) - withObject:[NSNumber numberWithBool:NO] + withObject:@NO waitUntilDone:NO ]; if( error ) return error; @@ -362,7 +361,7 @@ if(current_block >= 0) { [tapeBrowserController performSelectorOnMainThread:@selector(setTapeIndex:) - withObject:[NSNumber numberWithUnsignedInt:current_block] + withObject:@((unsigned int)current_block) waitUntilDone:NO ]; } Modified: trunk/fuse/fusepb/models/Emulator.m =================================================================== --- trunk/fuse/fusepb/models/Emulator.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/models/Emulator.m 2012-11-02 12:03:41 UTC (rev 702) @@ -76,8 +76,8 @@ pool = [[NSAutoreleasePool alloc] init]; serverConnection = [NSConnection - connectionWithReceivePort:[portArray objectAtIndex:0] - sendPort:[portArray objectAtIndex:1]]; + connectionWithReceivePort:portArray[0] + sendPort:portArray[1]]; [serverConnection setRootObject:self]; proxy_view = (id)[serverConnection rootProxy]; [proxy_view setServer:self]; Modified: trunk/fuse/fusepb/transformers/MachineNameToIdTransformer.m =================================================================== --- trunk/fuse/fusepb/transformers/MachineNameToIdTransformer.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/transformers/MachineNameToIdTransformer.m 2012-11-02 12:03:41 UTC (rev 702) @@ -77,7 +77,7 @@ [value class]]; } - return [NSString stringWithUTF8String:machine_types[machineInputValue]->id]; + return @(machine_types[machineInputValue]->id); } @end Modified: trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m =================================================================== --- trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m 2012-11-02 12:03:41 UTC (rev 702) @@ -60,10 +60,11 @@ machine_get_machine_info([[defaults stringForKey:@"machine"] UTF8String]); if( fmi ) { - return [NSNumber numberWithBool:fmi->timex == timex ? YES : NO]; + BOOL retval = fmi->timex == timex ? YES : NO; + return @(retval); } - return NO; + return @NO; } @end Modified: trunk/fuse/fusepb/transformers/ScalerNameToIdTransformer.m =================================================================== --- trunk/fuse/fusepb/transformers/ScalerNameToIdTransformer.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/transformers/ScalerNameToIdTransformer.m 2012-11-02 12:03:41 UTC (rev 702) @@ -77,7 +77,7 @@ [value class]]; } - return [NSString stringWithUTF8String:scaler_id(scalerInputValue)]; + return @(scaler_id(scalerInputValue)); } @end Modified: trunk/fuse/fusepb/transformers/VolumeSliderToPrefTransformer.m =================================================================== --- trunk/fuse/fusepb/transformers/VolumeSliderToPrefTransformer.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/transformers/VolumeSliderToPrefTransformer.m 2012-11-02 12:03:41 UTC (rev 702) @@ -55,7 +55,7 @@ [value class]]; } - return [NSNumber numberWithInt:8-volumeInputValue]; + return @(8-volumeInputValue); } - (id)reverseTransformedValue:(id)value @@ -75,7 +75,7 @@ [value class]]; } - return [NSNumber numberWithInt:8-volumeInputValue]; + return @(8-volumeInputValue); } @end Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2012-11-02 12:03:41 UTC (rev 702) @@ -248,7 +248,7 @@ [kitConnection enableMultipleThreads]; /* Ports switched here */ - portArray = [NSArray arrayWithObjects:port2, port1, nil]; + portArray = @[port2, port1]; [NSThread detachNewThreadSelector:@selector(connectWithPorts:) toTarget:real_emulator withObject:portArray]; @@ -1412,8 +1412,8 @@ -(void) windowChangedScreen:(NSNotification*)inNotification { NSWindow *window = [self window]; - CGDirectDisplayID displayID = (CGDirectDisplayID)[[[[window screen] - deviceDescription] objectForKey:@"NSScreenNumber"] intValue]; + CGDirectDisplayID displayID = (CGDirectDisplayID)[[[window screen] + deviceDescription][@"NSScreenNumber"] intValue]; if((displayID != 0) && (mainViewDisplayID != displayID)) { CVDisplayLinkSetCurrentCGDisplay(displayLink, displayID); Modified: trunk/fuse/settings.pl =================================================================== --- trunk/fuse/settings.pl 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/settings.pl 2012-11-02 12:03:41 UTC (rev 702) @@ -144,6 +144,7 @@ int settings_defaults( settings_info *settings ) { int retval; + BOOL value; NSMutableDictionary *defaultValues = [NSMutableDictionary dictionary]; @@ -159,25 +160,26 @@ if( $type eq 'boolean' ) { print << "CODE"; - [defaultValues setObject:[NSNumber numberWithBool:settings->$name ? YES : NO] forKey:@"$options{$name}->{configfile}"]; + value = settings->$name ? YES : NO; + defaultValues[@"$options{$name}->{configfile}"] = @(value); CODE } elsif( $type eq 'string' ) { print << "CODE"; if( settings->$name ) - [defaultValues setObject:[NSString stringWithUTF8String:settings->$name] forKey:@"$options{$name}->{configfile}"]; + defaultValues[@"$options{$name}->{configfile}"] = @(settings->$name); else - [defaultValues setObject:@"" forKey:@"$options{$name}->{configfile}"]; + defaultValues[@"$options{$name}->{configfile}"] = @""; CODE } elsif( $type eq 'numeric' ) { print << "CODE"; - [defaultValues setObject:[NSNumber numberWithInt:settings->$name] forKey:@"$options{$name}->{configfile}"]; + defaultValues[@"$options{$name}->{configfile}"] = @(settings->$name); CODE } elsif( $type eq 'nsarray' ) { print << "CODE"; if( settings->cocoa && settings->cocoa->$name ) - [defaultValues setObject:settings->cocoa->$name forKey:@"$options{$name}->{configfile}"]; + defaultValues[@"$options{$name}->{configfile}"] = settings->cocoa->$name; else - [defaultValues setObject:[NSArray array] forKey:@"$options{$name}->{configfile}"]; + defaultValues[@"$options{$name}->{configfile}"] = @[]; CODE } elsif( $type eq 'nsdictionary' ) { # Do nothing @@ -284,6 +286,7 @@ settings_write_config( settings_info *settings ) { NSUserDefaults *currentValues = [NSUserDefaults standardUserDefaults]; + BOOL value; CODE @@ -293,20 +296,21 @@ if( $type eq 'boolean' ) { print << "CODE"; - [currentValues setObject:[NSNumber numberWithBool:settings->$name ? YES : NO] forKey:@"$options{$name}->{configfile}"]; + value = settings->$name ? YES : NO; + [currentValues setObject:@(value) forKey:@"$options{$name}->{configfile}"]; CODE } elsif( $type eq 'string' ) { if( !defined $fileAssoc{$name} ) { print << "CODE"; if( settings->$name ) - [currentValues setObject:[NSString stringWithUTF8String:settings->$name] forKey:@"$options{$name}->{configfile}"]; + [currentValues setObject:@(settings->$name) forKey:@"$options{$name}->{configfile}"]; else [currentValues setObject:@"" forKey:@"$options{$name}->{configfile}"]; CODE } } elsif( $type eq 'numeric' ) { print << "CODE"; - [currentValues setObject:[NSNumber numberWithInt:settings->$name] forKey:@"$options{$name}->{configfile}"]; + [currentValues setObject:@(settings->$name) forKey:@"$options{$name}->{configfile}"]; CODE } elsif( $type eq 'nsarray' ) { print << "CODE"; @@ -669,8 +673,8 @@ print " roms = [NSMutableDictionary dictionaryWithObjectsAndKeys:\n"; print ' [Machine machineForType:machine_get_type("'.$machine.'")], @"machine",'."\n"; for( my $i = 0; $i <= $#{ $machineRoms{$machine} }; $i++ ) { - print ' [NSString stringWithUTF8String:settings->rom_'.$machine."_".$i.'], @"rom'.$i."\",\n"; - print ' [NSString stringWithUTF8String:settings_default.rom_'.$machine."_".$i.'], @"default_rom'.$i."\",\n"; + print ' @(settings->rom_'.$machine."_".$i.'), @"rom'.$i."\",\n"; + print ' @(settings_default.rom_'.$machine."_".$i.'), @"default_rom'.$i."\",\n"; } print " NULL];\n"; print " [machineroms addObject:roms];\n"; Modified: trunk/fuse/ui/cocoa/cocoaerror.m =================================================================== --- trunk/fuse/ui/cocoa/cocoaerror.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/ui/cocoa/cocoaerror.m 2012-11-02 12:03:41 UTC (rev 702) @@ -42,7 +42,7 @@ int aqua_verror( ui_error_level severity, const char *message ) { - NSString *alertString = [NSString stringWithUTF8String:message]; + NSString *alertString = @(message); switch( severity ) { case UI_ERROR_INFO: Modified: trunk/fuse/ui/cocoa/cocoascreenshot.m =================================================================== --- trunk/fuse/ui/cocoa/cocoascreenshot.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/ui/cocoa/cocoascreenshot.m 2012-11-02 12:03:41 UTC (rev 702) @@ -156,7 +156,7 @@ if( error ) goto freePool; NSData *data = [ bits representationUsingType:type properties:nil ]; - [ data writeToFile:[NSString stringWithUTF8String:filename] atomically:NO ]; + [ data writeToFile:@(filename) atomically:NO ]; freePool: Modified: trunk/fuse/ui/cocoa/cocoaui.m =================================================================== --- trunk/fuse/ui/cocoa/cocoaui.m 2012-11-02 10:27:50 UTC (rev 701) +++ trunk/fuse/ui/cocoa/cocoaui.m 2012-11-02 12:03:41 UTC (rev 702) @@ -112,15 +112,13 @@ ui_confirm_save_t ui_confirm_save_specific( const char *message ) { - return [[Emulator instance] - confirmSave:[NSString stringWithUTF8String:message]]; + return [[Emulator instance] confirmSave:@(message)]; } int ui_query( const char *message ) { - return [[Emulator instance] - confirm:[NSString stringWithUTF8String:message]]; + return [[Emulator instance] confirm:@(message)]; } int This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2012-11-02 12:39:33
|
Revision: 703 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=703&view=rev Author: fredm Date: 2012-11-02 12:39:26 +0000 (Fri, 02 Nov 2012) Log Message: ----------- Hmm, various modernising refactorings broke the build, roll them back. Modified Paths: -------------- trunk/fuse/fusepb/controllers/DebuggerController.m trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/controllers/MemoryBrowserController.m trunk/fuse/fusepb/controllers/PokeFinderController.m trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/controllers/RollbackController.m trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/views/DisplayOpenGLView.m trunk/fuse/settings.pl Modified: trunk/fuse/fusepb/controllers/DebuggerController.m =================================================================== --- trunk/fuse/fusepb/controllers/DebuggerController.m 2012-11-02 12:03:41 UTC (rev 702) +++ trunk/fuse/fusepb/controllers/DebuggerController.m 2012-11-02 12:39:26 UTC (rev 703) @@ -130,7 +130,7 @@ if( row < 0 || row >= [eventsContents count] ) return; - record = eventsContents[row]; + record = [eventsContents objectAtIndex:row]; value = [record valueForKey:@"time"]; error = debugger_breakpoint_add_time( DEBUGGER_BREAKPOINT_TYPE_TIME, @@ -525,31 +525,31 @@ switch( [table tag] ) { case 0: if(row < 0 || row > [dissasemblyContents count]) return nil; - record = dissasemblyContents[row]; + record = [dissasemblyContents objectAtIndex:row]; value = [record valueForKey:[col identifier]]; return value; break; case 1: if(row < 0 || row > [stackContents count]) return nil; - record = stackContents[row]; + record = [stackContents objectAtIndex:row]; value = [record valueForKey:[col identifier]]; return value; break; case 2: if(row < 0 || row > [breakpointsContents count]) return nil; - record = breakpointsContents[row]; + record = [breakpointsContents objectAtIndex:row]; value = [record valueForKey:[col identifier]]; return value; break; case 3: if(row < 0 || row > [eventsContents count]) return nil; - record = eventsContents[row]; + record = [eventsContents objectAtIndex:row]; value = [record valueForKey:[col identifier]]; return value; break; case 4: if(row < 0 || row > [memoryMapContents count]) return nil; - record = memoryMapContents[row]; + record = [memoryMapContents objectAtIndex:row]; value = [record valueForKey:[col identifier]]; return value; break; Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2012-11-02 12:03:41 UTC (rev 702) +++ trunk/fuse/fusepb/controllers/FuseController.m 2012-11-02 12:39:26 UTC (rev 703) @@ -1797,7 +1797,8 @@ - (void)openRecent:(id)fileMenu { - NSString *file = settings_current.cocoa->recent_snapshots[[recentSnaps indexOfItem:fileMenu]]; + NSString *file = [settings_current.cocoa->recent_snapshots + objectAtIndex:[recentSnaps indexOfItem:fileMenu]]; char *filename = strdup([file UTF8String]); if( filename == NULL ) return; @@ -1828,7 +1829,8 @@ } NSMutableString *commonPrefix = [NSMutableString - stringWithString:settings_current.cocoa->recent_snapshots[[[matches lastObject][1] intValue]]]; + stringWithString:[settings_current.cocoa->recent_snapshots + objectAtIndex:[[[matches lastObject] objectAtIndex:1] intValue]]]; /* Iterate through matches to find shortest common string as found by commonPrefixWithString */ @@ -1837,12 +1839,14 @@ /* Compare all strings with commonPrefixWithString and find the shortest prefix */ id object2; - NSString *file = settings_current.cocoa->recent_snapshots[[object[1] intValue]]; + NSString *file = [settings_current.cocoa->recent_snapshots + objectAtIndex:[[object objectAtIndex:1] intValue]]; NSEnumerator *enumerator2 = [matches objectEnumerator]; while( (object2 = [enumerator2 nextObject]) ) { if([object isEqual:object2]) continue; - NSString *file2 = settings_current.cocoa->recent_snapshots[[object2[0] intValue]]; + NSString *file2 = [settings_current.cocoa->recent_snapshots + objectAtIndex:[[object2 objectAtIndex:0] intValue]]; NSString *prefix = [file commonPrefixWithString:file2 options:NSLiteralSearch]; if( [prefix length] < [commonPrefix length] ) { @@ -1856,9 +1860,9 @@ the full path with commonPrefix removed, and with snap name - .../ prepended */ for( object in matches ) { - unsigned index = [object[0] intValue]; - NSString *file = settings_current.cocoa->recent_snapshots[[object[0] intValue]]; - + unsigned index = [[object objectAtIndex:0] intValue]; + NSString *file = [settings_current.cocoa->recent_snapshots + objectAtIndex:[[object objectAtIndex:0] intValue]]; NSMutableString *label = [NSMutableString stringWithString:file]; [label replaceCharactersInRange:range withString:@" - .../"]; @@ -2470,7 +2474,7 @@ result = [oPanel runModal]; if (result == NSOKButton) { NSArray *filesToOpen = [oPanel URLs]; - NSString *aFile = [filesToOpen[0] path]; + NSString *aFile = [[filesToOpen objectAtIndex:0] path]; [aFile getFileSystemRepresentation:buffer maxLength:PATH_MAX]; filename = strdup ( buffer ); } @@ -2488,7 +2492,7 @@ sPanel = [NSSavePanel savePanel]; [sPanel setTitle:title]; - [sPanel setAllowedFileTypes:@[fileTypes[0]]]; + [sPanel setAllowedFileTypes:[NSArray arrayWithObject:[fileTypes objectAtIndex:0]]]; [sPanel setCanSelectHiddenExtension:YES]; if( [fileTypes count] > 1 ) { Modified: trunk/fuse/fusepb/controllers/MemoryBrowserController.m =================================================================== --- trunk/fuse/fusepb/controllers/MemoryBrowserController.m 2012-11-02 12:03:41 UTC (rev 702) +++ trunk/fuse/fusepb/controllers/MemoryBrowserController.m 2012-11-02 12:39:26 UTC (rev 703) @@ -121,7 +121,7 @@ id record, value; NSParameterAssert(row >= 0 && row < [tableContents count]); - record = tableContents[row]; + record = [tableContents objectAtIndex:row]; value = [record valueForKey:[col identifier]]; return value; } Modified: trunk/fuse/fusepb/controllers/PokeFinderController.m =================================================================== --- trunk/fuse/fusepb/controllers/PokeFinderController.m 2012-11-02 12:03:41 UTC (rev 702) +++ trunk/fuse/fusepb/controllers/PokeFinderController.m 2012-11-02 12:39:26 UTC (rev 703) @@ -80,7 +80,7 @@ if( row < 0 || row >= [tableContents count] ) return; - record = tableContents[row]; + record = [tableContents objectAtIndex:row]; value = [record valueForKey:@"page"]; page = [value unsignedLongValue]; value = [record valueForKey:@"offset_number"]; @@ -169,7 +169,7 @@ id record, value; if( row < 0 || row >= [tableContents count] ) return nil; - record = tableContents[row]; + record = [tableContents objectAtIndex:row]; value = [record valueForKey:[col identifier]]; return value; } Modified: trunk/fuse/fusepb/controllers/PreferencesController.m =================================================================== --- trunk/fuse/fusepb/controllers/PreferencesController.m 2012-11-02 12:03:41 UTC (rev 702) +++ trunk/fuse/fusepb/controllers/PreferencesController.m 2012-11-02 12:39:26 UTC (rev 703) @@ -117,7 +117,7 @@ - (void)awakeFromNib { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - NSToolbarItem *item = [toolbar items][[defaults integerForKey:@"preferencestab"]]; + NSToolbarItem *item = [[toolbar items] objectAtIndex:[defaults integerForKey:@"preferencestab"]]; [toolbar setSelectedItemIdentifier:[item itemIdentifier]]; [self selectPrefPanel:item]; } @@ -326,7 +326,7 @@ newMachineRoms = settings_set_rom_array( &settings_current ); for( i=0; i<[newMachineRoms count]; i++ ) { - [self replaceObjectInMachineRomsAtIndex:i withObject:newMachineRoms[i]]; + [self replaceObjectInMachineRomsAtIndex:i withObject:[newMachineRoms objectAtIndex:i]]; } } @@ -540,7 +540,7 @@ - (id)objectInMachineRomsAtIndex:(unsigned int)index { - return machineRoms[index]; + return [machineRoms objectAtIndex:index]; } - (void)insertObject:(id)anObject inMachineRomsAtIndex:(unsigned int)index @@ -555,7 +555,7 @@ - (void)replaceObjectInMachineRomsAtIndex:(unsigned int)index withObject:(id)anObject { - machineRoms[index] = anObject; + [machineRoms replaceObjectAtIndex:index withObject:anObject]; } @end Modified: trunk/fuse/fusepb/controllers/RollbackController.m =================================================================== --- trunk/fuse/fusepb/controllers/RollbackController.m 2012-11-02 12:03:41 UTC (rev 702) +++ trunk/fuse/fusepb/controllers/RollbackController.m 2012-11-02 12:39:26 UTC (rev 703) @@ -121,7 +121,7 @@ id record, value; NSParameterAssert(row >= 0 && row < [tableContents count]); - record = tableContents[row]; + record = [tableContents objectAtIndex:row]; value = [record valueForKey:[col identifier]]; return value; } Modified: trunk/fuse/fusepb/models/Emulator.m =================================================================== --- trunk/fuse/fusepb/models/Emulator.m 2012-11-02 12:03:41 UTC (rev 702) +++ trunk/fuse/fusepb/models/Emulator.m 2012-11-02 12:39:26 UTC (rev 703) @@ -76,8 +76,8 @@ pool = [[NSAutoreleasePool alloc] init]; serverConnection = [NSConnection - connectionWithReceivePort:portArray[0] - sendPort:portArray[1]]; + connectionWithReceivePort:[portArray objectAtIndex:0] + sendPort:[portArray objectAtIndex:1]]; [serverConnection setRootObject:self]; proxy_view = (id)[serverConnection rootProxy]; [proxy_view setServer:self]; Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2012-11-02 12:03:41 UTC (rev 702) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2012-11-02 12:39:26 UTC (rev 703) @@ -1412,8 +1412,8 @@ -(void) windowChangedScreen:(NSNotification*)inNotification { NSWindow *window = [self window]; - CGDirectDisplayID displayID = (CGDirectDisplayID)[[[window screen] - deviceDescription][@"NSScreenNumber"] intValue]; + CGDirectDisplayID displayID = (CGDirectDisplayID)[[[[window screen] + deviceDescription] objectForKey:@"NSScreenNumber"] intValue]; if((displayID != 0) && (mainViewDisplayID != displayID)) { CVDisplayLinkSetCurrentCGDisplay(displayLink, displayID); Modified: trunk/fuse/settings.pl =================================================================== --- trunk/fuse/settings.pl 2012-11-02 12:03:41 UTC (rev 702) +++ trunk/fuse/settings.pl 2012-11-02 12:39:26 UTC (rev 703) @@ -161,25 +161,25 @@ if( $type eq 'boolean' ) { print << "CODE"; value = settings->$name ? YES : NO; - defaultValues[@"$options{$name}->{configfile}"] = @(value); + [defaultValues setObject:@(value) forKey:@"$options{$name}->{configfile}"]; CODE } elsif( $type eq 'string' ) { print << "CODE"; if( settings->$name ) - defaultValues[@"$options{$name}->{configfile}"] = @(settings->$name); + [defaultValues setObject:@(settings->$name) forKey:@"$options{$name}->{configfile}"]; else - defaultValues[@"$options{$name}->{configfile}"] = @""; + [defaultValues setObject:@"" forKey:@"$options{$name}->{configfile}"]; CODE } elsif( $type eq 'numeric' ) { print << "CODE"; - defaultValues[@"$options{$name}->{configfile}"] = @(settings->$name); + [defaultValues setObject:@(settings->$name) forKey:@"$options{$name}->{configfile}"]; CODE } elsif( $type eq 'nsarray' ) { print << "CODE"; if( settings->cocoa && settings->cocoa->$name ) - defaultValues[@"$options{$name}->{configfile}"] = settings->cocoa->$name; + [defaultValues setObject:settings->cocoa->$name forKey:@"$options{$name}->{configfile}"]; else - defaultValues[@"$options{$name}->{configfile}"] = @[]; + [defaultValues setObject:[NSArray array] forKey:@"$options{$name}->{configfile}"]; CODE } elsif( $type eq 'nsdictionary' ) { # Do nothing This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2012-11-23 11:26:35
|
Revision: 707 http://sourceforge.net/p/fuse-for-macosx/code/707 Author: fredm Date: 2012-11-23 11:26:32 +0000 (Fri, 23 Nov 2012) Log Message: ----------- Start of hi-res icon (thanks, Paul van der Laan) Add POK flie dialog Modified Paths: -------------- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/controllers/FuseController.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/xibs/MainMenu.xib trunk/fuse/fusepb/xibs/PokeFinder.xib trunk/fuse/ui/cocoa/cocoaui.m Added Paths: ----------- trunk/fuse/fusepb/Fuse.iconset/ trunk/fuse/fusepb/Fuse.iconset/icon_128x128.png trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g trunk/fuse/fusepb/Fuse.iconset/icon_16x16.png trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g trunk/fuse/fusepb/Fuse.iconset/icon_256x256.png trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g trunk/fuse/fusepb/Fuse.iconset/icon_32x32.png trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g trunk/fuse/fusepb/Fuse.iconset/icon_512x512.png trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g trunk/fuse/fusepb/controllers/PokeMemoryController.h trunk/fuse/fusepb/controllers/PokeMemoryController.m trunk/fuse/fusepb/xibs/PokeMemory.xib Removed Paths: ------------- trunk/fuse/fusepb/resources/Fuse.icns Added: trunk/fuse/fusepb/Fuse.iconset/icon_128x128.png =================================================================== (Binary files differ) Property changes on: trunk/fuse/fusepb/Fuse.iconset/icon_128x128.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g =================================================================== (Binary files differ) Property changes on: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/fuse/fusepb/Fuse.iconset/icon_16x16.png =================================================================== (Binary files differ) Property changes on: trunk/fuse/fusepb/Fuse.iconset/icon_16x16.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g =================================================================== (Binary files differ) Property changes on: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/fuse/fusepb/Fuse.iconset/icon_256x256.png =================================================================== (Binary files differ) Property changes on: trunk/fuse/fusepb/Fuse.iconset/icon_256x256.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g =================================================================== (Binary files differ) Property changes on: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/fuse/fusepb/Fuse.iconset/icon_32x32.png =================================================================== (Binary files differ) Property changes on: trunk/fuse/fusepb/Fuse.iconset/icon_32x32.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g =================================================================== (Binary files differ) Property changes on: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/fuse/fusepb/Fuse.iconset/icon_512x512.png =================================================================== (Binary files differ) Property changes on: trunk/fuse/fusepb/Fuse.iconset/icon_512x512.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g =================================================================== (Binary files differ) Property changes on: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2012-11-23 11:18:15 UTC (rev 706) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2012-11-23 11:26:32 UTC (rev 707) @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + B6013812164692F5005FD3AE /* Fuse.iconset in Resources */ = {isa = PBXBuildFile; fileRef = B6013811164692F5005FD3AE /* Fuse.iconset */; }; B604B21B0DC182BE00981CC7 /* FuseGenerator.qlgenerator in CopyFiles */ = {isa = PBXBuildFile; fileRef = B61EEB950D1A917D006FEA80 /* FuseGenerator.qlgenerator */; }; B61159BF0EEE99D50029FEA3 /* Graphics_Filter.png in Resources */ = {isa = PBXBuildFile; fileRef = B61159BE0EEE99D50029FEA3 /* Graphics_Filter.png */; }; B61159C10EEE99E20029FEA3 /* Machine.png in Resources */ = {isa = PBXBuildFile; fileRef = B61159C00EEE99E20029FEA3 /* Machine.png */; }; @@ -16,6 +17,8 @@ B61159C90EEE9A140029FEA3 /* Select_ROMs.png in Resources */ = {isa = PBXBuildFile; fileRef = B61159C80EEE9A140029FEA3 /* Select_ROMs.png */; }; B61159CB0EEE9A1E0029FEA3 /* Sound.png in Resources */ = {isa = PBXBuildFile; fileRef = B61159CA0EEE9A1E0029FEA3 /* Sound.png */; }; B615BFE80B4261E50082D535 /* HIDJoysticks.m in Sources */ = {isa = PBXBuildFile; fileRef = B615BFE60B4261E50082D535 /* HIDJoysticks.m */; }; + B61700F4163EAF8D00142336 /* PokeMemory.xib in Resources */ = {isa = PBXBuildFile; fileRef = B61700F3163EAF8D00142336 /* PokeMemory.xib */; }; + B61700F7163EAFC600142336 /* PokeMemoryController.m in Sources */ = {isa = PBXBuildFile; fileRef = B61700F6163EAFC600142336 /* PokeMemoryController.m */; }; B61F459309121DF100C8096C /* Fuse Help in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6F905ED05CDA24300C2F10D /* Fuse Help */; }; B61F459409121DF100C8096C /* disk_plus3.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B650C3F2076596C700DE7E81 /* disk_plus3.szx */; }; B61F459509121DF100C8096C /* tape_16.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B650C3F4076596FD00DE7E81 /* tape_16.szx */; }; @@ -50,7 +53,6 @@ B61F462509121DF100C8096C /* tc2068-1.rom in Resources */ = {isa = PBXBuildFile; fileRef = B6FEA44C0444C2CC0013916D /* tc2068-1.rom */; }; B61F462909121DF100C8096C /* 48k.png in Resources */ = {isa = PBXBuildFile; fileRef = F56B6A6203A628A901CA65B5 /* 48k.png */; }; B61F462A09121DF100C8096C /* ts2068.png in Resources */ = {isa = PBXBuildFile; fileRef = B6C3479F044B091100E1BBA7 /* ts2068.png */; }; - B61F462B09121DF100C8096C /* Fuse.icns in Resources */ = {isa = PBXBuildFile; fileRef = F5F4333103903ED801E7A043 /* Fuse.icns */; }; B61F462C09121DF100C8096C /* dsk.icns in Resources */ = {isa = PBXBuildFile; fileRef = B643BB8D0403A0FD00A864FD /* dsk.icns */; }; B61F462D09121DF100C8096C /* scr.icns in Resources */ = {isa = PBXBuildFile; fileRef = B643BB900403A11B00A864FD /* scr.icns */; }; B61F462E09121DF100C8096C /* sna.icns in Resources */ = {isa = PBXBuildFile; fileRef = B643BB910403A11B00A864FD /* sna.icns */; }; @@ -378,6 +380,7 @@ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; + B6013811164692F5005FD3AE /* Fuse.iconset */ = {isa = PBXFileReference; lastKnownFileType = folder.iconset; name = Fuse.iconset; path = ../Fuse.iconset; sourceTree = "<group>"; }; B6018479065A586900B0BE59 /* zxatasp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = zxatasp.c; sourceTree = "<group>"; }; B601847A065A586900B0BE59 /* zxatasp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = zxatasp.h; sourceTree = "<group>"; }; B601847B065A586900B0BE59 /* zxcf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = zxcf.c; sourceTree = "<group>"; }; @@ -396,6 +399,9 @@ B61159CA0EEE9A1E0029FEA3 /* Sound.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Sound.png; sourceTree = "<group>"; }; B615BFE50B4261E50082D535 /* HIDJoysticks.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = HIDJoysticks.h; path = content_arrays/HIDJoysticks.h; sourceTree = "<group>"; }; B615BFE60B4261E50082D535 /* HIDJoysticks.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = HIDJoysticks.m; path = content_arrays/HIDJoysticks.m; sourceTree = "<group>"; }; + B61700F3163EAF8D00142336 /* PokeMemory.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PokeMemory.xib; sourceTree = "<group>"; }; + B61700F5163EAFC600142336 /* PokeMemoryController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PokeMemoryController.h; path = controllers/PokeMemoryController.h; sourceTree = "<group>"; }; + B61700F6163EAFC600142336 /* PokeMemoryController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PokeMemoryController.m; path = controllers/PokeMemoryController.m; sourceTree = "<group>"; }; B61EEB950D1A917D006FEA80 /* FuseGenerator.qlgenerator */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.bundle"; name = FuseGenerator.qlgenerator; path = ../../FuseGenerator/build/Release/FuseGenerator.qlgenerator; sourceTree = SOURCE_ROOT; }; B61F46A909121DF100C8096C /* Info-Fuse.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-Fuse.plist"; sourceTree = "<group>"; }; B61F46AA09121DF200C8096C /* Fuse.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Fuse.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -754,7 +760,6 @@ F59B558F039FD8F901A804BA /* TapeBrowserController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TapeBrowserController.h; path = controllers/TapeBrowserController.h; sourceTree = SOURCE_ROOT; }; F59B5590039FD8F901A804BA /* TapeBrowserController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = TapeBrowserController.m; path = controllers/TapeBrowserController.m; sourceTree = SOURCE_ROOT; }; F5F291060396932B01730B00 /* Credits.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = Credits.html; sourceTree = "<group>"; }; - F5F4333103903ED801E7A043 /* Fuse.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Fuse.icns; sourceTree = "<group>"; }; F5F876370399540D011FA3A4 /* FuseController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = FuseController.h; path = controllers/FuseController.h; sourceTree = SOURCE_ROOT; }; F5F876380399540D011FA3A4 /* FuseController.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.objc; name = FuseController.m; path = controllers/FuseController.m; sourceTree = SOURCE_ROOT; tabWidth = 2; }; /* End PBXFileReference section */ @@ -950,6 +955,8 @@ B6D2989205B061CB00C2AA14 /* MemoryBrowserController.m */, B62F3BCE059F5BF300A7009A /* PokeFinderController.h */, B62F3BCF059F5BF300A7009A /* PokeFinderController.m */, + B61700F5163EAFC600142336 /* PokeMemoryController.h */, + B61700F6163EAFC600142336 /* PokeMemoryController.m */, B650F73E07E7CD3F00E4F3AF /* PreferencesController.h */, B650F73F07E7CD3F00E4F3AF /* PreferencesController.m */, B63F9949077182B4004D6DFA /* RollbackController.h */, @@ -971,7 +978,7 @@ B639B7670A6BAFCF00927E24 /* csw.icns */, B6F0480E0952B597006D8005 /* dck.icns */, B643BB8D0403A0FD00A864FD /* dsk.icns */, - F5F4333103903ED801E7A043 /* Fuse.icns */, + B6013811164692F5005FD3AE /* Fuse.iconset */, B61159BE0EEE99D50029FEA3 /* Graphics_Filter.png */, B650986A09366C8F003AF1BF /* hdf.icns */, B61159C00EEE99E20029FEA3 /* Machine.png */, @@ -1041,6 +1048,7 @@ B665EE0F1052A3BD00FCFED8 /* LoadBinary.xib */, B665EE121052A3DC00FCFED8 /* MemoryBrowser.xib */, B665EE151052A40000FCFED8 /* PokeFinder.xib */, + B61700F3163EAF8D00142336 /* PokeMemory.xib */, B665EE181052A41F00FCFED8 /* Preferences.xib */, B665EE1B1052A43900FCFED8 /* Rollback.xib */, B665EE1E1052A45200FCFED8 /* SaveBinary.xib */, @@ -1541,7 +1549,6 @@ B61F462509121DF100C8096C /* tc2068-1.rom in Resources */, B61F462909121DF100C8096C /* 48k.png in Resources */, B61F462A09121DF100C8096C /* ts2068.png in Resources */, - B61F462B09121DF100C8096C /* Fuse.icns in Resources */, B61F463309121DF100C8096C /* blank.icns in Resources */, B639B7680A6BAFCF00927E24 /* csw.icns in Resources */, B6F0480F0952B597006D8005 /* dck.icns in Resources */, @@ -1589,6 +1596,8 @@ B665EE251052A51B00FCFED8 /* TapeBrowser.xib in Resources */, B665EE281052A53C00FCFED8 /* SavePanelAccessoryView.xib in Resources */, B629532E114FB265007808E0 /* libspectrum.h.in in Resources */, + B61700F4163EAF8D00142336 /* PokeMemory.xib in Resources */, + B6013812164692F5005FD3AE /* Fuse.iconset in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1779,6 +1788,7 @@ B6E1F1B114F6555400600EB0 /* disciple.c in Sources */, B6E1F1B414F6560500600EB0 /* tuntap.c in Sources */, B6E1F24414F7A14200600EB0 /* enc28j60.c in Sources */, + B61700F7163EAFC600142336 /* PokeMemoryController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2012-11-23 11:18:15 UTC (rev 706) +++ trunk/fuse/fusepb/Info-Fuse.plist 2012-11-23 11:26:32 UTC (rev 707) @@ -511,6 +511,23 @@ <string>net.sourceforge.projects.fuse-emulator.opu</string> </array> </dict> + <dict> + <key>CFBundleTypeExtensions</key> + <array> + <string>pok</string> + <string>POK</string> + </array> + <key>CFBundleTypeIconFile</key> + <string>blank</string> + <key>CFBundleTypeName</key> + <string>ZX Spectrum Poke File</string> + <key>CFBundleTypeRole</key> + <string>Viewer</string> + <key>LSItemContentTypes</key> + <array> + <string>net.sourceforge.projects.fuse-emulator.pok</string> + </array> + </dict> </array> <key>CFBundleExecutable</key> <string>Fuse</string> Modified: trunk/fuse/fusepb/controllers/FuseController.h =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.h 2012-11-23 11:18:15 UTC (rev 706) +++ trunk/fuse/fusepb/controllers/FuseController.h 2012-11-23 11:26:32 UTC (rev 707) @@ -33,6 +33,7 @@ @class MemoryBrowserController; @class PreferencesController; @class PokeFinderController; +@class PokeMemoryController; @class RollbackController; @class SaveBinaryController; @class TapeBrowserController; @@ -67,6 +68,7 @@ MemoryBrowserController *memoryBrowserController; PreferencesController *preferencesController; PokeFinderController *pokeFinderController; + PokeMemoryController *pokeMemoryController; RollbackController *rollbackController; SaveBinaryController *saveBinaryController; TapeBrowserController *tapeBrowserController; @@ -143,6 +145,7 @@ |
From: <fr...@us...> - 2012-12-05 12:45:09
|
Revision: 713 http://sourceforge.net/p/fuse-for-macosx/code/713 Author: fredm Date: 2012-12-05 12:44:59 +0000 (Wed, 05 Dec 2012) Log Message: ----------- Merge up to vendor revision 4676. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/4676 Modified Paths: -------------- trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/compat/unix/Makefile.am trunk/fuse/compat/unix/file.c trunk/fuse/compat/win32/Makefile.am trunk/fuse/compat.h trunk/fuse/configure.in trunk/fuse/debugger/breakpoint.c trunk/fuse/debugger/command.c trunk/fuse/debugger/debugger.c trunk/fuse/debugger/debugger.h trunk/fuse/debugger/debugger_internals.h trunk/fuse/debugger/event.c trunk/fuse/debugger/expression.c trunk/fuse/debugger/variable.c trunk/fuse/display.c trunk/fuse/display.h trunk/fuse/event.c trunk/fuse/event.h trunk/fuse/fuse.c trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/controllers/FuseController.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/controllers/LoadBinaryController.m trunk/fuse/fusepb/controllers/PreferencesController.h trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/libspectrum.h trunk/fuse/fusepb/models/Emulator.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html trunk/fuse/fusepb/settings-header.pl trunk/fuse/fusepb/timer/timer.c trunk/fuse/fusepb/views/DisplayOpenGLView.h trunk/fuse/fusepb/views/DisplayOpenGLView.m trunk/fuse/fusepb/xibs/MainMenu.xib trunk/fuse/fusepb/xibs/Preferences.xib trunk/fuse/hacking/ChangeLog trunk/fuse/hacking/Makefile.am trunk/fuse/lib/Makefile.am trunk/fuse/machine.c trunk/fuse/machine.h trunk/fuse/machines/machines_periph.c trunk/fuse/machines/pentagon.c trunk/fuse/machines/pentagon1024.c trunk/fuse/machines/pentagon512.c trunk/fuse/machines/scorpion.c trunk/fuse/machines/spec128.c trunk/fuse/machines/spec16.c trunk/fuse/machines/spec48.c trunk/fuse/machines/spec48_ntsc.c trunk/fuse/machines/spec_se.c trunk/fuse/machines/specplus2.c trunk/fuse/machines/specplus2a.c trunk/fuse/machines/specplus3.c trunk/fuse/machines/specplus3e.c trunk/fuse/machines/tc2048.c trunk/fuse/machines/tc2068.c trunk/fuse/machines/tc2068.h trunk/fuse/machines/ts2068.c trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/memory.h trunk/fuse/mempool.c trunk/fuse/mempool.h trunk/fuse/menu.c trunk/fuse/menu.h trunk/fuse/menu_data.dat trunk/fuse/periph.c trunk/fuse/periph.h trunk/fuse/peripherals/Makefile.am trunk/fuse/peripherals/ay.c trunk/fuse/peripherals/ay.h trunk/fuse/peripherals/dck.c trunk/fuse/peripherals/disk/beta.c trunk/fuse/peripherals/disk/beta.h trunk/fuse/peripherals/disk/disciple.c trunk/fuse/peripherals/disk/disciple.h trunk/fuse/peripherals/disk/disk.c trunk/fuse/peripherals/disk/fdd.c trunk/fuse/peripherals/disk/fdd.h trunk/fuse/peripherals/disk/opus.c trunk/fuse/peripherals/disk/opus.h trunk/fuse/peripherals/disk/plusd.c trunk/fuse/peripherals/disk/plusd.h trunk/fuse/peripherals/disk/upd_fdc.c trunk/fuse/peripherals/disk/upd_fdc.h trunk/fuse/peripherals/disk/wd_fdc.c trunk/fuse/peripherals/disk/wd_fdc.h trunk/fuse/peripherals/fuller.c trunk/fuse/peripherals/fuller.h trunk/fuse/peripherals/ide/divide.c trunk/fuse/peripherals/ide/divide.h trunk/fuse/peripherals/ide/ide.c trunk/fuse/peripherals/ide/ide.h trunk/fuse/peripherals/ide/simpleide.c trunk/fuse/peripherals/ide/simpleide.h trunk/fuse/peripherals/ide/zxatasp.c trunk/fuse/peripherals/ide/zxatasp.h trunk/fuse/peripherals/ide/zxcf.c trunk/fuse/peripherals/ide/zxcf.h trunk/fuse/peripherals/if1.c trunk/fuse/peripherals/if1.h trunk/fuse/peripherals/if2.c trunk/fuse/peripherals/if2.h trunk/fuse/peripherals/kempmouse.c trunk/fuse/peripherals/kempmouse.h trunk/fuse/peripherals/melodik.c trunk/fuse/peripherals/melodik.h trunk/fuse/peripherals/nic/Makefile.am trunk/fuse/peripherals/printer.c trunk/fuse/peripherals/printer.h trunk/fuse/peripherals/scld.c trunk/fuse/peripherals/scld.h trunk/fuse/peripherals/speccyboot.c trunk/fuse/peripherals/speccyboot.h trunk/fuse/peripherals/specdrum.c trunk/fuse/peripherals/specdrum.h trunk/fuse/peripherals/ula.c trunk/fuse/peripherals/ula.h trunk/fuse/pokefinder/pokefinder.c trunk/fuse/pokefinder/pokefinder.h trunk/fuse/pokefinder/pokemem.c trunk/fuse/profile.c trunk/fuse/profile.h trunk/fuse/psg.c trunk/fuse/psg.h trunk/fuse/rzx.c trunk/fuse/rzx.h trunk/fuse/screenshot.c trunk/fuse/screenshot.h trunk/fuse/settings-header.pl trunk/fuse/settings.dat trunk/fuse/settings.pl trunk/fuse/slt.c trunk/fuse/slt.h trunk/fuse/snapshot.c trunk/fuse/sound/aosound.c trunk/fuse/sound/coreaudiosound.c trunk/fuse/sound/sdlsound.c trunk/fuse/sound.c trunk/fuse/sound.h trunk/fuse/spectrum.c trunk/fuse/spectrum.h trunk/fuse/tape.c trunk/fuse/tape.h trunk/fuse/timer/timer.c trunk/fuse/ui/cocoa/options-cocoa-header.pl trunk/fuse/ui/cocoa/options.pl trunk/fuse/ui/gtk/binary.c trunk/fuse/ui/gtk/browse.c trunk/fuse/ui/gtk/confirm.c trunk/fuse/ui/gtk/debugger.c trunk/fuse/ui/gtk/gtkdisplay.c trunk/fuse/ui/gtk/gtkinternals.h trunk/fuse/ui/gtk/gtkjoystick.c trunk/fuse/ui/gtk/gtkmouse.c trunk/fuse/ui/gtk/gtkui.c trunk/fuse/ui/gtk/memory.c trunk/fuse/ui/gtk/options.pl trunk/fuse/ui/gtk/picture.c trunk/fuse/ui/gtk/pokefinder.c trunk/fuse/ui/gtk/pokemem.c trunk/fuse/ui/gtk/rollback.c trunk/fuse/ui/gtk/roms.c trunk/fuse/ui/gtk/stock.c trunk/fuse/ui/options.dat trunk/fuse/ui/scaler/scaler.c trunk/fuse/ui/scaler/scalers.c trunk/fuse/ui/ui.h trunk/fuse/ui/widget/filesel.c trunk/fuse/ui/widget/menu.c trunk/fuse/ui/widget/options.pl trunk/fuse/ui/widget/pokefinder.c trunk/fuse/ui/widget/pokemem.c trunk/fuse/ui/widget/roms.c trunk/fuse/ui/widget/widget.c trunk/fuse/ui/widget/widget.h trunk/fuse/ui/win32/binary.c trunk/fuse/ui/win32/debugger.c trunk/fuse/ui/win32/debugger.rc trunk/fuse/ui/win32/fileselector.c trunk/fuse/ui/win32/memorybrowser.c trunk/fuse/ui/win32/memorybrowser.rc trunk/fuse/ui/win32/options.pl trunk/fuse/ui/win32/picture.c trunk/fuse/ui/win32/pokefinder.c trunk/fuse/ui/win32/roms.c trunk/fuse/ui/win32/win32internals.h trunk/fuse/ui/win32/win32ui.c trunk/fuse/ui/xlib/xdisplay.c trunk/fuse/ui/xlib/xui.c trunk/fuse/ui.c trunk/fuse/unittests/unittests.c trunk/fuse/unittests/unittests.h trunk/fuse/utils.c trunk/fuse/utils.h trunk/fuse/z80/coretest.c trunk/fuse/z80/z80.c trunk/fuse/z80/z80.h trunk/fuse/z80/z80_checks.h trunk/fuse/z80/z80_macros.h trunk/fuse/z80/z80_ops.c Added Paths: ----------- trunk/fuse/compat/unix/socket.c trunk/fuse/compat/win32/socket.c trunk/fuse/data/ trunk/fuse/hacking/peripheral_tests.txt trunk/fuse/hacking/spectranet.txt trunk/fuse/hacking/valgrind.supp trunk/fuse/lib/tests/ trunk/fuse/movie.c trunk/fuse/movie.h trunk/fuse/movie_tables.h trunk/fuse/peripherals/flash/ trunk/fuse/peripherals/nic/w5100.c trunk/fuse/peripherals/nic/w5100.h trunk/fuse/peripherals/nic/w5100_internals.h trunk/fuse/peripherals/nic/w5100_socket.c trunk/fuse/peripherals/spectranet.c trunk/fuse/peripherals/spectranet.h Property Changed: ---------------- trunk/fuse/ 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-685 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 + /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-712 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2012-11-24 10:24:08 UTC (rev 712) +++ trunk/fuse/Makefile.am 2012-12-05 12:44:59 UTC (rev 713) @@ -1,7 +1,7 @@ # Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2009 Philip Kendall -## $Id: Makefile.am 4288 2011-02-03 21:06:22Z pak21 $ +## $Id: Makefile.am 4674 2012-02-20 11:03:58Z 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 @@ -26,6 +26,7 @@ bin_PROGRAMS = fuse SUBDIRS = @COMPAT_SUBDIR@ \ + data \ debugger \ hacking \ lib \ @@ -41,7 +42,8 @@ unittests \ z80 -DIST_SUBDIRS = debugger \ +DIST_SUBDIRS = data \ + debugger \ hacking \ lib \ machines \ @@ -66,6 +68,7 @@ memory.c \ mempool.c \ menu.c \ + movie.c \ module.c \ periph.c \ profile.c \ @@ -104,6 +107,7 @@ machines/libmachines.a \ peripherals/libperipherals.a \ peripherals/disk/libdisk.a \ +peripherals/flash/libflash.a \ peripherals/ide/libide.a \ peripherals/nic/libnic.a \ pokefinder/libpokefinder.a \ @@ -128,6 +132,7 @@ machines/libmachines.a \ peripherals/libperipherals.a \ peripherals/disk/libdisk.a \ +peripherals/flash/libflash.a \ peripherals/ide/libide.a \ peripherals/nic/libnic.a \ pokefinder/libpokefinder.a \ @@ -173,6 +178,8 @@ memory.h \ mempool.h \ menu.h \ + movie.h \ + movie_tables.h \ module.h \ periph.h \ psg.h \ Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2012-11-24 10:24:08 UTC (rev 712) +++ trunk/fuse/README 2012-12-05 12:44:59 UTC (rev 713) @@ -64,6 +64,8 @@ * Either the native port by Fredrick Meunier, or the original version will compile on OS X 10.3 (Panther) or later. +* On Mac OS X Lion you will need to use clang as gcc-llvm-4.2.1 fails to + correctly compile z80_ops.c. Windows @@ -216,4 +218,4 @@ Philip Kendall <phi...@sh...> 16 December 2010 -$Id: README 4410 2011-05-01 10:51:21Z zubzero $ +$Id: README 4624 2012-01-09 20:59:35Z pak21 $ Modified: trunk/fuse/compat/unix/Makefile.am =================================================================== --- trunk/fuse/compat/unix/Makefile.am 2012-11-24 10:24:08 UTC (rev 712) +++ trunk/fuse/compat/unix/Makefile.am 2012-12-05 12:44:59 UTC (rev 713) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 4237 2010-12-31 19:31:26Z pak21 $ +## $Id: Makefile.am 4624 2012-01-09 20:59:35Z 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 @@ -31,6 +31,7 @@ file.c \ osname.c \ paths.c \ + socket.c \ timer.c \ tuntap.c Modified: trunk/fuse/compat/unix/file.c =================================================================== --- trunk/fuse/compat/unix/file.c 2012-11-24 10:24:08 UTC (rev 712) +++ trunk/fuse/compat/unix/file.c 2012-12-05 12:44:59 UTC (rev 713) @@ -1,7 +1,7 @@ /* file.c: File-related compatibility routines Copyright (c) 2008 Philip Kendall - $Id: file.c 4534 2011-08-11 12:59:47Z fredm $ + $Id: file.c 4624 2012-01-09 20:59:35Z 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 @@ -64,7 +64,7 @@ if( bytes != file->length ) { ui_error( UI_ERROR_ERROR, "error reading file: expected %lu bytes, but read only %lu", - file->length, bytes ); + (unsigned long)file->length, (unsigned long)bytes ); return 1; } @@ -78,7 +78,7 @@ if( bytes != length ) { ui_error( UI_ERROR_ERROR, "error writing file: expected %lu bytes, but wrote only %lu", - length, bytes ); + (unsigned long)length, (unsigned long)bytes ); return 1; } Copied: trunk/fuse/compat/unix/socket.c (from rev 712, vendor/fuse-emulator/current/fuse/compat/unix/socket.c) =================================================================== --- trunk/fuse/compat/unix/socket.c (rev 0) +++ trunk/fuse/compat/unix/socket.c 2012-12-05 12:44:59 UTC (rev 713) @@ -0,0 +1,118 @@ +/* socket.c: Socket-related compatibility routines + Copyright (c) 2011 Philip Kendall + + $Id$ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Author contact information: + + E-mail: phi...@sh... + +*/ + +#include <config.h> + +#include <errno.h> +#include <string.h> +#include <unistd.h> + +#include "compat.h" +#include "fuse.h" +#include "ui/ui.h" + +const compat_socket_t compat_socket_invalid = -1; +const int compat_socket_EBADF = EBADF; + +struct compat_socket_selfpipe_t { + int read_fd; + int write_fd; +}; + +void +compat_socket_networking_init( void ) +{ + /* No action necessary */ +} + +void +compat_socket_networking_end( void ) +{ + /* No action necessary */ +} + +int +compat_socket_close( compat_socket_t fd ) +{ + return close( fd ); +} + +int compat_socket_get_error( void ) +{ + return errno; +} + +const char * +compat_socket_get_strerror( void ) +{ + return strerror( errno ); +} + +compat_socket_selfpipe_t* compat_socket_selfpipe_alloc( void ) +{ + int error; + int pipefd[2]; + + compat_socket_selfpipe_t *self = malloc( sizeof( *self ) ); + if( !self ) { + ui_error( UI_ERROR_ERROR, "%s: %d: out of memory", __FILE__, __LINE__ ); + fuse_abort(); + } + + error = pipe( pipefd ); + if( error ) { + ui_error( UI_ERROR_ERROR, "%s: %d: error %d creating pipe", __FILE__, __LINE__, error ); + fuse_abort(); + } + + self->read_fd = pipefd[0]; + self->write_fd = pipefd[1]; + + return self; +} + +void compat_socket_selfpipe_free( compat_socket_selfpipe_t *self ) +{ + close( self->read_fd ); + close( self->write_fd ); + free( self ); +} + +compat_socket_t compat_socket_selfpipe_get_read_fd( compat_socket_selfpipe_t *self ) +{ + return self->read_fd; +} + +void compat_socket_selfpipe_wake( compat_socket_selfpipe_t *self ) +{ + const char dummy = 0; + write( self->write_fd, &dummy, 1 ); +} + +void compat_socket_selfpipe_discard_data( compat_socket_selfpipe_t *self ) +{ + char bitbucket; + read( self->read_fd, &bitbucket, 1 ); +} Modified: trunk/fuse/compat/win32/Makefile.am =================================================================== --- trunk/fuse/compat/win32/Makefile.am 2012-11-24 10:24:08 UTC (rev 712) +++ trunk/fuse/compat/win32/Makefile.am 2012-12-05 12:44:59 UTC (rev 713) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 4237 2010-12-31 19:31:26Z pak21 $ +## $Id: Makefile.am 4624 2012-01-09 20:59:35Z 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 @@ -31,6 +31,7 @@ ../unix/file.c \ osname.c \ paths.c \ + socket.c \ timer.c \ ../unix/tuntap.c Copied: trunk/fuse/compat/win32/socket.c (from rev 712, vendor/fuse-emulator/current/fuse/compat/win32/socket.c) =================================================================== --- trunk/fuse/compat/win32/socket.c (rev 0) +++ trunk/fuse/compat/win32/socket.c 2012-12-05 12:44:59 UTC (rev 713) @@ -0,0 +1,241 @@ +/* socket.c: Socket-related compatibility routines + Copyright (c) 2011 Sergio Baldoví, Philip Kendall + + $Id$ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Author contact information: + + E-mail: phi...@sh... + +*/ + +#include <config.h> + +#include <winsock2.h> +#include <ws2tcpip.h> + +#include "compat.h" +#include "fuse.h" +#include "ui/ui.h" + +const compat_socket_t compat_socket_invalid = INVALID_SOCKET; +const int compat_socket_EBADF = WSAENOTSOCK; + +struct compat_socket_selfpipe_t { + SOCKET self_socket; + libspectrum_word port; +}; + +int +compat_socket_close( compat_socket_t fd ) +{ + return closesocket( fd ); +} + +int compat_socket_get_error( void ) +{ + return WSAGetLastError(); +} + +const char * +compat_socket_get_strerror( void ) +{ + static TCHAR buffer[256]; + TCHAR *ptr; + DWORD msg_size; + + /* get description of last winsock error */ + msg_size = FormatMessage( + FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, WSAGetLastError(), + MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), + buffer, sizeof( buffer ) / sizeof( TCHAR ), NULL ); + + if( !msg_size ) return NULL; + + /* skip 'new line' like chars */ + for( ptr = buffer; *ptr; ptr++ ) { + if( ( *ptr == '\r' ) || ( *ptr == '\n' ) ) { + *ptr = '\0'; + break; + } + } + + return (const char *)buffer; +} + +static int +selfpipe_test( compat_socket_selfpipe_t *self ) +{ + fd_set readfds; + int active; + struct timeval tv = { 1, 0 }; + + /* Send testing packet */ + compat_socket_selfpipe_wake( self ); + + /* Safe reading from control socket */ + FD_ZERO( &readfds ); + FD_SET( self->self_socket, &readfds ); + active = select( 0, &readfds, NULL, NULL, &tv ); + if( active == 0 || active == compat_socket_invalid ) { + return -1; + } + + /* Discard testing packet */ + if( FD_ISSET( self->self_socket, &readfds ) ) { + compat_socket_selfpipe_discard_data( self ); + } + + return 0; +} + +compat_socket_selfpipe_t * +compat_socket_selfpipe_alloc( void ) +{ + unsigned long mode = 1; + struct sockaddr_in sa; + socklen_t sa_len = sizeof(sa); + + compat_socket_selfpipe_t *self = malloc( sizeof( *self ) ); + if( !self ) { + ui_error( UI_ERROR_ERROR, "%s: %d: out of memory", __FILE__, __LINE__ ); + fuse_abort(); + } + + self->self_socket = socket( AF_INET, SOCK_DGRAM, IPPROTO_UDP ); + if( self->self_socket == compat_socket_invalid ) { + ui_error( UI_ERROR_ERROR, + "%s: %d: failed to open socket; errno %d: %s\n", + __FILE__, __LINE__, compat_socket_get_error(), + compat_socket_get_strerror() ); + fuse_abort(); + } + + /* Set nonblocking mode */ + if( ioctlsocket( self->self_socket, FIONBIO, &mode ) == -1 ) { + ui_error( UI_ERROR_ERROR, + "%s: %d: failed to set socket nonblocking; errno %d: %s\n", + __FILE__, __LINE__, compat_socket_get_error(), + compat_socket_get_strerror() ); + fuse_abort(); + } + + memset( &sa, 0, sizeof(sa) ); + sa.sin_family = AF_INET; + sa.sin_addr.s_addr = htonl( INADDR_LOOPBACK ); + + if( bind( self->self_socket, (struct sockaddr*)&sa, sizeof(sa) ) == -1 ) { + ui_error( UI_ERROR_ERROR, + "%s: %d: failed to bind socket; errno %d: %s\n", + __FILE__, __LINE__, compat_socket_get_error(), + compat_socket_get_strerror() ); + fuse_abort(); + } + + /* Get ephemeral port number */ + if( getsockname( self->self_socket, (struct sockaddr *)&sa, &sa_len ) == -1 ) { + ui_error( UI_ERROR_ERROR, + "%s: %d: failed to get socket name; errno %d: %s\n", + __FILE__, __LINE__, compat_socket_get_error(), + compat_socket_get_strerror() ); + fuse_abort(); + } + + self->port = ntohs( sa.sin_port ); + + /* Test communications in order to detect blocking firewalls */ + if( selfpipe_test( self ) == -1 ) { + ui_error( UI_ERROR_ERROR, + "Networking: failed to test internal communications" ); + fuse_abort(); + } + + return self; +} + +void +compat_socket_selfpipe_free( compat_socket_selfpipe_t *self ) +{ + compat_socket_close( self->self_socket ); + free( self ); +} + +compat_socket_t +compat_socket_selfpipe_get_read_fd( compat_socket_selfpipe_t *self ) +{ + return self->self_socket; +} + +void +compat_socket_selfpipe_wake( compat_socket_selfpipe_t *self ) +{ + struct sockaddr_in sa; + + memset( &sa, 0, sizeof(sa) ); + sa.sin_family = AF_INET; + sa.sin_addr.s_addr = htonl( INADDR_LOOPBACK ); + sa.sin_port = htons( self->port ); + + sendto( self->self_socket, NULL, 0, 0, (struct sockaddr*)&sa, sizeof(sa) ); +} + +void +compat_socket_selfpipe_discard_data( compat_socket_selfpipe_t *self ) +{ + ssize_t bytes_read; + struct sockaddr_in sa; + socklen_t sa_length = sizeof(sa); + static char bitbucket[0x100]; + + do { + /* Socket is non blocking, so we can do this safely */ + bytes_read = recvfrom( self->self_socket, bitbucket, sizeof( bitbucket ), + 0, (struct sockaddr*)&sa, &sa_length ); + } while( bytes_read != -1 ); +} + + +void +compat_socket_networking_init( void ) +{ + WORD wVersionRequested; + WSADATA wsaData; + int error; + + wVersionRequested = MAKEWORD( 2, 2 ); + error = WSAStartup( wVersionRequested, &wsaData ); + if( error ) { + ui_error( UI_ERROR_ERROR, "%s:%d: error %d from WSAStartup()", __FILE__, + __LINE__, error ); + fuse_abort(); + } + + if( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 ) { + ui_error( UI_ERROR_ERROR, + "%s:%d: unexpected version 0x%02x from WSAStartup()", + __FILE__, __LINE__, wsaData.wVersion ); + fuse_abort(); + } +} + +void +compat_socket_networking_end( void ) +{ + WSACleanup(); +} + Modified: trunk/fuse/compat.h =================================================================== --- trunk/fuse/compat.h 2012-11-24 10:24:08 UTC (rev 712) +++ trunk/fuse/compat.h 2012-12-05 12:44:59 UTC (rev 713) @@ -1,7 +1,7 @@ /* compat.h: various compatibility bits Copyright (c) 2003-2008 Philip Kendall - $Id: compat.h 4534 2011-08-11 12:59:47Z fredm $ + $Id: compat.h 4648 2012-01-22 19:57:35Z 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 @@ -31,6 +31,10 @@ #include <stdlib.h> #include <sys/types.h> +#ifdef WIN32 +#include <winsock2.h> +#endif + /* Remove the gcc-specific incantations if we're not using gcc */ #ifdef __GNUC__ @@ -120,4 +124,30 @@ int compat_get_tap( const char *interface_name ); +/* Socket handling */ + +#ifndef WIN32 +typedef int c |
From: <fr...@us...> - 2012-12-08 11:51:06
|
Revision: 720 http://sourceforge.net/p/fuse-for-macosx/code/720 Author: fredm Date: 2012-12-08 11:50:59 +0000 (Sat, 08 Dec 2012) Log Message: ----------- Merge up to vendor release 4779. Modified Paths: -------------- trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/TODO trunk/fuse/autogen.sh trunk/fuse/compat/Makefile.am trunk/fuse/compat/amiga/Makefile.am trunk/fuse/compat/amiga/paths.c trunk/fuse/compat/morphos/Makefile.am trunk/fuse/compat/unix/Makefile.am trunk/fuse/compat/unix/paths.c trunk/fuse/compat/unix/socket.c trunk/fuse/compat/wii/Makefile.am trunk/fuse/compat/wii/paths.c trunk/fuse/compat/win32/Makefile.am trunk/fuse/compat/win32/paths.c trunk/fuse/compat/win32/socket.c trunk/fuse/compat.h trunk/fuse/data/fuse.xml.in trunk/fuse/debugger/Makefile.am trunk/fuse/debugger/command.c trunk/fuse/debugger/commandl.l trunk/fuse/debugger/debugger.c trunk/fuse/debugger/debugger_internals.h trunk/fuse/debugger/variable.c trunk/fuse/display.c trunk/fuse/event.c trunk/fuse/fuse.c trunk/fuse/fuse.h 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/PokeMemoryController.m trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/resources/Fuse Help/html/divide.html trunk/fuse/fusepb/resources/Fuse Help/html/graphics_filter.html trunk/fuse/fusepb/resources/Fuse Help/html/joysticks.html trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html trunk/fuse/fusepb/resources/Fuse Help/html/peripherals.html trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html trunk/fuse/fusepb/resources/Fuse Help/html/zxatasp.html trunk/fuse/hacking/ChangeLog trunk/fuse/input.h trunk/fuse/keyboard.c trunk/fuse/keyboard.h trunk/fuse/keysyms.dat trunk/fuse/keysyms.pl trunk/fuse/machine.c trunk/fuse/machines/Makefile.am trunk/fuse/machines/machines_periph.h trunk/fuse/machines/pentagon.c trunk/fuse/machines/spec_se.c trunk/fuse/machines/tc2048.c trunk/fuse/machines/tc2068.c trunk/fuse/machines/ts2068.c trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/memory.h trunk/fuse/mempool.c trunk/fuse/menu.c trunk/fuse/menu.h trunk/fuse/menu_data.pl trunk/fuse/module.c trunk/fuse/module.h trunk/fuse/movie.c trunk/fuse/movie.h trunk/fuse/movie_tables.h trunk/fuse/periph.c trunk/fuse/periph.h trunk/fuse/peripherals/Makefile.am trunk/fuse/peripherals/dck.c trunk/fuse/peripherals/disk/Makefile.am trunk/fuse/peripherals/disk/beta.c trunk/fuse/peripherals/disk/disciple.c trunk/fuse/peripherals/disk/opus.c trunk/fuse/peripherals/disk/opus.h trunk/fuse/peripherals/disk/plusd.c trunk/fuse/peripherals/flash/Makefile.am trunk/fuse/peripherals/flash/am29f010.c trunk/fuse/peripherals/flash/am29f010.h trunk/fuse/peripherals/ide/Makefile.am trunk/fuse/peripherals/if1.c trunk/fuse/peripherals/nic/Makefile.am trunk/fuse/peripherals/nic/enc28j60.c trunk/fuse/peripherals/nic/enc28j60.h trunk/fuse/peripherals/nic/w5100.c trunk/fuse/peripherals/nic/w5100.h trunk/fuse/peripherals/nic/w5100_internals.h trunk/fuse/peripherals/nic/w5100_socket.c trunk/fuse/peripherals/scld.c trunk/fuse/peripherals/scld.h trunk/fuse/peripherals/speccyboot.c trunk/fuse/peripherals/speccyboot.h trunk/fuse/peripherals/specdrum.h trunk/fuse/peripherals/spectranet.c trunk/fuse/peripherals/spectranet.h trunk/fuse/pokefinder/Makefile.am trunk/fuse/pokefinder/pokemem.c trunk/fuse/pokefinder/pokemem.h trunk/fuse/rectangle.c trunk/fuse/rzx.c trunk/fuse/settings.pl trunk/fuse/slt.c trunk/fuse/snapshot.c trunk/fuse/sound/Makefile.am trunk/fuse/sound/coreaudiosound.c trunk/fuse/sound.c trunk/fuse/tape.c trunk/fuse/tape.h trunk/fuse/timer/Makefile.am trunk/fuse/ui/cocoa/keysyms.m trunk/fuse/ui/fb/Makefile.am trunk/fuse/ui/gtk/Makefile.am trunk/fuse/ui/gtk/binary.c trunk/fuse/ui/gtk/browse.c trunk/fuse/ui/gtk/confirm.c trunk/fuse/ui/gtk/debugger.c trunk/fuse/ui/gtk/gtkdisplay.c trunk/fuse/ui/gtk/gtkinternals.h trunk/fuse/ui/gtk/gtkjoystick.c trunk/fuse/ui/gtk/gtkkeyboard.c trunk/fuse/ui/gtk/gtkmouse.c trunk/fuse/ui/gtk/gtkui.c trunk/fuse/ui/gtk/memory.c trunk/fuse/ui/gtk/options-header.pl trunk/fuse/ui/gtk/options.pl trunk/fuse/ui/gtk/picture.c trunk/fuse/ui/gtk/pixmaps.c trunk/fuse/ui/gtk/pokefinder.c trunk/fuse/ui/gtk/pokemem.c trunk/fuse/ui/gtk/rollback.c trunk/fuse/ui/gtk/roms.c trunk/fuse/ui/gtk/statusbar.c trunk/fuse/ui/gtk/stock.c trunk/fuse/ui/options.dat trunk/fuse/ui/scaler/Makefile.am trunk/fuse/ui/sdl/Makefile.am trunk/fuse/ui/sdl/sdldisplay.c trunk/fuse/ui/sdl/sdlkeyboard.c trunk/fuse/ui/svga/Makefile.am trunk/fuse/ui/widget/Makefile.am trunk/fuse/ui/widget/fuse.font.sbf trunk/fuse/ui/widget/menu.c trunk/fuse/ui/widget/options-header.pl trunk/fuse/ui/widget/pokemem.c trunk/fuse/ui/widget/text.c trunk/fuse/ui/widget/widget.c trunk/fuse/ui/wii/Makefile.am trunk/fuse/ui/win32/Makefile.am trunk/fuse/ui/win32/about.c trunk/fuse/ui/win32/about.rc trunk/fuse/ui/win32/binary.c trunk/fuse/ui/win32/debugger.c trunk/fuse/ui/win32/options-header.pl trunk/fuse/ui/win32/pokemem.c trunk/fuse/ui/win32/win32display.c trunk/fuse/ui/win32/win32ui.c trunk/fuse/ui/xlib/Makefile.am trunk/fuse/ui/xlib/xdisplay.c trunk/fuse/ui/xlib/xkeyboard.c trunk/fuse/ui.c trunk/fuse/unittests/Makefile.am trunk/fuse/utils.c trunk/fuse/utils.h trunk/fuse/windres.rc trunk/fuse/z80/Makefile.am Added Paths: ----------- trunk/fuse/INSTALL trunk/fuse/compat/linux/ trunk/fuse/configure.ac trunk/fuse/fusepb/compat/ trunk/fuse/fusepb/compat/darwin/ trunk/fuse/fusepb/compat/darwin/paths.c trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html trunk/fuse/m4/ trunk/fuse/ui/gtk/gtkcompat.c trunk/fuse/ui/gtk/gtkcompat.h trunk/fuse/ui/win32/installer/fuse.nsi.in trunk/fuse/ui/xlib/xstatusbar.pl Removed Paths: ------------- trunk/fuse/acinclude.m4 trunk/fuse/configure.in trunk/fuse/ui/win32/installer/Makefile.am trunk/fuse/ui/win32/installer/fuse.nsi Property Changed: ---------------- trunk/fuse/ 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-712 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 + /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-719 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 Copied: trunk/fuse/INSTALL (from rev 719, vendor/fuse-emulator/current/fuse/INSTALL) =================================================================== --- trunk/fuse/INSTALL (rev 0) +++ trunk/fuse/INSTALL 2012-12-08 11:50:59 UTC (rev 720) @@ -0,0 +1,165 @@ +Building Fuse +------------- + +To compile Fuse (see below for instructions for other ports): + +$ ./configure + +There are now some options you can give to configure; `configure +--help' will list them all, but the most important are: + +--with-fb Use the framebuffer interface, rather than GTK+. +--with-sdl Use the SDL interface, rather than GTK+. +--with-svgalib Use the SVGAlib interface. +--without-gtk Use the plain Xlib interface. + +If glib is installed on your system, Fuse will use this for a couple +of things; however, it isn't necessary as libspectrum provides +replacements for all the routines used by Fuse. + +Another useful option is `--with-local-prefix=DIRECTORY' which allows +you to specify that you have some of the libraries needed by Fuse in +`<DIRECTORY>/lib' and the necessary header files in +`<DIRECTORY>/include'. If you specify the `--prefix' option to tell +Fuse to install itself somewhere other than in /usr/local, that +directory will automatically be searched as well. + +Then just: + +$ make + +and then + +$ make install + +if you want to place Fuse into the main directories on your system +(under /usr/local by default, although you can change this with the +--prefix argument to 'configure'). You'll probably need to be root to +do this bit. + +Once you've got Fuse configured and built, read the man page :-) + +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 +--------------------------------- + +The native Cocoa port by Fredrick Meunier <fr...@sp...> comes as +a set of Xcode projects for libgcrypt, libspectrum and Fuse itself. + +Building the Wii version of Fuse +-------------------------------- + +You'll need to have the standard Wii homebrew toolchain installed; see +eg <http://wiibrew.org/wiki/DevkitPro> for some information on setting +this up. + +After that, make sure the dev tools are in your path (export +PATH=$PATH:$DEVKITPPC/bin) and that a Wii version of libspectrum has been +built and installed. + +Then, use this configure line: + +./configure --target=powerpc-gekko --host=powerpc-gekko \ + --with-wii \ + --without-libxml2 --without-libiconv --without-gpm \ + --without-x --without-glib \ + 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" \ + LIBS="-lfat -lwiiuse -lbte -logc -lm" + +Finally, to build, use this line: + +EXEEXT=".elf" make -e + +This should build fuse.elf, which you can run on your Wii via the usual +methods. + +Building the Win32 version of Fuse +---------------------------------- + +You'll need to have the MinGW <http://www.mingw.org> or MinGW-w64 toolchain +<http://mingw-w64.sourceforge.net>, e.g., on Debian: +`apt-get install mingw32 mingw32-binutils mingw32-runtime' + +On Windows, besides the former toolchain, you'll need an environment that +includes a collection of Unix tools, like MSYS <http://www.mingw.org> or +Cygwin <http://cygwin.com>. + +The next examples build libspectrum and Fuse without any external library for +the sake of clarity, but all these libraries successfully compile with MingGW +environment - in case of problems with compiling any of the libs please refer to +the lib's homepage for help. + +1) On Linux, 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 `install' into the source directory. + +Then, compile Fuse: + +./configure --host=i586-mingw32msvc --without-glib --prefix=`pwd` \ + --with-libspectrum-prefix=`pwd`/../libspectrum --with-win32 \ + --without-libxml2 --without-zlib --without-png --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). + +With wine you need `fltmgr.sys' in Windows `system32' directory. (e.g.: +~/.wine/c_drive/windows/system32). + +2) On Windows, using MSYS + MinGW toolchain, first build libspectrum: + +./configure --without-glib --without-libaudiofile --without-libgcrypt \ + --without-zlib --without-bzip2 --prefix=/usr/local +make install + +Then, build Fuse: + +./configure --with-win32 --without-glib --without-libxml2 --without-zlib \ + --without-png --prefix=/usr/local +make + +3) On Windows, using Cygwin + MinGW toolchain, first build libspectrum: + +./configure --build=i686-pc-cygwin --host=i686-pc-mingw32 --without-glib \ + --without-libaudiofile --without-libgcrypt --without-zlib \ + --without-bzip2 --prefix=/usr/local/i686-pc +make install + +Then, build Fuse: + +./configure --build=i686-pc-cygwin --host=i686-pc-mingw32 --with-win32 \ + --without-glib --without-libxml2 --without-zlib --without-png \ + --prefix=/usr/local/i686-pc +make + +Note: you need `libspectrum-8.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'. Alternatively, you could + run this rule: + + make install-win32 DESTDIR=/path/to/Fuse + + If you are planning to distribute Windows binaries with third parties on a + regular basis, maybe you will find the next rules quite useful: + + make dist-win32-zip + make dist-win32-7z + make dist-win32-exe + + Additional tools are required for the former rules: Info-Zip, p7zip and NSIS, + respectively. That will make a temporary subdirectory (fuse-VERSION-win32) + in the build directory and then will create a package. + +$Id: INSTALL 4763 2012-11-16 11:01:59Z fredm $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2012-12-06 11:55:57 UTC (rev 719) +++ trunk/fuse/Makefile.am 2012-12-08 11:50:59 UTC (rev 720) @@ -1,7 +1,7 @@ -# Process this file with automake to produce Makefile.in +## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2009 Philip Kendall -## $Id: Makefile.am 4674 2012-02-20 11:03:58Z fredm $ +## $Id: Makefile.am 4770 2012-11-23 22:59:48Z sbaldovi $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -23,6 +23,8 @@ AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + bin_PROGRAMS = fuse SUBDIRS = @COMPAT_SUBDIR@ \ @@ -84,8 +86,7 @@ tape.c \ ui.c \ uidisplay.c \ - utils.c \ - windres.rc + utils.c if COMPAT_DIRNAME fuse_SOURCES += compat/dirname.c @@ -99,6 +100,10 @@ fuse_SOURCES += compat/mkstemp.c endif +if COMPAT_WIN32 +fuse_SOURCES += windres.rc +endif + EXTRA_fuse_SOURCES = windres.rc fuse_LDADD = debugger/libdebugger.a \ @@ -163,7 +168,7 @@ @PERL@ $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/options.dat | @PERL@ -I$(srcdir)/perl $(srcdir)/ui/@UI@/options-header.pl - public > $@.tmp && mv $@.tmp $@ endif -INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ +AM_CPPFLAGS = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ @XML_CFLAGS@ -DFUSEDATADIR="\"${pkgdatadir}\"" @SDL_CFLAGS@ noinst_HEADERS = bitmap.h \ @@ -197,10 +202,16 @@ profile.h EXTRA_DIST = AUTHORS \ + INSTALL \ README \ THANKS \ keysyms.dat \ keysyms.pl \ + m4/glib-2.0.m4 \ + m4/gtk-2.0.m4 \ + m4/libxml.m4 \ + m4/pkg.m4 \ + m4/sdl.m4 \ menu_data.dat \ menu_data.pl \ settings.pl \ @@ -212,6 +223,102 @@ settings.c \ settings.h -AM_CPPFLAGS = +include compat/Makefile.am -include compat/Makefile.am +if COMPAT_WIN32 + +package_win32=$(PACKAGE)-$(PACKAGE_VERSION)-win32 +top_win32dir=$(top_builddir)/$(package_win32) + +install-win32: all + test -n "$(DESTDIR)" || { echo "ERROR: set DESTDIR path"; exit 1; } + $(MKDIR_P) $(DESTDIR)/roms/ || exit 1 + $(MKDIR_P) $(DESTDIR)/lib/ || exit 1 + cp $(top_srcdir)/roms/*.rom $(DESTDIR)/roms + cp $(top_srcdir)/roms/README.copyright $(DESTDIR)/roms + cp $(top_srcdir)/lib/*.bmp $(DESTDIR)/lib + cp $(top_srcdir)/lib/*.scr $(DESTDIR)/lib + cp $(top_builddir)/lib/*.szx $(DESTDIR)/lib +# Copy fuse executable (we should manually copy the required libraries) + cp $(top_builddir)/.libs/fuse$(EXEEXT) $(DESTDIR) || \ + cp $(top_builddir)/fuse$(EXEEXT) $(DESTDIR) +# Get text files + for file in AUTHORS COPYING README; \ + do cp "$(top_srcdir)/$$file" "$(DESTDIR)/$$file.txt"; \ + done +# Get manuals + if test -n "$(MAN2HTML)"; then \ + $(MAN2HTML) -r $(top_srcdir)/man/fuse.1 | sed '1d' > $(DESTDIR)/fuse.html; \ + else \ + test -z "$(GROFF)" || $(GROFF) -Thtml -man $(top_srcdir)/man/fuse.1 > $(DESTDIR)/fuse.html; \ + fi +# Convert to DOS line endings + test -z "$(UNIX2DOS)" || find $(DESTDIR) -type f \( -name "*.txt" -or -name "*.html" -or -name "*.copyright" \) -exec $(UNIX2DOS) {} \; + +install-win32-strip: install-win32 + test -z "$(STRIP)" || $(STRIP) $(DESTDIR)/fuse$(EXEEXT) + +dist-win32-dir: + $(MAKE) DESTDIR="$(top_win32dir)" install-win32-strip + +dist-win32-zip: dist-win32-dir + rm -f -- $(top_builddir)/$(package_win32).zip + rm -f -- $(top_builddir)/$(package_win32).zip.sha1 + test -n "$(top_win32dir)" || exit 1 + @test `find $(top_win32dir) -type f -name \*.dll -print | wc -l` -ne 0 || \ + { echo "ERROR: external libraries not found in $(top_win32dir). Please, manually copy them."; exit 1; } + cd $(top_win32dir) && \ + zip -q -9 -r $(abs_top_builddir)/$(package_win32).zip . + -sha1sum $(top_builddir)/$(package_win32).zip > $(top_builddir)/$(package_win32).zip.sha1 && \ + { test -z "$(UNIX2DOS)" || $(UNIX2DOS) $(top_builddir)/$(package_win32).zip.sha1; } + +dist-win32-7z: dist-win32-dir + rm -f -- $(top_builddir)/$(package_win32).7z + rm -f -- $(top_builddir)/$(package_win32).7z.sha1 + test -n "$(top_win32dir)" || exit 1 + @test `find $(top_win32dir) -type f -name \*.dll -print | wc -l` -ne 0 || \ + { echo "ERROR: external libraries not found in $(top_win32dir). Please, manually copy them."; exit 1; } + cd $(top_win32dir) && \ + 7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -bd $(abs_top_builddir)/$(package_win32).7z . + -sha1sum $(top_builddir)/$(package_win32).7z > $(top_builddir)/$(package_win32).7z.sha1 && \ + { test -z "$(UNIX2DOS)" || $(UNIX2DOS) $(top_builddir)/$(package_win32).7z.sha1; } + +dist-win32-exe: dist-win32-dir + rm -f -- $(top_builddir)/$(package_win32)-setup.exe + rm -f -- $(top_builddir)/$(package_win32)-setup.exe.sha1 + test -n "$(top_win32dir)" || exit 1 + @test `find $(top_win32dir) -type f -name \*.dll -print | wc -l` -ne 0 || \ + { echo "ERROR: external libraries not found in $(top_win32dir). Please, manually copy them."; exit 1; } +# Locate NSIS in system path, MSYS drive or Cygwin drive + @if makensis -VERSION > /dev/null 2>&1; then \ + MAKENSIS="makensis"; \ + elif [ -x "/c/Program Files/NSIS/makensis" ]; then \ + MAKENSIS="/c/Program\ Files/NSIS/makensis"; \ + elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \ + MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \ + else \ + echo 'ERROR: cannot locate makensis tool'; exit 1; \ + fi; \ + cd $(top_win32dir); \ + eval "$$MAKENSIS -V2 -NOCD $(abs_top_builddir)/ui/win32/installer/fuse.nsi" + mv $(top_win32dir)/$(package_win32)-setup.exe $(top_builddir) + -sha1sum $(top_builddir)/$(package_win32)-setup.exe > $(top_builddir)/$(package_win32)-setup.exe.sha1 && \ + { test -z "$(UNIX2DOS)" || $(UNIX2DOS) $(top_builddir)/$(package_win32)-setup.exe.sha1; } + +dist-win32: dist-win32-zip dist-win32-7z dist-win32-exe + +distclean-win32: + if test -d "$(top_builddir)/$(package_win32)"; then \ + rm -rf -- "$(top_builddir)/$(package_win32)"; \ + fi + rm -f -- $(top_builddir)/$(package_win32).zip + rm -f -- $(top_builddir)/$(package_win32).zip.sha1 + rm -f -- $(top_builddir)/$(package_win32).7z + rm -f -- $(top_builddir)/$(package_win32).7z.sha1 + rm -f -- $(top_builddir)/$(package_win32)-setup.exe + rm -f -- $(top_builddir)/$(package_win32)-setup.exe.sha1 + +.PHONY: install-win32 install-win32-strip dist-win32 dist-win32-dir \ + dist-win32-zip dist-win32-7z dist-win32-exe distclean-win32 + +endif Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2012-12-06 11:55:57 UTC (rev 719) +++ trunk/fuse/README 2012-12-08 11:50:59 UTC (rev 720) @@ -33,7 +33,7 @@ If you're having a problem using/running/building Fuse, the two places you're most likely to get help are the development mailing list <fus...@li...> or the official forums at -<http://sourceforge.net/forum/?group_id=91293>. +<http://sourceforge.net/projects/fuse-emulator/forums>. What you'll need to run Fuse ---------------------------- @@ -69,126 +69,15 @@ Windows -* The Win32 and SDL UIs can be used under Windows, but the Win32 UI is - incomplete. +* The Win32 and SDL UIs can be used under Windows. +* pthreads-win32 library will give the ability to use posix threads, needed by + some peripherals. Building Fuse ------------- -To compile Fuse (see below for instructions for the OS X native port): +See the file `INSTALL' for more detailed information. -$ ./configure - -There are now some options you can give to configure; `configure ---help' will list them all, but the most important are: - ---with-fb Use the framebuffer interface, rather than GTK+. ---with-sdl Use the SDL interface, rather than GTK+. ---with-svgalib Use the SVGAlib interface. ---without-gtk Use the plain Xlib interface. - -If glib is installed on your system, Fuse will use this for a couple -of things; however, it isn't necessary as libspectrum provides -replacements for all the routines used by Fuse. - -Another useful option is `--with-local-prefix=DIRECTORY' which allows -you to specify that you have some of the libraries needed by Fuse in -`<DIRECTORY>/lib' and the necessary header files in -`<DIRECTORY>/include'. If you specify the `--prefix' option to tell -Fuse to install itself somewhere other than in /usr/local, that -directory will automatically be searched as well. - -Then just: - -$ make - -and then - -$ make install - -if you want to place Fuse into the main directories on your system -(under /usr/local by default, although you can change this with the ---prefix argument to 'configure'). You'll probably need to be root to -do this bit. - -Once you've got Fuse configured and built, read the man page :-) - -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 ---------------------------------- - -The native Cocoa port by Fredrick Meunier <fr...@sp...> comes as -a set of Xcode projects for libgcrypt, libspectrum and Fuse itself. - -Building the Wii version of Fuse --------------------------------- - -You'll need to have the standard Wii homebrew toolchain installed; see -eg <http://wiibrew.org/wiki/DevkitPro> for some information on setting -this up. - -After that, make sure the dev tools are in your path (export -PATH=$PATH:$DEVKITPPC/bin) and that a Wii version of libspectrum has been -built and installed. - -Then, use this configure line: - -./configure --target=powerpc-gekko --host=powerpc-gekko \ - --with-wii \ - --without-libxml2 --without-libiconv --without-gpm \ - --without-x --without-glib \ - 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" \ - LIBS="-lfat -lwiiuse -lbte -logc -lm" - -Finally, to build, use this line: - -EXEEXT=".elf" make -e - -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 ---------------- @@ -218,4 +107,4 @@ Philip Kendall <phi...@sh...> 16 December 2010 -$Id: README 4624 2012-01-09 20:59:35Z pak21 $ +$Id: README 4763 2012-11-16 11:01:59Z fredm $ Modified: trunk/fuse/TODO =================================================================== --- trunk/fuse/TODO 2012-12-06 11:55:57 UTC (rev 719) +++ trunk/fuse/TODO 2012-12-08 11:50:59 UTC (rev 720) @@ -1,5 +1,9 @@ TODO +* Add documentation for Spectranet to core Fuse +* Update Changelog in core Fuse +* Update What's new in help file +* Fix html help cross references * Pentagon port #ff returning floating bus issues - it does it because the RusFAQ says so? * Collapse Media hierarchy, just have Tape, Disk A, Disk B, Master, Slave, Microdrive 1..4 etc. * Add TITLE tags to help files? Deleted: trunk/fuse/acinclude.m4 =================================================================== --- trunk/fuse/acinclude.m4 2012-12-06 11:55:57 UTC (rev 719) +++ trunk/fuse/acinclude.m4 2012-12-08 11:50:59 UTC (rev 720) @@ -1,1227 +0,0 @@ -# Configure paths for GLIB -# Owen Taylor 97-11-3 - -# Taken from Glib 1.2.10 by PAK 2004/07/06 - -dnl AM_PATH_GLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or -dnl gthread is specified in MODULES, pass to glib-config -dnl -AC_DEFUN([AM_PATH_GLIB], -[dnl -dnl Get the cflags and libraries from the glib-config script -dnl -AC_ARG_WITH(glib-prefix,[ --with-glib-prefix=PFX Prefix where GLIB is installed (optional)], - glib_config_prefix="$withval", glib_config_prefix="") -AC_ARG_WITH(glib-exec-prefix,[ --with-glib-exec-prefix=PFX Exec prefix where GLIB is installed (optional)], - glib_config_exec_prefix="$withval", glib_config_exec_prefix="") -AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program], - , enable_glibtest=yes) - - if test x$glib_config_exec_prefix != x ; then - glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix" - if test x${GLIB_CONFIG+set} != xset ; then - GLIB_CONFIG=$glib_config_exec_prefix/bin/glib-config - fi - fi - if test x$glib_config_prefix != x ; then - glib_config_args="$glib_config_args --prefix=$glib_config_prefix" - if test x${GLIB_CONFIG+set} != xset ; then - GLIB_CONFIG=$glib_config_prefix/bin/glib-config - fi - fi - - for module in . $4 - do - case "$module" in - gmodule) - glib_config_args="$glib_config_args gmodule" - ;; - gthread) - glib_config_args="$glib_config_args gthread" - ;; - esac - done - - AC_PATH_PROG(GLIB_CONFIG, glib-config, no) - min_glib_version=ifelse([$1], ,0.99.7,$1) - AC_MSG_CHECKING(for GLIB - version >= $min_glib_version) - no_glib="" - if test "$GLIB_CONFIG" = "no" ; then - no_glib=yes - else - GLIB_CFLAGS=`$GLIB_CONFIG $glib_config_args --cflags` - GLIB_LIBS=`$GLIB_CONFIG $glib_config_args --libs` - glib_config_major_version=`$GLIB_CONFIG $glib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - glib_config_minor_version=`$GLIB_CONFIG $glib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - glib_config_micro_version=`$GLIB_CONFIG $glib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_glibtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$GLIB_LIBS $LIBS" -dnl -dnl Now check if the installed GLIB is sufficiently new. (Also sanity -dnl checks the results of glib-config to some extent -dnl - rm -f conf.glibtest - AC_TRY_RUN([ -#include <glib.h> -#include <stdio.h> -#include <stdlib.h> - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.glibtest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_glib_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_glib_version"); - exit(1); - } - - if ((glib_major_version != $glib_config_major_version) || - (glib_minor_version != $glib_config_minor_version) || - (glib_micro_version != $glib_config_micro_version)) - { - printf("\n*** 'glib-config --version' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", - $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version, - glib_major_version, glib_minor_version, glib_micro_version); - printf ("*** was found! If glib-config was correct, then it is best\n"); - printf ("*** to remove the old version of GLIB. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If glib-config was wrong, set the environment variable GLIB_CONFIG\n"); - printf("*** to point to the correct copy of glib-config, and remove the file config.cache\n"); - printf("*** before re-running configure\n"); - } - else if ((glib_major_version != GLIB_MAJOR_VERSION) || - (glib_minor_version != GLIB_MINOR_VERSION) || - (glib_micro_version != GLIB_MICRO_VERSION)) - { - printf("*** GLIB header files (version %d.%d.%d) do not match\n", - GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - glib_major_version, glib_minor_version, glib_micro_version); - } - else - { - if ((glib_major_version > major) || - ((glib_major_version == major) && (glib_minor_version > minor)) || - ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n", - glib_major_version, glib_minor_version, glib_micro_version); - printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GLIB is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the glib-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GLIB, but you can also set the GLIB_CONFIG environment to point to the\n"); - printf("*** correct copy of glib-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_glib" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$GLIB_CONFIG" = "no" ; then - echo "*** The glib-config script installed by GLIB could not be found" - echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the GLIB_CONFIG environment variable to the" - echo "*** full path to glib-config." - else - if test -f conf.glibtest ; then - : - else - echo "*** Could not run GLIB test program, checking why..." - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$LIBS $GLIB_LIBS" - AC_TRY_LINK([ -#include <glib.h> -#include <stdio.h> -], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GLIB or finding the wrong" - echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - echo "***" - echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" - echo "*** came with the system with the command" - echo "***" - echo "*** rpm --erase --nodeps gtk gtk-devel" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GLIB was incorrectly installed" - echo "*** or that you have moved GLIB since it was installed. In the latter case, you" - echo "*** may want to edit the glib-config script: $GLIB_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GLIB_CFLAGS="" - GLIB_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - rm -f conf.glibtest -]) - -# Configure paths for GLIB -# Owen Taylor 1997-2001 - -# Taken from Glib 2.4.2 by PAK 2004/07/06 - -dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject or -dnl gthread is specified in MODULES, pass to pkg-config -dnl -AC_DEFUN([AM_PATH_GLIB_2_0], -[dnl -dnl Get the cflags and libraries from pkg-config -dnl -AC_ARG_ENABLE(glibtest, [ --disable-glibtest do not try to compile and run a test GLIB program], - , enable_glibtest=yes) - - pkg_config_args=glib-2.0 - for module in . $4 - do - case "$module" in - gmodule) - pkg_config_args="$pkg_config_args gmodule-2.0" - ;; - gobject) - pkg_config_args="$pkg_config_args gobject-2.0" - ;; - gthread) - pkg_config_args="$pkg_config_args gthread-2.0" - ;; - esac - done - - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - - no_glib="" - - if test x$PKG_CONFIG != xno ; then - if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then - : - else - echo *** pkg-config too old; version 0.7 or better required. - no_glib=yes - PKG_CONFIG=no - fi - else - no_glib=yes - fi - - min_glib_version=ifelse([$1], ,2.0.0,$1) - AC_MSG_CHECKING(for GLIB - version >= $min_glib_version) - - if test x$PKG_CONFIG != xno ; then - ## don't try to run the test against uninstalled libtool libs - if $PKG_CONFIG --uninstalled $pkg_config_args; then - echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH" - enable_glibtest=no - fi - - if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then - : - else - no_glib=yes - fi - fi - - if test x"$no_glib" = x ; then - GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` - GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0` - GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` - - GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args` - GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args` - glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_glibtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$GLIB_LIBS $LIBS" -dnl -dnl Now check if the installed GLIB is sufficiently new. (Also sanity -dnl checks the results of pkg-config to some extent) -dnl - rm -f conf.glibtest - AC_TRY_RUN([ -#include <glib.h> -#include <stdio.h> -#include <stdlib.h> - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.glibtest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_glib_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_glib_version"); - exit(1); - } - - if ((glib_major_version != $glib_config_major_version) || - (glib_minor_version != $glib_config_minor_version) || - (glib_micro_version != $glib_config_micro_version)) - { - printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", - $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version, - glib_major_version, glib_minor_version, glib_micro_version); - printf ("*** was found! If pkg-config was correct, then it is best\n"); - printf ("*** to remove the old version of GLib. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); - printf("*** to point to the correct configuration files\n"); - } - else if ((glib_major_version != GLIB_MAJOR_VERSION) || - (glib_minor_version != GLIB_MINOR_VERSION) || - (glib_micro_version != GLIB_MICRO_VERSION)) - { - printf("*** GLIB header files (version %d.%d.%d) do not match\n", - GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - glib_major_version, glib_minor_version, glib_micro_version); - } - else - { - if ((glib_major_version > major) || - ((glib_major_version == major) && (glib_minor_version > minor)) || - ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n", - glib_major_version, glib_minor_version, glib_micro_version); - printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GLIB is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the pkg-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n"); - printf("*** correct copy of pkg-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_glib" = x ; then - AC_MSG_RESULT(yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$PKG_CONFIG" = "no" ; then - echo "*** A new enough version of pkg-config was not found." - echo "*** See http://www.freedesktop.org/software/pkgconfig/" - else - if test -f conf.glibtest ; then - : - else - echo "*** Could not run GLIB test program, checking why..." - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$LIBS $GLIB_LIBS" - AC_TRY_LINK([ -#include <glib.h> -#include <stdio.h> -], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GLIB or finding the wrong" - echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GLIB is incorrectly installed."]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GLIB_CFLAGS="" - GLIB_LIBS="" - GLIB_GENMARSHAL="" - GOBJECT_QUERY="" - GLIB_MKENUMS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - AC_SUBST(GLIB_GENMARSHAL) - AC_SUBST(GOBJECT_QUERY) - AC_SUBST(GLIB_MKENUMS) - rm -f conf.glibtest -]) - -# Configure paths for GTK+ -# Owen Taylor 97-11-3 - -# Taken from GTK+ 1.2.10 by PAK 2004/07/06 - -dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS -dnl -AC_DEFUN([AM_PATH_GTK], -[dnl -dnl Get the cflags and libraries from the gtk-config script -dnl -AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)], - gtk_config_prefix="$withval", gtk_config_prefix="") -AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)], - gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") -AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program], - , enable_gtktest=yes) - - for module in . $4 - do - case "$module" in - gthread) - gtk_config_args="$gtk_config_args gthread" - ;; - esac - done - - if test x$gtk_config_exec_prefix != x ; then - gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" - if test x${GTK_CONFIG+set} != xset ; then - GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config - fi - fi - if test x$gtk_config_prefix != x ; then - gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" - if test x${GTK_CONFIG+set} != xset ; then - GTK_CONFIG=$gtk_config_prefix/bin/gtk-config - fi - fi - - AC_PATH_PROG(GTK_CONFIG, gtk-config, no) - min_gtk_version=ifelse([$1], ,0.99.7,$1) - AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) - no_gtk="" - if test "$GTK_CONFIG" = "no" ; then - no_gtk=yes - else - GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` - GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` - gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_gtktest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$GTK_LIBS $LIBS" -dnl -dnl Now check if the installed GTK is sufficiently new. (Also sanity -dnl checks the results of gtk-config to some extent -dnl - rm -f conf.gtktest - AC_TRY_RUN([ -#include <gtk/gtk.h> -#include <stdio.h> -#include <stdlib.h> - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.gtktest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_gtk_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_gtk_version"); - exit(1); - } - - if ((gtk_major_version != $gtk_config_major_version) || - (gtk_minor_version != $gtk_config_minor_version) || - (gtk_micro_version != $gtk_config_micro_version)) - { - printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", - $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf ("*** was found! If gtk-config was correct, then it is best\n"); - printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n"); - printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); - printf("*** before re-running configure\n"); - } -#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION) - else if ((gtk_major_version != GTK_MAJOR_VERSION) || - (gtk_minor_version != GTK_MINOR_VERSION) || - (gtk_micro_version != GTK_MICRO_VERSION)) - { - printf("*** GTK+ header files (version %d.%d.%d) do not match\n", - GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - } -#endif /* defined (GTK_MAJOR_VERSION) ... */ - else - { - if ((gtk_major_version > major) || - ((gtk_major_version == major) && (gtk_minor_version > minor)) || - ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the gtk-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n"); - printf("*** correct copy of gtk-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_gtk" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$GTK_CONFIG" = "no" ; then - echo "*** The gtk-config script installed by GTK could not be found" - echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the GTK_CONFIG environment variable to the" - echo "*** full path to gtk-config." - else - if test -f conf.gtktest ; then - : - else - echo "*** Could not run GTK test program, checking why..." - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$LIBS $GTK_LIBS" - AC_TRY_LINK([ -#include <gtk/gtk.h> -#include <stdio.h> -], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GTK or finding the wrong" - echo "*** version of GTK. If it is not finding GTK, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - echo "***" - echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" - echo "*** came with the system with the command" - echo "***" - echo "*** rpm --erase --nodeps gtk gtk-devel" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GTK was incorrectly installed" - echo "*** or that you have moved GTK since it was installed. In the latter case, you" - echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GTK_CFLAGS="" - GTK_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - rm -f conf.gtktest -]) - -# Configure paths for GTK+ -# Owen Taylor 1997-2001 - -# Taken from GTK+ 2.4.3 by PAK 2004/07/06 - -dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES, -dnl pass to pkg-config -dnl -AC_DEFUN([AM_PATH_GTK_2_0], -[dnl -dnl Get the cflags and libraries from pkg-config -dnl -AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program], - , enable_gtktest=yes) - - pkg_config_args=gtk+-2.0 - for module in . $4 - do - case "$module" in - gthread) - pkg_config_args="$pkg_config_args gthread-2.0" - ;; - esac - done - - no_gtk="" - - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - - if test x$PKG_CONFIG != xno ; then - if pkg-config --atleast-pkgconfig-version 0.7 ; then - : - else - echo "*** pkg-config too old; version 0.7 or better required." - no_gtk=yes - PKG_CONFIG=no - fi - else - no_gtk=yes - fi - - min_gtk_version=ifelse([$1], ,2.0.0,$1) - AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version) - - if test x$PKG_CONFIG != xno ; then - ## don't try to run the test against uninstalled libtool libs - if $PKG_CONFIG --uninstalled $pkg_config_args; then - echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH" - enable_gtktest=no - fi - - if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then - : - else - no_gtk=yes - fi - fi - - if test x"$no_gtk" = x ; then - GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags` - GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs` - gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_gtktest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$GTK_LIBS $LIBS" -dnl -dnl Now check if the installed GTK+ is sufficiently new. (Also sanity -dnl checks the results of pkg-config to some extent) -dnl - rm -f conf.gtktest - AC_TRY_RUN([ -#include <gtk/gtk.h> -#include <stdio.h> -#include <stdlib.h> - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.gtktest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_gtk_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_gtk_version"); - exit(1); - } - - if ((gtk_major_version != $gtk_config_major_version) || - (gtk_minor_version != $gtk_config_minor_version) || - (gtk_micro_version != $gtk_config_micro_version)) - { - printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", - $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf ("*** was found! If pkg-config was correct, then it is best\n"); - printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); - printf("*** to point to the correct configuration files\n"); - } - else if ((gtk_major_version != GTK_MAJOR_VERSION) || - (gtk_minor_version != GTK_MINOR_VERSION) || - (gtk_micro_version != GTK_MICRO_VERSION)) - { - printf("*** GTK+ header files (version %d.%d.%d) do not match\n", - GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - } - else - { - if ((gtk_major_version > major) || - ((gtk_major_version == major) && (gtk_minor_version > minor)) || - ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the pkg-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n"); - printf("*** correct copy of pkg-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_gtk" = x ; then - AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version)) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$PKG_CONFIG" = "no" ; then - echo "*** A new enough version of pkg-config was not found." - echo "*** See http://pkgconfig.sourceforge.net" - else - if test -f conf.gtktest ; then - : - else - echo "*** Could not run GTK+ test program, checking why..." - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$LIBS $GTK_LIBS" - AC_TRY_LINK([ -#include <gtk/gtk.h> -#include <stdio.h> -], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GTK+ or finding the wrong" - echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GTK_CFLAGS="" - GTK_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - rm -f conf.gtktest -]) - -# Configure paths for SDL -# Sam Lantinga 9/21/99 -# stolen from Manish Singh -# stolen back from Frank Belew -# stolen from Manish Singh -# Shamelessly stolen from Owen Taylor - -# Taken from SDL 1.2.7 by PAK 2004/07/07 - -dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) -dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS -dnl -AC_DEFUN([AM_PATH_SDL], -[dnl -dnl Get the cflags and libraries from the sdl-config script -dnl -AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], - sdl_prefix="$withval", sdl_prefix="") -AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], - sdl_exec_prefix="$withval", sdl_exec_prefix="") -AC_ARG_ENABLE(sdltest, [ --dis... [truncated message content] |
From: <fr...@us...> - 2012-12-31 05:41:29
|
Revision: 723 http://sourceforge.net/p/fuse-for-macosx/code/723 Author: fredm Date: 2012-12-31 05:41:26 +0000 (Mon, 31 Dec 2012) Log Message: ----------- Updated icon images from Paul van der Laan. Modified Paths: -------------- trunk/fuse/TODO trunk/fuse/fusepb/Fuse.iconset/icon_128x128.png trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g trunk/fuse/fusepb/Fuse.iconset/icon_16x16.png trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g trunk/fuse/fusepb/Fuse.iconset/icon_256x256.png trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g trunk/fuse/fusepb/Fuse.iconset/icon_32x32.png trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g trunk/fuse/fusepb/Fuse.iconset/icon_512x512.png trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g Modified: trunk/fuse/TODO =================================================================== --- trunk/fuse/TODO 2012-12-22 11:08:57 UTC (rev 722) +++ trunk/fuse/TODO 2012-12-31 05:41:26 UTC (rev 723) @@ -1,7 +1,5 @@ TODO -* Add documentation for Spectranet to core Fuse -* Update Changelog in core Fuse * Update What's new in help file * Fix html help cross references * Pentagon port #ff returning floating bus issues - it does it because the RusFAQ says so? @@ -15,9 +13,10 @@ get less deterministic program behaviour after load is complete * Use sheets rather than modal dialogs (for Save As) * Allow Cmd-w to close as many windows as possible -* Make border display optional +* Make border display/size optional * Make activity icons transparent * SZX +3 block - seems to be redundant? * Add QuickLook HTML view showing Title, etc. like QuickLook on MP3s +* Pentagon border emulation? $Id: TODO 2026 2004-03-02 13:38:08Z pak21 $ Modified: trunk/fuse/fusepb/Fuse.iconset/icon_128x128.png =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Fuse.iconset/icon_16x16.png =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Fuse.iconset/icon_256x256.png =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Fuse.iconset/icon_32x32.png =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Fuse.iconset/icon_512x512.png =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Fuse.iconset/ico...@2x...g =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-01-02 04:55:30
|
Revision: 724 http://sourceforge.net/p/fuse-for-macosx/code/724 Author: fredm Date: 2013-01-02 04:55:28 +0000 (Wed, 02 Jan 2013) Log Message: ----------- Bring changelog up to date. Modified Paths: -------------- trunk/fuse/TODO trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html Modified: trunk/fuse/TODO =================================================================== --- trunk/fuse/TODO 2012-12-31 05:41:26 UTC (rev 723) +++ trunk/fuse/TODO 2013-01-02 04:55:28 UTC (rev 724) @@ -2,6 +2,7 @@ * Update What's new in help file * Fix html help cross references +* Better show which machines are usable given ROM availability * Pentagon port #ff returning floating bus issues - it does it because the RusFAQ says so? * Collapse Media hierarchy, just have Tape, Disk A, Disk B, Master, Slave, Microdrive 1..4 etc. * Add TITLE tags to help files? Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2012-12-31 05:41:26 UTC (rev 723) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2013-01-02 04:55:28 UTC (rev 724) @@ -1,228 +1,121 @@ -<!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 - content="HTML Tidy for Mac OS X (vers 1st December 2002), see www.w3.org" - name="generator"> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>What's New In Fuse?</title> - <meta name="generator" content="DocBook XSL Stylesheets V1.62.4"> -</head> -<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 1.0.0 of the Fuse emulator." --></font><br> -<div class="refsect1" xml:lang="en" lang="en"> -<h2><font><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse -For Mac OS X Beta xxxx<br> -</font></font></h2> -<ul> - <li><font face="Lucida Grande,Helvetica,Arial">New features:</font></li> - <li - style="list-style-type: none; list-style-image: none; list-style-position: outside;"> + <head> + <meta content="HTML Tidy for Mac OS X (vers 1st December 2002), see + www.w3.org" name="generator"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>What's New In Fuse?</title> + <meta name="generator" content="DocBook XSL Stylesheets V1.62.4"> + </head> + <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 1.1.0 of the Fuse emulator." --></font><br> + <h2><font><font face="Lucida Grande,Helvetica,Arial">What's new in + Fuse For Mac OS X 1.1.0</font></font></h2> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Add DISCiPLE disk -interface support (Stuart Brady).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add Unfiltered -speaker type for sound output (Alberto Garcia).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add SpecDrum -support (Jon Mitchell).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for -ABC AY stereo (Stuart</font><font face="Lucida Grande,Helvetica,Arial"> -Brady</font><font face="Lucida Grande,Helvetica,Arial">).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Enable Beta 128 -interface for non-Russian machines (ketmar).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for -TZX set signal level block (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for -POK files (Sergio Baldoví).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Disassemble ED 4D -as RETI (Simon Owen).<br> - </font></li> + <li><font face="Lucida Grande,Helvetica,Arial">New policy:</font></li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Remove all ROMs + for which there isn't explicit permission to distribute + (Philip Kendall). All the affected hardware is still + supported, but the ROM images will need to be obtained + elsewhere and then the Fuse preferences set to refer to + these new ROM images. This applies to the following + machines; Pentagon series and Scorpion, and the following + interfaces; Interface I, Opus Discovery, Betadisk.<br> + </font></li> + </ul> + <br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial">New features:</font></li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Add Spectranet + ethernet interface emulation (Philip Kendall).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add SpeccyBoot + ethernet interface emulation (Patrik Persson).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add SpecDrum + sound interface emulation (Jon Mitchell).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add DISCiPLE + disk interface emulation (Stuart Brady).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Support reading + PZX files (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add support for + POK files (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add recording + of movies to FMF files (Gergely Szasz).</font></li> + </ul> + </li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"><br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial">Emulation core + improvements:</font></li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Add support for + ABC AY stereo (Stuart Brady).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Correct + feedback in AY noise generator (Patrik Rak).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">MIC bit only + isn't enough to drive the speaker (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Mirror + Interface 1 ROM to the second 8Kb of ROM as in the real + interface (Fredrick Meunier, with thanks to mcleod_ideafix + and zx81).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Support the + Beta interface setting to not auto-boot the interface on + 48K machines (ketmar).</font></li> + </ul> + <br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial">Machine specific + improvements:</font></li> + <li style="list-style: none outside none;"> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Read and write + all potential 1024k worth of memory pages from a snap + (ketmar and Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Initialise the + Pentagon 1024k memory ports from a snapshot (ketmar and + Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Restore the + paged state of the Beta ROM when loading Pentagon + 128k/512k/1024k snapshots (ketmar and Fredrick Meunier).</font></li> + </ul> + </li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"><br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial">Debugger + improvements:</font></li> + <li style="list-style-type: none; list-style-image: none; + list-style-position: outside;"> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Disassemble ED + 4D as RETI (Simon Owen).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add IM, IFF1 + and IFF2 setting and getting to the debugger (Alex Badea).</font></li> + </ul> + <br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous + improvements:</font></li> + <ul> + <li><font face="Lucida Grande,Helvetica,Arial">Support for the + TZX set signal level block (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Support setting + late timings from snapshots (Fredrick Meunier).</font></li> + </ul> + <li style="list-style: none outside none;"><br> + </li> + <li><font face="Lucida Grande,Helvetica,Arial">Various other minor + bugfixes.</font></li> </ul> - <br> - </li> - <li><font face="Lucida Grande,Helvetica,Arial">Bug fixes:</font></li> - <li - style="list-style-type: none; list-style-image: none; list-style-position: outside;"> - <ul> - <li><span style="font-family: Lucida Grande,Helvetica,Arial;">Revise -the output level of the ULA MIC bit according to the analysis in the ZX -Spectrum ULA book (Fredrick Meunier).</span></li> - <li><span style="font-family: Lucida Grande,Helvetica,Arial;">Set -treble on 'right' buffer for AY channel C when stereo output is enabled -(Stuart</span><font face="Lucida Grande,Helvetica,Arial"> Brady</font><span - style="font-family: Lucida Grande,Helvetica,Arial;">).</span></li> - <li><span style="font-family: Lucida Grande,Helvetica,Arial;">Mirror -Interface 1 ROM to the second 8Kb of ROM as in the real interface -(thanks, mcleod_ideafix and zx81) (</span><font - face="Lucida Grande,Helvetica,Arial">Fredrick Meunier</font><span - style="font-family: Lucida Grande,Helvetica,Arial;">).<br> - </span></li> - </ul> - </li> -</ul> -<h2><font><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse -For Mac OS X 1.0.0.1a</font></font></h2> -<ul> - <li><font face="Lucida Grande,Helvetica,Arial">New policy:</font></li> - <li - style="list-style-type: none; list-style-image: none; list-style-position: outside;"> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Remove all ROMs -for which there isn't explicit permission to distribute (Philip -Kendall). All the affected hardware is still supported, but the ROM -images will need to be obtained elsewhere and then the Fuse preferences -set to refer to these new ROM images. This applies to the following -machines; Pentagon series and Scorpion, and the following interfaces; -Interface I, Opus Discovery, Betadisk.<br> - </font></li> - </ul> - <br> - </li> - <li><font face="Lucida Grande,Helvetica,Arial">Bug fixes:</font></li> - <li - style="list-style-type: none; list-style-image: none; list-style-position: outside;"> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Fix temporary -breakpoints in the debugger (Fredrick Meunier, -Sergio Baldovi; thanks, Chris Cowley).</font></li> - </ul> - </li> -</ul> -<h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse -For Mac OS X 1.0.0</font></h2> -<ul> - <li><font face="Lucida Grande,Helvetica,Arial">New -features:</font></li> - <li - style="list-style-type: none; list-style-image: none; list-style-position: outside;"> - <ul> - <li><font face="Lucida Grande,Helvetica,Arial">Add 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 -flipping disk images in single sided drives (Gergely Szasz).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add support for -automatically merging both both disk images where they are in separate -files named with the text [Ss]ide[ _][abAB12] (Gergely Szasz).</font></li> - <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 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 -the Melodik and similar 48K-compatible AY interfaces that use the 128K -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">Collapse Media -menu hierarchy, to just have Tape, Disk A, Disk B, Master, Slave, -Microdrive 1 and 2 etc. (Fredrick Meunier).<br> - </font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Add Pause menu -option (</font><font face="Lucida Grande,Helvetica,Arial">Fredrick -Meunier).</font><br> - <font face="Lucida Grande,Helvetica,Arial"><br> - </font></li> - </ul> - </li> - <li><font face="Lucida Grande,Helvetica,Arial">Miscellaneous -improvements:</font></li> - <ul> - <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-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 -clicking and moving the cursor on Mac notebooks (thanks, Andrew Owen) -(Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fixes for speed -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 - face="Lucida Grande,Helvetica,Arial">).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Correct loading Beta -128 disks from disk open dialog (</font><font - face="Lucida Grande,Helvetica,Arial">Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix mass storage -preference setting (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix bug where having -the tape browser or keyboard viewer open </font><font - face="Lucida Grande,Helvetica,Arial">prevented</font><font - 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).</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 shifted 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> -</ul> -</div> -<!-- AppleSegEnd --> -</body> + </body> </html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-03-31 06:10:12
|
Revision: 736 http://sourceforge.net/p/fuse-for-macosx/code/736 Author: fredm Date: 2013-03-31 06:10:09 +0000 (Sun, 31 Mar 2013) Log Message: ----------- Don't poll for joytick axes that do not exist to avoid going into a loop when exiting the pref pane with non-existent joystick axes selected. Modified Paths: -------------- 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/ui/cocoa/cocoajoystick.c Modified: trunk/fuse/fusepb/content_arrays/HIDJoysticks.h =================================================================== --- trunk/fuse/fusepb/content_arrays/HIDJoysticks.h 2013-03-24 06:27:29 UTC (rev 735) +++ trunk/fuse/fusepb/content_arrays/HIDJoysticks.h 2013-03-31 06:10:09 UTC (rev 736) @@ -28,8 +28,8 @@ @interface HIDJoystick : NSObject <NSCoding> { - NSString *name; - int type; + NSString *name; + int type; } + (NSArray *)allJoysticks; Modified: trunk/fuse/fusepb/content_arrays/HIDJoysticks.m =================================================================== --- trunk/fuse/fusepb/content_arrays/HIDJoysticks.m 2013-03-24 06:27:29 UTC (rev 735) +++ trunk/fuse/fusepb/content_arrays/HIDJoysticks.m 2013-03-31 06:10:09 UTC (rev 736) @@ -36,23 +36,23 @@ // Predefined global list of joysticks + (NSArray *)allJoysticks { - static NSMutableArray *joysticks; - if (!joysticks) { - size_t i; + static NSMutableArray *joysticks; + if (!joysticks) { + size_t i; - joysticks = [NSMutableArray arrayWithCapacity:joysticks_supported+1]; + joysticks = [NSMutableArray arrayWithCapacity:joysticks_supported+1]; - [joysticks addObject:[HIDJoystick joystickWithName:@"None" andType:0]]; - if( joysticks_supported > 0 ){ - for( i=0; i<joysticks_supported; i++ ) { - [joysticks addObject: - [HIDJoystick joystickWithName:@(SDL_SYS_JoystickName(i)) - andType:i+1] - ]; - } + [joysticks addObject:[HIDJoystick joystickWithName:@"None" andType:0]]; + if( joysticks_supported > 0 ){ + for( i=0; i<joysticks_supported; i++ ) { + [joysticks addObject: + [HIDJoystick joystickWithName:@(SDL_SYS_JoystickName(i)) + andType:i+1] + ]; } } - return joysticks; + } + return joysticks; } // Retrieve joystick with given name from 'allHIDJoysticks' Modified: trunk/fuse/fusepb/content_arrays/Joysticks.h =================================================================== --- trunk/fuse/fusepb/content_arrays/Joysticks.h 2013-03-24 06:27:29 UTC (rev 735) +++ trunk/fuse/fusepb/content_arrays/Joysticks.h 2013-03-31 06:10:09 UTC (rev 736) @@ -28,8 +28,8 @@ @interface Joystick : NSObject <NSCoding> { - NSString *name; - int type; + NSString *name; + int type; } + (NSArray *)allJoysticks; Modified: trunk/fuse/fusepb/content_arrays/Joysticks.m =================================================================== --- trunk/fuse/fusepb/content_arrays/Joysticks.m 2013-03-24 06:27:29 UTC (rev 735) +++ trunk/fuse/fusepb/content_arrays/Joysticks.m 2013-03-31 06:10:09 UTC (rev 736) @@ -35,19 +35,19 @@ // Predefined global list of joysticks + (NSArray *)allJoysticks { - static NSMutableArray *joysticks; - if (!joysticks) { - size_t i; + static NSMutableArray *joysticks; + if (!joysticks) { + size_t i; - joysticks = [NSMutableArray arrayWithCapacity:JOYSTICK_TYPE_COUNT]; + joysticks = [NSMutableArray arrayWithCapacity:JOYSTICK_TYPE_COUNT]; - for( i=0; i<JOYSTICK_TYPE_COUNT; i++ ) { - [joysticks addObject: - [Joystick joystickWithName:@(joystick_name[i]) andType:i] - ]; - } + for( i=0; i<JOYSTICK_TYPE_COUNT; i++ ) { + [joysticks addObject: + [Joystick joystickWithName:@(joystick_name[i]) andType:i] + ]; } - return joysticks; + } + return joysticks; } // Retrieve joystick with given name from 'allJoysticks' Modified: trunk/fuse/ui/cocoa/cocoajoystick.c =================================================================== --- trunk/fuse/ui/cocoa/cocoajoystick.c 2013-03-24 06:27:29 UTC (rev 735) +++ trunk/fuse/ui/cocoa/cocoajoystick.c 2013-03-31 06:10:09 UTC (rev 736) @@ -130,6 +130,11 @@ int buttons, i; input_event_t event; + if( SDL_JoystickNumAxes( joystick_info->joystick ) <= xaxis || + SDL_JoystickNumAxes( joystick_info->joystick ) <= yaxis ) { + return; + } + status = SDL_JoystickGetAxis( joystick_info->joystick, xaxis ); do_axis( which, status, INPUT_JOYSTICK_LEFT, INPUT_JOYSTICK_RIGHT ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-04-25 05:47:46
|
Revision: 742 http://sourceforge.net/p/fuse-for-macosx/code/742 Author: fredm Date: 2013-04-25 05:47:40 +0000 (Thu, 25 Apr 2013) Log Message: ----------- Merge up to vendor revision 4915. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/4915 Modified Paths: -------------- trunk/fuse/AUTHORS trunk/fuse/ChangeLog trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/THANKS trunk/fuse/compat/amiga/Makefile.am trunk/fuse/compat/linux/Makefile.am trunk/fuse/compat/mkstemp.c trunk/fuse/compat/morphos/Makefile.am trunk/fuse/compat/unix/Makefile.am trunk/fuse/compat/unix/socket.c trunk/fuse/compat/unix/tuntap.c trunk/fuse/compat/wii/Makefile.am trunk/fuse/compat/win32/Makefile.am trunk/fuse/compat/win32/paths.c trunk/fuse/configure.ac trunk/fuse/fuse.c trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/config.h trunk/fuse/fusepb/controllers/JoystickConfigurationController.h trunk/fuse/fusepb/controllers/JoystickConfigurationController.m trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/libspectrum.h trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/disciple.html trunk/fuse/fusepb/resources/Fuse Help/html/formats.html trunk/fuse/fusepb/resources/Fuse Help/html/machine.html trunk/fuse/fusepb/resources/Fuse Help/html/menus.html trunk/fuse/fusepb/resources/Fuse Help/html/peripherals.html trunk/fuse/fusepb/resources/Fuse Help/html/plusd.html trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html trunk/fuse/fusepb/resources/Fuse Help/html/sound.html trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html trunk/fuse/fusepb/xibs/JoystickConfiguration.xib trunk/fuse/fusepb/xibs/Preferences.xib trunk/fuse/hacking/ChangeLog trunk/fuse/hacking/peripheral_tests.txt trunk/fuse/hacking/spectranet.txt trunk/fuse/input.c trunk/fuse/input.h trunk/fuse/keysyms.pl trunk/fuse/lib/compressed/tape_se.szx trunk/fuse/lib/uncompressed/tape_se.szx trunk/fuse/machines/spec_se.c trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/menu.c trunk/fuse/menu.h trunk/fuse/menu_data.dat trunk/fuse/periph.c trunk/fuse/periph.h trunk/fuse/peripherals/disk/beta.c trunk/fuse/peripherals/disk/disciple.c trunk/fuse/peripherals/disk/disciple.h trunk/fuse/peripherals/disk/disk.c trunk/fuse/peripherals/disk/disk.h trunk/fuse/peripherals/disk/fdd.h trunk/fuse/peripherals/disk/opus.c trunk/fuse/peripherals/disk/plusd.c trunk/fuse/peripherals/disk/plusd.h trunk/fuse/peripherals/flash/am29f010.c trunk/fuse/peripherals/fuller.c trunk/fuse/peripherals/ide/divide.c trunk/fuse/peripherals/ide/simpleide.c trunk/fuse/peripherals/ide/zxatasp.c trunk/fuse/peripherals/ide/zxcf.c trunk/fuse/peripherals/if1.c trunk/fuse/peripherals/if1.h trunk/fuse/peripherals/if2.c trunk/fuse/peripherals/if2.h trunk/fuse/peripherals/kempmouse.c trunk/fuse/peripherals/melodik.c trunk/fuse/peripherals/nic/Makefile.am trunk/fuse/peripherals/nic/w5100.c trunk/fuse/peripherals/nic/w5100_internals.h trunk/fuse/peripherals/nic/w5100_socket.c trunk/fuse/peripherals/printer.c trunk/fuse/peripherals/scld.c trunk/fuse/peripherals/speccyboot.c trunk/fuse/peripherals/specdrum.c trunk/fuse/peripherals/spectranet.c trunk/fuse/peripherals/spectranet.h trunk/fuse/pokefinder/pokemem.c trunk/fuse/rectangle.c trunk/fuse/roms/Makefile.am trunk/fuse/roms/README.copyright trunk/fuse/roms/plus3e-0.rom trunk/fuse/roms/plus3e-1.rom trunk/fuse/roms/plus3e-2.rom trunk/fuse/roms/se-0.rom trunk/fuse/roms/se-1.rom trunk/fuse/settings.dat trunk/fuse/settings.pl trunk/fuse/snapshot.c trunk/fuse/sound/blipbuffer.c trunk/fuse/sound/blipbuffer.h trunk/fuse/sound/win32sound.c trunk/fuse/sound.c trunk/fuse/spectrum.c trunk/fuse/tape.c trunk/fuse/ui/cocoa/cocoajoystick.c trunk/fuse/ui/gtk/binary.c trunk/fuse/ui/gtk/debugger.c trunk/fuse/ui/gtk/gtkjoystick.c trunk/fuse/ui/options.dat trunk/fuse/ui/sdl/sdljoystick.c trunk/fuse/ui/uijoystick.c trunk/fuse/ui/widget/filesel.c trunk/fuse/ui/widget/menu.c trunk/fuse/ui/widget/options.pl trunk/fuse/ui/win32/about.rc trunk/fuse/ui/win32/binary.c trunk/fuse/ui/win32/binary.rc trunk/fuse/ui/win32/browse.rc trunk/fuse/ui/win32/debugger.h trunk/fuse/ui/win32/debugger.rc trunk/fuse/ui/win32/hyperlinks.c trunk/fuse/ui/win32/memorybrowser.c trunk/fuse/ui/win32/memorybrowser.rc trunk/fuse/ui/win32/picture.c trunk/fuse/ui/win32/picture.rc trunk/fuse/ui/win32/pokefinder.rc trunk/fuse/ui/win32/pokemem.c trunk/fuse/ui/win32/pokemem.rc trunk/fuse/ui/win32/rollback.rc trunk/fuse/ui/win32/roms.c trunk/fuse/ui/win32/select_template.rc trunk/fuse/ui/win32/statusbar.c trunk/fuse/ui/win32/win32joystick.c trunk/fuse/ui/win32/win32ui.c trunk/fuse/ui.c trunk/fuse/unittests/unittests.c trunk/fuse/utils.c trunk/fuse/windres.rc trunk/fuse/z80/coretest.c trunk/fuse/z80/z80.c trunk/fuse/z80/z80.h trunk/fuse/z80/z80.pl Added Paths: ----------- trunk/fuse/fusepb/resources/Fuse Help/html/pokememory.html trunk/fuse/fusepb/resources/Fuse Help/html/weak.html trunk/fuse/roms/disciple.rom Property Changed: ---------------- trunk/fuse/ Index: trunk/fuse =================================================================== --- trunk/fuse 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse 2013-04-25 05:47:40 UTC (rev 742) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-719 +/vendor/fuse-emulator/current/fuse:530-741 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/AUTHORS =================================================================== --- trunk/fuse/AUTHORS 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/AUTHORS 2013-04-25 05:47:40 UTC (rev 742) @@ -39,7 +39,7 @@ * Garry Lancaster: the simple 8-bit IDE, ZXATASP and ZXCF support. -* Gergely Szasz: +3, +D, Opus and Interface I/microdrive emulation, the 'movie' +* Gergely Szasz: +3, +D, Opus and Interface 1/Microdrive emulation, the 'movie' code and the ao sound driver. * Bjoern Giesler: the original Wii port. @@ -52,4 +52,4 @@ * Philip Kendall: everything else. -$Id: AUTHORS 4237 2010-12-31 19:31:26Z pak21 $ +$Id: AUTHORS 4835 2012-12-31 15:35:45Z zubzero $ Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/ChangeLog 2013-04-25 05:47:40 UTC (rev 742) @@ -1,3 +1,62 @@ +201?-??-?? Philip Kendall <phi...@sh...> + + * Fuse 1.1.0 released. + + * Remove ROMs that there is no formal permission to distribute. + + * New features: + * Add Spectranet ethernet interface emulation (Philip Kendall). + * Add SpeccyBoot ethernet interface emulation (Patrik Persson). + * Add SpecDrum sound interface emulation (Jon Mitchell). + * Add DISCiPLE disk interface emulation (Stuart Brady). + Sinclair Network emulation is not provided, and the interface is + not available under 128K emulation in this release. + * Support reading PZX files (Fredrick Meunier). + * Add support for POK files (Sergio Baldoví). + * Add recording of movies to FMF files (Gergely Szasz). + * Add GTK+ 3 compatibility (Sergio Baldoví). + + * Emulation core improvements: + * Add support for ABC AY stereo (Stuart Brady). + * Correct feedback in AY noise generator (Patrik Rak). + * MIC bit only isn't enough to drive the speaker (Fredrick Meunier). + * Mirror Interface 1 ROM to the second 8Kb of ROM as in the real + interface (Fredrick Meunier, with thanks to mcleod_ideafix and + zx81). + * Support the Beta interface setting to not auto-boot the interface + on 48K machines (ketmar). + + * Machine specific improvements: + * Read and write all potential 1024k worth of memory pages from a + snap (ketmar and Fredrick Meunier). + * Initialise the Pentagon 1024k memory ports from a snapshot (ketmar + and Fredrick Meunier). + * Restore the paged state of the Beta ROM when loading Pentagon + 128k/512k/1024k snapshots (ketmar and Fredrick Meunier). + + * Debugger improvements: + * Disassemble ED 4D as RETI (Simon Owen). + * Add IM, IFF1 and IFF2 setting and getting to the debugger (Alex + Badea). + + * Miscellaneous improvements: + * Many improvements to Win32 UI and installer (Sergio Baldoví). + * Allow the use of the SDL joystick code in the GTK+ and Xlib UIs + (Sergio Baldoví). + * Add current machine name to GTK+ and Win32 statusbars (Sergio + Baldoví). + * Allow the drag and drop of files from KDE (Dolphin/Konqueror) + (Sergio Baldoví, with thanks to Diondeville). + * Add a statusbar for the xlib UI (Gergely Szasz). + * Extend supported symbol characters on SDL and xlib UIs (Sergio + Baldoví). + * Support for the TZX set signal level block (Fredrick Meunier). + * Drop support for GLib and GTK+ version 1.x (Alberto Garcia and + Sergio Baldoví). + * Support setting late timings from snapshots (Fredrick Meunier). + + * Various other minor bugfixes. + 2010-12-16 Philip Kendall <phi...@sh...> * Fuse 1.0.0 released. @@ -1035,4 +1094,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 4409 2011-05-01 10:47:07Z zubzero $ +$Id: ChangeLog 4879 2013-02-12 00:36:01Z zubzero $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2009 Philip Kendall -## $Id: Makefile.am 4770 2012-11-23 22:59:48Z sbaldovi $ +## $Id: Makefile.am 4782 2012-12-02 22:49:57Z sbaldovi $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -290,7 +290,8 @@ @test `find $(top_win32dir) -type f -name \*.dll -print | wc -l` -ne 0 || \ { echo "ERROR: external libraries not found in $(top_win32dir). Please, manually copy them."; exit 1; } # Locate NSIS in system path, MSYS drive or Cygwin drive - @if makensis -VERSION > /dev/null 2>&1; then \ + @NSISFILE="$(abs_top_builddir)/ui/win32/installer/fuse.nsi"; \ + if makensis -VERSION > /dev/null 2>&1; then \ MAKENSIS="makensis"; \ elif [ -x "/c/Program Files/NSIS/makensis" ]; then \ MAKENSIS="/c/Program\ Files/NSIS/makensis"; \ @@ -299,8 +300,11 @@ else \ echo 'ERROR: cannot locate makensis tool'; exit 1; \ fi; \ + case "`uname -s`" in \ + CYGWIN*) NSISFILE=`cygpath -m $$NSISFILE`;; \ + esac; \ cd $(top_win32dir); \ - eval "$$MAKENSIS -V2 -NOCD $(abs_top_builddir)/ui/win32/installer/fuse.nsi" + eval "$$MAKENSIS -V2 -NOCD $$NSISFILE" mv $(top_win32dir)/$(package_win32)-setup.exe $(top_builddir) -sha1sum $(top_builddir)/$(package_win32)-setup.exe > $(top_builddir)/$(package_win32)-setup.exe.sha1 && \ { test -z "$(UNIX2DOS)" || $(UNIX2DOS) $(top_builddir)/$(package_win32)-setup.exe.sha1; } Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/README 2013-04-25 05:47:40 UTC (rev 742) @@ -1,4 +1,4 @@ -The Free Unix Spectrum Emulator (Fuse) 1.0.0 +The Free Unix Spectrum Emulator (Fuse) 1.1.0 ============================================ Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat @@ -24,7 +24,7 @@ * Emulation of some of the printers you could attach to a Spectrum. * Support for the RZX input recording file format, including rollback and 'competition mode'. -* Emulation of the DivIDE, Interface I, Kempston mouse, Spectrum +3e, +* Emulation of the DivIDE, Interface 1, Kempston mouse, Spectrum +3e, ZXATASP, ZXCF, Beta 128, Opus Discovery and +D interfaces. Help! <xyz> doesn't work @@ -33,7 +33,7 @@ If you're having a problem using/running/building Fuse, the two places you're most likely to get help are the development mailing list <fus...@li...> or the official forums at -<http://sourceforge.net/projects/fuse-emulator/forums>. +<http://sourceforge.net/p/fuse-emulator/discussion/>. What you'll need to run Fuse ---------------------------- @@ -105,6 +105,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -16 December 2010 +?? ???? 2012 -$Id: README 4763 2012-11-16 11:01:59Z fredm $ +$Id: README 4846 2013-01-03 09:14:29Z zubzero $ Modified: trunk/fuse/THANKS =================================================================== --- trunk/fuse/THANKS 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/THANKS 2013-04-25 05:47:40 UTC (rev 742) @@ -5,10 +5,10 @@ * Michael Bukin: for XWinAllegro, which was used by previous versions of Fuse for the graphical display. - (http://www.canvaslink.com/allegro/xwinallegro/) + (http://web.archive.org/web/19990210094206/http://www.canvaslink.com/allegro/xwinallegro/) * Ian Collier: the source to his xz80 - (http://www.comlab.ox.ac.uk/oucl/users/ian.collier/Spectrum/index.html) + (http://web.archive.org/web/19990428010016/http://www.comlab.ox.ac.uk/oucl/users/ian.collier/Spectrum/index.html) was very helpful for getting the z80 opcodes right; also the ZX Printer emulation is based on xz80's. @@ -27,9 +27,9 @@ * Ian Greenway: for information about reading from unattached ports. If you've got an Amiga, you may well like to check out Ian's Spectrum - Emulator, ASp: http://www.greew.freeserve.co.uk/ASp.html + Emulator, ASp: http://www.lasernet.plus.com/asp.html -* Shawn Hargreaves: for Allegro (http://www.talula.demon.co.uk/allegro/) +* Shawn Hargreaves: for Allegro (http://alleg.sourceforge.net/) (again, used by previous versions of Fuse for the graphical display) * Steven Harrison: for helping track down why the SDL sound routines @@ -67,7 +67,7 @@ * Darren Salt: quite a few bits of code (see `AUTHORS') -* Dmitry Sanarin: the author of Glukalka (http://glukalka.sf.net/), +* Dmitry Sanarin: the author of Glukalka (http://www.sanarin.ru/glukalka/), from which Fuse's TR-DOS emulation code was taken. * Steve Snake (via Mark Woodmass): for pointing out which memory pages @@ -78,10 +78,11 @@ the code which is used as the graphics scalers. For ScummVM, check out http://www.scummvm.org/ -* Gergely Szasz: Interface I/microdrive emulation, the 'movie' code and the +* Gergely Szasz: Interface 1/Microdrive emulation, the 'movie' code and the ao sound driver (see `AUTHORS') -* Miklos Szeredi: his `SpectEmu' (http://www.inf.bme.hu/~mszeredi/spectemu/) +* Miklos Szeredi: his `SpectEmu' + (http://web.archive.org/web/20100408033206/http://www.inf.bme.hu/~mszeredi/spectemu/) gave the inspiration for an important rewrite of the Z80 core, and was also _very_ useful whilst trying to track down some bugs. @@ -101,4 +102,4 @@ * Matan Ziv-Av: for various bits of code (see `AUTHORS') -$Id: THANKS 2433 2004-11-28 21:58:44Z pak21 $ +$Id: THANKS 4882 2013-02-15 23:47:37Z sbaldovi $ Modified: trunk/fuse/compat/amiga/Makefile.am =================================================================== --- trunk/fuse/compat/amiga/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/amiga/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2012 Philip Kendall -## $Id: Makefile.am 4743 2012-10-10 13:20:50Z fredm $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z 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 @@ -31,8 +31,11 @@ ../unix/file.c \ osname.c \ paths.c \ - ../unix/timer.c \ - ../unix/tuntap.c + ../unix/timer.c +if HAVE_TUNTAP +libcompatos_a_SOURCES += ../unix/tuntap.c +endif + AM_CPPFLAGS += @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ -DFUSEDATADIR="\"${pkgdatadir}\"" Modified: trunk/fuse/compat/linux/Makefile.am =================================================================== --- trunk/fuse/compat/linux/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/linux/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2012 Philip Kendall -## $Id: Makefile.am 4779 2012-11-29 18:55:54Z sbaldovi $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z 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 @@ -31,12 +31,15 @@ ../unix/file.c \ ../unix/osname.c \ paths.c \ - ../unix/timer.c \ - ../unix/tuntap.c + ../unix/timer.c if HAVE_SOCKETS libcompatos_a_SOURCES += ../unix/socket.c endif +if HAVE_TUNTAP +libcompatos_a_SOURCES += ../unix/tuntap.c +endif + AM_CPPFLAGS += @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ -DFUSEDATADIR="\"${pkgdatadir}\"" Modified: trunk/fuse/compat/mkstemp.c =================================================================== --- trunk/fuse/compat/mkstemp.c 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/mkstemp.c 2013-04-25 05:47:40 UTC (rev 742) @@ -49,7 +49,6 @@ int len; char *XXXXXX; static uint64_t value; - uint64_t random_time_bits; unsigned int count; int fd = -1; int save_errno = errno; Modified: trunk/fuse/compat/morphos/Makefile.am =================================================================== --- trunk/fuse/compat/morphos/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/morphos/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 4743 2012-10-10 13:20:50Z fredm $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z 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 @@ -31,7 +31,10 @@ ../unix/file.c \ osname.c \ ../amiga/paths.c \ - ../unix/timer.c \ - ../unix/tuntap.c + ../unix/timer.c +if HAVE_TUNTAP +libcompatos_a_SOURCES += ../unix/tuntap.c +endif + AM_CPPFLAGS += @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: trunk/fuse/compat/unix/Makefile.am =================================================================== --- trunk/fuse/compat/unix/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/unix/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2012 Philip Kendall -## $Id: Makefile.am 4779 2012-11-29 18:55:54Z sbaldovi $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z 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 @@ -31,12 +31,15 @@ file.c \ osname.c \ paths.c \ - timer.c \ - tuntap.c + timer.c if HAVE_SOCKETS libcompatos_a_SOURCES += socket.c endif +if HAVE_TUNTAP +libcompatos_a_SOURCES += tuntap.c +endif + AM_CPPFLAGS += @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ -DFUSEDATADIR="\"${pkgdatadir}\"" Modified: trunk/fuse/compat/unix/socket.c =================================================================== --- trunk/fuse/compat/unix/socket.c 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/unix/socket.c 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ /* socket.c: Socket-related compatibility routines - Copyright (c) 2011 Philip Kendall + Copyright (c) 2011-2012 Philip Kendall - $Id: socket.c 4775 2012-11-26 23:03:36Z sbaldovi $ + $Id: socket.c 4828 2012-12-30 19:43:37Z 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 @@ -116,5 +116,12 @@ char bitbucket; ssize_t bytes_read; - bytes_read = read( self->read_fd, &bitbucket, 1 ); + do { + bytes_read = read( self->read_fd, &bitbucket, 1 ); + if( bytes_read == -1 && errno != EINTR ) { + ui_error( UI_ERROR_ERROR, + "%s: %d: unexpected error %d (%s) reading from pipe", __FILE__, + __LINE__, errno, strerror(errno) ); + } + } while( bytes_read < 0 ); } Modified: trunk/fuse/compat/unix/tuntap.c =================================================================== --- trunk/fuse/compat/unix/tuntap.c 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/unix/tuntap.c 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ /* tuntap.c: TUN/TAP compatability layer Copyright (c) 2009-2010 Patrik Persson, Philip Kendall - $Id: tuntap.c 4432 2011-05-11 14:08:17Z pak21 $ + $Id: tuntap.c 4898 2013-02-25 22:20:54Z 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 @@ -30,11 +30,9 @@ #include <sys/types.h> #include <sys/stat.h> -#ifdef LINUX_TAP #include <linux/if_tun.h> #include <net/if.h> #include <sys/ioctl.h> -#endif /* #ifdef LINUX_TAP */ #include "ui/ui.h" @@ -43,8 +41,6 @@ { int fd = -1; -#ifdef LINUX_TAP - if ( (fd = open( "/dev/net/tun", O_RDWR | O_NONBLOCK )) < 0 ) ui_error( UI_ERROR_ERROR, "couldn't open TUN/TAP device '/dev/net/tun'" ); else { @@ -59,12 +55,5 @@ } } -#else - - ui_error( UI_ERROR_ERROR, - "TUN/TAP not yet supported for this operating system" ); - -#endif /* #ifdef LINUX_TAP */ - return fd; } Modified: trunk/fuse/compat/wii/Makefile.am =================================================================== --- trunk/fuse/compat/wii/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/wii/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 4743 2012-10-10 13:20:50Z fredm $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z 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 @@ -31,7 +31,10 @@ ../unix/file.c \ osname.c \ paths.c \ - timer.c \ - ../unix/tuntap.c + timer.c +if HAVE_TUNTAP +libcompatos_a_SOURCES += ../unix/tuntap.c +endif + AM_CPPFLAGS += @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: trunk/fuse/compat/win32/Makefile.am =================================================================== --- trunk/fuse/compat/win32/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/win32/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 4779 2012-11-29 18:55:54Z sbaldovi $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z 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 @@ -31,8 +31,7 @@ ../unix/file.c \ osname.c \ paths.c \ - timer.c \ - ../unix/tuntap.c + timer.c if HAVE_SOCKETS libcompatos_a_SOURCES += socket.c Modified: trunk/fuse/compat/win32/paths.c =================================================================== --- trunk/fuse/compat/win32/paths.c 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/win32/paths.c 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ /* paths.c: Path-related compatibility routines Copyright (c) 1999-2012 Philip Kendall - $Id: paths.c 4739 2012-10-10 12:14:56Z fredm $ + $Id: paths.c 4882 2013-02-15 23:47:37Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,7 +42,7 @@ const char *dir; /* Something close to this algorithm specified at - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/gettemppath.asp + http://msdn.microsoft.com/en-us/library/windows/desktop/aa364992%28v=vs.85%29.aspx */ dir = getenv( "TMP" ); if( dir ) return dir; dir = getenv( "TEMP" ); if( dir ) return dir; Modified: trunk/fuse/configure.ac =================================================================== --- trunk/fuse/configure.ac 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/configure.ac 2013-04-25 05:47:40 UTC (rev 742) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.ac 4779 2012-11-29 18:55:54Z sbaldovi $ +dnl $Id: configure.ac 4898 2013-02-25 22:20:54Z pak21 $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -20,20 +20,20 @@ dnl E-mail: phi...@sh... dnl Package version -m4_define([fuse_version], [1.0.0]) +m4_define([fuse_version], [1.1.0]) dnl Product full version m4_define([fuse_major_version], [1]) -m4_define([fuse_minor_version], [0]) +m4_define([fuse_minor_version], [1]) m4_define([fuse_micro_version], [0]) m4_define([fuse_nano_version], [0]) m4_define([fuse_full_version], [fuse_major_version.fuse_minor_version.fuse_micro_version.fuse_nano_version]) m4_define([fuse_rc_version], [fuse_major_version,fuse_minor_version,fuse_micro_version,fuse_nano_version]) dnl Package info -m4_define([fuse_copyright], ["(c) 1999-2012 Philip Kendall and others"]) -m4_define([fuse_url], [http://fuse-emulator.sourceforge.net]) -m4_define([fuse_bugreport], [http://sourceforge.net/tracker/?group_id=91293&atid=596648]) +m4_define([fuse_copyright], ["(c) 1999-2013 Philip Kendall and others"]) +m4_define([fuse_url], [http://fuse-emulator.sourceforge.net/]) +m4_define([fuse_bugreport], [http://sourceforge.net/p/fuse-emulator/bugs/]) AC_INIT([fuse],[fuse_version],[fuse_bugreport],[fuse],[fuse_url]) AC_CONFIG_SRCDIR(fuse.c) @@ -105,6 +105,7 @@ dnl Checks for library functions. AC_CHECK_FUNCS(dirname geteuid getopt_long mkstemp fsync) +AC_CHECK_LIB([m],[cos]) dnl Allow the user to say that various libraries are in one place AC_ARG_WITH(local-prefix, @@ -134,6 +135,7 @@ AC_DEFINE([UI_WIN32], 1, [Defined if Win32 UI in use]) AC_DEFINE([WINVER], 0x0400, [Minimal supported version of Windows is 95 or NT4]) AC_DEFINE([_WIN32_IE], 0x400, [Internet Explorer is 4.0 or higher is required]) + AC_DEFINE([WIN32_LEAN_AND_MEAN],, [Exclude rarely used stuff from Windows headers <windows.h>]) UI=win32; UI_LIBS="ui/win32/libuiwin32.a", AC_MSG_ERROR([Win32 UI not found])) fi @@ -531,7 +533,9 @@ dsound.h, [dxsound_available=yes], [AC_MSG_WARN(dsound.h not found - no DirectSound output)], - [#define DIRECTSOUND_VERSION 0x0700] + [#define DIRECTSOUND_VERSION 0x0700 + #include <windows.h> + #include <mmsystem.h>] ) dnl Check if MS Windows Multimedia API sound is available @@ -759,11 +763,14 @@ int test2 = TUNSETIFF; ]]) ], - [AC_DEFINE([LINUX_TAP], 1, [Define to 1 if Linux TAP devices are supported.]) + [AC_DEFINE([BUILD_SPECCYBOOT], 1, [Define to 1 if SpeccyBoot is supported.]) + linux_tap=yes AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)] ) CPPFLAGS="$ac_save_CPPFLAGS" +AM_CONDITIONAL(HAVE_TUNTAP, test x$linux_tap != x) +AM_CONDITIONAL(BUILD_SPECCYBOOT, test x$linux_tap != x) dnl Work out which standard routines we're missing AC_MSG_CHECKING(which standard routines we're missing) Modified: trunk/fuse/fuse.c =================================================================== --- trunk/fuse/fuse.c 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fuse.c 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ /* fuse.c: The Free Unix Spectrum Emulator Copyright (c) 1999-2012 Philip Kendall and others - $Id: fuse.c 4762 2012-11-12 11:32:09Z fredm $ + $Id: fuse.c 4846 2013-01-03 09:14:29Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -121,6 +121,7 @@ const char *disk_opus; const char *disk_plusd; const char *disk_beta; + const char *disk_disciple; const char *dock; const char *if2; const char *playback; @@ -380,7 +381,7 @@ "'AUTHORS' for more details.\n" "\n" "For help, please mail <fus...@li...> or use\n" - "the forums at <http://sourceforge.net/projects/fuse-emulator/forums>.\n" + "the forums at <http://sourceforge.net/p/fuse-emulator/discussion/>.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -470,6 +471,7 @@ start_files->disk_plus3 = settings_current.plus3disk_file; start_files->disk_opus = settings_current.opusdisk_file; start_files->disk_plusd = settings_current.plusddisk_file; + start_files->disk_disciple = settings_current.discipledisk_file; start_files->disk_beta = settings_current.betadisk_file; start_files->dock = settings_current.dck_file; start_files->if2 = settings_current.if2_file; @@ -569,7 +571,11 @@ start_files->disk_opus = filename; break; case LIBSPECTRUM_CLASS_DISK_PLUSD: - start_files->disk_plusd = filename; break; + if( periph_is_active( PERIPH_TYPE_DISCIPLE ) ) + start_files->disk_disciple = filename; + else + start_files->disk_plusd = filename; + break; case LIBSPECTRUM_CLASS_DISK_TRDOS: start_files->disk_beta = filename; break; @@ -588,6 +594,8 @@ start_files->disk_beta = filename; else if( periph_is_active( PERIPH_TYPE_PLUSD ) ) start_files->disk_plusd = filename; + else if( periph_is_active( PERIPH_TYPE_DISCIPLE ) ) + start_files->disk_disciple = filename; else if( periph_is_active( PERIPH_TYPE_OPUS ) ) start_files->disk_opus = filename; } @@ -668,12 +676,12 @@ start_files->dock = NULL; } - /* Can't use disks and the Interface II simultaneously */ + /* Can't use disks and the Interface 2 simultaneously */ if( ( start_files->disk_plus3 || start_files->disk_beta ) && start_files->if2 ) { ui_error( UI_ERROR_WARNING, - "can't use disks and the Interface II simultaneously; cartridge ignored" + "can't use disks and the Interface 2 simultaneously; cartridge ignored" ); start_files->if2 = NULL; } @@ -697,6 +705,11 @@ if( error ) return error; } + if( start_files->disk_disciple ) { + error = utils_open_file( start_files->disk_disciple, autoload, NULL ); + if( error ) return error; + } + if( start_files->disk_opus ) { error = utils_open_file( start_files->disk_opus, autoload, NULL ); if( error ) return error; Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2013-04-25 05:47:40 UTC (rev 742) @@ -189,6 +189,7 @@ B684A19E0E93A8CD00A5B097 /* event.c in Sources */ = {isa = PBXBuildFile; fileRef = B684A19D0E93A8CD00A5B097 /* event.c */; }; B684A1A00E93A8D700A5B097 /* variable.c in Sources */ = {isa = PBXBuildFile; fileRef = B684A19F0E93A8D700A5B097 /* variable.c */; }; B684A1A20E93A8FC00A5B097 /* file.c in Sources */ = {isa = PBXBuildFile; fileRef = B684A1A10E93A8FC00A5B097 /* file.c */; }; + B69A00421723B8F300FF201C /* disciple.rom in Resources */ = {isa = PBXBuildFile; fileRef = B69A00411723B8F300FF201C /* disciple.rom */; }; B69BE5331660DF5300C5D0CE /* socket.c in Sources */ = {isa = PBXBuildFile; fileRef = B69BE5321660DF5300C5D0CE /* socket.c */; }; B69BE5381660DF8B00C5D0CE /* movie.c in Sources */ = {isa = PBXBuildFile; fileRef = B69BE5361660DF8B00C5D0CE /* movie.c */; }; B69BE53C1660E01000C5D0CE /* am29f010.c in Sources */ = {isa = PBXBuildFile; fileRef = B69BE53A1660E01000C5D0CE /* am29f010.c */; }; @@ -269,7 +270,6 @@ B6E1F1AB14F653FB00600EB0 /* speccyboot.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F1A714F653FB00600EB0 /* speccyboot.c */; }; B6E1F1AD14F653FB00600EB0 /* specdrum.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F1A914F653FB00600EB0 /* specdrum.c */; }; B6E1F1B114F6555400600EB0 /* disciple.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F1AF14F6555400600EB0 /* disciple.c */; }; - B6E1F1B414F6560500600EB0 /* tuntap.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F1B314F6560500600EB0 /* tuntap.c */; }; B6E1F24414F7A14200600EB0 /* enc28j60.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F24214F7A14200600EB0 /* enc28j60.c */; }; B6E1F26E14F85BD500600EB0 /* speccyboot-1.4.rom in Resources */ = {isa = PBXBuildFile; fileRef = B6E1F26D14F85BD500600EB0 /* speccyboot-1.4.rom */; }; B6F047F60952A6D6006D8005 /* tape_se.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6F047F20952A6BA006D8005 /* tape_se.szx */; }; @@ -542,6 +542,7 @@ B68CB2C503DD920300A804BA /* debugger.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = debugger.h; path = ../debugger/debugger.h; sourceTree = "<group>"; }; B68CB2C603DD920300A804BA /* disassemble.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = disassemble.c; path = ../debugger/disassemble.c; sourceTree = "<group>"; }; B68CB2CC03DD923C00A804BA /* memory.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = memory.c; sourceTree = "<group>"; }; + B69A00411723B8F300FF201C /* disciple.rom */ = {isa = PBXFileReference; lastKnownFileType = file; name = disciple.rom; path = ../roms/disciple.rom; sourceTree = SOURCE_ROOT; }; B69BE5321660DF5300C5D0CE /* socket.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = socket.c; sourceTree = "<group>"; }; B69BE5351660DF8B00C5D0CE /* movie_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = movie_tables.h; sourceTree = "<group>"; }; B69BE5361660DF8B00C5D0CE /* movie.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = movie.c; sourceTree = "<group>"; }; @@ -681,7 +682,6 @@ B6E1F1AA14F653FB00600EB0 /* specdrum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = specdrum.h; sourceTree = "<group>"; }; B6E1F1AF14F6555400600EB0 /* disciple.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = disciple.c; sourceTree = "<group>"; }; B6E1F1B014F6555400600EB0 /* disciple.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disciple.h; sourceTree = "<group>"; }; - B6E1F1B314F6560500600EB0 /* tuntap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tuntap.c; sourceTree = "<group>"; }; B6E1F24214F7A14200600EB0 /* enc28j60.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = enc28j60.c; sourceTree = "<group>"; }; B6E1F24314F7A14200600EB0 /* enc28j60.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enc28j60.h; sourceTree = "<group>"; }; B6E1F26D14F85BD500600EB0 /* speccyboot-1.4.rom */ = {isa = PBXFileReference; lastKnownFileType = file; name = "speccyboot-1.4.rom"; path = "../roms/speccyboot-1.4.rom"; sourceTree = "<group>"; }; @@ -943,7 +943,6 @@ B63225EB0C66BA1300BB081B /* osname.c */, B69BE5321660DF5300C5D0CE /* socket.c */, B64BD10B0FF6EE4E000B82AE /* timer.c */, - B6E1F1B314F6560500600EB0 /* tuntap.c */, ); path = unix; sourceTree = "<group>"; @@ -1382,6 +1381,7 @@ F559854D0389212301A804BA /* 128-0.rom */, F559854E0389212301A804BA /* 128-1.rom */, F559854C0389212301A804BA /* 48.rom */, + B69A00411723B8F300FF201C /* disciple.rom */, F55985520389213E01A804BA /* plus2-0.rom */, F55985530389213E01A804BA /* plus2-1.rom */, F55985540389213E01A804BA /* plus3-0.rom */, @@ -1546,7 +1546,7 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0450; + LastUpgradeCheck = 0460; }; buildConfigurationList = B63319B3086803BA00732AA3 /* Build configuration list for PBXProject "Fuse" */; compatibilityVersion = "Xcode 3.2"; @@ -1577,6 +1577,7 @@ B61F460D09121DF100C8096C /* 128-0.rom in Resources */, B61F460E09121DF100C8096C /* 128-1.rom in Resources */, B61F460C09121DF100C8096C /* 48.rom in Resources */, + B69A00421723B8F300FF201C /* disciple.rom in Resources */, B61F461709121DF100C8096C /* plus2-0.rom in Resources */, B61F461809121DF100C8096C /* plus2-1.rom in Resources */, B61F461909121DF100C8096C /* plus3-0.rom in Resources */, @@ -1832,7 +1833,6 @@ B6E1F1AB14F653FB00600EB0 /* speccyboot.c in Sources */, B6E1F1AD14F653FB00600EB0 /* specdrum.c in Sources */, B6E1F1B114F6555400600EB0 /* disciple.c in Sources */, - B6E1F1B414F6560500600EB0 /* tuntap.c in Sources */, B6E1F24414F7A14200600EB0 /* enc28j60.c in Sources */, B61700F7163EAFC600142336 /* PokeMemoryController.m in Sources */, B69BE5331660DF5300C5D0CE /* socket.c in Sources */, Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/Info-Fuse.plist 2013-04-25 05:47:40 UTC (rev 742) @@ -548,11 +548,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>1.0.0</string> + <string>1.1.0</string> <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>4779</string> + <string>4918</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/fuse/fusepb/config.h =================================================================== --- trunk/fuse/fusepb/config.h 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/config.h 2013-04-25 05:47:40 UTC (rev 742) @@ -5,10 +5,10 @@ #define BUILD_SPECTRANET 1 /* Define copyright of Fuse */ -#define FUSE_COPYRIGHT "(c) 1999-2012 Philip Kendall and others" +#define FUSE_COPYRIGHT "(c) 1999-2013 Philip Kendall and others" /* Define version information for win32 executables */ -#define FUSE_RC_VERSION 1,0,0,0 +#define FUSE_RC_VERSION 1,1,0,0 /* Define to 1 if you have the `dirname' function. */ #define HAVE_DIRNAME 1 @@ -164,7 +164,7 @@ /* #undef USE_WIDGET */ /* Version number of package */ -#define VERSION "1.0.0" +#define VERSION "1.1.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Modified: trunk/fuse/fusepb/controllers/JoystickConfigurationController.h =================================================================== --- trunk/fuse/fusepb/controllers/JoystickConfigurationController.h 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/controllers/JoystickConfigurationController.h 2013-04-25 05:47:40 UTC (rev 742) @@ -38,6 +38,11 @@ IBOutlet NSPopUpButton *joyFire8; IBOutlet NSPopUpButton *joyFire9; IBOutlet NSPopUpButton *joyFire10; + IBOutlet NSPopUpButton *joyFire11; + IBOutlet NSPopUpButton *joyFire12; + IBOutlet NSPopUpButton *joyFire13; + IBOutlet NSPopUpButton *joyFire14; + IBOutlet NSPopUpButton *joyFire15; IBOutlet NSPopUpButton *joyXAxis; IBOutlet NSPopUpButton *joyYAxis; Modified: trunk/fuse/fusepb/controllers/JoystickConfigurationController.m =================================================================== --- trunk/fuse/fusepb/controllers/JoystickConfigurationController.m 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/controllers/JoystickConfigurationController.m 2013-04-25 05:47:40 UTC (rev 742) @@ -119,6 +119,11 @@ [currentValues setObject:@([[joyFire8 selectedItem] tag]) forKey:@"joystick1fire8"]; [currentValues setObject:@([[joyFire9 selectedItem] tag]) forKey:@"joystick1fire9"]; [currentValues setObject:@([[joyFire10 selectedItem] tag]) forKey:@"joystick1fire10"]; + [currentValues setObject:@([[joyFire11 selectedItem] tag]) forKey:@"joystick1fire11"]; + [currentValues setObject:@([[joyFire12 selectedItem] tag]) forKey:@"joystick1fire12"]; + [currentValues setObject:@([[joyFire13 selectedItem] tag]) forKey:@"joystick1fire13"]; + [currentValues setObject:@([[joyFire14 selectedItem] tag]) forKey:@"joystick1fire14"]; + [currentValues setObject:@([[joyFire15 selectedItem] tag]) forKey:@"joystick1fire15"]; [currentValues setObject:@([[joyXAxis selectedItem] tag]) forKey:@"joy1x"]; [currentValues setObject:@([[joyYAxis selectedItem] tag]) forKey:@"joy1y"]; break; @@ -133,6 +138,11 @@ [currentValues setObject:@([[joyFire8 selectedItem] tag]) forKey:@"joystick2fire8"]; [currentValues setObject:@([[joyFire9 selectedItem] tag]) forKey:@"joystick2fire9"]; [currentValues setObject:@([[joyFire10 selectedItem] tag]) forKey:@"joystick2fire10"]; + [currentValues setObject:@([[joyFire11 selectedItem] tag]) forKey:@"joystick2fire11"]; + [currentValues setObject:@([[joyFire12 selectedItem] tag]) forKey:@"joystick2fire12"]; + [currentValues setObject:@([[joyFire13 selectedItem] tag]) forKey:@"joystick2fire13"]; + [currentValues setObject:@([[joyFire14 selectedItem] tag]) forKey:@"joystick2fire14"]; + [currentValues setObject:@([[joyFire15 selectedItem] tag]) forKey:@"joystick2fire15"]; [currentValues setObject:@([[joyXAxis selectedItem] tag]) forKey:@"joy2x"]; [currentValues setObject:@([[joyYAxis selectedItem] tag]) forKey:@"joy2y"]; break; @@ -183,6 +193,16 @@ indexOfItemWithTag:settings_current.joystick_1_fire_9]]; [joyFire10 selectItemAtIndex:[joyXAxis indexOfItemWithTag:settings_current.joystick_1_fire_10]]; + [joyFire11 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_1_fire_11]]; + [joyFire12 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_1_fire_12]]; + [joyFire13 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_1_fire_13]]; + [joyFire14 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_1_fire_14]]; + [joyFire15 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_1_fire_15]]; x_axis = settings_current.joy1_xaxis; y_axis = settings_current.joy1_yaxis; break; @@ -207,6 +227,16 @@ indexOfItemWithTag:settings_current.joystick_2_fire_9]]; [joyFire10 selectItemAtIndex:[joyXAxis indexOfItemWithTag:settings_current.joystick_2_fire_10]]; + [joyFire11 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_2_fire_11]]; + [joyFire12 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_2_fire_12]]; + [joyFire13 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_2_fire_13]]; + [joyFire14 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_2_fire_14]]; + [joyFire15 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_2_fire_15]]; x_axis = settings_current.joy2_xaxis; y_axis = settings_current.joy2_yaxis; break; @@ -214,7 +244,7 @@ assert(0); } - for( i=0; i<10; i++ ) { + for( i=0; i<15; i++ ) { [joyXAxis addItemWithTitle:[NSString stringWithFormat:@"%ld", i]]; [[joyXAxis lastItem] setTag:i]; [joyYAxis addItemWithTitle:[NSString stringWithFormat:@"%ld", i]]; @@ -239,6 +269,11 @@ [joyFire8 removeAllItems]; [joyFire9 removeAllItems]; [joyFire10 removeAllItems]; + [joyFire11 removeAllItems]; + [joyFire12 removeAllItems]; + [joyFire13 removeAllItems]; + [joyFire14 removeAllItems]; + [joyFire15 removeAllItems]; for( i = 0; i < key_menu_count; i++ ) { [joyFire1 addItemWithTitle:@(key_menu[i].key)]; @@ -261,6 +296,16 @@ [[joyFire9 lastItem] setTag:key_menu[i].value]; [joyFire10 addItemWithTitle:@(key_menu[i].key)]; [[joyFire10 lastItem] setTag:key_menu[i].value]; + [joyFire11 addItemWithTitle:@(key_menu[i].key)]; + [[joyFire11 lastItem] setTag:key_menu[i].value]; + [joyFire12 addItemWithTitle:@(key_menu[i].key)]; + [[joyFire12 lastItem] setTag:key_menu[i].value]; + [joyFire13 addItemWithTitle:@(key_menu[i].key)]; + [[joyFire13 lastItem] setTag:key_menu[i].value]; + [joyFire14 addItemWithTitle:@(key_menu[i].key)]; + [[joyFire14 lastItem] setTag:key_menu[i].value]; + [joyFire15 addItemWithTitle:@(key_menu[i].key)]; + [[joyFire15 lastItem] setTag:key_menu[i].value]; } switch(joyNum) { @@ -285,6 +330,16 @@ indexOfItemWithTag:settings_current.joystick_1_fire_9]]; [joyFire10 selectItemAtIndex:[joyFire10 indexOfItemWithTag:settings_current.joystick_1_fire_10]]; + [joyFire11 selectItemAtIndex:[joyFire1 + indexOfItemWithTag:settings_current.joystick_1_fire_11]]; + [joyFire12 selectItemAtIndex:[joyFire2 + indexOfItemWithTag:settings_current.joystick_1_fire_12]]; + [joyFire13 selectItemAtIndex:[joyFire3 + indexOfItemWithTag:settings_current.joystick_1_fire_13]]; + [joyFire14 selectItemAtIndex:[joyFire4 + indexOfItemWithTag:settings_current.joystick_1_fire_14]]; + [joyFire15 selectItemAtIndex:[joyFire5 + indexOfItemWithTag:settings_current.joystick_1_fire_15]]; break; case 2: [joyFire1 selectItemAtIndex:[joyFire1 @@ -307,6 +362,16 @@ indexOfItemWithTag:settings_current.joystick_2_fire_9]]; [joyFire10 selectItemAtIndex:[joyFire10 indexOfItemWithTag:settings_current.joystick_2_fire_10]]; + [joyFire11 selectItemAtIndex:[joyFire1 + indexOfItemWithTag:settings_current.joystick_2_fire_11]]; + [joyFire12 selectItemAtIndex:[joyFire2 + indexOfItemWithTag:settings_current.joystick_2_fire_12]]; + [joyFire13 selectItemAtIndex:[joyFire3 + indexOfItemWithTag:settings_current.joystick_2_fire_13]]; + [joyFire14 selectItemAtIndex:[joyFire4 + indexOfItemWithTag:settings_current.joystick_2_fire_14]]; + [joyFire15 selectItemAtIndex:[joyFire5 + indexOfItemWithTag:settings_current.joystick_2_fire_15]]; break; default: assert(0); Modified: trunk/fuse/fusepb/controllers/PreferencesController.m =================================================================== --- trunk/fuse/fusepb/controllers/PreferencesController.m 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/controllers/PreferencesController.m 2013-04-25 05:47:40 UTC (rev 742) @@ -44,6 +44,7 @@ #include "fuse.h" #include "joystick.h" #include "options_cocoa.h" +#include "periph.h" #include "printer.h" #include "settings.h" #include "settings_cocoa.h" @@ -178,6 +179,8 @@ fuse_joystick_end(); fuse_joystick_init(); + periph_posthook(); + [[DisplayOpenGLView instance] unpause]; } Modified: trunk/fuse/fusepb/libspectrum.h =================================================================== --- trunk/fuse/fusepb/libspectrum.h 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/libspectrum.h 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ /* libspectrum.h: the library for dealing with ZX Spectrum emulator files Copyright (c) 2001-2007 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.h.in 4695 2012-05-07 02:03:10Z fredm $ + $Id: libspectrum.h.in 4836 2012-12-31 15:40:10Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,10 +40,19 @@ #ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN /* Exclude rarely used stuff from Windows - headers */ +/* Exclude rarely used stuff from Windows headers */ +#ifndef WIN32_LEAN_AND_MEAN + +#define WIN32_LEAN_AND_MEAN /**/ #include <windows.h> +#undef WIN32_LEAN_AND_MEAN +#else + +#include <windows.h> + +#endif /* #ifndef WIN32_LEAN_AND_MEAN */ + #ifdef LIBSPECTRUM_EXPORTS #define WIN32_DLL __declspec( dllexport ) #else /* #ifdef LIBSPECTRUM_EXPORTS */ @@ -365,7 +374,7 @@ /* Below here, present only in 0.2.2 and later */ LIBSPECTRUM_ID_HARDDISK_HDF, /* .hdf hard disk image */ - LIBSPECTRUM_ID_CARTRIDGE_IF2, /* .rom Interface II cartridge image */ + LIBSPECTRUM_ID_CARTRIDGE_IF2, /* .rom Interface 2 cartridge image */ /* Below here, present only in 0.3.0 and later */ @@ -422,7 +431,7 @@ /* Below here, present only in 0.2.2 and later */ LIBSPECTRUM_CLASS_HARDDISK, /* A hard disk image */ - LIBSPECTRUM_CLASS_CARTRIDGE_IF2, /* Interface II cartridges */ + LIBSPECTRUM_CLASS_CARTRIDGE_IF2, /* Interface 2 cartridges */ /* Below here, present only in 0.3.0 and later */ @@ -490,6 +499,8 @@ LIBSPECTRUM_MACHINE_48_NTSC, + LIBSPECTRUM_MACHINE_128E, + } libspectrum_machine; WIN32_DLL const char* libspectrum_machine_name( libspectrum_machine type ); @@ -697,6 +708,8 @@ WIN32_DLL void libspectrum_snap_set_sp( libspectrum_snap *snap, libspectrum_word sp ); WIN32_DLL libspectrum_word libspectrum_snap_pc( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_pc( libspectrum_snap *snap, libspectrum_word pc ); +WIN32_DLL libspectrum_word libspectrum_snap_memptr( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_memptr( libspectrum_snap *snap, libspectrum_word memptr ); WIN32_DLL libspectrum_byte libspectrum_snap_iff1( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_iff1( libspectrum_snap *snap, libspectrum_byte iff1 ); WIN32_DLL libspectrum_byte libspectrum_snap_iff2( libspectrum_snap *snap ); @@ -709,6 +722,8 @@ WIN32_DLL void libspectrum_snap_set_halted( libspectrum_snap *snap, int halted ); WIN32_DLL int libspectrum_snap_last_instruction_ei( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_last_instruction_ei( libspectrum_snap *snap, int last_instruction_ei ); +WIN32_DLL int libspectrum_snap_last_instruction_set_f( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_last_instruction_set_f( libspectrum_snap *snap, int last_instruction_set_f ); WIN32_DLL libspectrum_byte libspectrum_snap_out_ula( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_out_ula( libspectrum_snap *snap, libspectrum_byte out_ula ); WIN32_DLL libspectrum_byte libspectrum_snap_out_128_memoryport( libspectrum_snap *snap ); @@ -919,6 +934,8 @@ WIN32_DLL void libspectrum_snap_set_spectranet_paged( libspectrum_snap *snap, int spectranet_paged ); WIN32_DLL int libspectrum_snap_spectranet_paged_via_io( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_spectranet_paged_via_io( libspectrum_snap *snap, int spectranet_paged_via_io ); +WIN32_DLL int libspectrum_snap_spectranet_nmi_flipflop( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_spectranet_nmi_flipflop( libspectrum_snap *snap, int spectranet_nmi_flipflop ); WIN32_DLL int libspectrum_snap_spectranet_programmable_trap_active( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_spectranet_programmable_trap_active( libspectrum_snap *snap, int spectranet_programmable_trap_active ); WIN32_DLL int libspectrum_snap_spectranet_programmable_trap_msb( libspectrum_snap *snap ); @@ -941,6 +958,10 @@ WIN32_DLL void libspectrum_snap_set_spectranet_flash( libspectrum_snap *snap, int idx, libspectrum_byte* spectranet_flash ); WIN32_DLL libspectrum_byte * libspectrum_snap_spectranet_ram( libspectrum_snap *snap, int idx ); WIN32_DLL void libspectrum_snap_set_spectranet_ram( libspectrum_snap *snap, int idx, libspectrum_byte* spectranet_ram ); +WIN32_DLL int libspectrum_snap_late_timings( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_late_timings( libspectrum_snap *snap, int late_timings ); +WIN32_DLL int libspectrum_snap_zx_printer_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_zx_printer_active( libspectrum_snap *snap, int zx_printer_active ); /* * Tape handling routines Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2013-04-25 05:47:40 UTC (rev 742) @@ -41,7 +41,10 @@ <li><font face="Lucida Grande,Helvetica,Arial">Add SpecDrum sound interface emulation (Jon Mitchell).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add DISCiPLE - disk interface emulation (Stuart Brady).</font></li> + disk interface emulation (Stuart Brady), note that + Sinclair Network emulation is not provided, and the + interface is not available under 128K emulation in this + release.</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Support reading PZX files (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add support for @@ -71,6 +74,21 @@ <li><font face="Lucida Grande,Helvetica,Arial">Support the Beta interface setting to not auto-boot the interface on 48K machines (ketmar).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Support setting + late timings from snapshots (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add separate + switch to enable ZX Printer emulation (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Reset machine + when installed peripherals are changed (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix memory disk + image corrupted after save (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Allow up to 15 + joystick buttons to be defined to accommodate e.g. XBox + 360 ABXY button use (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix loading of + EDSK files with redundant sector images (Fredrick + Meunier).<br> + </font></li> </ul> <br> </li> @@ -87,6 +105,14 @@ <li><font face="Lucida Grande,Helvetica,Arial">Restore the paged state of the Beta ROM when loading Pentagon 128k/512k/1024k snapshots (ketmar and Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix SE writing + dock and exrom pages to snapshots (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Update SE ROMs + to v4.04 (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Update to v1.38 + of the +3e ROMs (fixes bug #290) (thanks, Guesser) + (Fredrick Meunier).<br> + </font></li> </ul> </li> <li style="list-style-type: none; list-style-image: none; @@ -111,6 +137,23 @@ TZX set signal level block (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Support setting late timings from snapshots (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix 16x9 + panoramic widescreen and non-panoramic non-4/3 widescreen + (thanks, Adam Meath)</font><font face="Lucida + Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial"> (Fredrick Meunier)</font>.</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Properly handle + opening and closing windows more than once</font><font + face="Lucida Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial"> (Fredrick Meunier)</font>.</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix display of + memory map in debugger</font><font face="Lucida + Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial"> (Fredrick Meunier)</font></font>.</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Updated retina + icon images from Paul van der Laan.<br> + </font></li> </ul> <li style="list-style: none outside none;"><br> </li> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/disciple.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/disciple.html 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/resources/Fuse Help/html/disciple.html 2013-04-25 05:47:40 UTC (rev 742) @@ -9,17 +9,14 @@ <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">DISCiPLE Emulation</font></h2> + <h2><font face="Lucida Grande,Helvetica,Arial">DISCIPLE Emulation</font></h2> </div> - <p> - <font face="Lucida Grande,Helvetica,Arial">Fuse supports emulating - the - DISCiPLE disk and printer interface, although it does not - currently - support emulation of the Sinclair Network, or support emulation - of a - DISCiPLE attached to a 128K machine. See the <font face="Lucida - Grande,Helvetica,Arial"><span class="emphasis"><em></em></span></font></font><font + <p> <font face="Lucida Grande,Helvetica,Arial">Fuse supports + emulating the DISCiPLE disk and printer interface, although it + does not currently support emulation of the Sinclair Network, or + support emulation of a DISCiPLE attached to a 128K machine. See + the <font face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em></em></span></font></font><font face="Lucida Grande,Helvetica,Arial"><font face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em><font face="Lucida Grande,Helvetica,Arial">... [truncated message content] |
From: <fr...@us...> - 2013-05-18 11:45:15
|
Revision: 747 http://sourceforge.net/p/fuse-for-macosx/code/747 Author: fredm Date: 2013-05-18 11:45:11 +0000 (Sat, 18 May 2013) Log Message: ----------- Merge up to vendor revision 4927. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/4927 Modified Paths: -------------- trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html trunk/fuse/hacking/ChangeLog trunk/fuse/machines/machines_periph.c trunk/fuse/machines/spec128.h trunk/fuse/machines/specplus2.c trunk/fuse/man/fuse.1 trunk/fuse/peripherals/ay.c trunk/fuse/peripherals/disk/beta.c trunk/fuse/peripherals/disk/opus.c trunk/fuse/peripherals/disk/opus.h trunk/fuse/peripherals/fuller.c trunk/fuse/peripherals/ide/divide.h trunk/fuse/peripherals/ide/simpleide.c trunk/fuse/peripherals/if1.c trunk/fuse/peripherals/if2.c trunk/fuse/peripherals/joystick.c trunk/fuse/peripherals/kempmouse.c trunk/fuse/peripherals/kempmouse.h trunk/fuse/peripherals/melodik.c trunk/fuse/peripherals/printer.c trunk/fuse/peripherals/scld.c trunk/fuse/peripherals/speccyboot.c trunk/fuse/peripherals/specdrum.c trunk/fuse/peripherals/specdrum.h trunk/fuse/peripherals/spectranet.c trunk/fuse/peripherals/ula.c trunk/fuse/settings-header.pl trunk/fuse/sound.c trunk/fuse/unittests/unittests.c Property Changed: ---------------- trunk/fuse/ Index: trunk/fuse =================================================================== --- trunk/fuse 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse 2013-05-18 11:45:11 UTC (rev 747) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-741 +/vendor/fuse-emulator/current/fuse:530-746 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html 2013-05-18 11:45:11 UTC (rev 747) @@ -23,6 +23,8 @@ + + preferences</em></span></font></a><font face="Lucida Grande,Helvetica,Arial"> dialog, and the state of its </font><font face="Lucida Grande,Helvetica,Arial">automatic page-in</font><font @@ -63,6 +65,8 @@ + + preferences</em></span></font></a><font face="Lucida Grande,Helvetica,Arial"> dialog</font><font face="Lucida Grande,Helvetica,Arial">. Once that's done, open the installer @@ -90,6 +94,8 @@ Grande,Helvetica,Arial"> </font><font face="Lucida Grande,Helvetica,Arial"><span style="font-style: italic;">Spectranet + + disable</span></font><font face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em></em></span></font> <font face="Lucida Grande,Helvetica,Arial">option</font><font @@ -105,9 +111,15 @@ Spectranet" and ending with the Spectranet's IP address (which will be 255.255.255.255 at this stage).<br> <br> - If you see all that, trigger an NMI (the Machine > NMI menu - option) and you should get a white on blue Spectranet NMI menu - with five options.<br> + If you see all that, type the following command:<br> + </font></p> + <font face="Lucida Grande,Helvetica,Arial"><big><span + style="font-family: monospace;">%cfgnew</span></big><br> + </font> + <p><font face="Lucida Grande,Helvetica,Arial">Which will show the + standard 0 OK, 0:1 at the bottom of the screen. Now, trigger an + NMI (the Machine > NMI menu option) and you should get a + white on blue Spectranet NMI menu with five options.<br> <br> Select [A] Configure network settings - this should lead you to another menu, which will scroll of the top of the screen; don't @@ -157,6 +169,8 @@ + + : 255.255.255.000</span><br style="font-family: monospace;"> <span style="font-family: monospace;">Default gateway : 192.168.000.001</span><br style="font-family: monospace;"> @@ -173,6 +187,8 @@ + + : fuse</span><br style="font-family: monospace;"> <br style="font-family: monospace;"> <span style="font-family: monospace;"><menu options></span></big><font Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/hacking/ChangeLog 2013-05-18 11:45:11 UTC (rev 747) @@ -4456,8 +4456,27 @@ 20130404 ui/win32/win32joystick.c: fix input events fired when various joystick buttons are pressed simultaneously (Sergio). 20130407 input.[ch],man/fuse.1,settings.dat,ui/{gtk/gtkjoystick.c, - sdl/sdljoystick.c,uijoystick.c,widget/menu.c}: allow up to 15 joytick - buttons to be defined to accomodate e.g. XBox 360 ABXY button use + sdl/sdljoystick.c,uijoystick.c,widget/menu.c}: allow up to 15 joystick + buttons to be defined to accommodate e.g. XBox 360 ABXY button use (patch #309) (Fred). 20130420 peripherals/disk/disk.c: fix loading of EDSK files with redundant sector images (bug #293) (Fred). +20130420 peripherals/spectranet.c: allow disabling Spectranet code (more from + bug #259) (Sergio). +20130501 sound.c: don't try to enable right channel for Specdrum unless stereo + mode is set (fixes bug #294) (thanks, mcleod_ideafix and Sergio) + (Fred). +20130501 man/fuse.1: add %cfgnew step in Spectranet initialisation steps + (thanks, smogit and Guesser) (Fred). +20130505 peripherals/{disk/opus.h,specdrum.h}: add missing subversion properties + (Sergio). +20130505 machines/{spec128.h,specplus2.c},peripherals/{disk/opus.h,ide/divide.h, + kempmouse.h,specdrum.h},settings-header.pl: remove and relocate some + header inclusions (Sergio). +20130505 unittests/unittests.c: add missing header (Sergio). +20130505 peripherals/{ay.c,fuller.c,if1.c,if2.c,joystick.c,kempmouse.c, + machines_periph.c,melodik.c,printer.c,scld.c,speccyboot.c,specdrum.c, + ula.c},peripherals/disk/{beta.c,opus.c}, peripherals/ide/simpleide.c: + complete some missing field initializers (Sergio). +20130505 peripherals/if1.c: put braces around empty body in ‘do’ statements + (Sergio). Modified: trunk/fuse/machines/machines_periph.c =================================================================== --- trunk/fuse/machines/machines_periph.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/machines/machines_periph.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* machines_periph.c: various machine-specific peripherals Copyright (c) 2011 Philip Kendall - $Id: machines_periph.c 4624 2012-01-09 20:59:35Z pak21 $ + $Id: machines_periph.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -49,7 +49,9 @@ static const periph_t spec128_memory = { NULL, - spec128_memory_ports + spec128_memory_ports, + 0, + NULL }; static const periph_port_t plus3_memory_ports[] = { @@ -60,7 +62,9 @@ static const periph_t plus3_memory = { NULL, - plus3_memory_ports + plus3_memory_ports, + 0, + NULL }; static const periph_port_t upd765_ports[] = { @@ -71,7 +75,9 @@ static const periph_t upd765 = { NULL, - upd765_ports + upd765_ports, + 0, + NULL }; static const periph_port_t se_memory_ports[] = { @@ -81,7 +87,9 @@ static const periph_t se_memory = { NULL, - se_memory_ports + se_memory_ports, + 0, + NULL }; static const periph_port_t tc2068_ay_ports[] = { @@ -92,7 +100,9 @@ static const periph_t tc2068_ay = { NULL, - tc2068_ay_ports + tc2068_ay_ports, + 0, + NULL }; static const periph_port_t beta128_pentagon_ports[] = { @@ -106,7 +116,9 @@ static const periph_t beta128_pentagon = { NULL, - beta128_pentagon_ports + beta128_pentagon_ports, + 0, + NULL }; static const periph_port_t beta128_pentagon_late_ports[] = { @@ -120,7 +132,9 @@ static const periph_t beta128_pentagon_late = { NULL, - beta128_pentagon_late_ports + beta128_pentagon_late_ports, + 0, + NULL }; static const periph_port_t pentagon1024_memory_ports[] = { @@ -131,7 +145,9 @@ static const periph_t pentagon1024_memory = { NULL, - pentagon1024_memory_ports + pentagon1024_memory_ports, + 0, + NULL }; void Modified: trunk/fuse/machines/spec128.h =================================================================== --- trunk/fuse/machines/spec128.h 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/machines/spec128.h 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* spec128.h: Spectrum 128K specific routines Copyright (c) 1999-2004 Philip Kendall - $Id: spec128.h 4277 2011-01-24 22:01:43Z pak21 $ + $Id: spec128.h 4924 2013-05-05 07:40:02Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,7 +29,6 @@ #include <libspectrum.h> #include "machine.h" -#include "periph.h" int spec128_init( fuse_machine_info *machine ); int spec128_common_reset( int contention ); Modified: trunk/fuse/machines/specplus2.c =================================================================== --- trunk/fuse/machines/specplus2.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/machines/specplus2.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* specplus2.c: Spectrum +2 specific routines Copyright (c) 1999-2011 Philip Kendall - $Id: specplus2.c 4638 2012-01-21 12:52:14Z fredm $ + $Id: specplus2.c 4924 2013-05-05 07:40:02Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,6 +32,7 @@ #include "machine.h" #include "machines_periph.h" #include "machines.h" +#include "periph.h" #include "peripherals/disk/beta.h" #include "settings.h" #include "spec128.h" Modified: trunk/fuse/man/fuse.1 =================================================================== --- trunk/fuse/man/fuse.1 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/man/fuse.1 2013-05-18 11:45:11 UTC (rev 747) @@ -3740,7 +3740,11 @@ starting with \(lqAlioth Spectranet\(rq and ending with the Spectranet's IP address (which will be 255.255.255.255 at this stage). .PP -If you see all that, trigger an NMI (the Machine / NMI menu option) +If you see all that, type the following command: +.PP +%cfgnew +.PP +Which will show the standard 0 OK, 0:1 at the bottom of the screen. Now trigger an NMI (the Machine / NMI menu option) and you should get a white on blue Spectranet NMI menu with five options. .PP Modified: trunk/fuse/peripherals/ay.c =================================================================== --- trunk/fuse/peripherals/ay.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/ay.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* ay.c: AY-8-3912 routines Copyright (c) 1999-2009 Philip Kendall - $Id: ay.c 4640 2012-01-21 13:26:35Z pak21 $ + $Id: ay.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -66,7 +66,9 @@ static periph_t ay_periph = { NULL, - ay_ports + ay_ports, + 0, + NULL }; static periph_port_t ay_ports_plus3[] = { @@ -77,7 +79,9 @@ static periph_t ay_periph_plus3 = { NULL, - ay_ports_plus3 + ay_ports_plus3, + 0, + NULL }; static periph_port_t ay_ports_full_decode[] = { @@ -88,7 +92,9 @@ static periph_t ay_periph_full_decode = { NULL, - ay_ports_full_decode + ay_ports_full_decode, + 0, + NULL }; static periph_port_t ay_ports_timex[] = { @@ -99,7 +105,9 @@ static periph_t ay_periph_timex = { NULL, - ay_ports_timex + ay_ports_timex, + 0, + NULL }; void Modified: trunk/fuse/peripherals/disk/beta.c =================================================================== --- trunk/fuse/peripherals/disk/beta.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/disk/beta.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* beta.c: Routines for handling the Beta disk interface Copyright (c) 2004-2011 Stuart Brady, Philip Kendall - $Id: beta.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: beta.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -92,7 +92,8 @@ static const periph_t beta_peripheral = { &settings_current.beta128, beta_ports, - 1 + 1, + NULL }; static void beta_reset( int hard_reset ); Modified: trunk/fuse/peripherals/disk/opus.c =================================================================== --- trunk/fuse/peripherals/disk/opus.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/disk/opus.c 2013-05-18 11:45:11 UTC (rev 747) @@ -2,7 +2,7 @@ Copyright (c) 1999-2011 Stuart Brady, Fredrick Meunier, Philip Kendall, Dmitry Sanarin, Darren Salt, Michael D Wynne, Gergely Szasz - $Id: opus.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: opus.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -102,7 +102,8 @@ static const periph_t opus_periph = { &settings_current.opus, NULL, - 1 + 1, + NULL }; void Modified: trunk/fuse/peripherals/disk/opus.h =================================================================== --- trunk/fuse/peripherals/disk/opus.h 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/disk/opus.h 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* opus.h: Routines for handling the Opus Discovery interface Copyright (c) 2005-2009 Stuart Brady, Fredrick Meunier - $Id$ + $Id: opus.h 4924 2013-05-05 07:40:02Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,16 +30,15 @@ #include <config.h> +#include <libspectrum.h> + +#include "fdd.h" + typedef enum opus_drive_number { OPUS_DRIVE_1 = 0, OPUS_DRIVE_2, } opus_drive_number; -#include <libspectrum.h> - -#include "periph.h" -#include "fdd.h" - extern int opus_available; /* Is the Opus available for use? */ extern int opus_active; /* Opus enabled? */ Modified: trunk/fuse/peripherals/fuller.c =================================================================== --- trunk/fuse/peripherals/fuller.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/fuller.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* fuller.c: Routines for handling the Fuller Box Copyright (c) 2007-2011 Stuart Brady, Fredrick Meunier, Philip Kendall - $Id: fuller.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: fuller.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -59,7 +59,8 @@ static const periph_t fuller_periph = { &settings_current.fuller, fuller_ports, - 1 + 1, + NULL }; static void Modified: trunk/fuse/peripherals/ide/divide.h =================================================================== --- trunk/fuse/peripherals/ide/divide.h 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/ide/divide.h 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* divide.h: DivIDE interface routines Copyright (c) 2005 Matthew Westcott - $Id: divide.h 4664 2012-02-12 11:51:01Z fredm $ + $Id: divide.h 4924 2013-05-05 07:40:02Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,7 +27,6 @@ #define FUSE_DIVIDE_H #include <libspectrum.h> -#include "periph.h" /* Whether DivIDE is currently paged in */ extern int divide_active; Modified: trunk/fuse/peripherals/ide/simpleide.c =================================================================== --- trunk/fuse/peripherals/ide/simpleide.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/ide/simpleide.c 2013-05-18 11:45:11 UTC (rev 747) @@ -3,7 +3,7 @@ 2004 Philip Kendall, 2008 Fredrick Meunier - $Id: simpleide.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: simpleide.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -51,7 +51,8 @@ static const periph_t simpleide_periph = { &settings_current.simpleide_active, simpleide_ports, - 1 + 1, + NULL }; static libspectrum_ide_channel *simpleide_idechn; Modified: trunk/fuse/peripherals/if1.c =================================================================== --- trunk/fuse/peripherals/if1.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/if1.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* if1.c: Interface 1 handling routines Copyright (c) 2004-2011 Gergely Szasz, Philip Kendall - $Id: if1.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: if1.c 4927 2013-05-05 08:05:11Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -221,7 +221,8 @@ static const periph_t if1_periph = { &settings_current.interface1, if1_ports, - 1 + 1, + NULL }; /* Memory source */ @@ -897,8 +898,8 @@ if( settings_current.rs232_handshake && if1_ula.fd_t != -1 && if1_ula.cts != val ) { char data = val ? 0x03 : 0x02; - do ; while( write( if1_ula.fd_t, "", 1 ) != 1 ); - do ; while( write( if1_ula.fd_t, &data, 1 ) != 1 ); + do {} while( write( if1_ula.fd_t, "", 1 ) != 1 ); + do {} while( write( if1_ula.fd_t, &data, 1 ) != 1 ); } if1_ula.cts = val; @@ -947,15 +948,15 @@ if( if1_ula.count_out == -1 ) { if1_ula.count_out = 13; if1_ula.data_out = '?'; - do ; while( write( if1_ula.fd_t, "", 1 ) != 1 ); + do {} while( write( if1_ula.fd_t, "", 1 ) != 1 ); } if( if1_ula.count_out == 13 ) { /* Here is the output routine */ if( if1_ula.data_out == 0x00 ) { if1_ula.data_out = '*'; - do ; while( write( if1_ula.fd_t, "", 1 ) != 1 ); + do {} while( write( if1_ula.fd_t, "", 1 ) != 1 ); } - do ; while( write( if1_ula.fd_t, &if1_ula.data_out, 1 ) != 1 ); + do {} while( write( if1_ula.fd_t, &if1_ula.data_out, 1 ) != 1 ); if1_ula.count_out = 0; } if1_ula.rx = val & 0x01; /* set rx */ @@ -970,7 +971,7 @@ */ if1_ula.net = ( val & 0x01 ) ? 0 : 1; /* set rx */ lseek( if1_ula.fd_net, 0, SEEK_SET ); /* we save only the state of the wire*/ - do ; while( write( if1_ula.fd_net, &if1_ula.net, 1 ) == -1 ); + do {} while( write( if1_ula.fd_net, &if1_ula.net, 1 ) == -1 ); #ifdef HAVE_FSYNC fsync( if1_ula.fd_net ); #endif /* #ifdef HAVE_FSYNC */ @@ -988,7 +989,7 @@ /* lseek( if1_ula.fd_net, 0, SEEK_SET ); start a packet */ /* first we send the station number */ - do ; while( write( if1_ula.fd_net, &if1_ula.net_data, 1 ) == -1 ); + do {} while( write( if1_ula.fd_net, &if1_ula.net_data, 1 ) == -1 ); #ifdef HAVE_FSYNC fsync( if1_ula.fd_net ); #endif /* #ifdef HAVE_FSYNC */ Modified: trunk/fuse/peripherals/if2.c =================================================================== --- trunk/fuse/peripherals/if2.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/if2.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* if2.c: Interface 2 cartridge handling routines Copyright (c) 2003-2011 Darren Salt, Fredrick Meunier, Philip Kendall - $Id: if2.c 4872 2013-02-02 20:54:33Z fredm $ + $Id: if2.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -65,6 +65,8 @@ static const periph_t if2_periph = { &settings_current.interface2, + NULL, + 0, NULL }; Modified: trunk/fuse/peripherals/joystick.c =================================================================== --- trunk/fuse/peripherals/joystick.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/joystick.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* joystick.c: Joystick emulation support Copyright (c) 2001-2011 Russell Marks, Darren Salt, Philip Kendall - $Id: joystick.c 4299 2011-02-08 22:24:30Z pak21 $ + $Id: joystick.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -104,7 +104,9 @@ static const periph_t kempston_strict_periph = { &settings_current.joy_kempston, - kempston_strict_decoding + kempston_strict_decoding, + 0, + NULL }; static const periph_port_t kempston_loose_decoding[] = { @@ -114,7 +116,9 @@ static const periph_t kempston_loose_periph = { &settings_current.joy_kempston, - kempston_loose_decoding + kempston_loose_decoding, + 0, + NULL }; /* Init/shutdown functions. Errors aren't important here */ Modified: trunk/fuse/peripherals/kempmouse.c =================================================================== --- trunk/fuse/peripherals/kempmouse.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/kempmouse.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* kempmouse.c: Kempston mouse emulation Copyright (c) 2004-2008 Darren Salt, Fredrick Meunier - $Id: kempmouse.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: kempmouse.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -73,7 +73,8 @@ static const periph_t kempmouse_periph = { &settings_current.kempston_mouse, kempmouse_ports, - 1 + 1, + NULL }; void Modified: trunk/fuse/peripherals/kempmouse.h =================================================================== --- trunk/fuse/peripherals/kempmouse.h 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/kempmouse.h 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* kempmouse.h: Kempston mouse emulation Copyright (c) 2004-2008 Darren Salt, Fredrick Meunier - $Id: kempmouse.h 4640 2012-01-21 13:26:35Z pak21 $ + $Id: kempmouse.h 4924 2013-05-05 07:40:02Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,9 +26,6 @@ #ifndef FUSE_KEMPMOUSE_H #define FUSE_KEMPMOUSE_H -#include <libspectrum.h> -#include "periph.h" - void kempmouse_init( void ); void kempmouse_update( int dx, int dy, int button, int down ); Modified: trunk/fuse/peripherals/melodik.c =================================================================== --- trunk/fuse/peripherals/melodik.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/melodik.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* melodik.c: Routines for handling the Melodik interface Copyright (c) 2009-2011 Fredrick Meunier, Philip Kendall - $Id: melodik.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: melodik.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -57,7 +57,8 @@ static const periph_t melodik_periph = { &settings_current.melodik, melodik_ports, - 1 + 1, + NULL }; static void Modified: trunk/fuse/peripherals/printer.c =================================================================== --- trunk/fuse/peripherals/printer.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/printer.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* printer.c: Printer support Copyright (c) 2001-2004 Ian Collier, Russell Marks, Philip Kendall - $Id: printer.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: printer.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -91,7 +91,8 @@ static const periph_t printer_zxp_periph = { &settings_current.zxprinter, printer_zxp_ports, - 1 + 1, + NULL }; static const periph_port_t printer_zxp_ports_full_decode[] = { @@ -101,7 +102,9 @@ static const periph_t printer_zxp_periph_full_decode = { &settings_current.zxprinter, - printer_zxp_ports_full_decode + printer_zxp_ports_full_decode, + 0, + NULL }; static const periph_port_t printer_parallel_ports[] = { @@ -111,7 +114,9 @@ static const periph_t printer_parallel_periph = { &settings_current.printer, - printer_parallel_ports + printer_parallel_ports, + 0, + NULL }; static void printer_zxp_init(void) Modified: trunk/fuse/peripherals/scld.c =================================================================== --- trunk/fuse/peripherals/scld.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/scld.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* scld.c: Routines for handling the Timex SCLD Copyright (c) 2002-2011 Fredrick Meunier, Philip Kendall, Witold Filipczyk - $Id: scld.c 4872 2013-02-02 20:54:33Z fredm $ + $Id: scld.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -76,7 +76,9 @@ static const periph_t scld_periph = { NULL, - scld_ports + scld_ports, + 0, + NULL }; void Modified: trunk/fuse/peripherals/speccyboot.c =================================================================== --- trunk/fuse/peripherals/speccyboot.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/speccyboot.c 2013-05-18 11:45:11 UTC (rev 747) @@ -3,7 +3,7 @@ Copyright (c) 2009-2011 Patrik Persson, Philip Kendall - $Id: speccyboot.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: speccyboot.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -75,7 +75,8 @@ static const periph_t speccyboot_periph = { &settings_current.speccyboot, speccyboot_ports, - 1 + 1, + NULL }; /* --------------------------------------------------------------------------- Modified: trunk/fuse/peripherals/specdrum.c =================================================================== --- trunk/fuse/peripherals/specdrum.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/specdrum.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* specdrum.c: Routines for handling the Specdrum Drum Kit Copyright (c) 2011 Jon Mitchell - $Id: specdrum.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: specdrum.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -59,7 +59,8 @@ static const periph_t specdrum_periph = { &settings_current.specdrum, specdrum_ports, - 1 + 1, + NULL }; void Modified: trunk/fuse/peripherals/specdrum.h =================================================================== --- trunk/fuse/peripherals/specdrum.h 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/specdrum.h 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* specdrum.h: Routines for handling the Specdrum Drum Kit Copyright (c) 2011 Jon Mitchell - $Id$ + $Id: specdrum.h 4924 2013-05-05 07:40:02Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,8 +30,6 @@ #include <libspectrum.h> -#include "periph.h" - typedef struct specdrum_info { int specdrum_present; /* SpecDrum present */ libspectrum_signed_byte specdrum_dac; /* Current byte in the SpecDrum 8bit DAC */ Modified: trunk/fuse/peripherals/spectranet.c =================================================================== --- trunk/fuse/peripherals/spectranet.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/spectranet.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* spectranet.c: Spectranet emulation Copyright (c) 2011-2013 Philip Kendall - $Id: spectranet.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: spectranet.c 4919 2013-04-20 07:47:56Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -521,10 +521,26 @@ } void +spectranet_nmi( void ) +{ +} + +void spectranet_unpage( void ) { } +void +spectranet_retn( void ) +{ +} + +int +spectranet_nmi_flipflop( void ) +{ + return 0; +} + libspectrum_byte spectranet_w5100_read( memory_page *page GCC_UNUSED, libspectrum_word address GCC_UNUSED ) Modified: trunk/fuse/peripherals/ula.c =================================================================== --- trunk/fuse/peripherals/ula.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/peripherals/ula.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* ula.c: ULA routines Copyright (c) 1999-2011 Philip Kendall, Darren Salt - $Id: ula.c 4640 2012-01-21 13:26:35Z pak21 $ + $Id: ula.c 4926 2013-05-05 07:58:18Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -71,7 +71,9 @@ static const periph_t ula_periph = { NULL, - ula_ports + ula_ports, + 0, + NULL }; static const periph_port_t ula_ports_full_decode[] = { @@ -81,7 +83,9 @@ static const periph_t ula_periph_full_decode = { NULL, - ula_ports_full_decode + ula_ports_full_decode, + 0, + NULL }; void Modified: trunk/fuse/settings-header.pl =================================================================== --- trunk/fuse/settings-header.pl 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/settings-header.pl 2013-05-18 11:45:11 UTC (rev 747) @@ -3,7 +3,7 @@ # settings-header.pl: generate settings.h from settings.dat # Copyright (c) 2002-2003 Philip Kendall -# $Id: settings-header.pl 4633 2012-01-19 23:26:10Z pak21 $ +# $Id: settings-header.pl 4924 2013-05-05 07:40:02Z sbaldovi $ # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -64,13 +64,13 @@ /* This file is autogenerated from settings.dat by settings-header.pl. Do not edit unless you know what will happen! */ +#ifndef FUSE_SETTINGS_H +#define FUSE_SETTINGS_H + #include <config.h> #include <sys/types.h> -#ifndef FUSE_SETTINGS_H -#define FUSE_SETTINGS_H - typedef struct settings_info { CODE Modified: trunk/fuse/sound.c =================================================================== --- trunk/fuse/sound.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/sound.c 2013-05-18 11:45:11 UTC (rev 747) @@ -2,7 +2,7 @@ Copyright (c) 2000-2012 Russell Marks, Matan Ziv-Av, Philip Kendall, Fredrick Meunier, Patrik Rak - $Id: sound.c 4785 2012-12-07 23:56:40Z sbaldovi $ + $Id: sound.c 4921 2013-05-01 12:37:07Z 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 @@ -275,12 +275,6 @@ blip_synth_set_output( ay_c_synth, left_buf ); } - right_specdrum_synth = new_Blip_Synth(); - blip_synth_set_volume( right_specdrum_synth, - sound_get_volume( settings_current.volume_specdrum ) ); - blip_synth_set_output( right_specdrum_synth, right_buf ); - blip_synth_set_treble_eq( right_specdrum_synth, treble ); - sound_enabled = sound_enabled_ever = 1; sound_channels = ( sound_stereo_ay != SOUND_STEREO_AY_NONE ? 2 : 1 ); Modified: trunk/fuse/unittests/unittests.c =================================================================== --- trunk/fuse/unittests/unittests.c 2013-05-18 11:04:37 UTC (rev 746) +++ trunk/fuse/unittests/unittests.c 2013-05-18 11:45:11 UTC (rev 747) @@ -1,7 +1,7 @@ /* unittests.c: unit testing framework for Fuse Copyright (c) 2008-2011 Philip Kendall - $Id: unittests.c 4822 2012-12-29 18:57:33Z pak21 $ + $Id: unittests.c 4925 2013-05-05 07:54:35Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +30,7 @@ #include "fuse.h" #include "machine.h" #include "mempool.h" +#include "periph.h" #include "peripherals/disk/beta.h" #include "peripherals/disk/disciple.h" #include "peripherals/disk/opus.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-05-25 05:10:00
|
Revision: 757 http://sourceforge.net/p/fuse-for-macosx/code/757 Author: fredm Date: 2013-05-25 05:09:56 +0000 (Sat, 25 May 2013) Log Message: ----------- Merge up to vendor 1.1.0 release branches r4995. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/4995 Modified Paths: -------------- trunk/fuse/AUTHORS trunk/fuse/ChangeLog trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/configure.ac trunk/fuse/fusepb/Credits.html trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/hacking/ChangeLog trunk/fuse/hacking/Makefile.am trunk/fuse/lib/Makefile.am trunk/fuse/man/fuse.1 trunk/fuse/peripherals/ide/divide.c trunk/fuse/peripherals/ide/divide.h trunk/fuse/peripherals/ide/ide.c trunk/fuse/peripherals/ide/ide.h trunk/fuse/peripherals/ide/simpleide.c trunk/fuse/peripherals/ide/simpleide.h trunk/fuse/peripherals/ide/zxatasp.c trunk/fuse/peripherals/ide/zxatasp.h trunk/fuse/peripherals/ide/zxcf.c trunk/fuse/peripherals/ide/zxcf.h trunk/fuse/sound/Makefile.am trunk/fuse/ui/gtk/gtkui.c trunk/fuse/ui/widget/menu.c trunk/fuse/ui/widget/options.pl trunk/fuse/ui/widget/query.c trunk/fuse/ui/widget/widget.c trunk/fuse/ui/widget/widget_internals.h trunk/fuse/ui/wii/Makefile.am trunk/fuse/ui/win32/win32ui.c Property Changed: ---------------- trunk/fuse/ Index: trunk/fuse =================================================================== --- trunk/fuse 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse 2013-05-25 05:09:56 UTC (rev 757) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-752 +/vendor/fuse-emulator/current/fuse:530-756 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/AUTHORS =================================================================== --- trunk/fuse/AUTHORS 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/AUTHORS 2013-05-25 05:09:56 UTC (rev 757) @@ -34,6 +34,8 @@ * Marek Januszewski: Some patches making Fuse much closer to compiling under Win32, and fixing up the GTK+ 2.0 interface. +* Sergio Baldoví: improvements to the Win32 UI. + * Stuart Brady: for the Scorpion, +D interface emulation and HP-UX sound support. @@ -52,4 +54,4 @@ * Philip Kendall: everything else. -$Id: AUTHORS 4835 2012-12-31 15:35:45Z zubzero $ +$Id: AUTHORS 4972 2013-05-19 16:46:43Z zubzero $ Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/ChangeLog 2013-05-25 05:09:56 UTC (rev 757) @@ -1,5 +1,14 @@ -2013-05-18 Philip Kendall <phi...@sh...> +2013-05-24 Philip Kendall <phi...@sh...> + * Fuse 1.1.1 released. + + * Distribute PORTING,hacking/valgrind.supp,sound/wiisound.c, + tests/success.{mgt.bz2,opd} and ui/wii/wiimouse.h (Stuart Brady). + * Add ChangeLog entries for 1.0.0.1 and 1.0.0.1a (Fredrick Meunier). + * Release correct version of source files. + +2013-05-19 Philip Kendall <phi...@sh...> + * Fuse 1.1.0 released. * Remove ROMs that there is no formal permission to distribute. @@ -57,6 +66,22 @@ * Various other minor bugfixes. +2011-04-01 Philip Kendall <phi...@sh...> + + * Fuse 1.0.0.1a released. + + * Remove all ROMs for which there isn't explicit permission to + distribute (Philip Kendall). + +2011-01-12 Philip Kendall <phi...@sh...> + + * Fuse 1.0.0.1 released. + + * Fix temporary breakpoints on platforms using replacement Glib + (Fredrick Meunier, Sergio Baldovi; thanks, Chris Cowley) + * Ensure Amiga port can load files (Chris Young) + * Fix SVGAlib compilation (rkd77) + 2010-12-16 Philip Kendall <phi...@sh...> * Fuse 1.0.0 released. @@ -1094,4 +1119,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 4944 2013-05-16 20:55:22Z pak21 $ +$Id: ChangeLog 4995 2013-05-24 19:54:19Z zubzero $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/Makefile.am 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2009 Philip Kendall -## $Id: Makefile.am 4782 2012-12-02 22:49:57Z sbaldovi $ +## $Id: Makefile.am 4980 2013-05-21 12:37: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 @@ -203,6 +203,7 @@ EXTRA_DIST = AUTHORS \ INSTALL \ + PORTING \ README \ THANKS \ keysyms.dat \ Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/README 2013-05-25 05:09:56 UTC (rev 757) @@ -1,4 +1,4 @@ -The Free Unix Spectrum Emulator (Fuse) 1.1.0 +The Free Unix Spectrum Emulator (Fuse) 1.1.1 ============================================ Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat @@ -105,6 +105,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -18th May, 2013 +24th May, 2013 -$Id: README 4958 2013-05-18 13:07:46Z zubzero $ +$Id: README 4995 2013-05-24 19:54:19Z zubzero $ Modified: trunk/fuse/configure.ac =================================================================== --- trunk/fuse/configure.ac 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/configure.ac 2013-05-25 05:09:56 UTC (rev 757) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.ac 4898 2013-02-25 22:20:54Z pak21 $ +dnl $Id: configure.ac 4995 2013-05-24 19:54:19Z zubzero $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -20,12 +20,12 @@ dnl E-mail: phi...@sh... dnl Package version -m4_define([fuse_version], [1.1.0]) +m4_define([fuse_version], [1.1.1]) dnl Product full version m4_define([fuse_major_version], [1]) m4_define([fuse_minor_version], [1]) -m4_define([fuse_micro_version], [0]) +m4_define([fuse_micro_version], [1]) m4_define([fuse_nano_version], [0]) m4_define([fuse_full_version], [fuse_major_version.fuse_minor_version.fuse_micro_version.fuse_nano_version]) m4_define([fuse_rc_version], [fuse_major_version,fuse_minor_version,fuse_micro_version,fuse_nano_version]) Modified: trunk/fuse/fusepb/Credits.html =================================================================== --- trunk/fuse/fusepb/Credits.html 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/fusepb/Credits.html 2013-05-25 05:09:56 UTC (rev 757) @@ -1,143 +1,194 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>Fuse credits</title> -</head> -<body> -<p class="MsoNormal"><span style="font-family: Helvetica;" lang="EN-US">Fuse -for -Mac OS X has a home page at:</span></p> -<p class="MsoNormal"><span style="font-family: Helvetica;" lang="EN-US"><a - href="http://fuse-for-macosx.sourceforge.net/">http://fuse-for-macosx.sourceforge.net/</a><br> -</span><br> -<span style="font-family: Helvetica;" lang="EN-US">If you've got any -bug reports, suggestions or the like for Fuse, or -just want to get involved in the development, this is coordinated via -the Fuse for Mac OS X project page on SourceForge,<br> -<a href="http://sourceforge.net/projects/fuse-for-macosx/">http://sourceforge.net/projects/fuse-for-macosx/</a><br> -<br> -If you're interested in more general Speccy related discussions, visit -the <a href="http://www.worldofspectrum.org/forums/">World of Spectrum -Forums</a> or the Usenet group '<a href="news:comp.sys.sinclair">comp.sys.sinclair</a>', -but -do read the <a href="http://www.worldofspectrum.org/faq/index.html">FAQ</a> -first!<br> -</span></p> -<p class="MsoNormal"><span style="font-family: Helvetica;" lang="EN-US">Fuse -has -been brought to you by:</span></p> -<ul> - <li><span style="font-family: Helvetica;" lang="EN-US">Matan Ziv-Av: -SVGAlib and framebuffer user interfaces, the glib replacement code, -some -work on the sound code and the original `widget' code.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Russell Marks: -the generic and OSS-specific sound code, the man page, the Kempston -joystick emulation and lots of bug reports and fixes.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Ian Collier: -the original ZX Printer emulation (for xz80).</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">John Elliott: -for lib765, which once provided Fuse's emulation of the +3's FDC, and -libdsk -which provides support for more disk image formats see <a - href="http://www.seasip.demon.co.uk/Unix/LibDsk/">here</a>.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Darren Salt: -the original versions of the code for +3 emulation, SLT support, MITSHM -support (for the Xlib UI), TZX raw data blocks, Spectrum SE support, -RZX embedded snapshots and compression, the Kempston mouse emulation -and made many improvements to the widget code.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Alexander -Yurchenko: the OpenBSD/Solaris-specific sound code.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Fredrick -Meunier: for TC2048 support, the SDL user interface, the graphics -filters, Pentagon support, Spectrum SE support, Interface -II support and more.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Andrew Owen: -for the keyboard help screens and the file icons.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Paul van der -Laan: for the Fuse program icon.<br> - </span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Ludvig -Strigeus -and The <a href="http://www.scummvm.org/">ScummVM</a> project: for the -original graphics filter code and inspiration in improving the windowed -performance of Fuse.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Dmitry -Sanarin: -the original TR-DOS emulation (for the <a - href="http://glukalka.sourceforge.net">Glukalka</a> emulator).</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Witold -Filipczyk: -TC2068 support and more.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Matthew -Westcott: the AY logging code and the DivIDE emulation.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Marek -Januszewski: -Some patches making Fuse much closer to compiling under Win32, and -fixing -up the GTK+ 2.0 interface.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Stuart -Brady: for the DISCiPLE emulation, +D emulation, Scorpion emulation and HP-UX sound support.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Garry -Lancaster: the 8-bit IDE, ZXATASP and ZXCF interface -emulations.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Gergely Szasz: -+3, +D, Opus and Interface I/microdrive emulation, the PAL TV scalers, -the TV 3x -scaler, the movie logging code, the libao sound code, and made many -improvements to the widget code.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Shay Green: -the Blip_Buffer band pass filter for beeper and AY output.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Boris Donko: -for various Z80 core fixes: missing memory contention on LD (nnnn),A -instruction, flags on SCF and FLAG_V on DEC, and timing of INC SP.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Ivan Ruiz -Etxabe: for helping test RZX competition mode recording.</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">David Muriel: -for helping test RZX competition mode recording.<br> - </span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Ian Greenway: -for information about reading from unattached ports. If you've got an -Amiga, you may well like to check out Ian's Spectrum Emulator, <a - href="http://www.greew.freeserve.co.uk/ASp.html">ASp</a></span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Mark Woodmass: -for putting me on the track of (and finding the solution to) bugs with -regard to Fuse's R register emulation during HALTs and interrupts and -Fuse's mask for the memory control port on the 128K/+2 machines. Mark's -another one who's written an emulator: see '<a - href="http://www.worldofspectrum.org/emulators.html#pcwin">SPIN</a>'</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Michael D -Wynne: the Opus Discovery emulation (for the <a - href="http://www.chuntey.com/">EightyOne</a> Sinclair machines -emulator)<br> - </span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Joystick -support frm the </span><span style="font-family: Helvetica;" - lang="EN-US"><a href="http://www.libsdl.org">Simple DirectMedia Layer</a> -library</span></li> - <li><span style="font-family: Helvetica;" lang="EN-US">Philip -Kendall: everything else.</span></li> -</ul> -<p class="MsoNormal"><span style="font-family: Helvetica;" lang="EN-US">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 WARRENTY; 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 with this -program; if not, write to the </span></p> -<span style="font-family: Helvetica;" lang="EN-US">Free Software -Foundation, Inc.,<br> -59 Temple Place - Suite 330,<br> -Boston, MA 02111-1307, USA<br> -</span> -<br> -</body> + <head> + <meta content="text/html; charset=ISO-8859-1" + http-equiv="content-type"> + <title>Fuse credits</title> + </head> + <body> + <p class="MsoNormal"><span style="font-family: Helvetica;" + lang="EN-US">Fuse + for + Mac OS X has a home page at:</span></p> + <p class="MsoNormal"><span style="font-family: Helvetica;" + lang="EN-US"><a href="http://fuse-for-macosx.sourceforge.net/">http://fuse-for-macosx.sourceforge.net/</a><br> + </span><br> + <span style="font-family: Helvetica;" lang="EN-US">If you've got + any + bug reports, suggestions or the like for Fuse, or + just want to get involved in the development, this is + coordinated via + the Fuse for Mac OS X project page on SourceForge,<br> + <a href="http://sourceforge.net/projects/fuse-for-macosx/">http://sourceforge.net/projects/fuse-for-macosx/</a><br> + <br> + If you're interested in more general Speccy related discussions, + visit + the <a href="http://www.worldofspectrum.org/forums/">World of + Spectrum + Forums</a> or the Usenet group '<a + href="news:comp.sys.sinclair">comp.sys.sinclair</a>', + but + do read the <a + href="http://www.worldofspectrum.org/faq/index.html">FAQ</a> + first!<br> + </span></p> + <p class="MsoNormal"><span style="font-family: Helvetica;" + lang="EN-US">Fuse + has + been brought to you by:</span></p> + <ul> + <li><span style="font-family: Helvetica;" lang="EN-US">Matan + Ziv-Av: + SVGAlib and framebuffer user interfaces, the glib replacement + code, + some + work on the sound code and the original `widget' code.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Russell + Marks: + the generic and OSS-specific sound code, the man page, the + Kempston + joystick emulation and lots of bug reports and fixes.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Ian + Collier: + the original ZX Printer emulation (for xz80).</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">John + Elliott: + for lib765, which once provided Fuse's emulation of the +3's + FDC, and + libdsk + which provides support for more disk image formats see <a + href="http://www.seasip.demon.co.uk/Unix/LibDsk/">here</a>.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Darren + Salt: + the original versions of the code for +3 emulation, SLT + support, MITSHM + support (for the Xlib UI), TZX raw data blocks, Spectrum SE + support, + RZX embedded snapshots and compression, the Kempston mouse + emulation + and made many improvements to the widget code.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Alexander + Yurchenko: the OpenBSD/Solaris-specific sound code.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Fredrick + Meunier: for TC2048 support, the SDL user interface, the + graphics + filters, Pentagon support, Spectrum SE support, Interface + II support and more.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Andrew + Owen: + for the keyboard help screens and the file icons.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Paul van + der + Laan: for the Fuse program icon.<br> + </span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Ludvig + Strigeus + and The <a href="http://www.scummvm.org/">ScummVM</a> + project: for the + original graphics filter code and inspiration in improving the + windowed + performance of Fuse.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Dmitry + Sanarin: + the original TR-DOS emulation (for the <a + href="http://glukalka.sourceforge.net">Glukalka</a> + emulator).</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Witold + Filipczyk: + TC2068 support and more.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Matthew + Westcott: the AY logging code and the DivIDE emulation.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Marek + Januszewski: + Some patches making Fuse much closer to compiling under Win32, + and + fixing + up the GTK+ 2.0 interface.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Sergio + Baldoví: improvements to the Win32 UI.<br> + </span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Stuart + Brady: for the DISCiPLE emulation, +D emulation, Scorpion + emulation and HP-UX sound support.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Garry + Lancaster: the 8-bit IDE, ZXATASP and ZXCF interface + emulations.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Gergely + Szasz: + +3, +D, Opus and Interface I/microdrive emulation, the PAL TV + scalers, + the TV 3x + scaler, the movie logging code, the libao sound code, and made + many + improvements to the widget code.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Shay Green: + the Blip_Buffer band pass filter for beeper and AY output.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Boris + Donko: + for various Z80 core fixes: missing memory contention on LD + (nnnn),A + instruction, flags on SCF and FLAG_V on DEC, and timing of INC + SP.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Ivan Ruiz + Etxabe: for helping test RZX competition mode recording.</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">David + Muriel: + for helping test RZX competition mode recording.<br> + </span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Ian + Greenway: + for information about reading from unattached ports. If you've + got an + Amiga, you may well like to check out Ian's Spectrum Emulator, + <a href="http://www.greew.freeserve.co.uk/ASp.html">ASp</a></span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Mark + Woodmass: + for putting me on the track of (and finding the solution to) + bugs with + regard to Fuse's R register emulation during HALTs and + interrupts and + Fuse's mask for the memory control port on the 128K/+2 + machines. Mark's + another one who's written an emulator: see '<a + href="http://www.worldofspectrum.org/emulators.html#pcwin">SPIN</a>'</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Michael D + Wynne: the Opus Discovery emulation (for the <a + href="http://www.chuntey.com/">EightyOne</a> Sinclair + machines + emulator)<br> + </span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Joystick + support frm the </span><span style="font-family: Helvetica;" + lang="EN-US"><a href="http://www.libsdl.org">Simple + DirectMedia Layer</a> + library</span></li> + <li><span style="font-family: Helvetica;" lang="EN-US">Philip + Kendall: everything else.</span></li> + </ul> + <p class="MsoNormal"><span style="font-family: Helvetica;" + lang="EN-US">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 WARRENTY; 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 with this + program; if not, write to the </span></p> + <span style="font-family: Helvetica;" lang="EN-US">Free Software + Foundation, Inc.,<br> + 59 Temple Place - Suite 330,<br> + Boston, MA 02111-1307, USA<br> + </span> + <br> + </body> </html> 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 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2013-05-25 05:09:56 UTC (rev 757) @@ -1879,7 +1879,7 @@ GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_MODEL_CPU = ""; GCC_OPTIMIZATION_LEVEL = 0; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)/audiofile.framework/Headers", .., @@ -1921,7 +1921,7 @@ GCC_ENABLE_CPP_RTTI = NO; GCC_ENABLE_OBJC_EXCEPTIONS = NO; GCC_OPTIMIZATION_LEVEL = 2; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)/audiofile.framework/Headers", .., @@ -1962,7 +1962,7 @@ GCC_ENABLE_CPP_RTTI = NO; GCC_ENABLE_OBJC_EXCEPTIONS = NO; GCC_OPTIMIZATION_LEVEL = 2; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)/audiofile.framework/Headers", .., Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/fusepb/Info-Fuse.plist 2013-05-25 05:09:56 UTC (rev 757) @@ -548,11 +548,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>1.1.0</string> + <string>1.1.1</string> <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>1.1.0</string> + <string>1.1.1</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2013-05-25 05:09:56 UTC (rev 757) @@ -12,7 +12,7 @@ <!-- AppleSegStart="What's New In Fuse?" --><a name="What's New In Fuse?" id="What's New In Fuse?"></a><!-- AppleSegDescription="This section describes the changes for version 1.1.0 of the Fuse emulator." --></font><br> <h2><font><font face="Lucida Grande,Helvetica,Arial">What's new in - Fuse For Mac OS X 1.1.0</font></font></h2> + Fuse For Mac OS X 1.1.1</font></font></h2> <ul> <li><font face="Lucida Grande,Helvetica,Arial">New policy:</font></li> <li style="list-style-type: none; list-style-image: none; Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/hacking/ChangeLog 2013-05-25 05:09:56 UTC (rev 757) @@ -3401,6 +3401,7 @@ everything else (fixes bug #3084862) (thanks, Phil) (Fred). 20110104 nic: add .deps and Makefile to the ignore property (Fred). 20110109 ui/widget/filesel.c: make Amiga work again (Chris Young). +20110112 ChangeLog,README,configure.in,man/fuse.1: updates for 1.0.0.1 release. 20110113 ui/win32/installer/fuse.nsi: windows installer improvements; optionally delete configuration file (fuse.cfg) on uninstall, silently uninstall previous version if reinstalling to the same folder, include AUTHORS @@ -3552,8 +3553,11 @@ Makefile.am}: remove ROMs that there is no formal permission to distribute. 20110327 roms/Makefile.am: distribute README.copyright. +20110327 ChangeLog,README,configure.in,fuse.c,man/fuse.1: updates for 1.0.0.1a + release. 20110328 configure.in: allow the user to say they do not want to use windres (works around bug #3248008; thanks, Cygnus). +20110401 ChangeLog,man/fuse.1: didn't manage to release this earlier. 20110401 peripherals/disk/{opus,plusd}.c: remove incorrect use of GCC_UNUSED (Stuart). 20110401 fuse.c,ui/{gtk/gtkui.c,widget/menu.c},windres.rc: update copyright @@ -4494,3 +4498,23 @@ confirmation dialogue for reset due to peripheral changes (Sergio). 20130517 README: update date for 1.1 release. 20130518 README: mention DISCiPLE support (Stuart). +20130518 ui/widget/options.pl: display confirmation dialogue for reset due to + peripheral changes (Stuart). +20130518 ui/widget/options.pl: update peripherals list when a machine reset is + not needed (Sergio). +20130519 ui/widget/{query.c,widget.c,widget_internals.h}: display confirmation + messages (Stuart). +20130519 ui/widget/{options.pl,query.c}: choose no/cancel upon pressing escape + for all all confirmation dialogues, and remove workaround for this + from peripheral reset confirmation dialogue (Stuart). +20130519 ui/{gtk/gtkui.c,widget/menu.c,win32/win32ui.c}: use different + confirmation messages for hard and soft resets (Stuart). +20130519 ChangeLog,README,man/fuse.1: update date for 1.1 release (Stuart). +20130519 AUTHOR,man/fuse.1: Add Sergio Baldoví (Stuart). +20130519 lib/Makefile.am: distribute tests/success.{mgt.bz2,opd} (Stuart). +20130519 Makefile.am,hacking/Makefile.am,sound/Makefile.am,ui/wii/Makefile.am: + distribute PORTING,hacking/valgrind.supp,sound/wiisound.c, + ui/wii/wiimouse.h (Stuart). +20130524 ChangeLog,README: updates for a "1.1.1" release (Fred). +20130524 ChangeLog,README,configure.ac,man/fuse.1: fill in date and bump + version number (Stuart). Modified: trunk/fuse/hacking/Makefile.am =================================================================== --- trunk/fuse/hacking/Makefile.am 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/hacking/Makefile.am 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2002-2011 Philip Kendall -## $Id: Makefile.am 4663 2012-02-11 12:48:36Z fredm $ +## $Id: Makefile.am 4980 2013-05-21 12:37: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 @@ -33,4 +33,5 @@ spectranet.txt \ tc2048_tech_notes.txt \ timer.txt \ - ui.txt + ui.txt \ + valgrind.supp Modified: trunk/fuse/lib/Makefile.am =================================================================== --- trunk/fuse/lib/Makefile.am 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/lib/Makefile.am 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2004 Philip Kendall -## $Id: Makefile.am 4624 2012-01-09 20:59:35Z pak21 $ +## $Id: Makefile.am 4980 2013-05-21 12:37: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 @@ -64,6 +64,8 @@ tests/fatware-success.hdf.bz2 \ tests/idedos-success.hdf.bz2 \ tests/success.mdr \ + tests/success.mgt.bz2 \ + tests/success.opd \ tests/success.udi \ uncompressed/disk_plus3.szx \ uncompressed/tape_128.szx \ Modified: trunk/fuse/man/fuse.1 =================================================================== --- trunk/fuse/man/fuse.1 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/man/fuse.1 2013-05-25 05:09:56 UTC (rev 757) @@ -23,7 +23,7 @@ .\" E-mail: phi...@sh... .\" .\" -.TH fuse 1 "18th May, 2013" "Version 1.1.0" "Emulators" +.TH fuse 1 "24th May, 2013" "Version 1.1.1" "Emulators" .\" .\"------------------------------------------------------------------ .\" @@ -4779,6 +4779,8 @@ Marek Januszewski wrote various bits of code to make Fuse work under Win32, including the DirectDraw user interface. .PP +Sergio Baldov\('i made many improvements to the Win32 UI. +.PP Stuart Brady wrote the DISCiPLE and +D emulation, Scorpion emulation and the HP-UX sound code. .PP Modified: trunk/fuse/peripherals/ide/divide.c =================================================================== --- trunk/fuse/peripherals/ide/divide.c 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/peripherals/ide/divide.c 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* divide.c: DivIDE interface routines Copyright (c) 2005-2008 Matthew Westcott, Philip Kendall - $Id: divide.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: divide.c 4972 2013-05-19 16:46:43Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/peripherals/ide/divide.h =================================================================== --- trunk/fuse/peripherals/ide/divide.h 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/peripherals/ide/divide.h 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* divide.h: DivIDE interface routines Copyright (c) 2005 Matthew Westcott - $Id: divide.h 4924 2013-05-05 07:40:02Z sbaldovi $ + $Id: divide.h 4972 2013-05-19 16:46:43Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/peripherals/ide/ide.c =================================================================== --- trunk/fuse/peripherals/ide/ide.c 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/peripherals/ide/ide.c 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* ide.c: Generic routines shared between the various IDE devices Copyright (c) 2005 Philip Kendall - $Id: ide.c 4664 2012-02-12 11:51:01Z fredm $ + $Id: ide.c 4972 2013-05-19 16:46:43Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/peripherals/ide/ide.h =================================================================== --- trunk/fuse/peripherals/ide/ide.h 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/peripherals/ide/ide.h 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* ide.h: Generic routines shared between the various IDE devices Copyright (c) 2005 Philip Kendall - $Id: ide.h 4664 2012-02-12 11:51:01Z fredm $ + $Id: ide.h 4972 2013-05-19 16:46:43Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/peripherals/ide/simpleide.c =================================================================== --- trunk/fuse/peripherals/ide/simpleide.c 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/peripherals/ide/simpleide.c 2013-05-25 05:09:56 UTC (rev 757) @@ -3,7 +3,7 @@ 2004 Philip Kendall, 2008 Fredrick Meunier - $Id: simpleide.c 4926 2013-05-05 07:58:18Z sbaldovi $ + $Id: simpleide.c 4972 2013-05-19 16:46:43Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/peripherals/ide/simpleide.h =================================================================== --- trunk/fuse/peripherals/ide/simpleide.h 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/peripherals/ide/simpleide.h 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* simpleide.h: Simple 8-bit IDE interface routines Copyright (c) 2003-2004 Garry Lancaster - $Id: simpleide.h 4664 2012-02-12 11:51:01Z fredm $ + $Id: simpleide.h 4972 2013-05-19 16:46:43Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/peripherals/ide/zxatasp.c =================================================================== --- trunk/fuse/peripherals/ide/zxatasp.c 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/peripherals/ide/zxatasp.c 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* zxatasp.c: ZXATASP interface routines Copyright (c) 2003-2008 Garry Lancaster and Philip Kendall - $Id: zxatasp.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: zxatasp.c 4972 2013-05-19 16:46:43Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/peripherals/ide/zxatasp.h =================================================================== --- trunk/fuse/peripherals/ide/zxatasp.h 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/peripherals/ide/zxatasp.h 2013-05-25 05:09:56 UTC (rev 757) @@ -2,7 +2,7 @@ Copyright (c) 2003-2004 Garry Lancaster, 2004 Philip Kendall - $Id: zxatasp.h 4664 2012-02-12 11:51:01Z fredm $ + $Id: zxatasp.h 4972 2013-05-19 16:46:43Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/peripherals/ide/zxcf.c =================================================================== --- trunk/fuse/peripherals/ide/zxcf.c 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/peripherals/ide/zxcf.c 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* zxcf.c: ZXCF interface routines Copyright (c) 2003-2008 Garry Lancaster and Philip Kendall - $Id: zxcf.c 4906 2013-03-10 11:21:37Z fredm $ + $Id: zxcf.c 4972 2013-05-19 16:46:43Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/peripherals/ide/zxcf.h =================================================================== --- trunk/fuse/peripherals/ide/zxcf.h 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/peripherals/ide/zxcf.h 2013-05-25 05:09:56 UTC (rev 757) @@ -2,7 +2,7 @@ Copyright (c) 2003-2004 Garry Lancaster, 2004 Philip Kendall - $Id: zxcf.h 4664 2012-02-12 11:51:01Z fredm $ + $Id: zxcf.h 4972 2013-05-19 16:46:43Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/fuse/sound/Makefile.am =================================================================== --- trunk/fuse/sound/Makefile.am 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/sound/Makefile.am 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2004 Philip Kendall -## $Id: Makefile.am 4743 2012-10-10 13:20:50Z fredm $ +## $Id: Makefile.am 4980 2013-05-21 12:37: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 @@ -41,6 +41,7 @@ sdlsound.c \ sfifo.c \ sunsound.c \ + wiisound.c \ win32sound.c libsound_a_LIBADD = $(SOUND_LIBADD) Modified: trunk/fuse/ui/gtk/gtkui.c =================================================================== --- trunk/fuse/ui/gtk/gtkui.c 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/ui/gtk/gtkui.c 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* gtkui.c: GTK+ routines for dealing with the user interface Copyright (c) 2000-2005 Philip Kendall, Russell Marks - $Id: gtkui.c 4962 2013-05-19 05:25:15Z sbaldovi $ + $Id: gtkui.c 4968 2013-05-19 16:11:17Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -536,8 +536,12 @@ menu_machine_reset( GtkAction *gtk_action GCC_UNUSED, guint action ) { int hard_reset = action; + const char *message = "Reset?"; - if( gtkui_confirm( "Reset?" ) && machine_reset( hard_reset ) ) { + if( hard_reset ) + message = "Hard reset?"; + + if( gtkui_confirm( message ) && machine_reset( hard_reset ) ) { ui_error( UI_ERROR_ERROR, "couldn't reset machine: giving up!" ); /* FIXME: abort() seems a bit extreme here, but it'll do for now */ Modified: trunk/fuse/ui/widget/menu.c =================================================================== --- trunk/fuse/ui/widget/menu.c 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/ui/widget/menu.c 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* menu.c: general menu widget Copyright (c) 2001-2006 Philip Kendall - $Id: menu.c 4915 2013-04-07 05:32:09Z fredm $ + $Id: menu.c 4968 2013-05-19 16:11:17Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -584,12 +584,18 @@ void menu_machine_reset( int action ) { - if( widget_do( WIDGET_TYPE_QUERY, "Reset machine?" ) || + int hard_reset = action; + const char *message = "Reset?"; + + if( hard_reset ) + message = "Hard reset?"; + + if( widget_do( WIDGET_TYPE_QUERY, message ) || !widget_query.confirm ) return; widget_end_all( WIDGET_FINISHED_OK ); - machine_reset( action ); + machine_reset( hard_reset ); } void Modified: trunk/fuse/ui/widget/options.pl =================================================================== --- trunk/fuse/ui/widget/options.pl 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/ui/widget/options.pl 2013-05-25 05:09:56 UTC (rev 757) @@ -1,9 +1,9 @@ #!/usr/bin/perl -w # options.pl: generate options dialog boxes -# Copyright (c) 2001-2008 Philip Kendall, Fredrick Meunier +# Copyright (c) 2001-2013 Philip Kendall, Fredrick Meunier -# $Id: options.pl 4961 2013-05-19 05:17:30Z sbaldovi $ +# $Id: options.pl 4969 2013-05-19 16:21:14Z zubzero $ # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -37,7 +37,7 @@ my @dialogs = Fuse::Dialog::read( shift @ARGV ); print Fuse::GPL( 'options.c: options dialog boxes', - '2001-2004 Philip Kendall' ) . << "CODE"; + '2001-2013 Philip Kendall' ) . << "CODE"; /* This file is autogenerated from options.dat by options.pl. Do not edit unless you know what you\'re doing! */ @@ -363,11 +363,35 @@ int widget_options_finish( widget_finish_state finished ) { + int error; + /* If we exited normally, actually set the options */ if( finished == WIDGET_FINISHED_OK ) { + /* Get a copy of current settings */ + settings_info original_settings; + memset( &original_settings, 0, sizeof( settings_info ) ); + settings_copy( &original_settings, &settings_current ); + + /* Apply new options */ settings_copy( &settings_current, &widget_options_settings ); - /* Bring the peripherals list into sync with the new options */ - periph_posthook(); + + int needs_hard_reset = periph_postcheck(); + + if( needs_hard_reset ) { + error = widget_do( WIDGET_TYPE_QUERY, + "Some options need to reset the machine. Reset?" ); + if( !error && !widget_query.confirm ) + settings_copy( &settings_current, &original_settings ); + else + periph_posthook(); + } + else { + /* Bring the peripherals list into sync with the new options */ + periph_posthook(); + } + + settings_free( &original_settings ); + /* make the needed UI changes */ uidisplay_hotswap_gfx_mode(); } Modified: trunk/fuse/ui/widget/query.c =================================================================== --- trunk/fuse/ui/widget/query.c 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/ui/widget/query.c 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* query.c: The query widgets Copyright (c) 2004-2008 Darren Salt, Fredrick Meunier - $Id: query.c 4179 2010-10-08 10:05:55Z fredm $ + $Id: query.c 4968 2013-05-19 16:11:17Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +30,7 @@ #include <string.h> #include "fuse.h" +#include "utils.h" #include "widget_internals.h" widget_query_t widget_query; @@ -104,12 +105,15 @@ static size_t highlight_line = 0; +static char **message_lines; +static size_t num_message_lines; + static void widget_query_line_draw( int left_edge, int width, struct widget_query_entry *menu, const char *label ) { int colour = WIDGET_COLOUR_BACKGROUND; - int y = menu->index * 8 + 24; + int y = (menu->index + num_message_lines) * 8 + 24; if( menu->index == highlight_line ) colour = WIDGET_COLOUR_HIGHLIGHT; widget_rectangle( left_edge*8+1, y, width*8-2, 1*8, colour ); @@ -121,10 +125,12 @@ const int query_vert_external_margin = 8; static int -widget_calculate_query_width( const char *title, widget_query_entry *menu ) +widget_calculate_query_width( const char *title, widget_query_entry *menu, + char **lines, int num_lines ) { widget_query_entry *ptr; int max_width=0; + int i; if (!menu) { return 64; @@ -139,17 +145,34 @@ max_width = total_width; } + for( i=0; i<num_lines; i++) { + int total_width = widget_stringwidth( lines[i] )+2*8; + + if( total_width > max_width ) + max_width = total_width; + } + return ( max_width + query_vert_external_margin * 2 ) / 8; } static int -internal_query_draw( widget_query_entry *query, int save, const char *data ) +internal_query_draw( widget_query_entry *query, int save, const char *message ) { widget_query_entry *ptr; size_t height = 0; - int menu_width = widget_calculate_query_width( title, query ); + int menu_width; int menu_left_edge_x; + int i; + if( split_message( message, &message_lines, &num_message_lines, 28 ) ) { + return 1; + } + + menu_width = widget_calculate_query_width( title, query, message_lines, + num_message_lines ); + + height = num_message_lines; + /* How many options do we have? */ for( ptr = query; ptr->text; ptr++ ) height ++; @@ -161,6 +184,11 @@ widget_printstring( menu_left_edge_x*8+2, 16, WIDGET_COLOUR_TITLE, title ); + for( i=0; i<num_message_lines; i++ ) { + widget_printstring( menu_left_edge_x*8+8, i*8+24, + WIDGET_COLOUR_FOREGROUND, message_lines[i] ); + } + for( ptr = query; ptr->text; ptr++ ) { widget_query_line_draw( menu_left_edge_x, menu_width, ptr, ptr->text ); } @@ -174,6 +202,7 @@ widget_query_draw( void *data ) { highlight_line = 0; + widget_query.confirm = 0; return internal_query_draw( query_confirm, 0, (const char *) data ); } @@ -181,6 +210,7 @@ widget_query_save_draw( void *data ) { highlight_line = 0; + widget_query.save = UI_CONFIRM_SAVE_CANCEL; return internal_query_draw( query_save, 1, (const char *) data ); } @@ -191,7 +221,8 @@ int new_highlight_line = 0; int cursor_pressed = 0; widget_query_entry *ptr; - int menu_width = widget_calculate_query_width( title, query ); + int menu_width = widget_calculate_query_width( title, query, message_lines, + num_message_lines ); int menu_left_edge_x = DISPLAY_WIDTH_COLS/2-menu_width/2; switch( key ) { @@ -282,3 +313,15 @@ sizeof(query_save)/sizeof(widget_query_entry), key ); } + +int +widget_query_finish( widget_finish_state finished ) +{ + int i; + for( i=0; i<num_message_lines; i++ ) { + free( message_lines[i] ); + } + free( message_lines ); + + return 0; +} Modified: trunk/fuse/ui/widget/widget.c =================================================================== --- trunk/fuse/ui/widget/widget.c 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/ui/widget/widget.c 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* widget.c: Simple dialog boxes for all user interfaces. Copyright (c) 2001-2005 Matan Ziv-Av, Philip Kendall, Russell Marks - $Id: widget.c 4697 2012-05-07 02:28:52Z fredm $ + $Id: widget.c 4968 2013-05-19 16:11:17Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -692,8 +692,8 @@ { widget_roms_draw, widget_roms_finish, widget_roms_keyhandler }, { widget_peripherals_general_draw, widget_options_finish, widget_peripherals_general_keyhandler }, { widget_peripherals_disk_draw, widget_options_finish, widget_peripherals_disk_keyhandler }, - { widget_query_draw, NULL, widget_query_keyhandler }, - { widget_query_save_draw,NULL, widget_query_save_keyhandler }, + { widget_query_draw, widget_query_finish, widget_query_keyhandler }, + { widget_query_save_draw,widget_query_finish, widget_query_save_keyhandler }, { widget_diskoptions_draw, widget_options_finish, widget_diskoptions_keyhandler }, }; Modified: trunk/fuse/ui/widget/widget_internals.h =================================================================== --- trunk/fuse/ui/widget/widget_internals.h 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/ui/widget/widget_internals.h 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* widget_internals.h: Functions internal to the widget code Copyright (c) 2001-2005 Matan Ziv-Av, Philip Kendall - $Id: widget_internals.h 4543 2011-09-19 01:46:48Z fredm $ + $Id: widget_internals.h 4968 2013-05-19 16:11:17Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -259,6 +259,7 @@ void widget_query_keyhandler( input_key key ); int widget_query_save_draw( void *data ); void widget_query_save_keyhandler( input_key key ); +int widget_query_finish( widget_finish_state finished ); /* The widgets actually available */ Modified: trunk/fuse/ui/wii/Makefile.am =================================================================== --- trunk/fuse/ui/wii/Makefile.am 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/ui/wii/Makefile.am 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2001-2009 Philip Kendall, Bjoern Giesler -## $Id: Makefile.am 4743 2012-10-10 13:20:50Z fredm $ +## $Id: Makefile.am 4980 2013-05-21 12:37: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 @@ -43,6 +43,7 @@ noinst_HEADERS = wiidisplay.h \ wiikeyboard.h \ - wiikeysyms.h + wiikeysyms.h \ + wiimouse.h CLEANFILES = keysyms.c Modified: trunk/fuse/ui/win32/win32ui.c =================================================================== --- trunk/fuse/ui/win32/win32ui.c 2013-05-25 04:16:54 UTC (rev 756) +++ trunk/fuse/ui/win32/win32ui.c 2013-05-25 05:09:56 UTC (rev 757) @@ -1,7 +1,7 @@ /* win32ui.c: Win32 routines for dealing with the user interface Copyright (c) 2003-2007 Marek Januszewski, Philip Kendall, Stuart Brady - $Id: win32ui.c 4849 2013-01-03 23:27:39Z sbaldovi $ + $Id: win32ui.c 4968 2013-05-19 16:11:17Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -564,8 +564,12 @@ menu_machine_reset( int action ) { int hard_reset = action; + const char *message = "Reset?"; + + if( hard_reset ) + message = "Hard reset?"; - if( win32ui_confirm( "Reset?" ) && machine_reset( hard_reset ) ) { + if( win32ui_confirm( message ) && machine_reset( hard_reset ) ) { ui_error( UI_ERROR_ERROR, "couldn't reset machine: giving up!" ); /* FIXME: abort() seems a bit extreme here, but it'll do for now */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-06-01 07:10:31
|
Revision: 762 http://sourceforge.net/p/fuse-for-macosx/code/762 Author: fredm Date: 2013-06-01 07:10:26 +0000 (Sat, 01 Jun 2013) Log Message: ----------- Merge up to vendor 1.1.0 release branches r5011. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/5011 Modified Paths: -------------- trunk/fuse/Makefile.am trunk/fuse/fusepb/resources/Fuse Help/html/general.html trunk/fuse/fusepb/resources/Fuse Help/html/joysticks.html trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html trunk/fuse/hacking/ChangeLog trunk/fuse/man/fuse.1 trunk/fuse/pokefinder/pokemem.c trunk/fuse/ui/win32/installer/fuse.nsi.in Property Changed: ---------------- trunk/fuse/ Index: trunk/fuse =================================================================== --- trunk/fuse 2013-06-01 03:21:06 UTC (rev 761) +++ trunk/fuse 2013-06-01 07:10:26 UTC (rev 762) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-756 +/vendor/fuse-emulator/current/fuse:530-761 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2013-06-01 03:21:06 UTC (rev 761) +++ trunk/fuse/Makefile.am 2013-06-01 07:10:26 UTC (rev 762) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2009 Philip Kendall -## $Id: Makefile.am 4980 2013-05-21 12:37:51Z fredm $ +## $Id: Makefile.am 5003 2013-05-26 16:24:03Z sbaldovi $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -244,7 +244,7 @@ cp $(top_builddir)/.libs/fuse$(EXEEXT) $(DESTDIR) || \ cp $(top_builddir)/fuse$(EXEEXT) $(DESTDIR) # Get text files - for file in AUTHORS COPYING README; \ + for file in AUTHORS ChangeLog COPYING README; \ do cp "$(top_srcdir)/$$file" "$(DESTDIR)/$$file.txt"; \ done # Get manuals Modified: trunk/fuse/fusepb/resources/Fuse Help/html/general.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/general.html 2013-06-01 03:21:06 UTC (rev 761) +++ trunk/fuse/fusepb/resources/Fuse Help/html/general.html 2013-06-01 07:10:26 UTC (rev 762) @@ -1,207 +1,199 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> -<head> - <meta http-equiv="content-type" - content="text/html; charset=ISO-8859-1"> -<!-- AppleSegStart="General Preferences" --> - <title>General Preferences</title> -</head> -<body> -<font face="Lucida Grande,Helvetica,Arial"><a name="General Preferences"></a><!-- AppleSegDescription="This section describes the Fuse general preferences dialog." --></font> -<h2><font face="Lucida Grande,Helvetica,Arial"><span - style="font-style: italic;">General</span> preferences</font></h2> -<p><font face="Lucida Grande,Helvetica,Arial">The General pane of Fuse -preferences lets you configure miscellaneous Fuse options.<br> -</font></p> -<table style="text-align: left; width: 100%;" cellpadding="2" - cellspacing="2"> - <tbody> - <tr> - <th style="vertical-align: top;"><font style="font-weight: bold;" - face="Lucida Grande,Helvetica,Arial">OPTION</font><br> - </th> - <th style="vertical-align: top;"><font style="font-weight: bold;" - face="Lucida Grande,Helvetica,Arial">DESCRIPTION</font><br> - </th> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Emulation -speed</em></font></span></td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em></em></font></span><font - face="Lucida Grande,Helvetica,Arial">Set how fast Fuse will -attempt to emulate the Spectrum, as a percentage of the speed at -which the real machine runs. If your machine isn't fast enough to -keep up with the requested speed, Fuse will just run as fast as it -can. Note that if the emulation speed is 1%, no sound -output will be produced.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Screen -refresh -rate</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Specify the frame rate, -the ratio of spectrum frame updates to real frame updates. This is -useful if your machine is having trouble keeping up with the -spectrum screen updates.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Issue -2 -keyboard</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Early versions of the -Spectrum used a different value for unused bits on the keyboard -input ports, and a few games depended on the old value of these -bits. Enabling this option switches to the old value, to let you </font><font - face="Lucida Grande,Helvetica,Arial">run those games.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Late -timings</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">If -selected, -Fuse -will -cause all screen-related timings (for example, when -the screen is rendered and when memory contention occurs) to be one -tstate later than "normal", an effect which is present on some real -hardware.</font> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em></em></font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Use -tape -traps</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Ordinarily, Fuse -intercepts calls to the ROM tape-loading routine in order to load -from tape files more quickly when possible. But this can (rarely) -interfere with TZX loading; disabling this option avoids the -problem at the cost of slower (i.e. always real-time) tape-loading. -When tape-loading traps are disabled, you need to start tape -playback manually, by choosing the<span class="emphasis"><em>Tape, -Play</em></span> menu item.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Fast -tape -loading</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">If this option is -enabled, then Fuse will run at the fastest possible speed when the -virtual tape is playing, thus dramatically reducing the time it -takes to load programs. You may wish to disable this option if you -wish to stop the tape at a specific point.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Detect -tape -loaders</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">If -this -option -is enabled, Fuse -will attempt to detect when a loading routine is in progress, and then -automatically start the virtual tape to load the program in. This is -done by using a heuristic to identify a -loading routine, so is by no means infalliable, but works in most cases.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Auto-load -media</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">On many occasions when -you open a tape or disk file, it's because it's got a program in -you want to load and run. If this option is selected, this will -automatically happen for you when you open one of these files using the - </font><font face="Lucida Grande,Helvetica,Arial"><span - class="emphasis"><em>File, -Open...</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -menu option - you must then use the Media menu to use tapes or disks -for saving data to, or for loading data into an already running program.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Use -.slt -traps</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">The multi-load aspect of -SLT files requires a trap instruction to be supported. This -instruction is not generally used except for this trap, but since -it's not inconceivable that a program could be wanting to use the -real instruction instead, you can choose whether to support the -trap or not.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Confirm -actions</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Specify -whether `dangerous' actions (those which could cause data loss, for -example resetting the Spectrum) require confirmation before occuring.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Allow -writes -to -ROM</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">If this option is -selected, Fuse will happily allow programs to overwrite what would -normally be ROM. This probably isn't very useful in most -circumstances, especially as the 48K ROM overwrites parts of -itself.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Show -tape/disk -status</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Enables the status icons -showing whether the disk and tape are being accessed.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Set -joysticks -on -snapshot -load</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Controls -whether Fuse should -allow snapshot files to override your current joystick configuration.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Reset -Preferences</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">This causes all of Fuse's -current preferences to be discarded and replaced with the default -values as shipped.</font></td> - </tr> - </tbody> -</table> -<span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em></em></font></span><font - face="Lucida Grande,Helvetica,Arial"></font> -<p><span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em></em></font></span> -<!-- AppleSegEnd --></p> -</body> + <head> + <meta http-equiv="content-type" content="text/html; + charset=ISO-8859-1"> + <!-- AppleSegStart="General Preferences" --> + <title>General Preferences</title> + </head> + <body> + <font face="Lucida Grande,Helvetica,Arial"><a name="General + Preferences"></a><!-- AppleSegDescription="This section describes the Fuse general preferences dialog." --></font> + <h2><font face="Lucida Grande,Helvetica,Arial"><span + style="font-style: italic;">General</span> preferences</font></h2> + <p><font face="Lucida Grande,Helvetica,Arial">The General pane of + Fuse preferences lets you configure miscellaneous Fuse options.<br> + </font></p> + <table style="text-align: left; width: 100%;" cellpadding="2" + cellspacing="2"> + <tbody> + <tr> + <th style="vertical-align: top;"><font style="font-weight: + bold;" face="Lucida Grande,Helvetica,Arial">OPTION</font><br> + </th> + <th style="vertical-align: top;"><font style="font-weight: + bold;" face="Lucida Grande,Helvetica,Arial">DESCRIPTION</font><br> + </th> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Emulation speed</em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em></em></font></span><font + face="Lucida Grande,Helvetica,Arial">Set how fast Fuse + will attempt to emulate the Spectrum, as a percentage of + the speed at which the real machine runs. If your machine + isn't fast enough to keep up with the requested speed, + Fuse will just run as fast as it can. Note that if the + emulation speed is 1%, no sound output will be produced.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Screen refresh + rate</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Specify the frame rate, the ratio + of spectrum frame updates to real frame updates. This is + useful if your machine is having trouble keeping up with + the spectrum screen updates.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Use tape traps</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Ordinarily, Fuse intercepts calls + to the ROM tape-loading routine in order to load from tape + files more quickly when possible. But this can (rarely) + interfere with TZX loading; disabling this option avoids + the problem at the cost of slower (i.e. always real-time) + tape-loading. When tape-loading traps are disabled, you + need to start tape playback manually, by choosing the<span + class="emphasis"><em>Tape, Play</em></span> menu item.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Fast tape + loading</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">If this option is enabled, then + Fuse will run at the fastest possible speed when the + virtual tape is playing, thus dramatically reducing the + time it takes to load programs. You may wish to disable + this option if you wish to stop the tape at a specific + point.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Accelerate + loaders</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">If this option is enabled, then + Fuse will attempt to accelerate tape loaders by "short + circuiting" the loading loop. This will in general speed + up loading, but may cause some loaders to fail.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Detect tape + loaders</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">If this option is enabled, Fuse + will attempt to detect when a loading routine is in + progress, and then automatically start the virtual tape to + load the program in. This is done by using a heuristic to + identify a loading routine, so is by no means infalliable, + but works in most cases.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Auto-load media</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">On many occasions when you open a + tape or disk file, it's because it's got a program in you + want to load and run. If this option is selected, this + will automatically happen for you when you open one of + these files using the </font><font face="Lucida + Grande,Helvetica,Arial"><span class="emphasis"><em>File, + Open...</em></span></font><font face="Lucida + Grande,Helvetica,Arial"> menu option - you must then use + the Media menu to use tapes or disks for saving data to, + or for loading data into an already running program.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Show tape/disk + status</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Enables the status icons showing + whether the disk and tape are being accessed.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Confirm actions</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Specify whether `dangerous' + actions (those which could cause data loss, for example + resetting the Spectrum) require confirmation before + occuring.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Issue 2 + keyboard</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Early versions of the Spectrum + used a different value for unused bits on the keyboard + input ports, and a few games depended on the old value of + these bits. Enabling this option switches to the old + value, to let you </font><font face="Lucida + Grande,Helvetica,Arial">run those games.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Late CPU + timings</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">If selected, Fuse will cause all + screen-related timings (for example, when the screen is + rendered and when memory contention occurs) to be one + tstate later than "normal", an effect which is present on + some real hardware.</font> <span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em></em></font></span></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Allow writes to + ROM</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">If this option is selected, Fuse + will happily allow programs to overwrite what would + normally be ROM. This probably isn't very useful in most + circumstances, especially as the 48K ROM overwrites parts + of itself.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Use .slt traps</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">The multi-load aspect of SLT files + requires a trap instruction to be supported. This + instruction is not generally used except for this trap, + but since it's not inconceivable that a program could be + wanting to use the real instruction instead, you can + choose whether to support the trap or not.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Set joysticks + on snapshot load</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Controls whether Fuse should allow + snapshot files to override your current joystick + configuration.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Reset + Preferences</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">This causes all of Fuse's current + preferences to be discarded and replaced with the default + values as shipped.</font></td> + </tr> + </tbody> + </table> + <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em></em></font></span> + <p><span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em></em></font></span> + <!-- AppleSegEnd --></p> + </body> </html> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/joysticks.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/joysticks.html 2013-06-01 03:21:06 UTC (rev 761) +++ trunk/fuse/fusepb/resources/Fuse Help/html/joysticks.html 2013-06-01 07:10:26 UTC (rev 762) @@ -43,12 +43,16 @@ face="Lucida Grande,Helvetica,Arial"><em>Kempston</em></font></span> <font face="Lucida Grande,Helvetica,Arial">A Kempston joystick, read from input port 31. Note that the <span class="emphasis"><em>Peripherals + + preferences > Kempston interface</em></span> option must also be set for the input to be recognised.</font></p> <p style="margin-left: 40px;"> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Sinclair 1</em></font></span> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Sinclair + + 2</em></font></span> <font face="Lucida Grande,Helvetica,Arial">The `left' and `right' Sinclair joysticks, equivalent to pressing 1 (left), 2 (right), 3 (down), @@ -58,6 +62,8 @@ face="Lucida Grande,Helvetica,Arial"><em>Timex 1</em></font></span> <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Timex + + 2</em></font></span> <font face="Lucida Grande,Helvetica,Arial">The `left' and `right' joysticks as attached to the Timex 2068s built-in joystick interface.</font></p> @@ -81,6 +87,20 @@ </tr> <tr> <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Interface II</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">If this option is selected, Fuse + will emulate a cartridge port as found on the Interface + II. Cartridges can then be inserted and removed via the <span + class="emphasis"><em>Media > Cartridge</em></span> + menu. Note that the Pentagon, Scorpion, Interface II, + ZXATASP and ZXCF all use the same hardware mechanism for + accessing some of their extended features, so only one of + these should be selected at once or unpredictable + behaviour will occur.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Kempston joystick interface</em></font></span></td> <td style="vertical-align: top;"><font face="Lucida @@ -108,17 +128,12 @@ </tr> <tr> <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Interface II</em></font></span></td> + face="Lucida Grande,Helvetica,Arial"><em>Swap mouse + buttons</em></font></span></td> <td style="vertical-align: top;"><font face="Lucida - Grande,Helvetica,Arial">If this option is selected, Fuse - will emulate a cartridge port as found on the Interface - II. Cartridges can then be inserted and removed via the <span - class="emphasis"><em>Media > Cartridge</em></span> - menu. Note that the Pentagon, Scorpion, Interface II, - ZXATASP and ZXCF all use the same hardware mechanism for - accessing some of their extended features, so only one of - these should be selected at once or unpredictable - behaviour will occur.</font></td> + Grande,Helvetica,Arial">If this option is enabled, the + left and right mouse buttons will be swapped when + emulating a Kempston mouse.</font></td> </tr> </tbody> </table> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html 2013-06-01 03:21:06 UTC (rev 761) +++ trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html 2013-06-01 07:10:26 UTC (rev 762) @@ -25,6 +25,9 @@ + + + preferences</em></span></font></a><font face="Lucida Grande,Helvetica,Arial"> dialog, and the state of its </font><font face="Lucida Grande,Helvetica,Arial">automatic page-in</font><font @@ -67,6 +70,9 @@ + + + preferences</em></span></font></a><font face="Lucida Grande,Helvetica,Arial"> dialog</font><font face="Lucida Grande,Helvetica,Arial">. Once that's done, open the installer @@ -96,6 +102,9 @@ + + + disable</span></font><font face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em></em></span></font> <font face="Lucida Grande,Helvetica,Arial">option</font><font @@ -111,15 +120,9 @@ Spectranet" and ending with the Spectranet's IP address (which will be 255.255.255.255 at this stage).<br> <br> - If you see all that, type the following command:<br> - </font></p> - <font face="Lucida Grande,Helvetica,Arial"><big><span - style="font-family: monospace;">%cfgnew</span></big><br> - </font> - <p><font face="Lucida Grande,Helvetica,Arial">Which will show the - standard 0 OK, 0:1 at the bottom of the screen. Now, trigger an - NMI (the Machine > NMI menu option) and you should get a - white on blue Spectranet NMI menu with five options.<br> + Now, trigger an NMI (the Machine > NMI menu option) and you + should get a white on blue Spectranet NMI menu with five + options.<br> <br> Select [A] Configure network settings - this should lead you to another menu, which will scroll of the top of the screen; don't @@ -171,6 +174,9 @@ + + + : 255.255.255.000</span><br style="font-family: monospace;"> <span style="font-family: monospace;">Default gateway : 192.168.000.001</span><br style="font-family: monospace;"> @@ -189,6 +195,9 @@ + + + : fuse</span><br style="font-family: monospace;"> <br style="font-family: monospace;"> <span style="font-family: monospace;"><menu options></span></big><font @@ -199,11 +208,22 @@ Exit, at which point you'll be returned to BASIC. Reset the Spectrum again and you'll see the same four line status display, but this time with your IP address on the last line.<br> - <br> - Congratulations! You have now installed the Spectranet firmware. - To save having to go through all that every time you start Fuse, - save a .szx snapshot at this point, and load that in every time - you want to use the Spectranet.</font></p> + </font><br> + <font face="Lucida Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial">Now type the following commands:<br> + </font> <font face="Lucida Grande,Helvetica,Arial"><big><span + style="font-family: monospace;">%cfgnew<br> + %cfgcommit</span></big></font><big><br> + </big> </font> </p> + <p><font face="Lucida Grande,Helvetica,Arial">Which will show the + standard <font face="Lucida Grande,Helvetica,Arial"><big><span + style="font-family: monospace;">0 OK, 0:1</span></big></font> + at the bottom of the screen. </font></p> + <p><font face="Lucida Grande,Helvetica,Arial"> Congratulations! You + have now installed the Spectranet firmware. To save having to go + through all that every time you start Fuse, save a .szx snapshot + at this point, and load that in every time you want to use the + Spectranet.</font></p> <!-- AppleSegEnd --> </body> </html> Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2013-06-01 03:21:06 UTC (rev 761) +++ trunk/fuse/hacking/ChangeLog 2013-06-01 07:10:26 UTC (rev 762) @@ -4518,3 +4518,13 @@ 20130524 ChangeLog,README: updates for a "1.1.1" release (Fred). 20130524 ChangeLog,README,configure.ac,man/fuse.1: fill in date and bump version number (Stuart). +20130526 Makefile.am,ui/win32/installer/fuse.nsi.in: distribute ChangeLog and + build notes in Windows packages (Sergio). +20130527 pokefinder/pokemem.c: fix crash when opening a file without extension + (patch #312) (UB880D and Sergio). +20130531 man/fuse.1: correct Spectranet initialisation script (thanks, Guesser) + (Fred). +20130531 man/fuse.1: add missing documentation (fixes bug #282) (Stuart). +20130531 ui/win32/installer/fuse.nsi.in: adding Fuse to the OpenWith list for + file extensions could result in an true association under some + circumstances on Windows 7 (thanks, Alessandro Grussu) (Sergio). Modified: trunk/fuse/man/fuse.1 =================================================================== --- trunk/fuse/man/fuse.1 2013-06-01 03:21:06 UTC (rev 761) +++ trunk/fuse/man/fuse.1 2013-06-01 07:10:26 UTC (rev 762) @@ -1988,6 +1988,13 @@ you wish to stop the tape at a specific point. .RE .PP +.I "Accelerate loaders" +.RS +If this option is enabled, then Fuse will attempt to accelerate tape +loaders by \(lqshort circuiting\(rq the loading loop. This will in +general speed up loading, but may cause some loaders to fail. +.RE +.PP .I "Detect loaders" .RS If this option is enabled, Fuse will attempt to detect when a loading @@ -2046,6 +2053,14 @@ If the value smaller than 4 or greater than 254 Fuse assumes 4 or 254. .RE .PP +.I "Random length MDR cartridge" +.RS +If this option is enabled, Fuse will use a random Microdrive cartridge +length instead of the length specified in the +.I "MDR cartridge len" +option. +.RE +.PP .I "RS-232 handshake" .RS If you turn this option off, Fuse assumes the RS-232 line other end is @@ -2211,6 +2226,12 @@ connected mouse may be used. .RE .PP +.I "Swap mouse buttons" +.RS +If this option is enabled, the left and right mouse buttons will be swapped +when emulating a Kempston mouse. +.RE +.PP .I "Fuller Box" .RS If this option is selected, Fuse will emulate a Fuller Box AY sound and @@ -2365,14 +2386,6 @@ section for more details. .RE .PP -.I "Opus Discovery interface" -.RS -If this option is selected, Fuse will emulate the Opus Discovery interface. -See the -.B "OPUS DISCOVERY EMULATION" -section for more details. -.RE -.PP .I "+D interface" .RS If this option is selected, Fuse will emulate the +D interface. See the @@ -2395,8 +2408,22 @@ section for more details. Beta\ 128 emulation is enabled for the Pentagon and Scorpion machines regardless of this option. .RE +.PP +.I "Beta\ 128 auto-boot in 48K\ machines" +.RS +If this option is selected, then when a Beta\ 128 interface is used in 48K +or TC2048 emulation, the machine will boot directly into the TR-DOS system. .RE .PP +.I "Opus Discovery interface" +.RS +If this option is selected, Fuse will emulate the Opus Discovery interface. +See the +.B "OPUS DISCOVERY EMULATION" +section for more details. +.RE +.RE +.PP .I "Options, RZX..." .RS Display the RZX Options dialog, letting you configure how Fuse's deals @@ -3740,11 +3767,7 @@ starting with \(lqAlioth Spectranet\(rq and ending with the Spectranet's IP address (which will be 255.255.255.255 at this stage). .PP -If you see all that, type the following command: -.PP -%cfgnew -.PP -Which will show the standard 0 OK, 0:1 at the bottom of the screen. Now trigger an NMI (the Machine / NMI menu option) +Now trigger an NMI (the Machine / NMI menu option) and you should get a white on blue Spectranet NMI menu with five options. .PP @@ -3798,7 +3821,17 @@ .PP If everything looks correct, select [I] Save changes and exit (you'll see a brief \(lqSaving configuration...\(rq message) followed by [E] Exit, -at which point you'll be returned to BASIC. Reset the Spectrum again +at which point you'll be returned to BASIC. +.PP +Now type the following commands: +.PP +%cfgnew +.br +%cfgcommit +.PP +Which will show the standard 0 OK, 0:1 at the bottom of the screen. +.PP +Reset the Spectrum again and you'll see the same four line status display, but this time with your IP address on the last line. .PP Modified: trunk/fuse/pokefinder/pokemem.c =================================================================== --- trunk/fuse/pokefinder/pokemem.c 2013-06-01 03:21:06 UTC (rev 761) +++ trunk/fuse/pokefinder/pokemem.c 2013-06-01 07:10:26 UTC (rev 762) @@ -1,7 +1,7 @@ /* pokemem.c: help with handling pokes Copyright (c) 2011 Philip Kendall, Sergio Baldoví - $Id: pokemem.c 4785 2012-12-07 23:56:40Z sbaldovi $ + $Id: pokemem.c 5005 2013-05-29 21:17:26Z 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 @@ -487,8 +487,8 @@ int pokemem_find_pokfile( const char *path ) { - int n, has_extension; - size_t length, filename_size, last_dot, last_slash; + int n, has_extension, last_dot, last_slash; + size_t length, filename_size; char *test_file, *c; if( pokfile ) return 1; /* Previous .pok file already found */ @@ -507,7 +507,7 @@ c = strrchr( test_file, '.' ); last_dot = ( c )? c - test_file : -1; - has_extension = ( last_dot > last_slash ); + has_extension = ( last_dot > last_slash + 1 ); /* Try .pok extension */ if( has_extension ) { @@ -532,15 +532,16 @@ } /* Browse POKES/ directory */ - if( last_slash ) { + if( last_slash >= 0 ) { n = last_slash + 1; /* insert directory */ - filename_size = ( has_extension )? last_dot - last_slash - 1 : - strlen( &path[n] ); + filename_size = + ( has_extension )? (unsigned int) ( last_dot - last_slash - 1 ) : + strlen( &path[n] ); test_file[ n ] = '\0'; strncat( test_file, "POKES", 5 ); } else { n = 0; /* prepend directory */ - filename_size = ( has_extension )? last_dot : length; + filename_size = ( has_extension )? (unsigned int) last_dot : length; strncpy( test_file, "POKES", 5 ); test_file[ 5 ] = '\0'; } Modified: trunk/fuse/ui/win32/installer/fuse.nsi.in =================================================================== --- trunk/fuse/ui/win32/installer/fuse.nsi.in 2013-06-01 03:21:06 UTC (rev 761) +++ trunk/fuse/ui/win32/installer/fuse.nsi.in 2013-06-01 07:10:26 UTC (rev 762) @@ -1,7 +1,7 @@ ## NSIS (nsis.sf.net) script to produce installer for win32 platform ## Copyright (c) 2009 Marek Januszewski -## $Id: fuse.nsi.in 4775 2012-11-26 23:03:36Z sbaldovi $ +## $Id: fuse.nsi.in 5010 2013-05-31 18:32:45Z sbaldovi $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -116,10 +116,6 @@ ${CallArtificialFunction} UnRegisterExtension_ !macroend -!macro AddOpenWithListCall _EXTENSION - WriteRegStr HKLM "Software\Classes\${_EXTENSION}\OpenWithProgids" "${PROG_ID}" "" -!macroend - !macro SelectUnregisteredExt_ Exch $R1 ;section Exch @@ -146,6 +142,9 @@ Exch $R0 ;extension Push $0 + ; Recommend Fuse in the Open With list + WriteRegStr HKLM "Software\Classes\$R0\OpenWithProgids" "${PROG_ID}" "" + ; Read global file association ReadRegStr $0 HKLM "Software\Classes\$R0" "" StrCmp "$0" "" NoBackup ; is it empty @@ -211,7 +210,6 @@ !define SelectUnregisteredExt `!insertmacro SelectUnregisteredExtCall` !define RegisterExtension `!insertmacro RegisterExtensionCall` !define UnRegisterExtension `!insertmacro UnRegisterExtensionCall` -!define AddOpenWithList `!insertmacro AddOpenWithListCall` ;-------------------------------- ; Uninstall previous version @@ -246,10 +244,12 @@ ; Installation files File "AUTHORS.txt" + File "ChangeLog.txt" File "COPYING.txt" File "fuse.exe" File "fuse.html" File "README.txt" + File /nonfatal "README-win32.txt" File "*.dll" SetOutPath $INSTDIR\lib File "lib\*" @@ -303,14 +303,6 @@ WriteRegStr HKLM "Software\Classes\${PROG_ID}\shell\open\command" "" '"$INSTDIR\fuse.exe" "%1"' WriteRegStr HKLM "Software\Classes\Applications\fuse.exe" "NoOpenWith" "" - ; Recommend Fuse for known extensions - ${AddOpenWithList} ".pzx" - ${AddOpenWithList} ".rzx" - ${AddOpenWithList} ".sna" - ${AddOpenWithList} ".szx" - ${AddOpenWithList} ".tap" - ${AddOpenWithList} ".tzx" - ${AddOpenWithList} ".z80" System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)' SectionEnd @@ -362,10 +354,12 @@ Delete "$INSTDIR\roms\*" RMDir "$INSTDIR\roms" Delete "$INSTDIR\AUTHORS.txt" + Delete "$INSTDIR\ChangeLog.txt" Delete "$INSTDIR\COPYING.txt" Delete "$INSTDIR\fuse.exe" Delete "$INSTDIR\fuse.html" Delete "$INSTDIR\README.txt" + Delete "$INSTDIR\README-win32.txt" Delete "$INSTDIR\*.dll" RMDir "$INSTDIR" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2014-02-04 12:00:38
|
Revision: 769 http://sourceforge.net/p/fuse-for-macosx/code/769 Author: fredm Date: 2014-02-04 12:00:34 +0000 (Tue, 04 Feb 2014) Log Message: ----------- Restore support for playing RZXs with no embedded snapshot. Modified Paths: -------------- trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/models/Emulator.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/views/DisplayOpenGLView.h trunk/fuse/fusepb/views/DisplayOpenGLView.m trunk/fuse/rzx.h Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2013-12-25 23:59:06 UTC (rev 768) +++ trunk/fuse/fusepb/controllers/FuseController.m 2014-02-04 12:00:34 UTC (rev 769) @@ -642,7 +642,10 @@ - (IBAction)rzx_play:(id)sender { - char *recording; + char *recording, *snapshot; + utils_file file; + libspectrum_error libspec_error; int error; + libspectrum_snap* snap; if( rzx_playback || rzx_recording ) return; @@ -652,8 +655,45 @@ if( !recording ) { [[DisplayOpenGLView instance] unpause]; return; } - [self addRecentSnapshot:recording]; + rzx = libspectrum_rzx_alloc(); + error = utils_read_file( recording, &file ); + if( error ) { + free( recording ); + [[DisplayOpenGLView instance] unpause]; + return; + } + + libspec_error = libspectrum_rzx_read( rzx, file.buffer, file.length ); + utils_close_file( &file ); + if( libspec_error != LIBSPECTRUM_ERROR_NONE ) { + free( recording ); + [[DisplayOpenGLView instance] unpause]; + return; + } + + snap = rzx_get_initial_snapshot(); + if( !snap ) { + /* We need to load an external snapshot. */ + snapshot = cocoaui_openpanel_get_filename( @"Load Replay Snapshot", + snapFileTypes ); + if( !snapshot ) { + free( recording ); + [[DisplayOpenGLView instance] unpause]; + return; + } + + [[DisplayOpenGLView instance] snapOpen:snapshot]; + free( snapshot ); + } else { + // FIXME: snapless rzxs loaded from the menu would require a snapshot + // prompt when selecting from the recent files list which would deadlock + // right now + [self addRecentSnapshot:recording]; + } + + libspectrum_rzx_free( rzx ); + [[DisplayOpenGLView instance] rzxStartPlayback:recording]; free( recording ); Modified: trunk/fuse/fusepb/models/Emulator.h =================================================================== --- trunk/fuse/fusepb/models/Emulator.h 2013-12-25 23:59:06 UTC (rev 768) +++ trunk/fuse/fusepb/models/Emulator.h 2014-02-04 12:00:34 UTC (rev 769) @@ -65,6 +65,7 @@ -(id) init; -(void) openFile:(const char *)filename; +-(void) snapOpen:(const char *)filename; -(void) tapeOpen:(const char *)filename; -(void) tapeWrite:(const char *)filename; -(void) tapeTogglePlay; Modified: trunk/fuse/fusepb/models/Emulator.m =================================================================== --- trunk/fuse/fusepb/models/Emulator.m 2013-12-25 23:59:06 UTC (rev 768) +++ trunk/fuse/fusepb/models/Emulator.m 2014-02-04 12:00:34 UTC (rev 769) @@ -199,6 +199,13 @@ display_refresh_all(); } +-(void) snapOpen:(const char *)filename +{ + snapshot_read( filename ); + + display_refresh_all(); +} + -(void) tapeOpen:(const char *)filename { tape_open( filename, 0 ); @@ -513,7 +520,7 @@ -(int) rzxStartPlayback:(const char *)filename { - return rzx_start_playback( filename, 1 ); + return rzx_start_playback( filename, 0 ); } -(void) rzxInsertSnap Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.h 2013-12-25 23:59:06 UTC (rev 768) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.h 2014-02-04 12:00:34 UTC (rev 769) @@ -100,6 +100,7 @@ -(void) setNeedsDisplayYes; -(void) openFile:(const char *)filename; +-(void) snapOpen:(const char *)filename; -(void) tapeOpen:(const char *)filename; -(void) tapeWrite:(const char *)filename; -(void) tapeTogglePlay; Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2013-12-25 23:59:06 UTC (rev 768) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2014-02-04 12:00:34 UTC (rev 769) @@ -661,6 +661,11 @@ [proxy_emulator openFile:filename]; } +-(void) snapOpen:(const char *)filename +{ + [proxy_emulator snapOpen:filename]; +} + -(void) tapeOpen:(const char *)filename { [proxy_emulator tapeOpen:filename]; Modified: trunk/fuse/rzx.h =================================================================== --- trunk/fuse/rzx.h 2013-12-25 23:59:06 UTC (rev 768) +++ trunk/fuse/rzx.h 2014-02-04 12:00:34 UTC (rev 769) @@ -84,4 +84,6 @@ GSList* rzx_get_rollback_list( libspectrum_rzx *rzx ); +libspectrum_snap* rzx_get_initial_snapshot( void ); + #endif /* #ifndef FUSE_RZX_H */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2016-06-01 10:46:13
|
Revision: 804 http://sourceforge.net/p/fuse-for-macosx/code/804 Author: fredm Date: 2016-06-01 10:46:07 +0000 (Wed, 01 Jun 2016) Log Message: ----------- Merge up to vendor 1.2.0 release branches r5525. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/5525 Modified Paths: -------------- trunk/fuse/AUTHORS trunk/fuse/ChangeLog trunk/fuse/INSTALL trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/THANKS trunk/fuse/autogen.sh trunk/fuse/bitmap.h trunk/fuse/compat/Makefile.am trunk/fuse/compat/amiga/osname.c trunk/fuse/compat/amiga/paths.c trunk/fuse/compat/linux/paths.c trunk/fuse/compat/morphos/osname.c trunk/fuse/compat/unix/dir.c trunk/fuse/compat/unix/file.c trunk/fuse/compat/unix/osname.c trunk/fuse/compat/unix/paths.c trunk/fuse/compat/unix/socket.c trunk/fuse/compat/unix/timer.c trunk/fuse/compat/unix/tuntap.c trunk/fuse/compat/wii/dir.c trunk/fuse/compat/wii/osname.c trunk/fuse/compat/wii/paths.c trunk/fuse/compat/wii/timer.c trunk/fuse/compat/win32/osname.c trunk/fuse/compat/win32/paths.c trunk/fuse/compat/win32/socket.c trunk/fuse/compat/win32/timer.c trunk/fuse/compat.h trunk/fuse/configure.ac trunk/fuse/data/Makefile.am trunk/fuse/data/fuse.desktop.in trunk/fuse/data/fuse.xml.in trunk/fuse/debugger/Makefile.am trunk/fuse/debugger/breakpoint.c trunk/fuse/debugger/breakpoint.h trunk/fuse/debugger/command.c trunk/fuse/debugger/commandl.l trunk/fuse/debugger/commandy.y trunk/fuse/debugger/debugger.c trunk/fuse/debugger/debugger.h trunk/fuse/debugger/debugger_internals.h trunk/fuse/debugger/disassemble.c trunk/fuse/debugger/event.c trunk/fuse/debugger/expression.c trunk/fuse/debugger/variable.c trunk/fuse/display.c trunk/fuse/display.h trunk/fuse/event.c trunk/fuse/event.h trunk/fuse/fuse.c trunk/fuse/fuse.h trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/FuseMenus.m trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/controllers/DebuggerController.h trunk/fuse/fusepb/controllers/DebuggerController.m trunk/fuse/fusepb/controllers/FuseController.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/models/Emulator.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/resources/Fuse Help/html/about.html trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/disciple.html trunk/fuse/fusepb/resources/Fuse Help/html/divide.html trunk/fuse/fusepb/resources/Fuse Help/html/formats.html trunk/fuse/fusepb/resources/Fuse Help/html/general.html trunk/fuse/fusepb/resources/Fuse Help/html/menus.html trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html trunk/fuse/fusepb/resources/Fuse Help/html/peripherals.html trunk/fuse/fusepb/resources/Fuse Help/html/plusd.html trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html trunk/fuse/fusepb/settings-cocoa-header.pl trunk/fuse/fusepb/settings-header.pl trunk/fuse/fusepb/settings_cocoa.h trunk/fuse/fusepb/views/DisplayOpenGLView.h trunk/fuse/fusepb/views/DisplayOpenGLView.m trunk/fuse/fusepb/xibs/Debugger.xib trunk/fuse/fusepb/xibs/MainMenu.xib trunk/fuse/fusepb/xibs/Preferences.xib trunk/fuse/hacking/ChangeLog trunk/fuse/hacking/Makefile.am trunk/fuse/hacking/peripheral_tests.txt trunk/fuse/input.c trunk/fuse/input.h trunk/fuse/keyboard.c trunk/fuse/keyboard.h trunk/fuse/keysyms.pl trunk/fuse/lib/Makefile.am trunk/fuse/loader.c trunk/fuse/loader.h trunk/fuse/m4/ax_pthread.m4 trunk/fuse/m4/pkg.m4 trunk/fuse/machine.c trunk/fuse/machine.h trunk/fuse/machines/Makefile.am trunk/fuse/machines/machines.h trunk/fuse/machines/machines_periph.c trunk/fuse/machines/machines_periph.h trunk/fuse/machines/pentagon.c trunk/fuse/machines/pentagon.h trunk/fuse/machines/pentagon1024.c trunk/fuse/machines/pentagon512.c trunk/fuse/machines/scorpion.c trunk/fuse/machines/scorpion.h trunk/fuse/machines/spec128.c trunk/fuse/machines/spec128.h trunk/fuse/machines/spec16.c trunk/fuse/machines/spec48.c trunk/fuse/machines/spec48.h trunk/fuse/machines/spec48_ntsc.c trunk/fuse/machines/spec_se.c trunk/fuse/machines/specplus2.c trunk/fuse/machines/specplus2a.c trunk/fuse/machines/specplus3.c trunk/fuse/machines/specplus3.h trunk/fuse/machines/specplus3e.c trunk/fuse/machines/tc2048.c trunk/fuse/machines/tc2068.c trunk/fuse/machines/tc2068.h trunk/fuse/machines/ts2068.c trunk/fuse/man/Makefile.am trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/memory.h trunk/fuse/mempool.c trunk/fuse/mempool.h trunk/fuse/menu.c trunk/fuse/menu.h trunk/fuse/menu_data.dat trunk/fuse/menu_data.pl trunk/fuse/module.c trunk/fuse/module.h trunk/fuse/movie.c trunk/fuse/movie.h trunk/fuse/movie_tables.h trunk/fuse/periph.c trunk/fuse/periph.h trunk/fuse/peripherals/Makefile.am trunk/fuse/peripherals/ay.c trunk/fuse/peripherals/ay.h trunk/fuse/peripherals/dck.c trunk/fuse/peripherals/dck.h trunk/fuse/peripherals/disk/beta.c trunk/fuse/peripherals/disk/beta.h trunk/fuse/peripherals/disk/crc.c trunk/fuse/peripherals/disk/crc.h trunk/fuse/peripherals/disk/disciple.c trunk/fuse/peripherals/disk/disciple.h trunk/fuse/peripherals/disk/disk.c trunk/fuse/peripherals/disk/disk.h trunk/fuse/peripherals/disk/fdd.c trunk/fuse/peripherals/disk/fdd.h trunk/fuse/peripherals/disk/opus.c trunk/fuse/peripherals/disk/opus.h trunk/fuse/peripherals/disk/plusd.c trunk/fuse/peripherals/disk/plusd.h trunk/fuse/peripherals/disk/upd_fdc.c trunk/fuse/peripherals/disk/upd_fdc.h trunk/fuse/peripherals/disk/wd_fdc.c trunk/fuse/peripherals/disk/wd_fdc.h trunk/fuse/peripherals/flash/am29f010.c trunk/fuse/peripherals/flash/am29f010.h trunk/fuse/peripherals/fuller.c trunk/fuse/peripherals/fuller.h trunk/fuse/peripherals/ide/divide.c trunk/fuse/peripherals/ide/divide.h trunk/fuse/peripherals/ide/ide.c trunk/fuse/peripherals/ide/ide.h trunk/fuse/peripherals/ide/simpleide.c trunk/fuse/peripherals/ide/simpleide.h trunk/fuse/peripherals/ide/zxatasp.c trunk/fuse/peripherals/ide/zxatasp.h trunk/fuse/peripherals/ide/zxcf.c trunk/fuse/peripherals/ide/zxcf.h trunk/fuse/peripherals/if1.c trunk/fuse/peripherals/if1.h trunk/fuse/peripherals/if2.c trunk/fuse/peripherals/if2.h trunk/fuse/peripherals/joystick.c trunk/fuse/peripherals/joystick.h trunk/fuse/peripherals/kempmouse.c trunk/fuse/peripherals/kempmouse.h trunk/fuse/peripherals/melodik.c trunk/fuse/peripherals/melodik.h trunk/fuse/peripherals/nic/enc28j60.c trunk/fuse/peripherals/nic/enc28j60.h trunk/fuse/peripherals/nic/w5100.c trunk/fuse/peripherals/nic/w5100.h trunk/fuse/peripherals/nic/w5100_internals.h trunk/fuse/peripherals/nic/w5100_socket.c trunk/fuse/peripherals/printer.c trunk/fuse/peripherals/printer.h trunk/fuse/peripherals/scld.c trunk/fuse/peripherals/scld.h trunk/fuse/peripherals/speccyboot.c trunk/fuse/peripherals/speccyboot.h trunk/fuse/peripherals/specdrum.c trunk/fuse/peripherals/specdrum.h trunk/fuse/peripherals/spectranet.c trunk/fuse/peripherals/spectranet.h trunk/fuse/peripherals/ula.c trunk/fuse/peripherals/ula.h trunk/fuse/perl/Fuse/Dialog.pm trunk/fuse/perl/Makefile.am trunk/fuse/pokefinder/Makefile.am trunk/fuse/pokefinder/pokefinder.c trunk/fuse/pokefinder/pokefinder.h trunk/fuse/pokefinder/pokemem.c trunk/fuse/pokefinder/pokemem.h trunk/fuse/profile.c trunk/fuse/profile.h trunk/fuse/psg.c trunk/fuse/psg.h trunk/fuse/rectangle.c trunk/fuse/rectangle.h trunk/fuse/roms/Makefile.am trunk/fuse/roms/se-0.rom trunk/fuse/roms/se-1.rom trunk/fuse/rzx.c trunk/fuse/rzx.h trunk/fuse/screenshot.c trunk/fuse/screenshot.h trunk/fuse/settings-header.pl trunk/fuse/settings.dat trunk/fuse/settings.pl trunk/fuse/slt.c trunk/fuse/slt.h trunk/fuse/snapshot.c trunk/fuse/snapshot.h trunk/fuse/sound/Makefile.am trunk/fuse/sound/alsasound.c trunk/fuse/sound/aosound.c trunk/fuse/sound/blipbuffer.h trunk/fuse/sound/dxsound.c trunk/fuse/sound/hpsound.c trunk/fuse/sound/nullsound.c trunk/fuse/sound/osssound.c trunk/fuse/sound/sdlsound.c trunk/fuse/sound/sunsound.c trunk/fuse/sound/wiisound.c trunk/fuse/sound/win32sound.c trunk/fuse/sound.c trunk/fuse/sound.h trunk/fuse/spectrum.c trunk/fuse/spectrum.h trunk/fuse/tape.c trunk/fuse/tape.h trunk/fuse/timer/Makefile.am trunk/fuse/timer/native.c trunk/fuse/timer/sdl.c trunk/fuse/timer/timer.c trunk/fuse/timer/timer.h trunk/fuse/ui/Makefile.am trunk/fuse/ui/cocoa/cocoadisplay.m trunk/fuse/ui/cocoa/cocoascreenshot.m trunk/fuse/ui/cocoa/cocoaui.m trunk/fuse/ui/cocoa/options-cocoa-header.pl trunk/fuse/ui/cocoa/options-header.pl trunk/fuse/ui/cocoa/options.pl trunk/fuse/ui/fb/Makefile.am trunk/fuse/ui/fb/fbdisplay.c trunk/fuse/ui/fb/fbdisplay.h trunk/fuse/ui/fb/fbjoystick.c trunk/fuse/ui/fb/fbkeyboard.c trunk/fuse/ui/fb/fbkeyboard.h trunk/fuse/ui/fb/fbmouse.c trunk/fuse/ui/fb/fbmouse.h trunk/fuse/ui/fb/fbui.c trunk/fuse/ui/gtk/Makefile.am trunk/fuse/ui/gtk/binary.c trunk/fuse/ui/gtk/browse.c trunk/fuse/ui/gtk/confirm.c trunk/fuse/ui/gtk/debugger.c trunk/fuse/ui/gtk/fileselector.c trunk/fuse/ui/gtk/gtkcompat.c trunk/fuse/ui/gtk/gtkcompat.h trunk/fuse/ui/gtk/gtkdisplay.c trunk/fuse/ui/gtk/gtkinternals.h trunk/fuse/ui/gtk/gtkjoystick.c trunk/fuse/ui/gtk/gtkkeyboard.c trunk/fuse/ui/gtk/gtkmouse.c trunk/fuse/ui/gtk/gtkui.c trunk/fuse/ui/gtk/memory.c trunk/fuse/ui/gtk/options.pl trunk/fuse/ui/gtk/picture.c trunk/fuse/ui/gtk/pixmaps.c trunk/fuse/ui/gtk/pokefinder.c trunk/fuse/ui/gtk/pokemem.c trunk/fuse/ui/gtk/rollback.c trunk/fuse/ui/gtk/roms.c trunk/fuse/ui/gtk/statusbar.c trunk/fuse/ui/gtk/stock.c trunk/fuse/ui/options.dat trunk/fuse/ui/scaler/Makefile.am trunk/fuse/ui/scaler/scaler.c trunk/fuse/ui/scaler/scaler_hq2x.c trunk/fuse/ui/scaler/scaler_hq3x.c trunk/fuse/ui/scaler/scaler_internals.h trunk/fuse/ui/scaler/scalers.c trunk/fuse/ui/sdl/Makefile.am trunk/fuse/ui/sdl/sdldisplay.c trunk/fuse/ui/sdl/sdldisplay.h trunk/fuse/ui/sdl/sdljoystick.c trunk/fuse/ui/sdl/sdljoystick.h trunk/fuse/ui/sdl/sdlkeyboard.c trunk/fuse/ui/sdl/sdlkeyboard.h trunk/fuse/ui/sdl/sdlui.c trunk/fuse/ui/svga/Makefile.am trunk/fuse/ui/svga/svgadisplay.c trunk/fuse/ui/svga/svgadisplay.h trunk/fuse/ui/svga/svgajoystick.c trunk/fuse/ui/svga/svgakeyboard.c trunk/fuse/ui/svga/svgakeyboard.h trunk/fuse/ui/svga/svgaui.c trunk/fuse/ui/ui.h trunk/fuse/ui/uidisplay.h trunk/fuse/ui/uijoystick.c trunk/fuse/ui/uijoystick.h trunk/fuse/ui/widget/Makefile.am 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/mkfusefont.pl trunk/fuse/ui/widget/options.pl trunk/fuse/ui/widget/picture.c trunk/fuse/ui/widget/pokefinder.c trunk/fuse/ui/widget/pokemem.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/widget/widget_internals.h trunk/fuse/ui/wii/Makefile.am trunk/fuse/ui/wii/wiidisplay.c trunk/fuse/ui/wii/wiidisplay.h trunk/fuse/ui/wii/wiijoystick.c trunk/fuse/ui/wii/wiikeyboard.c trunk/fuse/ui/wii/wiikeyboard.h trunk/fuse/ui/wii/wiikeysyms.h trunk/fuse/ui/wii/wiimouse.c trunk/fuse/ui/wii/wiimouse.h trunk/fuse/ui/wii/wiiui.c trunk/fuse/ui/win32/Makefile.am trunk/fuse/ui/win32/about.c trunk/fuse/ui/win32/about.h trunk/fuse/ui/win32/binary.c trunk/fuse/ui/win32/binary.h trunk/fuse/ui/win32/browse.c trunk/fuse/ui/win32/browse.h trunk/fuse/ui/win32/confirm.c trunk/fuse/ui/win32/debugger.c trunk/fuse/ui/win32/debugger.h trunk/fuse/ui/win32/debugger.rc trunk/fuse/ui/win32/fileselector.c trunk/fuse/ui/win32/hyperlinks.c trunk/fuse/ui/win32/hyperlinks.h trunk/fuse/ui/win32/memorybrowser.c trunk/fuse/ui/win32/memorybrowser.h trunk/fuse/ui/win32/options-resource.pl trunk/fuse/ui/win32/options.pl trunk/fuse/ui/win32/picture.c trunk/fuse/ui/win32/picture.h trunk/fuse/ui/win32/pokefinder.c trunk/fuse/ui/win32/pokefinder.h trunk/fuse/ui/win32/pokemem.c trunk/fuse/ui/win32/pokemem.h trunk/fuse/ui/win32/rollback.c trunk/fuse/ui/win32/rollback.h trunk/fuse/ui/win32/roms.c trunk/fuse/ui/win32/roms.h trunk/fuse/ui/win32/statusbar.c trunk/fuse/ui/win32/win32display.c trunk/fuse/ui/win32/win32internals.h trunk/fuse/ui/win32/win32joystick.c trunk/fuse/ui/win32/win32joystick.h trunk/fuse/ui/win32/win32joystick.rc trunk/fuse/ui/win32/win32keyboard.c trunk/fuse/ui/win32/win32mouse.c trunk/fuse/ui/win32/win32ui.c trunk/fuse/ui/xlib/Makefile.am trunk/fuse/ui/xlib/xdisplay.c trunk/fuse/ui/xlib/xdisplay.h trunk/fuse/ui/xlib/xerror.c trunk/fuse/ui/xlib/xjoystick.c trunk/fuse/ui/xlib/xkeyboard.c trunk/fuse/ui/xlib/xkeyboard.h trunk/fuse/ui/xlib/xstatusbar.pl trunk/fuse/ui/xlib/xui.c trunk/fuse/ui/xlib/xui.h trunk/fuse/ui.c trunk/fuse/uidisplay.c trunk/fuse/unittests/Makefile.am trunk/fuse/unittests/unittests.c trunk/fuse/unittests/unittests.h trunk/fuse/utils.c trunk/fuse/utils.h trunk/fuse/windres.rc trunk/fuse/z80/Makefile.am trunk/fuse/z80/coretest.c trunk/fuse/z80/z80.c trunk/fuse/z80/z80.h trunk/fuse/z80/z80.pl trunk/fuse/z80/z80_checks.h trunk/fuse/z80/z80_macros.h trunk/fuse/z80/z80_ops.c Added Paths: ----------- trunk/fuse/data/shell-completion/ trunk/fuse/data/win32/ trunk/fuse/fusepb/resources/Fuse Help/html/didaktik80.html trunk/fuse/hacking/code_beautifiers.txt trunk/fuse/hacking/uncrustify.cfg trunk/fuse/lib/tests/success.d80.bz2 trunk/fuse/m4/ax_create_stdint_h.m4 trunk/fuse/peripherals/disk/didaktik.c trunk/fuse/peripherals/disk/didaktik.h trunk/fuse/peripherals/usource.c trunk/fuse/peripherals/usource.h trunk/fuse/svg.c trunk/fuse/svg.h trunk/fuse/ui/uimedia.h trunk/fuse/uimedia.c Removed Paths: ------------- trunk/fuse/compat/amiga/Makefile.am trunk/fuse/compat/linux/Makefile.am trunk/fuse/compat/morphos/Makefile.am trunk/fuse/compat/unix/Makefile.am trunk/fuse/compat/wii/Makefile.am trunk/fuse/compat/win32/Makefile.am trunk/fuse/peripherals/disk/Makefile.am trunk/fuse/peripherals/flash/Makefile.am trunk/fuse/peripherals/ide/Makefile.am trunk/fuse/peripherals/nic/Makefile.am trunk/fuse/perl/Fuse/Makefile.am trunk/fuse/ui/win32/fuse.manifest.in trunk/fuse/ui/win32/icons/Makefile.am trunk/fuse/ui/win32/installer/ trunk/fuse/winfuse.ico trunk/fuse/z80/tests/Makefile.am Property Changed: ---------------- trunk/fuse/ trunk/fuse/AUTHORS trunk/fuse/COPYING trunk/fuse/ChangeLog trunk/fuse/INSTALL trunk/fuse/Makefile.am trunk/fuse/PORTING trunk/fuse/README trunk/fuse/THANKS trunk/fuse/autogen.sh trunk/fuse/bitmap.h trunk/fuse/compat/Makefile.am trunk/fuse/compat/amiga/osname.c trunk/fuse/compat/amiga/paths.c trunk/fuse/compat/dirname.c trunk/fuse/compat/getopt.c trunk/fuse/compat/getopt.h trunk/fuse/compat/getopt1.c trunk/fuse/compat/linux/paths.c trunk/fuse/compat/mkstemp.c trunk/fuse/compat/morphos/osname.c trunk/fuse/compat/unix/dir.c trunk/fuse/compat/unix/file.c trunk/fuse/compat/unix/osname.c trunk/fuse/compat/unix/paths.c trunk/fuse/compat/unix/socket.c trunk/fuse/compat/unix/timer.c trunk/fuse/compat/unix/tuntap.c trunk/fuse/compat/wii/dir.c trunk/fuse/compat/wii/osname.c trunk/fuse/compat/wii/paths.c trunk/fuse/compat/wii/timer.c trunk/fuse/compat/win32/osname.c trunk/fuse/compat/win32/paths.c trunk/fuse/compat/win32/socket.c trunk/fuse/compat/win32/timer.c trunk/fuse/compat.h trunk/fuse/configure.ac trunk/fuse/data/Makefile.am trunk/fuse/debugger/Makefile.am trunk/fuse/debugger/breakpoint.c trunk/fuse/debugger/breakpoint.h trunk/fuse/debugger/command.c trunk/fuse/debugger/debugger.c trunk/fuse/debugger/debugger.h trunk/fuse/debugger/debugger_internals.h trunk/fuse/debugger/disassemble.c trunk/fuse/debugger/event.c trunk/fuse/debugger/expression.c trunk/fuse/debugger/variable.c trunk/fuse/display.c trunk/fuse/display.h trunk/fuse/event.c trunk/fuse/event.h trunk/fuse/fuse.c trunk/fuse/fuse.h trunk/fuse/hacking/Makefile.am trunk/fuse/input.c trunk/fuse/input.h trunk/fuse/keyboard.c trunk/fuse/keyboard.h trunk/fuse/keysyms.dat trunk/fuse/keysyms.pl trunk/fuse/lib/Makefile.am trunk/fuse/loader.c trunk/fuse/loader.h trunk/fuse/m4/ax_pthread.m4 trunk/fuse/m4/glib-2.0.m4 trunk/fuse/m4/gtk-2.0.m4 trunk/fuse/m4/libxml.m4 trunk/fuse/m4/pkg.m4 trunk/fuse/m4/sdl.m4 trunk/fuse/machine.c trunk/fuse/machine.h trunk/fuse/machines/Makefile.am trunk/fuse/machines/machines.h trunk/fuse/machines/machines_periph.c trunk/fuse/machines/machines_periph.h trunk/fuse/machines/pentagon.c trunk/fuse/machines/pentagon.h trunk/fuse/machines/pentagon1024.c trunk/fuse/machines/pentagon512.c trunk/fuse/machines/scorpion.c trunk/fuse/machines/scorpion.h trunk/fuse/machines/spec128.c trunk/fuse/machines/spec128.h trunk/fuse/machines/spec16.c trunk/fuse/machines/spec48.c trunk/fuse/machines/spec48.h trunk/fuse/machines/spec48_ntsc.c trunk/fuse/machines/spec_se.c trunk/fuse/machines/specplus2.c trunk/fuse/machines/specplus2a.c trunk/fuse/machines/specplus3.c trunk/fuse/machines/specplus3.h trunk/fuse/machines/specplus3e.c trunk/fuse/machines/tc2048.c trunk/fuse/machines/tc2068.c trunk/fuse/machines/tc2068.h trunk/fuse/machines/ts2068.c trunk/fuse/man/Makefile.am trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/memory.h trunk/fuse/mempool.c trunk/fuse/mempool.h trunk/fuse/menu.c trunk/fuse/menu.h trunk/fuse/menu_data.dat trunk/fuse/menu_data.pl trunk/fuse/module.c trunk/fuse/module.h trunk/fuse/movie.c trunk/fuse/movie.h trunk/fuse/movie_tables.h trunk/fuse/periph.c trunk/fuse/periph.h trunk/fuse/peripherals/Makefile.am trunk/fuse/peripherals/ay.c trunk/fuse/peripherals/ay.h trunk/fuse/peripherals/dck.c trunk/fuse/peripherals/dck.h trunk/fuse/peripherals/disk/beta.c trunk/fuse/peripherals/disk/beta.h trunk/fuse/peripherals/disk/crc.c trunk/fuse/peripherals/disk/crc.h trunk/fuse/peripherals/disk/disciple.c trunk/fuse/peripherals/disk/disciple.h trunk/fuse/peripherals/disk/disk.c trunk/fuse/peripherals/disk/disk.h trunk/fuse/peripherals/disk/fdd.c trunk/fuse/peripherals/disk/fdd.h trunk/fuse/peripherals/disk/opus.c trunk/fuse/peripherals/disk/opus.h trunk/fuse/peripherals/disk/plusd.c trunk/fuse/peripherals/disk/plusd.h trunk/fuse/peripherals/disk/upd_fdc.c trunk/fuse/peripherals/disk/upd_fdc.h trunk/fuse/peripherals/disk/wd_fdc.c trunk/fuse/peripherals/disk/wd_fdc.h trunk/fuse/peripherals/flash/am29f010.c trunk/fuse/peripherals/flash/am29f010.h trunk/fuse/peripherals/fuller.c trunk/fuse/peripherals/fuller.h trunk/fuse/peripherals/ide/divide.c trunk/fuse/peripherals/ide/divide.h trunk/fuse/peripherals/ide/ide.c trunk/fuse/peripherals/ide/ide.h trunk/fuse/peripherals/ide/simpleide.c trunk/fuse/peripherals/ide/simpleide.h trunk/fuse/peripherals/ide/zxatasp.c trunk/fuse/peripherals/ide/zxatasp.h trunk/fuse/peripherals/ide/zxcf.c trunk/fuse/peripherals/ide/zxcf.h trunk/fuse/peripherals/if1.c trunk/fuse/peripherals/if1.h trunk/fuse/peripherals/if2.c trunk/fuse/peripherals/if2.h trunk/fuse/peripherals/joystick.c trunk/fuse/peripherals/joystick.h trunk/fuse/peripherals/kempmouse.c trunk/fuse/peripherals/kempmouse.h trunk/fuse/peripherals/melodik.c trunk/fuse/peripherals/melodik.h trunk/fuse/peripherals/nic/enc28j60.c trunk/fuse/peripherals/nic/enc28j60.h trunk/fuse/peripherals/nic/w5100.c trunk/fuse/peripherals/nic/w5100.h trunk/fuse/peripherals/nic/w5100_internals.h trunk/fuse/peripherals/nic/w5100_socket.c trunk/fuse/peripherals/printer.c trunk/fuse/peripherals/printer.h trunk/fuse/peripherals/scld.c trunk/fuse/peripherals/scld.h trunk/fuse/peripherals/speccyboot.c trunk/fuse/peripherals/speccyboot.h trunk/fuse/peripherals/specdrum.c trunk/fuse/peripherals/specdrum.h trunk/fuse/peripherals/spectranet.c trunk/fuse/peripherals/spectranet.h trunk/fuse/peripherals/ula.c trunk/fuse/peripherals/ula.h trunk/fuse/perl/Makefile.am trunk/fuse/perl/cpp-perl.pl trunk/fuse/pokefinder/Makefile.am trunk/fuse/pokefinder/pokefinder.c trunk/fuse/pokefinder/pokefinder.h trunk/fuse/pokefinder/pokemem.c trunk/fuse/pokefinder/pokemem.h trunk/fuse/profile.c trunk/fuse/profile.h trunk/fuse/psg.c trunk/fuse/psg.h trunk/fuse/rectangle.c trunk/fuse/rectangle.h trunk/fuse/roms/Makefile.am trunk/fuse/rzx.c trunk/fuse/rzx.h trunk/fuse/screenshot.c trunk/fuse/screenshot.h trunk/fuse/settings-header.pl trunk/fuse/settings.dat trunk/fuse/settings.pl trunk/fuse/slt.c trunk/fuse/slt.h trunk/fuse/snapshot.c trunk/fuse/snapshot.h trunk/fuse/sound/Makefile.am trunk/fuse/sound/alsasound.c trunk/fuse/sound/aosound.c trunk/fuse/sound/blipbuffer.c trunk/fuse/sound/blipbuffer.h trunk/fuse/sound/coreaudiosound.c trunk/fuse/sound/dxsound.c trunk/fuse/sound/hpsound.c trunk/fuse/sound/nullsound.c trunk/fuse/sound/osssound.c trunk/fuse/sound/sdlsound.c trunk/fuse/sound/sfifo.c trunk/fuse/sound/sfifo.h trunk/fuse/sound/sunsound.c trunk/fuse/sound/wiisound.c trunk/fuse/sound/win32sound.c trunk/fuse/sound.c trunk/fuse/sound.h trunk/fuse/spectrum.c trunk/fuse/spectrum.h trunk/fuse/tape.c trunk/fuse/tape.h trunk/fuse/timer/Makefile.am trunk/fuse/timer/native.c trunk/fuse/timer/sdl.c trunk/fuse/timer/timer.c trunk/fuse/timer/timer.h trunk/fuse/ui/Makefile.am trunk/fuse/ui/fb/Makefile.am trunk/fuse/ui/fb/fbdisplay.c trunk/fuse/ui/fb/fbdisplay.h trunk/fuse/ui/fb/fbjoystick.c trunk/fuse/ui/fb/fbkeyboard.c trunk/fuse/ui/fb/fbkeyboard.h trunk/fuse/ui/fb/fbmouse.c trunk/fuse/ui/fb/fbmouse.h trunk/fuse/ui/fb/fbui.c trunk/fuse/ui/gtk/Makefile.am trunk/fuse/ui/gtk/binary.c trunk/fuse/ui/gtk/browse.c trunk/fuse/ui/gtk/confirm.c trunk/fuse/ui/gtk/debugger.c trunk/fuse/ui/gtk/fileselector.c trunk/fuse/ui/gtk/gtkcompat.c trunk/fuse/ui/gtk/gtkcompat.h trunk/fuse/ui/gtk/gtkdisplay.c trunk/fuse/ui/gtk/gtkinternals.h trunk/fuse/ui/gtk/gtkjoystick.c trunk/fuse/ui/gtk/gtkkeyboard.c trunk/fuse/ui/gtk/gtkmouse.c trunk/fuse/ui/gtk/gtkui.c trunk/fuse/ui/gtk/memory.c trunk/fuse/ui/gtk/options-header.pl trunk/fuse/ui/gtk/options.pl trunk/fuse/ui/gtk/picture.c trunk/fuse/ui/gtk/pixmaps.c trunk/fuse/ui/gtk/pokefinder.c trunk/fuse/ui/gtk/pokemem.c trunk/fuse/ui/gtk/rollback.c trunk/fuse/ui/gtk/roms.c trunk/fuse/ui/gtk/statusbar.c trunk/fuse/ui/gtk/stock.c trunk/fuse/ui/options.dat trunk/fuse/ui/scaler/Makefile.am trunk/fuse/ui/scaler/scaler.c trunk/fuse/ui/scaler/scaler.h trunk/fuse/ui/scaler/scaler_hq2x.c trunk/fuse/ui/scaler/scaler_hq3x.c trunk/fuse/ui/scaler/scaler_internals.h trunk/fuse/ui/scaler/scalers.c trunk/fuse/ui/sdl/Makefile.am trunk/fuse/ui/sdl/sdldisplay.c trunk/fuse/ui/sdl/sdldisplay.h trunk/fuse/ui/sdl/sdljoystick.c trunk/fuse/ui/sdl/sdljoystick.h trunk/fuse/ui/sdl/sdlkeyboard.c trunk/fuse/ui/sdl/sdlkeyboard.h trunk/fuse/ui/sdl/sdlui.c trunk/fuse/ui/svga/Makefile.am trunk/fuse/ui/svga/svgadisplay.c trunk/fuse/ui/svga/svgadisplay.h trunk/fuse/ui/svga/svgajoystick.c trunk/fuse/ui/svga/svgakeyboard.c trunk/fuse/ui/svga/svgakeyboard.h trunk/fuse/ui/svga/svgaui.c trunk/fuse/ui/ui.h trunk/fuse/ui/uidisplay.h trunk/fuse/ui/uijoystick.c trunk/fuse/ui/uijoystick.h trunk/fuse/ui/widget/Makefile.am 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/mkfusefont.pl trunk/fuse/ui/widget/options-header.pl trunk/fuse/ui/widget/options.pl trunk/fuse/ui/widget/picture.c trunk/fuse/ui/widget/pokefinder.c trunk/fuse/ui/widget/pokemem.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/widget/widget_internals.h trunk/fuse/ui/wii/Makefile.am trunk/fuse/ui/wii/wiidisplay.c trunk/fuse/ui/wii/wiidisplay.h trunk/fuse/ui/wii/wiijoystick.c trunk/fuse/ui/wii/wiikeyboard.c trunk/fuse/ui/wii/wiikeyboard.h trunk/fuse/ui/wii/wiikeysyms.h trunk/fuse/ui/wii/wiimouse.c trunk/fuse/ui/wii/wiimouse.h trunk/fuse/ui/wii/wiiui.c trunk/fuse/ui/win32/Makefile.am trunk/fuse/ui/win32/about.c trunk/fuse/ui/win32/about.h trunk/fuse/ui/win32/binary.c trunk/fuse/ui/win32/binary.h trunk/fuse/ui/win32/browse.c trunk/fuse/ui/win32/browse.h trunk/fuse/ui/win32/confirm.c trunk/fuse/ui/win32/debugger.c trunk/fuse/ui/win32/debugger.h trunk/fuse/ui/win32/fileselector.c trunk/fuse/ui/win32/hyperlinks.c trunk/fuse/ui/win32/hyperlinks.h trunk/fuse/ui/win32/memorybrowser.c trunk/fuse/ui/win32/memorybrowser.h trunk/fuse/ui/win32/options-header.pl trunk/fuse/ui/win32/options-resource.pl trunk/fuse/ui/win32/options.pl trunk/fuse/ui/win32/picture.c trunk/fuse/ui/win32/picture.h trunk/fuse/ui/win32/pokefinder.c trunk/fuse/ui/win32/pokefinder.h trunk/fuse/ui/win32/pokemem.c trunk/fuse/ui/win32/pokemem.h trunk/fuse/ui/win32/rollback.c trunk/fuse/ui/win32/rollback.h trunk/fuse/ui/win32/roms.c trunk/fuse/ui/win32/roms.h trunk/fuse/ui/win32/select_template.h trunk/fuse/ui/win32/statusbar.c trunk/fuse/ui/win32/win32display.c trunk/fuse/ui/win32/win32internals.h trunk/fuse/ui/win32/win32joystick.c trunk/fuse/ui/win32/win32joystick.h trunk/fuse/ui/win32/win32keyboard.c trunk/fuse/ui/win32/win32mouse.c trunk/fuse/ui/win32/win32ui.c trunk/fuse/ui/xlib/Makefile.am trunk/fuse/ui/xlib/xdisplay.c trunk/fuse/ui/xlib/xdisplay.h trunk/fuse/ui/xlib/xerror.c trunk/fuse/ui/xlib/xjoystick.c trunk/fuse/ui/xlib/xkeyboard.c trunk/fuse/ui/xlib/xkeyboard.h trunk/fuse/ui/xlib/xstatusbar.pl trunk/fuse/ui/xlib/xui.c trunk/fuse/ui/xlib/xui.h trunk/fuse/ui.c trunk/fuse/uidisplay.c trunk/fuse/unittests/Makefile.am trunk/fuse/unittests/unittests.c trunk/fuse/unittests/unittests.h trunk/fuse/utils.c trunk/fuse/utils.h trunk/fuse/windres.rc trunk/fuse/z80/Makefile.am trunk/fuse/z80/coretest.c trunk/fuse/z80/opcodes_base.dat trunk/fuse/z80/opcodes_cb.dat trunk/fuse/z80/opcodes_ddfd.dat trunk/fuse/z80/opcodes_ddfdcb.dat trunk/fuse/z80/opcodes_ed.dat trunk/fuse/z80/z80.c trunk/fuse/z80/z80.h trunk/fuse/z80/z80.pl trunk/fuse/z80/z80_checks.h trunk/fuse/z80/z80_macros.h trunk/fuse/z80/z80_ops.c Index: trunk/fuse =================================================================== --- trunk/fuse 2016-05-25 11:30:52 UTC (rev 803) +++ trunk/fuse 2016-06-01 10:46:07 UTC (rev 804) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-761 +/vendor/fuse-emulator/current/fuse:530-803 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/AUTHORS =================================================================== --- trunk/fuse/AUTHORS 2016-05-25 11:30:52 UTC (rev 803) +++ trunk/fuse/AUTHORS 2016-06-01 10:46:07 UTC (rev 804) @@ -11,7 +11,7 @@ * John Elliott: for lib765, which provided Fuse's original emulation of the +3's FDC, and libdsk which provided support for more disk image formats: - see http://www.seasip.demon.co.uk/Unix/LibDsk/ + see http://www.seasip.info/Unix/LibDsk/index.html * Darren Salt: the original versions of the code for +3 emulation, SLT support, MITSHM support (for the Xlib UI), TZX raw data blocks, @@ -41,8 +41,8 @@ * Garry Lancaster: the simple 8-bit IDE, ZXATASP and ZXCF support. -* Gergely Szasz: +3, +D, Opus and Interface 1/Microdrive emulation, the 'movie' - code and the ao sound driver. +* Gergely Szasz: +3, +D, Opus, Didaktik 80 and Interface 1/Microdrive emulation, + the 'movie' code and the ALSO and ao sound drivers. * Bjoern Giesler: the original Wii port. @@ -54,4 +54,4 @@ * Philip Kendall: everything else. -$Id: AUTHORS 4972 2013-05-19 16:46:43Z zubzero $ +$Id: AUTHORS 5357 2016-02-23 23:43:54Z sbaldovi $ Property changes on: trunk/fuse/AUTHORS ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: trunk/fuse/COPYING =================================================================== --- trunk/fuse/COPYING 2016-05-25 11:30:52 UTC (rev 803) +++ trunk/fuse/COPYING 2016-06-01 10:46:07 UTC (rev 804) Property changes on: trunk/fuse/COPYING ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2016-05-25 11:30:52 UTC (rev 803) +++ trunk/fuse/ChangeLog 2016-06-01 10:46:07 UTC (rev 804) @@ -1,3 +1,172 @@ +2016-??-?? Philip Kendall <phi...@sh...> + + * Fuse 1.2.0 released. + + * New features: + * Add Currah µSource emulation (Stuart Brady). + * Add Didaktik 80/40 emulation (Gergely Szasz). + * Capture BASIC video functions to SVG file (Stefano Bodrato). + * Support bash completion (Sergio Baldoví). + + * Emulation core improvements: + * Allow continuing RZX recordings if there is a final snapshot in the + RZX (Sergio Baldoví). + * Fix the prune function on RZX rollback (Sergio Baldoví). + * Fix loading of EDSK files with Sector Offset block (Sergio Baldoví). + * Fix speech in Cobra's Arc - Medium Case.tzx when loaded with tape + traps enabled (thanks, zx81 and Sergio Baldoví) (Fredrick Meunier). + * Migrate disk "index event" handling to the FDD layer and have the + FDC layer use it for their STATUS registers (Gergely Szasz). + * Set AF, AF' and SP to 0xffff on reset (Stuart Brady). + * Leave most registers unchanged on a soft reset (Stuart Brady). + * Emulate interrupt and NMI timings more precisely (Stuart Brady). + * Emulate NMOS and CMOS Z80 variants (Stuart Brady). + * Switch to 2KB page size (Stuart Brady). + * Implement WD2797 emulation (Gergely Szasz). + * Skip tape traps if VERIFY is requested (UB880D). + * Fix inaccurate output when AY envelopes are used (Matthew Westcott + and Fredrick Meunier) + * Fix some peripherals activation when loading snapshots (Sergio + Baldoví). + * Fix loading sound with some custom loaders (Fredrick Meunier). + * Centralise the "Disk icon" update code to the FDD layer (Gergely + Szasz). + * Check if data blocks are headers for handling PZX files (Fredrick + Meunier). + * Correct display of pulses in PZX pulse block for tape browser + (Fredrick Meunier). + * Fix disk image corruption after saving UDI files (Sergio Baldoví). + * Check ready status after loading a disk into floppy disk drive + (thanks, John Elliott) (Sergio Baldoví). + * Fix overlapped SEEK commands (Sergio Baldoví). + * Fix length of data returned by READ_DIAG (thanks, Fredrick Meunier) + (Sergio Baldoví). + + * Machine specific improvements: + * The Timex SCLD is contended in all of the home, Dock and Exrom banks + in the 0x4000 - 0x7FFF range (thanks, rga24 from WoS) (Fredrick + Meunier). + * Clear all Opus RAM on hard reset (Stuart Brady). + * Ensure the ZX Printer does not require a hard reset to enable + (thanks, RMartins) (Fredrick Meunier). + * Fix timing of events when emulating Scorpion (Stuart Brady). + * Ensure we have successfully selected a Pentagon or a Timex machine + before inserting their media (Fredrick Meunier). + * Fix Beta 128 type II commands (thanks, windale and BogDan Vatra) + (Sergio Baldoví). + * Don't enable the Beta 128 interface when loading a snapshot on a + machine with Beta built-in (thanks, windale and BogDan Vatra) + (Fredrick Meunier). + * Lock port +3 1FFDh if paging is disabled (Brian Ruthven and Fredrick + Meunier). + * Spectranet: fix segfault in error handling when setting SO_REUSEADDR + (Stuart Brady). + * Prefer Scorpion to Pentagon when loading SCL/TRD disks for better + timing compatibility (part of feature request #90) (thanks, windale) + (Sergio Baldoví). + * Update SE ROMs to v4.07 (thanks, Andrew Owen) (Sergio Baldoví). + + * Debugger improvements: + * Fix disassembly of LD (HL), LD (IX) and LD (IY) (BogDan Vatra). + * Add I and R register setting and getting to the debugger (Sergio + Baldoví). + * Show the status of the halted flag in the debugger (Stuart Brady). + * Fix time breakpoints later than a frame in the future (Sergio + Baldoví). + * Timex EXROM and Dock text was truncated in the debugger UI (thanks, + Andrew Owen and Sergio Baldoví) (Fredrick Meunier). + * Don't trap on breakpoints whilst halted (Stuart Brady). + * Win32: relocate halted flag and set monospaced font (Sergio + Baldoví). + * Fix memory issues when removing a matched breakpoint (Tom Seddon). + * Signal the UI when the breakpoints list is changed (BogDan Vatra). + * Document IF token for conditional expressions in debugger section + (thanks, TK90XFan) (Sergio Baldoví). + * Fix documentation of address syntax used in debugger section + (Sergio Baldoví). + * Allow debugger to dereference memory locations (Philip Kendall). + + * Miscellaneous improvements: + * Remove warnings in aosound (Rene Ladan). + * Fix save tape traps with SE ROM (Andrew Owen and Fredrick Meunier). + * Don't ignore the return code from setuid() (Sergio Baldoví). + * Fix condition used in --with-desktop-dir option (thanks, wiz) + (Sergio Baldoví). + * Fix uninitialised keyboard button settings in GTK UI (UB880D). + * Fix pause when minimising Fuse on Windows (Sergio Baldoví). + * Generic FDD UI handling cleanup (Alex Badea). + * Remove unused macros on disk peripherals (Sergio Baldoví). + * Fix bad prototypes for activate signal on GTK UI (Sergio Baldoví). + * Ensure exiting on GTK UI when there are active breakpoints (Sergio + Baldoví). + * Improve scrolling of disassembly list on Win32 UI (Sergio Baldoví). + * Make mousewheel scrolling on memory browser GTK+ 3.4 compatible and + keep the selected row (Sergio Baldoví). + * Ignore unused-but-set-variable warnings for option dialogs on Win32 + UI (Sergio Baldoví). + * Link to autoload snapshot for NTSC Spectrum (Sergio Baldoví). + * Fix desktop integration rules to cope with VPATH builds (Sergio + Baldoví). + * Modernise autoconf support (Sergio Baldoví Baldoví). + * Use unzipped tapes for peripheral tests (thanks, Phil Reynolds) + (Sergio Baldoví). + * Fix empty list in pokefinder on GTK+ 3 (Sergio Baldoví). + * Prefer GTK+ 3 to GTK+ 2 (Sergio Baldoví). + * Abort start if we can't drop root privileges (Fredrick Meunier). + * Use real GLib if and only if libspectrum does and make GTK+ UI + depend on real GLib (Stuart Brady). + * Split tape/Microdrive options into a new Media Options dialogue + (Stuart Brady). + * Fix memory leak in joystick UI (Sergio Baldoví). + * Don't show an error when rewinding an empty tape (Sergio Baldoví). + * GTK UI: clear out row mark in tape browser when selecting another + block (Sergio Baldoví). + * Add missing const qualifiers and casts (Stuart and Sergio Baldoví). + * Split Select ROMs menu into Machines and Peripherals (Gergely + Szasz). + * Only try to load the fallback ROM if it is different to the standard + one (Fredrick Meunier). + * Use PATH_MAX instead of FILENAME_MAX as our standard compatibility + define (thanks, Brian Ruthven) (Fredrick Meunier). + * WidgetUI: Fix build on Solaris (thanks, Brian Ruthven) (Fredrick + Meunier). + * Fix C89 compilation (Adrien Destugues). + * Standardise the number of joystick buttons across UIs (UB880D). + * Add static to functions where appropriate (Stuart Brady). + * Track port attachment for each data bus line (Stuart Brady). + * Switch to using non-recursive makefile (thanks, Stuart Brady) + (Sergio Baldoví). + * Move Windows resources that are UI-independent to data/win32 + (Sergio Baldoví). + * Fix segfault due to inconsistent SETUP_CHECK() and CHECK() ordering + (UB880D; thanks, Guesser). + * Rename 'Interface I' to 'Interface 1' (thanks, Stuart Brady) (Sergio + Baldoví). + * Win32: fix compilation with mingwrt 4.0+ (Kirben). + * Replace various deprecated GTK+ functions: gtk_widget_modify_font, + GtkStock, gtk_tree_view_set_rules_hint(), + deprecated gdk_cursor_new() (Sergio Baldoví). + * Remove obsolete gtk_window_set_wmclass (Sergio Baldoví). + * Update URLs in documentation (Sergio Baldoví). + * Win32 UI: fix compilation with MinGW-w64 toolchain (lordhoto). + * Fix the build of SDL UI on Windows (Sergio Baldoví). + * Use compat_file_exists() instead of stat() in read_config_file() and + utils_find_file_path() (BogDan Vatra). + * Fix fdd_strerror() reading past the end of the fdd_error array + (BogDan Vatra). + * Use tape traps if we are using a custom ROM if the instructions at + the entry points have been preserved (thanks, Alberto Garcia) + (Fredrick Meunier). + * GTK+ and Win32 UI: add file filters in open/save dialogs (thanks, + Crisis) (Sergio Baldoví). + * Don't show hidden files/directories in the file selector on Widget + UIs (Sergio Baldoví). + * Remember filename when saving a recently formatted disk (Sergio + Baldoví). + * GTK UI: Change the resizing method for GTK+ UI for better + compatibility with GTK+ 3.20+ (thanks, Alberto Garcia) (Sergio + Baldoví). + 2013-05-24 Philip Kendall <phi...@sh...> * Fuse 1.1.1 released. @@ -1119,4 +1288,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 4995 2013-05-24 19:54:19Z zubzero $ +$Id: ChangeLog 5519 2016-05-23 19:15:02Z pak21 $ Property changes on: trunk/fuse/ChangeLog ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/fuse/INSTALL =================================================================== --- trunk/fuse/INSTALL 2016-05-25 11:30:52 UTC (rev 803) +++ trunk/fuse/INSTALL 2016-06-01 10:46:07 UTC (rev 804) @@ -64,8 +64,7 @@ ./configure --target=powerpc-gekko --host=powerpc-gekko \ --with-wii \ - --without-libxml2 --without-libiconv --without-gpm \ - --without-x --without-glib \ + --without-libxml2 --without-libiconv --without-gpm --without-x \ 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 \ @@ -82,8 +81,8 @@ Building the Win32 version of Fuse ---------------------------------- -You'll need to have the MinGW <http://www.mingw.org> or MinGW-w64 toolchain -<http://mingw-w64.sourceforge.net>, e.g., on Debian: +You'll need to have the MinGW <http://www.mingw.org/> or Mingw-w64 toolchain +<http://mingw-w64.org/>, e.g., on Debian: `apt-get install mingw32 mingw32-binutils mingw32-runtime' On Windows, besides the former toolchain, you'll need an environment that @@ -91,21 +90,21 @@ Cygwin <http://cygwin.com>. The next examples build libspectrum and Fuse without any external library for -the sake of clarity, but all these libraries successfully compile with MingGW +the sake of clarity, but all these libraries successfully compile with a MinGW environment - in case of problems with compiling any of the libs please refer to the lib's homepage for help. 1) On Linux, first have to compile libspectrum: ./configure --host=i586-mingw32msvc --without-libaudiofile --without-zlib \ - --without-libgcrypt --without-bzip2 --without-glib --prefix=`pwd` + --without-libgcrypt --without-bzip2 --with-fake-glib --prefix=`pwd` make install This should `install' into the source directory. Then, compile Fuse: -./configure --host=i586-mingw32msvc --without-glib --prefix=`pwd` \ +./configure --host=i586-mingw32msvc --prefix=`pwd` \ --with-libspectrum-prefix=`pwd`/../libspectrum --with-win32 \ --without-libxml2 --without-zlib --without-png --without-x make @@ -119,28 +118,28 @@ 2) On Windows, using MSYS + MinGW toolchain, first build libspectrum: -./configure --without-glib --without-libaudiofile --without-libgcrypt \ +./configure --with-fake-glib --without-libaudiofile --without-libgcrypt \ --without-zlib --without-bzip2 --prefix=/usr/local make install Then, build Fuse: -./configure --with-win32 --without-glib --without-libxml2 --without-zlib \ - --without-png --prefix=/usr/local +./configure --with-win32 --without-libxml2 --without-zlib --without-png \ + --prefix=/usr/local make -3) On Windows, using Cygwin + MinGW toolchain, first build libspectrum: +3) On Windows, using Cygwin + Mingw-w64 toolchain, first build libspectrum: -./configure --build=i686-pc-cygwin --host=i686-pc-mingw32 --without-glib \ +./configure --build=i686-pc-cygwin --host=i686-w64-mingw32 --with-fake-glib \ --without-libaudiofile --without-libgcrypt --without-zlib \ - --without-bzip2 --prefix=/usr/local/i686-pc + --without-bzip2 --prefix=/usr/local/i686-w64-mingw32 make install Then, build Fuse: -./configure --build=i686-pc-cygwin --host=i686-pc-mingw32 --with-win32 \ - --without-glib --without-libxml2 --without-zlib --without-png \ - --prefix=/usr/local/i686-pc +./configure --build=i686-pc-cygwin --host=i686-w64-mingw32 --without-libxml2 \ + --without-zlib --without-png --with-win32 \ + --prefix=/usr/local/i686-w64-mingw32 make Note: you need `libspectrum-8.dll' and the `roms' directory and the `lib' @@ -162,4 +161,4 @@ respectively. That will make a temporary subdirectory (fuse-VERSION-win32) in the build directory and then will create a package. -$Id: INSTALL 4763 2012-11-16 11:01:59Z fredm $ +$Id: INSTALL 5407 2016-04-25 21:59:53Z sbaldovi $ Property changes on: trunk/fuse/INSTALL ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2016-05-25 11:30:52 UTC (rev 803) +++ trunk/fuse/Makefile.am 2016-06-01 10:46:07 UTC (rev 804) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in -## Copyright (c) 1999-2009 Philip Kendall +## Copyright (c) 1999-2015 Philip Kendall -## $Id: Makefile.am 5003 2013-05-26 16:24:03Z sbaldovi $ +## $Id: Makefile.am 5434 2016-05-01 04:22: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 @@ -21,45 +21,12 @@ ## ## E-mail: phi...@sh... -AUTOMAKE_OPTIONS = foreign - ACLOCAL_AMFLAGS = -I m4 bin_PROGRAMS = fuse -SUBDIRS = @COMPAT_SUBDIR@ \ - data \ - debugger \ - hacking \ - lib \ - machines \ - man \ - peripherals \ - perl \ - pokefinder \ - roms \ - sound \ - timer \ - ui \ - unittests \ - z80 +noinst_PROGRAMS = -DIST_SUBDIRS = data \ - debugger \ - hacking \ - lib \ - machines \ - man \ - peripherals \ - perl \ - pokefinder \ - roms \ - sound \ - timer \ - ui \ - unittests \ - z80 - fuse_SOURCES = display.c \ event.c \ fuse.c \ @@ -83,94 +50,49 @@ snapshot.c \ sound.c \ spectrum.c \ + svg.c \ tape.c \ ui.c \ uidisplay.c \ + uimedia.c \ utils.c -if COMPAT_DIRNAME -fuse_SOURCES += compat/dirname.c -endif +fuse_LDADD = \ + $(PTHREAD_LIBS) \ + $(LIBSPEC_LIBS) \ + $(GTK_LIBS) \ + $(GLIB_LIBS) \ + $(PNG_LIBS) \ + $(SDL_LIBS) \ + $(X_LIBS) \ + $(XML_LIBS) -if COMPAT_GETOPT -fuse_SOURCES += compat/getopt.c compat/getopt1.c -endif +fuse_DEPENDENCIES = -if COMPAT_MKSTEMP -fuse_SOURCES += compat/mkstemp.c -endif +EXTRA_fuse_SOURCES = -if COMPAT_WIN32 -fuse_SOURCES += windres.rc -endif - -EXTRA_fuse_SOURCES = windres.rc - -fuse_LDADD = debugger/libdebugger.a \ -@UI_LIBS@ \ -debugger/libdebugger.a \ -machines/libmachines.a \ -peripherals/libperipherals.a \ -peripherals/disk/libdisk.a \ -peripherals/flash/libflash.a \ -peripherals/ide/libide.a \ -peripherals/nic/libnic.a \ -pokefinder/libpokefinder.a \ -sound/libsound.a \ -timer/libtimer.a \ -ui/scaler/libscaler.a \ -unittests/libunittests.a \ -z80/libz80.a \ -@LIBSPEC_LIBS@ \ -@GLIB_LIBS@ \ -@PNG_LIBS@ \ -@SOUND_LIBS@ \ -@SDL_LIBS@ \ -@X_LIBS@ \ -@XML_LIBS@ \ -compat/@COMPAT_OSNAME@/libcompatos.a \ -@WINDRES_OBJ@ - -fuse_DEPENDENCIES = debugger/libdebugger.a \ -@UI_LIBS@ \ -debugger/libdebugger.a \ -machines/libmachines.a \ -peripherals/libperipherals.a \ -peripherals/disk/libdisk.a \ -peripherals/flash/libflash.a \ -peripherals/ide/libide.a \ -peripherals/nic/libnic.a \ -pokefinder/libpokefinder.a \ -sound/libsound.a \ -timer/libtimer.a \ -ui/scaler/libscaler.a \ -unittests/libunittests.a \ -z80/libz80.a \ -compat/@COMPAT_OSNAME@/libcompatos.a \ -@WINDRES_OBJ@ - BUILT_SOURCES = options.h settings.c settings.h -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 $@ + $(AM_V_GEN)$(PERL) -I$(srcdir)/perl $(srcdir)/settings.pl $(srcdir)/settings.dat > $@.tmp && mv $@.tmp $@ settings.h: settings-header.pl settings.dat - @PERL@ -I$(srcdir)/perl $(srcdir)/settings-header.pl $(srcdir)/settings.dat > $@.tmp && mv $@.tmp $@ + $(AM_V_GEN)$(PERL) -I$(srcdir)/perl $(srcdir)/settings-header.pl $(srcdir)/settings.dat > $@.tmp && mv $@.tmp $@ -if WIDGET -options.h: $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/@WIDGET@/options-header.pl $(srcdir)/ui/options.dat $(srcdir)/perl/Fuse.pm $(srcdir)/perl/Fuse/Dialog.pm - @PERL@ $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/options.dat | @PERL@ -I$(srcdir)/perl $(srcdir)/ui/@WIDGET@/options-header.pl - public > $@.tmp && mv $@.tmp $@ -else -options.h: $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/@UI@/options-header.pl $(srcdir)/ui/options.dat $(srcdir)/perl/Fuse.pm $(srcdir)/perl/Fuse/Dialog.pm - @PERL@ $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/options.dat | @PERL@ -I$(srcdir)/perl $(srcdir)/ui/@UI@/options-header.pl - public > $@.tmp && mv $@.tmp $@ -endif +options.h: $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/@OPTIONS_DIR@/options-header.pl $(srcdir)/ui/options.dat $(srcdir)/perl/Fuse.pm $(srcdir)/perl/Fuse/Dialog.pm + $(AM_V_GEN)$(PERL) $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/options.dat | $(PERL) -I$(srcdir)/perl $(srcdir)/ui/@OPTIONS_DIR@/options-header.pl - public > $@.tmp && mv $@.tmp $@ -AM_CPPFLAGS = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ -@XML_CFLAGS@ -DFUSEDATADIR="\"${pkgdatadir}\"" @SDL_CFLAGS@ +AM_CPPFLAGS = \ + $(GLIB_CFLAGS) \ + $(GTK_CFLAGS) \ + $(LIBSPEC_CFLAGS) \ + $(XML_CFLAGS) \ + -DFUSEDATADIR="\"${pkgdatadir}\"" \ + $(SDL_CFLAGS) \ + $(PNG_CFLAGS) +AM_CFLAGS = $(WARN_CFLAGS) $(PTHREAD_CFLAGS) + noinst_HEADERS = bitmap.h \ compat.h \ display.h \ @@ -196,6 +118,7 @@ snapshot.h \ sound.h \ spectrum.h \ + svg.h \ tape.h \ utils.h \ options.h \ @@ -208,6 +131,7 @@ THANKS \ keysyms.dat \ keysyms.pl \ + m4/ax_pthread.m4 \ m4/glib-2.0.m4 \ m4/gtk-2.0.m4 \ m4/libxml.m4 \ @@ -215,115 +139,54 @@ m4/sdl.m4 \ menu_data.dat \ menu_data.pl \ + settings.dat \ settings.pl \ - settings-header.pl \ - settings.dat \ - winfuse.ico + settings-header.pl CLEANFILES = options.h \ settings.c \ settings.h -include compat/Makefile.am +DISTCLEANFILES = -if COMPAT_WIN32 +pkgdata_DATA = -package_win32=$(PACKAGE)-$(PACKAGE_VERSION)-win32 -top_win32dir=$(top_builddir)/$(package_win32) -install-win32: all - test -n "$(DESTDIR)" || { echo "ERROR: set DESTDIR path"; exit 1; } - $(MKDIR_P) $(DESTDIR)/roms/ || exit 1 - $(MKDIR_P) $(DESTDIR)/lib/ || exit 1 - cp $(top_srcdir)/roms/*.rom $(DESTDIR)/roms - cp $(top_srcdir)/roms/README.copyright $(DESTDIR)/roms - cp $(top_srcdir)/lib/*.bmp $(DESTDIR)/lib - cp $(top_srcdir)/lib/*.scr $(DESTDIR)/lib - cp $(top_builddir)/lib/*.szx $(DESTDIR)/lib -# Copy fuse executable (we should manually copy the required libraries) - cp $(top_builddir)/.libs/fuse$(EXEEXT) $(DESTDIR) || \ - cp $(top_builddir)/fuse$(EXEEXT) $(DESTDIR) -# Get text files - for file in AUTHORS ChangeLog COPYING README; \ - do cp "$(top_srcdir)/$$file" "$(DESTDIR)/$$file.txt"; \ - done -# Get manuals - if test -n "$(MAN2HTML)"; then \ - $(MAN2HTML) -r $(top_srcdir)/man/fuse.1 | sed '1d' > $(DESTDIR)/fuse.html; \ - else \ - test -z "$(GROFF)" || $(GROFF) -Thtml -man $(top_srcdir)/man/fuse.1 > $(DESTDIR)/fuse.html; \ - fi -# Convert to DOS line endings - test -z "$(UNIX2DOS)" || find $(DESTDIR) -type f \( -name "*.txt" -or -name "*.html" -or -name "*.copyright" \) -exec $(UNIX2DOS) {} \; +## Resources for Windows executables +if COMPAT_WIN32 -install-win32-strip: install-win32 - test -z "$(STRIP)" || $(STRIP) $(DESTDIR)/fuse$(EXEEXT) +fuse_SOURCES += windres.rc +fuse_LDADD += windres.o +fuse_DEPENDENCIES += windres.o -dist-win32-dir: - $(MAKE) DESTDIR="$(top_win32dir)" install-win32-strip +windres.o: windres.rc data/win32/winfuse.ico data/win32/fuse.manifest $(ui_win32_res) + $(AM_V_GEN)$(WINDRES) -I$(srcdir) -I. $(srcdir)/windres.rc $(LIBSPEC_CFLAGS) $(CPPFLAGS) windres.o -dist-win32-zip: dist-win32-dir - rm -f -- $(top_builddir)/$(package_win32).zip - rm -f -- $(top_builddir)/$(package_win32).zip.sha1 - test -n "$(top_win32dir)" || exit 1 - @test `find $(top_win32dir) -type f -name \*.dll -print | wc -l` -ne 0 || \ - { echo "ERROR: external libraries not found in $(top_win32dir). Please, manually copy them."; exit 1; } - cd $(top_win32dir) && \ - zip -q -9 -r $(abs_top_builddir)/$(package_win32).zip . - -sha1sum $(top_builddir)/$(package_win32).zip > $(top_builddir)/$(package_win32).zip.sha1 && \ - { test -z "$(UNIX2DOS)" || $(UNIX2DOS) $(top_builddir)/$(package_win32).zip.sha1; } +endif -dist-win32-7z: dist-win32-dir - rm -f -- $(top_builddir)/$(package_win32).7z - rm -f -- $(top_builddir)/$(package_win32).7z.sha1 - test -n "$(top_win32dir)" || exit 1 - @test `find $(top_win32dir) -type f -name \*.dll -print | wc -l` -ne 0 || \ - { echo "ERROR: external libraries not found in $(top_win32dir). Please, manually copy them."; exit 1; } - cd $(top_win32dir) && \ - 7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -bd $(abs_top_builddir)/$(package_win32).7z . - -sha1sum $(top_builddir)/$(package_win32).7z > $(top_builddir)/$(package_win32).7z.sha1 && \ - { test -z "$(UNIX2DOS)" || $(UNIX2DOS) $(top_builddir)/$(package_win32).7z.sha1; } -dist-win32-exe: dist-win32-dir - rm -f -- $(top_builddir)/$(package_win32)-setup.exe - rm -f -- $(top_builddir)/$(package_win32)-setup.exe.sha1 - test -n "$(top_win32dir)" || exit 1 - @test `find $(top_win32dir) -type f -name \*.dll -print | wc -l` -ne 0 || \ - { echo "ERROR: external libraries not found in $(top_win32dir). Please, manually copy them."; exit 1; } -# Locate NSIS in system path, MSYS drive or Cygwin drive - @NSISFILE="$(abs_top_builddir)/ui/win32/installer/fuse.nsi"; \ - if makensis -VERSION > /dev/null 2>&1; then \ - MAKENSIS="makensis"; \ - elif [ -x "/c/Program Files/NSIS/makensis" ]; then \ - MAKENSIS="/c/Program\ Files/NSIS/makensis"; \ - elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \ - MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \ - else \ - echo 'ERROR: cannot locate makensis tool'; exit 1; \ - fi; \ - case "`uname -s`" in \ - CYGWIN*) NSISFILE=`cygpath -m $$NSISFILE`;; \ - esac; \ - cd $(top_win32dir); \ - eval "$$MAKENSIS -V2 -NOCD $$NSISFILE" - mv $(top_win32dir)/$(package_win32)-setup.exe $(top_builddir) - -sha1sum $(top_builddir)/$(package_win32)-setup.exe > $(top_builddir)/$(package_win32)-setup.exe.sha1 && \ - { test -z "$(UNIX2DOS)" || $(UNIX2DOS) $(top_builddir)/$(package_win32)-setup.exe.sha1; } - -dist-win32: dist-win32-zip dist-win32-7z dist-win32-exe - -distclean-win32: - if test -d "$(top_builddir)/$(package_win32)"; then \ - rm -rf -- "$(top_builddir)/$(package_win32)"; \ - fi - rm -f -- $(top_builddir)/$(package_win32).zip - rm -f -- $(top_builddir)/$(package_win32).zip.sha1 - rm -f -- $(top_builddir)/$(package_win32).7z - rm -f -- $(top_builddir)/$(package_win32).7z.sha1 - rm -f -- $(top_builddir)/$(package_win32)-setup.exe - rm -f -- $(top_builddir)/$(package_win32)-setup.exe.sha1 - -.PHONY: install-win32 install-win32-strip dist-win32 dist-win32-dir \ - dist-win32-zip dist-win32-7z dist-win32-exe distclean-win32 - -endif +include compat/Makefile.am +include data/Makefile.am +include debugger/Makefile.am +include hacking/Makefile.am +include lib/Makefile.am +include machines/Makefile.am +include man/Makefile.am +include peripherals/Makefile.am +include perl/Makefile.am +include pokefinder/Makefile.am +include roms/Makefile.am +include sound/Makefile.am +include timer/Makefile.am +include ui/Makefile.am +include ui/fb/Makefile.am +include ui/gtk/Makefile.am +include ui/scaler/Makefile.am +include ui/sdl/Makefile.am +include ui/svga/Makefile.am +include ui/widget/Makefile.am +include ui/wii/Makefile.am +include ui/win32/Makefile.am +include ui/xlib/Makefile.am +include unittests/Makefile.am +include z80/Makefile.am Property changes on: trunk/fuse/Makefile.am ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: trunk/fuse/PORTING =================================================================== --- trunk/fuse/PORTING 2016-05-25 11:30:52 UTC (rev 803) +++ trunk/fuse/PORTING 2016-06-01 10:46:07 UTC (rev 804) Property changes on: trunk/fuse/PORTING ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2016-05-25 11:30:52 UTC (rev 803) +++ trunk/fuse/README 2016-06-01 10:46:07 UTC (rev 804) @@ -1,4 +1,4 @@ -The Free Unix Spectrum Emulator (Fuse) 1.1.1 +The Free Unix Spectrum Emulator (Fuse) 1.2.0 ============================================ Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat @@ -25,7 +25,8 @@ * Support for the RZX input recording file format, including rollback and 'competition mode'. * Emulation of the DivIDE, Interface 1, Kempston mouse, Spectrum +3e, - ZXATASP, ZXCF, Beta 128, Opus Discovery, +D and DISCiPLE interfaces. + ZXATASP, ZXCF, Beta 128, Opus Discovery, +D, DISCiPLE and Didaktik 80/40 + interfaces. Help! <xyz> doesn't work ------------------------ @@ -107,4 +108,4 @@ Philip Kendall <phi...@sh...> 24th May, 2013 -$Id: README 4995 2013-05-24 19:54:19Z zubzero $ +$Id: README 5403 2016-04-25 13:10:53Z fredm $ Property changes on: trunk/fuse/README ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/fuse/THANKS =================================================================== --- trunk/fuse/THANKS 2016-05-25 11:30:52 UTC (rev 803) +++ trunk/fuse/THANKS 2016-06-01 10:46:07 UTC (rev 804) @@ -29,7 +29,7 @@ you've got an Amiga, you may well like to check out Ian's Spectrum Emulator, ASp: http://www.lasernet.plus.com/asp.html -* Shawn Hargreaves: for Allegro (http://alleg.sourceforge.net/) +* Shawn Hargreaves: for Allegro (http://liballeg.org/) (again, used by previous versions of Fuse for the graphical display) * Steven Harrison: for helping track down why the SDL sound routines @@ -44,7 +44,7 @@ emulations (see `AUTHORS') * Gerton Lunter: his wonderful z80 - (ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/pc/dos/z80-400.zip) + (http://www.worldofspectrum.org/pub/sinclair/emulators/pc/windows/z80-400.zip) got me started on this emulation lark all those years ago... * Anders Holmberg: for reporting a bug in the z80 v1.45 load routines. Anders @@ -102,4 +102,4 @@ * Matan Ziv-Av: for various bits of code (see `AUTHORS') -$Id: THANKS 4882 2013-02-15 23:47:37Z sbaldovi $ +$Id: THANKS 5357 2016-0... [truncated message content] |
From: <fr...@us...> - 2016-06-18 13:46:21
|
Revision: 812 http://sourceforge.net/p/fuse-for-macosx/code/812 Author: fredm Date: 2016-06-18 13:46:18 +0000 (Sat, 18 Jun 2016) Log Message: ----------- Fix writing disks (thanks, Tom Collier). Modified Paths: -------------- trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/uimedia.c Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2016-06-08 11:16:43 UTC (rev 811) +++ trunk/fuse/fusepb/controllers/FuseController.m 2016-06-18 13:46:18 UTC (rev 812) @@ -2441,6 +2441,10 @@ /* We will be calling this from the Emulator thread */ err = ui_media_drive_save_with_filename( drive_info, filename ); + /* If we had a filename already it will only have been here - use the filename + we have used to write the file */ + filename = drive_info->fdd->disk.filename; + [self addRecentSnapshotWithString:@(filename)]; if( saveas == YES ) free( filename ); Modified: trunk/fuse/uimedia.c =================================================================== --- trunk/fuse/uimedia.c 2016-06-08 11:16:43 UTC (rev 811) +++ trunk/fuse/uimedia.c 2016-06-18 13:46:18 UTC (rev 812) @@ -225,12 +225,7 @@ int ui_media_drive_save( int which, int saveas ) { - ui_media_drive_info_t *drive; - - drive = ui_media_drive_find( which ); - if( !drive ) - return -1; - return ui_disk_write( drive, saveas ); + return ui_disk_write( which, saveas ); } static int This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2016-09-30 12:06:55
|
Revision: 824 http://sourceforge.net/p/fuse-for-macosx/code/824 Author: fredm Date: 2016-09-30 12:06:54 +0000 (Fri, 30 Sep 2016) Log Message: ----------- Compilation fixes for Xcode 8. Modified Paths: -------------- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/ui/cocoa/cocoaui.m Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2016-08-23 04:28:56 UTC (rev 823) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2016-09-30 12:06:54 UTC (rev 824) @@ -274,6 +274,7 @@ B6DCBC97114FA67200DC9A11 /* snap_accessors.txt in Sources */ = {isa = PBXBuildFile; fileRef = B6DCBC16114FA1AF00DC9A11 /* snap_accessors.txt */; }; B6DDE53C0D67963600D6F905 /* ui.c in Sources */ = {isa = PBXBuildFile; fileRef = B6DDE53B0D67963600D6F905 /* ui.c */; }; B6E0252C0B38AFE500E23A0F /* keysyms.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E0252B0B38AFE500E23A0F /* keysyms.m */; }; + B6E0CBA41D9E809000426949 /* unittests.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E0CBA21D9E809000426949 /* unittests.c */; }; B6E1F19C14F6527300600EB0 /* pzx_read.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F19B14F6527300600EB0 /* pzx_read.c */; }; B6E1F19E14F6528A00600EB0 /* utilities.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F19D14F6528A00600EB0 /* utilities.c */; }; B6E1F1A114F652E300600EB0 /* pokemem.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F19F14F652E300600EB0 /* pokemem.c */; }; @@ -281,7 +282,6 @@ B6E1F1AB14F653FB00600EB0 /* speccyboot.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F1A714F653FB00600EB0 /* speccyboot.c */; }; B6E1F1AD14F653FB00600EB0 /* specdrum.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F1A914F653FB00600EB0 /* specdrum.c */; }; B6E1F1B114F6555400600EB0 /* disciple.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F1AF14F6555400600EB0 /* disciple.c */; }; - B6E1F24414F7A14200600EB0 /* enc28j60.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F24214F7A14200600EB0 /* enc28j60.c */; }; B6E1F26E14F85BD500600EB0 /* speccyboot-1.4.rom in Resources */ = {isa = PBXBuildFile; fileRef = B6E1F26D14F85BD500600EB0 /* speccyboot-1.4.rom */; }; B6F047F60952A6D6006D8005 /* tape_se.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6F047F20952A6BA006D8005 /* tape_se.szx */; }; B6F047F70952A6D6006D8005 /* tape_ts2068.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6F047F30952A6BA006D8005 /* tape_ts2068.szx */; }; @@ -700,6 +700,8 @@ B6DDE5280D64D96E00D6F905 /* pentagon.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pentagon.h; sourceTree = "<group>"; }; B6DDE53B0D67963600D6F905 /* ui.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ui.c; sourceTree = "<group>"; }; B6E0252B0B38AFE500E23A0F /* keysyms.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = keysyms.m; sourceTree = "<group>"; }; + B6E0CBA21D9E809000426949 /* unittests.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = unittests.c; sourceTree = "<group>"; }; + B6E0CBA31D9E809000426949 /* unittests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unittests.h; sourceTree = "<group>"; }; B6E1F19B14F6527300600EB0 /* pzx_read.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pzx_read.c; sourceTree = "<group>"; }; B6E1F19D14F6528A00600EB0 /* utilities.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = utilities.c; sourceTree = "<group>"; }; B6E1F19F14F652E300600EB0 /* pokemem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pokemem.c; sourceTree = "<group>"; }; @@ -712,8 +714,6 @@ B6E1F1AA14F653FB00600EB0 /* specdrum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = specdrum.h; sourceTree = "<group>"; }; B6E1F1AF14F6555400600EB0 /* disciple.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = disciple.c; sourceTree = "<group>"; }; B6E1F1B014F6555400600EB0 /* disciple.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disciple.h; sourceTree = "<group>"; }; - B6E1F24214F7A14200600EB0 /* enc28j60.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = enc28j60.c; sourceTree = "<group>"; }; - B6E1F24314F7A14200600EB0 /* enc28j60.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enc28j60.h; sourceTree = "<group>"; }; B6E1F26D14F85BD500600EB0 /* speccyboot-1.4.rom */ = {isa = PBXFileReference; lastKnownFileType = file; name = "speccyboot-1.4.rom"; path = "../roms/speccyboot-1.4.rom"; sourceTree = "<group>"; }; B6E811F0084B5117008CF718 /* profile.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = profile.c; path = ../profile.c; sourceTree = SOURCE_ROOT; }; B6E811F1084B5117008CF718 /* profile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = profile.h; path = ../profile.h; sourceTree = SOURCE_ROOT; }; @@ -902,17 +902,18 @@ 29B97315FDCFA39411CA2CEA /* Other Sources */ = { isa = PBXGroup; children = ( - B6E1F19A14F6514000600EB0 /* peripherals */, B6DCBB5D114FA0E700DC9A11 /* libspectrum */, B63225E50C66B9D500BB081B /* compat */, B68CB2BC03DD91D800A804BA /* debugger */, F559859E038921E201A804BA /* fuse */, B68C32931D3BBEE50082CBD4 /* infrastructure */, B6AD8FE106221F7200C70D75 /* machines */, + B6E1F19A14F6514000600EB0 /* peripherals */, B64586CE059BC02C00934482 /* pokefinder */, B678E3E20608FAA600678A33 /* sound */, B63225EF0C66BA4B00BB081B /* timer */, F559859A038921CA01A804BA /* ui */, + B6E0CBA11D9E805900426949 /* unittests */, F559859C038921D601A804BA /* z80 */, F5598598038921C501A804BA /* config.h */, ); @@ -1361,6 +1362,15 @@ name = "Content Arrays"; sourceTree = "<group>"; }; + B6E0CBA11D9E805900426949 /* unittests */ = { + isa = PBXGroup; + children = ( + B6E0CBA21D9E809000426949 /* unittests.c */, + B6E0CBA31D9E809000426949 /* unittests.h */, + ); + path = unittests; + sourceTree = "<group>"; + }; B6E1F19A14F6514000600EB0 /* peripherals */ = { isa = PBXGroup; children = ( @@ -1405,8 +1415,6 @@ B6E1F24114F7A11C00600EB0 /* nic */ = { isa = PBXGroup; children = ( - B6E1F24214F7A14200600EB0 /* enc28j60.c */, - B6E1F24314F7A14200600EB0 /* enc28j60.h */, B69BE53D1660E02500C5D0CE /* w5100_internals.h */, B69BE53E1660E02500C5D0CE /* w5100_socket.c */, B69BE53F1660E02500C5D0CE /* w5100.c */, @@ -1807,6 +1815,7 @@ B61F469309121DF100C8096C /* profile.c in Sources */, B61F469409121DF100C8096C /* ide.c in Sources */, B6825549091817F30014B5EE /* divide.c in Sources */, + B6E0CBA41D9E809000426949 /* unittests.c in Sources */, B6403FD80A7E4B1A00E00B11 /* loader.c in Sources */, B6CE7F420B2830A300EB65B3 /* cocoajoystick.c in Sources */, B6CE7FCE0B28FBD600EB65B3 /* DisplayOpenGLView.m in Sources */, @@ -1898,7 +1907,6 @@ B6E1F1AB14F653FB00600EB0 /* speccyboot.c in Sources */, B6E1F1AD14F653FB00600EB0 /* specdrum.c in Sources */, B6E1F1B114F6555400600EB0 /* disciple.c in Sources */, - B6E1F24414F7A14200600EB0 /* enc28j60.c in Sources */, B61700F7163EAFC600142336 /* PokeMemoryController.m in Sources */, B69BE5331660DF5300C5D0CE /* socket.c in Sources */, B69BE5381660DF8B00C5D0CE /* movie.c in Sources */, Modified: trunk/fuse/ui/cocoa/cocoaui.m =================================================================== --- trunk/fuse/ui/cocoa/cocoaui.m 2016-08-23 04:28:56 UTC (rev 823) +++ trunk/fuse/ui/cocoa/cocoaui.m 2016-09-30 12:06:54 UTC (rev 824) @@ -155,3 +155,9 @@ withObject:nil waitUntilDone:NO]; } + +int +ui_get_rollback_point( GSList *points ) +{ + return -1; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2016-10-28 11:30:27
|
Revision: 832 http://sourceforge.net/p/fuse-for-macosx/code/832 Author: fredm Date: 2016-10-28 11:30:23 +0000 (Fri, 28 Oct 2016) Log Message: ----------- Fix for Recreated Spectrum bottom key row handling See [bugs:#23] Modified Paths: -------------- trunk/fuse/fusepb/models/Emulator.h trunk/fuse/fusepb/models/Emulator.m trunk/fuse/ui/cocoa/keysyms.m Modified: trunk/fuse/fusepb/models/Emulator.h =================================================================== --- trunk/fuse/fusepb/models/Emulator.h 2016-10-21 11:27:17 UTC (rev 831) +++ trunk/fuse/fusepb/models/Emulator.h 2016-10-28 11:30:23 UTC (rev 832) @@ -40,6 +40,7 @@ float timerInterval; GHashTable *unicode_keysyms_hash; + GHashTable *recreated_keysyms_hash; BOOL optDown; BOOL ctrlDown; Modified: trunk/fuse/fusepb/models/Emulator.m =================================================================== --- trunk/fuse/fusepb/models/Emulator.m 2016-10-21 11:27:17 UTC (rev 831) +++ trunk/fuse/fusepb/models/Emulator.m 2016-10-28 11:30:23 UTC (rev 832) @@ -57,6 +57,7 @@ #include "zxcf.h" extern keysyms_map_t unicode_keysyms_map[]; +extern keysyms_map_t recreated_keysyms_map[]; #include "sound/sfifo.h" @@ -629,17 +630,23 @@ ui_mouse_button( 2, 0 ); } --(void) initKeyboard +-(GHashTable*) initKeySymsHash:(keysyms_map_t *)keysyms_map { keysyms_map_t *ptr3; + GHashTable* keysyms_hash = g_hash_table_new( g_int_hash, g_int_equal ); - unicode_keysyms_hash = g_hash_table_new( g_int_hash, g_int_equal ); + for( ptr3 = keysyms_map; ptr3->ui; ptr3++ ) + g_hash_table_insert( keysyms_hash, &( ptr3->ui ), &( ptr3->fuse ) ); - for( ptr3 = (keysyms_map_t *)unicode_keysyms_map; ptr3->ui; ptr3++ ) - g_hash_table_insert( unicode_keysyms_hash, &( ptr3->ui ), - &( ptr3->fuse ) ); + return keysyms_hash; } +-(void) initKeyboard +{ + unicode_keysyms_hash = [self initKeySymsHash:unicode_keysyms_map]; + recreated_keysyms_hash = [self initKeySymsHash:recreated_keysyms_map]; +} + -(void) modifierChange:(input_event_type)theType oldState:(BOOL)old newState:(BOOL)new { if( old != new ) { @@ -735,12 +742,17 @@ input_key fuse_keysym; enum events event_type; - fuse_keysym = keysyms_remap( keyCode ); - if( fuse_keysym == INPUT_KEY_NONE ) { - fuse_keysym = [self otherKeysymsRemap:[characters characterAtIndex:0] - inHash:unicode_keysyms_hash]; + // If recreated ZX spectrum is enabled, look up unshifted key in recreated_keysyms_map, + // else move on to normal path + if( !( settings_current.recreated_spectrum && + (fuse_keysym = [self otherKeysymsRemap:keyCode inHash:recreated_keysyms_hash]) != INPUT_KEY_NONE) ) { + fuse_keysym = keysyms_remap( keyCode ); + if( fuse_keysym == INPUT_KEY_NONE ) { + fuse_keysym = [self otherKeysymsRemap:[characters characterAtIndex:0] + inHash:unicode_keysyms_hash]; + } } - + if( [self isSpecial:fuse_keysym] == YES ) { event_type = type == INPUT_EVENT_KEYPRESS ? PRESS_SPECIAL : RELEASE_SPECIAL; Modified: trunk/fuse/ui/cocoa/keysyms.m =================================================================== --- trunk/fuse/ui/cocoa/keysyms.m 2016-10-21 11:27:17 UTC (rev 831) +++ trunk/fuse/ui/cocoa/keysyms.m 2016-10-28 11:30:23 UTC (rev 832) @@ -49,7 +49,7 @@ { 82, INPUT_KEY_0 }, { 65, INPUT_KEY_period }, { 75, INPUT_KEY_slash }, - { 67, INPUT_KEY_asterisk }, + { 67, INPUT_KEY_asterisk }, { 78, INPUT_KEY_minus }, { 69, INPUT_KEY_plus }, { 76, INPUT_KEY_Return }, @@ -97,6 +97,21 @@ }; +/* Map ADC keyboard scancode to Fuse input layer keysym for Recreated + ZX Spectrum keyboard */ +keysyms_map_t recreated_keysyms_map[] = { + + { 44, INPUT_KEY_slash }, + { 41, INPUT_KEY_semicolon }, + { 43, INPUT_KEY_comma }, + { 47, INPUT_KEY_period }, + { 33, INPUT_KEY_bracketleft }, + { 30, INPUT_KEY_bracketright }, + + { 0, 0 } /* End marker: DO NOT MOVE! */ + +}; + /* Map UCS-2(?) Unicode to Fuse input layer keysym for non-extended mode Spectrum symbols present on keyboards */ keysyms_map_t unicode_keysyms_map[] = { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2016-11-04 00:53:10
|
Revision: 837 http://sourceforge.net/p/fuse-for-macosx/code/837 Author: fredm Date: 2016-11-04 00:53:08 +0000 (Fri, 04 Nov 2016) Log Message: ----------- Merge up to vendor last SVN trunk (r5829) prior to git migration. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/5829 Modified Paths: -------------- trunk/fuse/ChangeLog trunk/fuse/README trunk/fuse/configure.ac trunk/fuse/hacking/ChangeLog trunk/fuse/settings.pl trunk/fuse/ui/win32/win32keyboard.c Property Changed: ---------------- trunk/fuse/ Index: trunk/fuse =================================================================== --- trunk/fuse 2016-11-04 00:44:22 UTC (rev 836) +++ trunk/fuse 2016-11-04 00:53:08 UTC (rev 837) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-828 +/vendor/fuse-emulator/current/fuse:530-836 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2016-11-04 00:44:22 UTC (rev 836) +++ trunk/fuse/ChangeLog 2016-11-04 00:53:08 UTC (rev 837) @@ -1373,4 +1373,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 5818 2016-10-02 11:35:56Z fredm $ +$Id: ChangeLog 5829 2016-10-18 12:13:48Z fredm $ Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2016-11-04 00:44:22 UTC (rev 836) +++ trunk/fuse/README 2016-11-04 00:53:08 UTC (rev 837) @@ -110,4 +110,4 @@ Philip Kendall <phi...@sh...> 2nd October, 2016 -$Id: README 5818 2016-10-02 11:35:56Z fredm $ +$Id: README 5829 2016-10-18 12:13:48Z fredm $ Modified: trunk/fuse/configure.ac =================================================================== --- trunk/fuse/configure.ac 2016-11-04 00:44:22 UTC (rev 836) +++ trunk/fuse/configure.ac 2016-11-04 00:53:08 UTC (rev 837) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.ac 5809 2016-09-24 04:27:40Z fredm $ +dnl $Id: configure.ac 5829 2016-10-18 12:13:48Z 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 @@ -724,7 +724,7 @@ if test "$libxml2" = yes; then PKG_CHECK_MODULES( [XML], - [libxml-2.0], + [libxml-2.0 >= 2.6.0], [AC_DEFINE([HAVE_LIB_XML2], 1, [Defined if we've got libxml2])], [AC_MSG_WARN([libxml2 not found - config file will use ini format]) libxml2="no"] Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2016-11-04 00:44:22 UTC (rev 836) +++ trunk/fuse/hacking/ChangeLog 2016-11-04 00:53:08 UTC (rev 837) @@ -5446,3 +5446,9 @@ (Fred). 20160924 ChangeLog: tweak thanks for Recreated ZX feature and fix typo (Sergio). 20161002 ChangeLog,README,man/fuse.1: update release dates for 1.3.0 (Fred). +20161009 ui/win32/win32keyboard.c: must explicitly include glib.h as it is no + longer pulled in by libspectrum (fixes bug #362) (Guesser). +20161016 configure.ac,settings.pl: use xmlReadFile() from libxml2 instead of + xmlParseFile() (patch #381) (Sergio). +20161018 ChangeLog,README,configure.ac,man/fuse.1: merge changes from 1.3.0 + release (Fred). Modified: trunk/fuse/settings.pl =================================================================== --- trunk/fuse/settings.pl 2016-11-04 00:44:22 UTC (rev 836) +++ trunk/fuse/settings.pl 2016-11-04 00:53:08 UTC (rev 837) @@ -3,7 +3,7 @@ # settings.pl: generate settings.c from settings.dat # Copyright (c) 2002-2015 Philip Kendall, Fredrick Meunier -# $Id: settings.pl 5670 2016-07-08 21:33:08Z pak21 $ +# $Id: settings.pl 5826 2016-10-16 07:35:25Z sbaldovi $ # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by Modified: trunk/fuse/ui/win32/win32keyboard.c =================================================================== --- trunk/fuse/ui/win32/win32keyboard.c 2016-11-04 00:44:22 UTC (rev 836) +++ trunk/fuse/ui/win32/win32keyboard.c 2016-11-04 00:53:08 UTC (rev 837) @@ -29,6 +29,12 @@ #include <stdlib.h> #include <windows.h> +#ifdef HAVE_LIB_GLIB +#include <glib.h> +#endif /* #ifdef HAVE_LIB_GLIB */ + +#include <libspectrum.h> + #include "display.h" #include "fuse.h" #include "keyboard.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |