fuse-for-macosx-commits Mailing List for Fuse for macOS (Page 5)
Brought to you by:
fredm
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(9) |
Dec
(31) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(24) |
Feb
(11) |
Mar
(6) |
Apr
(48) |
May
(9) |
Jun
(38) |
Jul
(33) |
Aug
(15) |
Sep
|
Oct
(3) |
Nov
(6) |
Dec
(3) |
2008 |
Jan
|
Feb
(24) |
Mar
(11) |
Apr
(22) |
May
(7) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(3) |
Nov
(18) |
Dec
(23) |
2009 |
Jan
(16) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
(7) |
Jul
(4) |
Aug
(11) |
Sep
(9) |
Oct
|
Nov
(3) |
Dec
(2) |
2010 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(2) |
May
(8) |
Jun
|
Jul
|
Aug
(2) |
Sep
(2) |
Oct
(9) |
Nov
|
Dec
(8) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(2) |
Dec
|
2012 |
Jan
(4) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
(13) |
Dec
(11) |
2013 |
Jan
(4) |
Feb
(1) |
Mar
(8) |
Apr
(8) |
May
(16) |
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(4) |
2014 |
Jan
|
Feb
(6) |
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(6) |
2015 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(10) |
Jun
(9) |
Jul
(6) |
Aug
(5) |
Sep
(3) |
Oct
(6) |
Nov
(5) |
Dec
|
From: <fr...@us...> - 2013-04-11 12:08:45
|
Revision: 737 http://sourceforge.net/p/fuse-for-macosx/code/737 Author: fredm Date: 2013-04-11 12:08:41 +0000 (Thu, 11 Apr 2013) Log Message: ----------- Use "place of interest sign" symbol for Command. Modified Paths: -------------- trunk/fuse/fusepb/resources/Fuse Help/html/menus.html Modified: trunk/fuse/fusepb/resources/Fuse Help/html/menus.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/menus.html 2013-03-31 06:10:09 UTC (rev 736) +++ trunk/fuse/fusepb/resources/Fuse Help/html/menus.html 2013-04-11 12:08:41 UTC (rev 737) @@ -1,898 +1,836 @@ -<!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="Menus And Keys" --> - <title>Menus And Keys</title> -</head> -<body> -<font face="Lucida Grande,Helvetica,Arial"><a name="Menus And Keys"></a><!-- AppleSegDescription="This section describes the Fuse menus and options." --></font> -<div class="refsect1" xml:lang="en" lang="en"> -<h2><font face="Lucida Grande,Helvetica,Arial">Menus And -Keys</font></h2> -</div> -<p><font face="Lucida Grande,Helvetica,Arial">Since many of the -keys available are devoted to emulation of the Spectrum's keyboard, -the primary way of controlling Fuse itself (rather than the -emulated machine) is via the menus. There are also shortcuts for -some menu options.</font></p> -<p><font face="Lucida Grande,Helvetica,Arial">Here's what the menu -options do, along with the shortcuts for those items which have -them:<br> -</font></p> -<table style="text-align: left; width: 100%;" cellpadding="2" - cellspacing="2"> - <tbody> - <tr> - <th style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">MENU</font></th> - <th style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">SHORTCUT</font></th> - <th style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">DESCRIPTION</font></th> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Open File...</em></font></span></td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Command-O</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Open a Spectrum file. -Snapshots will be loaded into memory; tape images will be inserted -into the emulated tape deck, and if the <span class="emphasis"><em>Auto-load -tapes/disks</em></span> -option -is set will begin loading. Opening a disk image or a Timex dock -image will cause the appropriate machine type (+3, Pentagon or -TC2068) to be selected with the image inserted, and disks will -automatically load if the <span class="emphasis"><em>Auto-load -tapes/disks</em></span> option is set.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Save Snapshot As...</em></font></span></td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Shift-Command-S</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Save a snapshot (machine -state, memory contents, etc.). By default the file will be saved in -SZX format, you can also save in the Z80 or SNA formats by selecting -the appropriate format from the Format popup button.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording, Record...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start recording input to -an RZX file, initialised from the current emulation -state.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Record from -snapshot...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start recording input to -an RZX file, initialised from a snapshot. You will first be asked -for the snapshot to use and then for the file to save the recording -to.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Insert Bookmark</em></font></span></td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Command-B</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Inserts a bookmark of the current -state into the RZX file. This can be used at a later point to roll back -to the inserted state by using one of the commands below.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Go To Last Bookmark</em></font></span></td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Command-Z</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Rolls back the recording to the -point at which the previous bookmark was inserted. Recording will -continue from that point.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Go To Bookmark...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Roll back the recording to any -bookmark which has been inserted into the recording.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Play...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Playback recorded input -from an RZX file. This lets you replay keypresses recorded -previously. RZX files generally contain a snapshot with the -Spectrum's state at the start of the recording; if the selected RZX -file doesn't, you'll be prompted for a snapshot to load as -well.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Stop</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Stop any -currently-recording/playing RZX file.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -AY Sound Recording > Record...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start recording the -bytes output via the AY-3-8912 sound chip to a PSG file.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -AY Sound Recording > Stop</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Stop any current AY -logging.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Open Screenshot...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Load an SCR screenshot -(essentially just a binary dump of the Spectrum's video memory) -onto the current screen. Fuse supports screenshots saved in the -Timex hi-colour and hi-res modes as well as `normal' Spectrum -screens, and will make a simple conversion if a hi-colour or hi-res -screenshot is loaded onto a non-Timex machine.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Save Screenshot as...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Save a copy of -whatever's currently displayed on the Spectrum's screen as an SCR -file.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Export Screenshot...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Save the current screen -as any supported format (currently PNG, TIFF, BMP, JPG and GIF).</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Import Binary Data...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Load binary data from a -file into the Spectrum's memory. After selecting the file to load -data from, you can choose where to load the data and how much data -to load.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Export Binary Data...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Save an arbitrary chunk -of the Spectrum's memory to a file. Select the file you wish to -save to, followed by the location and length of data you wish to -save.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -Reset</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Reset the emulated -Spectrum.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -Hard Reset</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Reset the emulated -Spectrum. A hard reset is equivalent to turning the Spectrum's power -off, and then turning it back on.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -Debugger...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start the -monitor/debugger. See the <span class="emphasis"><em>Monitor/Debugger</em></span> -section -for -more information.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -Poke Finder...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start the `poke finder'. -See the <span class="emphasis"><em>Poke Finder</em></span> section for -more -information.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -Memory Browser...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start the memory -browser. It should be fairly obvious what this does; perhaps the -only thing worth noting is that emulation is paused until you close -the window.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -NMI</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Sends a non-maskable -interrupt to the emulated Spectrum. Due to a typo in the standard -48K ROM, this will cause a reset, but modified ROMs are available -which make use of this feature. When the +D (or DISCiPLE) is emulated, -this is used -to access the +D (or DISCiPLE)'s screenshot and snapshot features (see -the </font><font face="Lucida Grande,Helvetica,Arial"><span - class="emphasis"><em>+D -Emulation</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -and </font><font face="Lucida Grande,Helvetica,Arial"><span - class="emphasis"><em>DISCiPLE -Emulation</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -sections for more information). Note that GDOS on the DISCiPLE contains -a bug which causes corruption of saved snapshots, and a failure to -return from the NMI menu correctly. This bug is not present in -G+DOS on the +D.<br> - </font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Bind -Keys to Joystick</em></font></span></td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Command-J</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">If this option is -selected and the Keyboard joystick is configured via the </font><font - face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>Preferences</em></span></font><font - face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>, -Joysticks</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -menu, -the q, a, o, p, and space keys will not have -their normal effect and will be used as the up, down, left, right and -fire -buttons of the joystick respectively. This setting can be toggled with <span - class="emphasis"><em>Command-J</em></span>.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape -> -Open...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"> - <p><font face="Lucida Grande,Helvetica,Arial">Choose a TAP or TZX -virtual-tape file to load from. If <span class="emphasis"><em>Auto-load -tapes/disks</em></span> is -set -in the </font><font face="Lucida Grande,Helvetica,Arial"><span - class="emphasis"><em>Preferences, -General</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -dialog (as it is by default), the tape will -begin loading. Otherwise, you have to start the load in the -emulated machine (with LOAD "" or the 128's Tape Loader option, -though you may need to reset first).</font></p> - <font face="Lucida Grande,Helvetica,Arial"> </font> - <p><font face="Lucida Grande,Helvetica,Arial"> </font><font - face="Lucida Grande,Helvetica,Arial">To <span class="emphasis"><em>guarantee</em></span> -that TZX files -will load properly, you should select the file, make sure -tape-loading traps are disabled in the </font><font - face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>Preferences, -General</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -dialog, then -select the <span class="emphasis"><em>Tape, Play</em></span> -option. That said, most TZXs will work with tape-loading traps -enabled (often quickly loading partway, then loading the rest -real-time), so you might want to try it that way first.</font></p> - </td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape -> -Play</em></font></span> </td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start playing the TAP or -TZX file, if required. (Choosing the option again pauses playback, -and a further press resumes). To explain - if tape-loading traps -have been disabled (in the </font><font - face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>Preferences, -General</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -dialog), starting the -loading process in the emulated machine isn't enough. You also have -to `press play', so to speak :-), and this is how you do that. You -may also need to `press play' like this in certain other -circumstances, e.g. TZXs containing multi-load games may have a -stop-the-tape request (which Fuse obeys).</font> </td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape -> -Browse</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Browse through the -current tape. A brief display of each of the data blocks on the -current tape will appear, from which you can select which block -Fuse will play next. Emulation will continue while the browser is -displayed; clicking on a block will select it and `fast-foward' the -virtual tape deck.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span><span - style="font-family: Lucida Grande,Helvetica,Arial;"><span - style="font-style: italic;"> </span></span><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Tape > -Rewind</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Rewind the current -virtual tape, so it can be read again from the -beginning.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape -> -Close</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Close the current -virtual tape file. This is particularly useful when you want a `clean -slate' to add newly-saved files to, before doing <span class="emphasis"><em>Tape, -Save -As...</em></span></font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape -> -Save -As...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Write the current -virtual-tape contents to a TZX file. The virtual-tape contents are -the contents of the previously-loaded tape (if any has been loaded -since you last did a <span class="emphasis"><em>Tape, -Close</em></span>), followed by anything you've saved from the -emulated machine since. These newly-saved files are <span - class="emphasis"><em>not</em></span> written to any tape -file -until you choose this option!</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Virtual -Microdrive images are accessible only when the Interface I is active -from the </font><font face="Lucida Grande,Helvetica,Arial"><span - class="emphasis"><em>Preferences</em></span></font><font - face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>, -Peripherals</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -menu. Note that any changes to the Microdrive image will not be written -to the file on disk until the appropriate `eject and write' option is -used. Each Microdrive cartridge has it's own version of the following -menus:</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Insert -New</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Insert a new (unformatted) -Microdrive cartridge into emulated -Microdrive 1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Insert...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Select a Microdrive -cartridge image file -to read/write</font><font face="Lucida Grande,Helvetica,Arial"> into -emulated Microdrive 1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Eject</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Eject the Microdrive image in -Microdrive 1. If the image has been -modified, you will be asked as to whether you want any changes saved.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Save</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Save the Microdrive image in -Microdrive 1</font><font face="Lucida Grande,Helvetica,Arial">, and -then eject the image</font><font face="Lucida Grande,Helvetica,Arial">.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Save -as...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Write the Microdrive image in -Microdrive 1 to a new file, and then eject the image. You will be -prompted for a filename.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Write -protect -> -Enable</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Enable the write protect tab for -the image in Microdrive 1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive<br> - </em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Virtual disk images are -only accessible when emulating a disk interface, +3, Pentagon or -Scorpion. If any -of the disk options are selected while emulating a +3, they refer -to the +3's disk drives, which both default to being the 3" type (in -effect, -the internal drive plus an external FD-1). With the usual +3 format, -these have a capacity of 173K. If the Pentagon or Scorpion is being -emulated, these options refer to the Beta disk drives. If any -other machine is being emulated this menu cannot be selected unless a -disk interface like the Opus Discovery, +D, DISCiPLE or Beta 128 is -being -emulated. -(See <span class="emphasis"><em>The .DSK Format</em></span> and <span - class="emphasis"><em>Beta Disk Formats</em></span> -sections below for notes on the file formats supported).</font> - <p><font face="Lucida Grande,Helvetica,Arial">Note that (since -version 0.6.2), Fuse works with true virtual disk images: any -changes made to a disk image will not affect the file which was -`inserted' into the drive. If you do want to keep any changes, use -the appropriate `eject and write' option before exiting -Fuse.</font></p> - </td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A:</em></font></span><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em> > New</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Insert a new (unformatted) disk -cartridge into emulated drive A:/1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Insert...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Select a disk-image file -to read/write in the emulated drive A:/1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Eject</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Deselect the disk image -currently in the machine's drive A:/1 - or from the emulated machine's -perspective, -eject it. Note that any changes made to the image will not be -saved.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Save</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Deselect the disk image -currently in the machine's drive A:/1 and save the current state of -the disk.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Save -as...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Deselect the disk image -currently in the machine's drive A:/1 and save the current state of -the disk -to a new -file. </font><font face="Lucida Grande,Helvetica,Arial">You will be -prompted for a filename.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Flip</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Flip -the -disk image -currently in the machine's drive A:/1, only applicable for single sided -drives and two-sided disk images.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Write -Protect</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Enable the write protect tab for -the image in drive A:/1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -B:</em></font></span><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em> > New</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">As above, but for the machine's -drive -B:/1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -B: -> -Insert...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">As above, but for the -machine's -drive -B:/1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -B: > -Eject</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">As above, but for drive -B:/2.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -Drive -B: > Save</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">As above, but for drive -B:/2.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -Drive -B: > Save as...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">As above, but for drive -B:/2.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -B: -> -Flip</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Flip -the -disk image -currently in the machine's drive B:/2, only applicable for single sided -drives and two-sided disk images.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -B: -> -Write -Protect</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Enable the write protect tab for -the image in drive B:/2.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -Cartridge > Open...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">Insert a cartridge into -the Timex 2068 dock or Interface II </font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial">cartridge </font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial">slot. This -will cause the emulated machine to be -reset.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -Cartridge > -Close</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">Remove the cartridge -from the Timex 2068 dock</font></span><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"> or Interface II </font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial">cartridge </font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial">slot</font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial">. This -will cause the emulated machine to be -reset.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Master > Insert...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">Connect an IDE hard disk -to the current IDE interface's master -channel.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Master > Commit</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">Cause any writes which -have been done to virtual hard disk attached to the current IDE -interface's master channel to be committed to the real disk, such -that they survive the virtual disk being -ejected.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Master > Eject</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">Eject the virtual hard -disk from the current IDE interface's master channel. Note that -any writes to the virtual hard disk will be lost unless the <span - class="emphasis"><em>Media, IDE Master, -Commit</em></span> option is used before the disk is -ejected.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Slave > Insert...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">The same as the <span - class="emphasis"><em>Media, IDE -Master</em></span> entries above, but for the current IDE -interface's slave channel.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Slave > -Commit</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">The same as the <span - class="emphasis"><em>Media, IDE -Master</em></span> entries above, but for the current IDE -interface's slave channel.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Slave > Eject</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">The same as the <span - class="emphasis"><em>Media, IDE -Master</em></span> entries above, but for the current IDE -interface's slave channel.</font></span></td> - </tr> - </tbody> -</table> -<!-- AppleSegEnd --> -</body> + <head> + <meta http-equiv="content-type" content="text/html; + charset=ISO-8859-1"> + <!-- AppleSegStart="Menus And Keys" --> + <title>Menus And Keys</title> + </head> + <body> + <font face="Lucida Grande,Helvetica,Arial"><a name="Menus And Keys"></a><!-- AppleSegDescription="This section describes the Fuse menus and options." --></font> + <div class="refsect1" xml:lang="en" lang="en"> + <h2><font face="Lucida Grande,Helvetica,Arial">Menus And Keys</font></h2> + </div> + <p><font face="Lucida Grande,Helvetica,Arial">Since many of the keys + available are devoted to emulation of the Spectrum's keyboard, + the primary way of controlling Fuse itself (rather than the + emulated machine) is via the menus. There are also shortcuts for + some menu options.</font></p> + <p><font face="Lucida Grande,Helvetica,Arial">Here's what the menu + options do, along with the shortcuts for those items which have + them:<br> + </font></p> + <table style="text-align: left; width: 100%;" cellpadding="2" + cellspacing="2"> + <tbody> + <tr> + <th style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">MENU</font></th> + <th style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">SHORTCUT</font></th> + <th style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">DESCRIPTION</font></th> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > Open + File...</em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>⌘-O</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Open a Spectrum file. Snapshots + will be loaded into memory; tape images will be inserted + into the emulated tape deck, and if the <span + class="emphasis"><em>Auto-load tapes/disks</em></span> + option is set will begin loading. Opening a disk image or + a Timex dock image will cause the appropriate machine type + (+3, Pentagon or TC2068) to be selected with the image + inserted, and disks will automatically load if the <span + class="emphasis"><em>Auto-load tapes/disks</em></span> + option is set.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > Save + Snapshot As...</em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Shift-⌘-S</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Save a snapshot (machine state, + memory contents, etc.). By default the file will be saved + in SZX format, you can also save in the Z80 or SNA formats + by selecting the appropriate format from the Format popup + button.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording, Record...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start recording input to an RZX + file, initialised from the current emulation state.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Record from snapshot...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start recording input to an RZX + file, initialised from a snapshot. You will first be asked + for the snapshot to use and then for the file to save the + recording to.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Insert Bookmark</em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>⌘-B</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Inserts a bookmark of the current + state into the RZX file. This can be used at a later point + to roll back to the inserted state by using one of the + commands below.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Go To Last Bookmark</em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>⌘-Z</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Rolls back the recording to the + point at which the previous bookmark was inserted. + Recording will continue from that point.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Go To Bookmark...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Roll back the recording to any + bookmark which has been inserted into the recording.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Play...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Playback recorded input from an + RZX file. This lets you replay keypresses recorded + previously. RZX files generally contain a snapshot with + the Spectrum's state at the start of the recording; if the + selected RZX file doesn't, you'll be prompted for a + snapshot to load as well.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Stop</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Stop any + currently-recording/playing RZX file.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > AY + Sound Recording > Record...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start recording the bytes output + via the AY-3-8912 sound chip to a PSG file.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > AY + Sound Recording > Stop</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Stop any current AY logging.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > Open + Screenshot...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Load an SCR screenshot + (essentially just a binary dump of the Spectrum's video + memory) onto the current screen. Fuse supports screenshots + saved in the Timex hi-colour and hi-res modes as well as + `normal' Spectrum screens, and will make a simple + conversion if a hi-colour or hi-res screenshot is loaded + onto a non-Timex machine.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > Save + Screenshot as...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Save a copy of whatever's + currently displayed on the Spectrum's screen as an SCR + file.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Export Screenshot...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Save the current screen as any + supported format (currently PNG, TIFF, BMP, JPG and GIF).</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Import Binary Data...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Load binary data from a file into + the Spectrum's memory. After selecting the file to load + data from, you can choose where to load the data and how + much data to load.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Export Binary Data...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Save an arbitrary chunk of the + Spectrum's memory to a file. Select the file you wish to + save to, followed by the location and length of data you + wish to save.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + Reset</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Reset the emulated Spectrum.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + Hard Reset</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Reset the emulated Spectrum. A + hard reset is equivalent to turning the Spectrum's power + off, and then turning it back on.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + Debugger...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start the monitor/debugger. See + the <span class="emphasis"><em>Monitor/Debugger</em></span> + section for more information.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + Poke Finder...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start the `poke finder'. See the <span + class="emphasis"><em>Poke Finder</em></span> section for + more information.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + Memory Browser...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start the memory browser. It + should be fairly obvious what this does; perhaps the only + thing worth noting is that emulation is paused until you + close the window.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + NMI</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Sends a non-maskable interrupt to + the emulated Spectrum. Due to a typo in the standard 48K + ROM, this will cause a reset, but modified ROMs are + available which make use of this feature. When the +D (or + DISCiPLE) is emulated, this is used to access the +D (or + DISCiPLE)'s screenshot and snapshot features (see the </font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>+D Emulation</em></span></font><font + face="Lucida Grande,Helvetica,Arial"> and </font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>DISCiPLE Emulation</em></span></font><font + face="Lucida Grande,Helvetica,Arial"> sections for more + information). Note that GDOS on the DISCiPLE contains a + bug which causes corruption of saved snapshots, and a + failure to return from the NMI menu correctly. This + bug is not present in G+DOS on the +D.<br> + </font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Bind Keys to + Joystick</em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>⌘-J</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">If this option is selected and the + Keyboard joystick is configured via the </font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>Preferences</em></span></font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>, Joysticks</em></span></font><font + face="Lucida Grande,Helvetica,Arial"> menu, the q, a, o, + p, and space keys will not have their normal effect and + will be used as the up, down, left, right and fire buttons + of the joystick respectively. This setting can be toggled + with <span class="emphasis"><em>⌘-J</em></span>.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> + <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Tape > Open...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"> + <p><font face="Lucida Grande,Helvetica,Arial">Choose a TAP + or TZX virtual-tape file to load from. If <span + class="emphasis"><em>Auto-load tapes/disks</em></span> + is set in the </font><font face="Lucida + Grande,Helvetica,Arial"><span class="emphasis"><em>Preferences, + + General</em></span></font><font face="Lucida + Grande,Helvetica,Arial"> dialog (as it is by default), + the tape will begin loading. Otherwise, you have to + start the load in the emulated machine (with LOAD "" or + the 128's Tape Loader option, though you may need to + reset first).</font></p> + <font face="Lucida Grande,Helvetica,Arial"> </font> + <p><font face="Lucida Grande,Helvetica,Arial"> </font><font + face="Lucida Grande,Helvetica,Arial">To <span + class="emphasis"><em>guarantee</em></span> that TZX + files will load properly, you should select the file, + make sure tape-loading traps are disabled in the </font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>Preferences, General</em></span></font><font + face="Lucida Grande,Helvetica,Arial"> dialog, then + select the <span class="emphasis"><em>Tape, Play</em></span> + option. That said, most TZXs will work with tape-loading + traps enabled (often quickly loading partway, then + loading the rest real-time), so you might want to try it + that way first.</font></p> + </td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> + <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Tape > Play</em></font></span> + </td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start playing the TAP or TZX file, + if required. (Choosing the option again pauses playback, + and a further press resumes). To explain - if tape-loading + traps have been disabled (in the </font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>Preferences, General</em></span></font><font + face="Lucida Grande,Helvetica,Arial"> dialog), starting + the loading process in the emulated machine isn't enough. + You also have to `press play', so to speak :-), and this + is how you do that. You may also need to `press play' like + this in certain other circumstances, e.g. TZXs containing + multi-load games may have a stop-the-tape request (which + Fuse obeys).</font> </td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> + <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Tape > Browse</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Browse through the current tape. A + brief display of each of the data blocks on the current + tape will appear, from... [truncated message content] |
From: <fr...@us...> - 2013-04-11 11:47:43
|
Revision: 704 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=704&view=rev Author: fredm Date: 2013-04-11 11:47:33 +0000 (Thu, 11 Apr 2013) Log Message: ----------- Use PLACE-OF-INTEREST SIGN Unicode symbol for Command key. Modified Paths: -------------- trunk/fuse/fusepb/resources/Fuse Help/html/menus.html Modified: trunk/fuse/fusepb/resources/Fuse Help/html/menus.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/menus.html 2012-11-02 12:39:26 UTC (rev 703) +++ trunk/fuse/fusepb/resources/Fuse Help/html/menus.html 2013-04-11 11:47:33 UTC (rev 704) @@ -1,898 +1,836 @@ -<!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="Menus And Keys" --> - <title>Menus And Keys</title> -</head> -<body> -<font face="Lucida Grande,Helvetica,Arial"><a name="Menus And Keys"></a><!-- AppleSegDescription="This section describes the Fuse menus and options." --></font> -<div class="refsect1" xml:lang="en" lang="en"> -<h2><font face="Lucida Grande,Helvetica,Arial">Menus And -Keys</font></h2> -</div> -<p><font face="Lucida Grande,Helvetica,Arial">Since many of the -keys available are devoted to emulation of the Spectrum's keyboard, -the primary way of controlling Fuse itself (rather than the -emulated machine) is via the menus. There are also shortcuts for -some menu options.</font></p> -<p><font face="Lucida Grande,Helvetica,Arial">Here's what the menu -options do, along with the shortcuts for those items which have -them:<br> -</font></p> -<table style="text-align: left; width: 100%;" cellpadding="2" - cellspacing="2"> - <tbody> - <tr> - <th style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">MENU</font></th> - <th style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">SHORTCUT</font></th> - <th style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">DESCRIPTION</font></th> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Open File...</em></font></span></td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Command-O</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Open a Spectrum file. -Snapshots will be loaded into memory; tape images will be inserted -into the emulated tape deck, and if the <span class="emphasis"><em>Auto-load -tapes/disks</em></span> -option -is set will begin loading. Opening a disk image or a Timex dock -image will cause the appropriate machine type (+3, Pentagon or -TC2068) to be selected with the image inserted, and disks will -automatically load if the <span class="emphasis"><em>Auto-load -tapes/disks</em></span> option is set.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Save Snapshot As...</em></font></span></td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Shift-Command-S</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Save a snapshot (machine -state, memory contents, etc.). By default the file will be saved in -SZX format, you can also save in the Z80 or SNA formats by selecting -the appropriate format from the Format popup button.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording, Record...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start recording input to -an RZX file, initialised from the current emulation -state.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Record from -snapshot...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start recording input to -an RZX file, initialised from a snapshot. You will first be asked -for the snapshot to use and then for the file to save the recording -to.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Insert Bookmark</em></font></span></td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Command-B</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Inserts a bookmark of the current -state into the RZX file. This can be used at a later point to roll back -to the inserted state by using one of the commands below.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Go To Last Bookmark</em></font></span></td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Command-Z</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Rolls back the recording to the -point at which the previous bookmark was inserted. Recording will -continue from that point.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Go To Bookmark...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Roll back the recording to any -bookmark which has been inserted into the recording.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Play...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Playback recorded input -from an RZX file. This lets you replay keypresses recorded -previously. RZX files generally contain a snapshot with the -Spectrum's state at the start of the recording; if the selected RZX -file doesn't, you'll be prompted for a snapshot to load as -well.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Emulator Recording > Stop</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Stop any -currently-recording/playing RZX file.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -AY Sound Recording > Record...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start recording the -bytes output via the AY-3-8912 sound chip to a PSG file.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -AY Sound Recording > Stop</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Stop any current AY -logging.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Open Screenshot...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Load an SCR screenshot -(essentially just a binary dump of the Spectrum's video memory) -onto the current screen. Fuse supports screenshots saved in the -Timex hi-colour and hi-res modes as well as `normal' Spectrum -screens, and will make a simple conversion if a hi-colour or hi-res -screenshot is loaded onto a non-Timex machine.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Save Screenshot as...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Save a copy of -whatever's currently displayed on the Spectrum's screen as an SCR -file.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Export Screenshot...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Save the current screen -as any supported format (currently PNG, TIFF, BMP, JPG and GIF).</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Import Binary Data...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Load binary data from a -file into the Spectrum's memory. After selecting the file to load -data from, you can choose where to load the data and how much data -to load.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>File > -Export Binary Data...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Save an arbitrary chunk -of the Spectrum's memory to a file. Select the file you wish to -save to, followed by the location and length of data you wish to -save.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -Reset</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Reset the emulated -Spectrum.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -Hard Reset</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Reset the emulated -Spectrum. A hard reset is equivalent to turning the Spectrum's power -off, and then turning it back on.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -Debugger...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start the -monitor/debugger. See the <span class="emphasis"><em>Monitor/Debugger</em></span> -section -for -more information.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -Poke Finder...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start the `poke finder'. -See the <span class="emphasis"><em>Poke Finder</em></span> section for -more -information.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -Memory Browser...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start the memory -browser. It should be fairly obvious what this does; perhaps the -only thing worth noting is that emulation is paused until you close -the window.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Machine > -NMI</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Sends a non-maskable -interrupt to the emulated Spectrum. Due to a typo in the standard -48K ROM, this will cause a reset, but modified ROMs are available -which make use of this feature. When the +D (or DISCiPLE) is emulated, -this is used -to access the +D (or DISCiPLE)'s screenshot and snapshot features (see -the </font><font face="Lucida Grande,Helvetica,Arial"><span - class="emphasis"><em>+D -Emulation</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -and </font><font face="Lucida Grande,Helvetica,Arial"><span - class="emphasis"><em>DISCiPLE -Emulation</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -sections for more information). Note that GDOS on the DISCiPLE contains -a bug which causes corruption of saved snapshots, and a failure to -return from the NMI menu correctly. This bug is not present in -G+DOS on the +D.<br> - </font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Bind -Keys to Joystick</em></font></span></td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Command-J</em></font></span></td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">If this option is -selected and the Keyboard joystick is configured via the </font><font - face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>Preferences</em></span></font><font - face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>, -Joysticks</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -menu, -the q, a, o, p, and space keys will not have -their normal effect and will be used as the up, down, left, right and -fire -buttons of the joystick respectively. This setting can be toggled with <span - class="emphasis"><em>Command-J</em></span>.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape -> -Open...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"> - <p><font face="Lucida Grande,Helvetica,Arial">Choose a TAP or TZX -virtual-tape file to load from. If <span class="emphasis"><em>Auto-load -tapes/disks</em></span> is -set -in the </font><font face="Lucida Grande,Helvetica,Arial"><span - class="emphasis"><em>Preferences, -General</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -dialog (as it is by default), the tape will -begin loading. Otherwise, you have to start the load in the -emulated machine (with LOAD "" or the 128's Tape Loader option, -though you may need to reset first).</font></p> - <font face="Lucida Grande,Helvetica,Arial"> </font> - <p><font face="Lucida Grande,Helvetica,Arial"> </font><font - face="Lucida Grande,Helvetica,Arial">To <span class="emphasis"><em>guarantee</em></span> -that TZX files -will load properly, you should select the file, make sure -tape-loading traps are disabled in the </font><font - face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>Preferences, -General</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -dialog, then -select the <span class="emphasis"><em>Tape, Play</em></span> -option. That said, most TZXs will work with tape-loading traps -enabled (often quickly loading partway, then loading the rest -real-time), so you might want to try it that way first.</font></p> - </td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape -> -Play</em></font></span> </td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Start playing the TAP or -TZX file, if required. (Choosing the option again pauses playback, -and a further press resumes). To explain - if tape-loading traps -have been disabled (in the </font><font - face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>Preferences, -General</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -dialog), starting the -loading process in the emulated machine isn't enough. You also have -to `press play', so to speak :-), and this is how you do that. You -may also need to `press play' like this in certain other -circumstances, e.g. TZXs containing multi-load games may have a -stop-the-tape request (which Fuse obeys).</font> </td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape -> -Browse</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Browse through the -current tape. A brief display of each of the data blocks on the -current tape will appear, from which you can select which block -Fuse will play next. Emulation will continue while the browser is -displayed; clicking on a block will select it and `fast-foward' the -virtual tape deck.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span><span - style="font-family: Lucida Grande,Helvetica,Arial;"><span - style="font-style: italic;"> </span></span><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Tape > -Rewind</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Rewind the current -virtual tape, so it can be read again from the -beginning.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape -> -Close</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Close the current -virtual tape file. This is particularly useful when you want a `clean -slate' to add newly-saved files to, before doing <span class="emphasis"><em>Tape, -Save -As...</em></span></font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Tape -> -Save -As...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Write the current -virtual-tape contents to a TZX file. The virtual-tape contents are -the contents of the previously-loaded tape (if any has been loaded -since you last did a <span class="emphasis"><em>Tape, -Close</em></span>), followed by anything you've saved from the -emulated machine since. These newly-saved files are <span - class="emphasis"><em>not</em></span> written to any tape -file -until you choose this option!</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Virtual -Microdrive images are accessible only when the Interface I is active -from the </font><font face="Lucida Grande,Helvetica,Arial"><span - class="emphasis"><em>Preferences</em></span></font><font - face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em>, -Peripherals</em></span></font><font face="Lucida Grande,Helvetica,Arial"> -menu. Note that any changes to the Microdrive image will not be written -to the file on disk until the appropriate `eject and write' option is -used. Each Microdrive cartridge has it's own version of the following -menus:</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Insert -New</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Insert a new (unformatted) -Microdrive cartridge into emulated -Microdrive 1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Insert...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Select a Microdrive -cartridge image file -to read/write</font><font face="Lucida Grande,Helvetica,Arial"> into -emulated Microdrive 1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Eject</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Eject the Microdrive image in -Microdrive 1. If the image has been -modified, you will be asked as to whether you want any changes saved.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Save</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Save the Microdrive image in -Microdrive 1</font><font face="Lucida Grande,Helvetica,Arial">, and -then eject the image</font><font face="Lucida Grande,Helvetica,Arial">.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Save -as...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Write the Microdrive image in -Microdrive 1 to a new file, and then eject the image. You will be -prompted for a filename.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Microdrive -1 -> -Write -protect -> -Enable</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Enable the write protect tab for -the image in Microdrive 1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive<br> - </em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Virtual disk images are -only accessible when emulating a disk interface, +3, Pentagon or -Scorpion. If any -of the disk options are selected while emulating a +3, they refer -to the +3's disk drives, which both default to being the 3" type (in -effect, -the internal drive plus an external FD-1). With the usual +3 format, -these have a capacity of 173K. If the Pentagon or Scorpion is being -emulated, these options refer to the Beta disk drives. If any -other machine is being emulated this menu cannot be selected unless a -disk interface like the Opus Discovery, +D, DISCiPLE or Beta 128 is -being -emulated. -(See <span class="emphasis"><em>The .DSK Format</em></span> and <span - class="emphasis"><em>Beta Disk Formats</em></span> -sections below for notes on the file formats supported).</font> - <p><font face="Lucida Grande,Helvetica,Arial">Note that (since -version 0.6.2), Fuse works with true virtual disk images: any -changes made to a disk image will not affect the file which was -`inserted' into the drive. If you do want to keep any changes, use -the appropriate `eject and write' option before exiting -Fuse.</font></p> - </td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A:</em></font></span><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em> > New</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Insert a new (unformatted) disk -cartridge into emulated drive A:/1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Insert...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Select a disk-image file -to read/write in the emulated drive A:/1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Eject</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Deselect the disk image -currently in the machine's drive A:/1 - or from the emulated machine's -perspective, -eject it. Note that any changes made to the image will not be -saved.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Save</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Deselect the disk image -currently in the machine's drive A:/1 and save the current state of -the disk.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Save -as...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Deselect the disk image -currently in the machine's drive A:/1 and save the current state of -the disk -to a new -file. </font><font face="Lucida Grande,Helvetica,Arial">You will be -prompted for a filename.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Flip</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Flip -the -disk image -currently in the machine's drive A:/1, only applicable for single sided -drives and two-sided disk images.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -A: -> -Write -Protect</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Enable the write protect tab for -the image in drive A:/1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -B:</em></font></span><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em> > New</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">As above, but for the machine's -drive -B:/1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -B: -> -Insert...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">As above, but for the -machine's -drive -B:/1.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > </em></font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -B: > -Eject</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">As above, but for drive -B:/2.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -Drive -B: > Save</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">As above, but for drive -B:/2.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -Drive -B: > Save as...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">As above, but for drive -B:/2.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -B: -> -Flip</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Flip -the -disk image -currently in the machine's drive B:/2, only applicable for single sided -drives and two-sided disk images.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Drive -B: -> -Write -Protect</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><font - face="Lucida Grande,Helvetica,Arial">Enable the write protect tab for -the image in drive B:/2.</font></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -Cartridge > Open...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">Insert a cartridge into -the Timex 2068 dock or Interface II </font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial">cartridge </font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial">slot. This -will cause the emulated machine to be -reset.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -Cartridge > -Close</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">Remove the cartridge -from the Timex 2068 dock</font></span><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"> or Interface II </font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial">cartridge </font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial">slot</font></span><span - class="emphasis"><font face="Lucida Grande,Helvetica,Arial">. This -will cause the emulated machine to be -reset.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Master > Insert...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">Connect an IDE hard disk -to the current IDE interface's master -channel.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Master > Commit</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">Cause any writes which -have been done to virtual hard disk attached to the current IDE -interface's master channel to be committed to the real disk, such -that they survive the virtual disk being -ejected.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Master > Eject</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">Eject the virtual hard -disk from the current IDE interface's master channel. Note that -any writes to the virtual hard disk will be lost unless the <span - class="emphasis"><em>Media, IDE Master, -Commit</em></span> option is used before the disk is -ejected.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Slave > Insert...</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">The same as the <span - class="emphasis"><em>Media, IDE -Master</em></span> entries above, but for the current IDE -interface's slave channel.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Slave > -Commit</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">The same as the <span - class="emphasis"><em>Media, IDE -Master</em></span> entries above, but for the current IDE -interface's slave channel.</font></span></td> - </tr> - <tr> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial"><em>Media > -IDE -Slave > Eject</em></font></span></td> - <td style="vertical-align: top;"><br> - </td> - <td style="vertical-align: top;"><span class="emphasis"><font - face="Lucida Grande,Helvetica,Arial">The same as the <span - class="emphasis"><em>Media, IDE -Master</em></span> entries above, but for the current IDE -interface's slave channel.</font></span></td> - </tr> - </tbody> -</table> -<!-- AppleSegEnd --> -</body> + <head> + <meta http-equiv="content-type" content="text/html; + charset=ISO-8859-1"> + <!-- AppleSegStart="Menus And Keys" --> + <title>Menus And Keys</title> + </head> + <body> + <font face="Lucida Grande,Helvetica,Arial"><a name="Menus And Keys"></a><!-- AppleSegDescription="This section describes the Fuse menus and options." --></font> + <div class="refsect1" xml:lang="en" lang="en"> + <h2><font face="Lucida Grande,Helvetica,Arial">Menus And Keys</font></h2> + </div> + <p><font face="Lucida Grande,Helvetica,Arial">Since many of the keys + available are devoted to emulation of the Spectrum's keyboard, + the primary way of controlling Fuse itself (rather than the + emulated machine) is via the menus. There are also shortcuts for + some menu options.</font></p> + <p><font face="Lucida Grande,Helvetica,Arial">Here's what the menu + options do, along with the shortcuts for those items which have + them:<br> + </font></p> + <table style="text-align: left; width: 100%;" cellpadding="2" + cellspacing="2"> + <tbody> + <tr> + <th style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">MENU</font></th> + <th style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">SHORTCUT</font></th> + <th style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">DESCRIPTION</font></th> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > Open + File...</em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>⌘-O</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Open a Spectrum file. Snapshots + will be loaded into memory; tape images will be inserted + into the emulated tape deck, and if the <span + class="emphasis"><em>Auto-load tapes/disks</em></span> + option is set will begin loading. Opening a disk image or + a Timex dock image will cause the appropriate machine type + (+3, Pentagon or TC2068) to be selected with the image + inserted, and disks will automatically load if the <span + class="emphasis"><em>Auto-load tapes/disks</em></span> + option is set.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > Save + Snapshot As...</em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Shift-⌘-S</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Save a snapshot (machine state, + memory contents, etc.). By default the file will be saved + in SZX format, you can also save in the Z80 or SNA formats + by selecting the appropriate format from the Format popup + button.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording, Record...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start recording input to an RZX + file, initialised from the current emulation state.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Record from snapshot...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start recording input to an RZX + file, initialised from a snapshot. You will first be asked + for the snapshot to use and then for the file to save the + recording to.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Insert Bookmark</em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>⌘-B</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Inserts a bookmark of the current + state into the RZX file. This can be used at a later point + to roll back to the inserted state by using one of the + commands below.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Go To Last Bookmark</em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>⌘-Z</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Rolls back the recording to the + point at which the previous bookmark was inserted. + Recording will continue from that point.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Go To Bookmark...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Roll back the recording to any + bookmark which has been inserted into the recording.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Play...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Playback recorded input from an + RZX file. This lets you replay keypresses recorded + previously. RZX files generally contain a snapshot with + the Spectrum's state at the start of the recording; if the + selected RZX file doesn't, you'll be prompted for a + snapshot to load as well.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Emulator Recording > Stop</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Stop any + currently-recording/playing RZX file.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > AY + Sound Recording > Record...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start recording the bytes output + via the AY-3-8912 sound chip to a PSG file.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > AY + Sound Recording > Stop</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Stop any current AY logging.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > Open + Screenshot...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Load an SCR screenshot + (essentially just a binary dump of the Spectrum's video + memory) onto the current screen. Fuse supports screenshots + saved in the Timex hi-colour and hi-res modes as well as + `normal' Spectrum screens, and will make a simple + conversion if a hi-colour or hi-res screenshot is loaded + onto a non-Timex machine.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > Save + Screenshot as...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Save a copy of whatever's + currently displayed on the Spectrum's screen as an SCR + file.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Export Screenshot...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Save the current screen as any + supported format (currently PNG, TIFF, BMP, JPG and GIF).</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Import Binary Data...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Load binary data from a file into + the Spectrum's memory. After selecting the file to load + data from, you can choose where to load the data and how + much data to load.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>File > + Export Binary Data...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Save an arbitrary chunk of the + Spectrum's memory to a file. Select the file you wish to + save to, followed by the location and length of data you + wish to save.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + Reset</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Reset the emulated Spectrum.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + Hard Reset</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Reset the emulated Spectrum. A + hard reset is equivalent to turning the Spectrum's power + off, and then turning it back on.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + Debugger...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start the monitor/debugger. See + the <span class="emphasis"><em>Monitor/Debugger</em></span> + section for more information.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + Poke Finder...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start the `poke finder'. See the <span + class="emphasis"><em>Poke Finder</em></span> section for + more information.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + Memory Browser...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start the memory browser. It + should be fairly obvious what this does; perhaps the only + thing worth noting is that emulation is paused until you + close the window.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Machine > + NMI</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Sends a non-maskable interrupt to + the emulated Spectrum. Due to a typo in the standard 48K + ROM, this will cause a reset, but modified ROMs are + available which make use of this feature. When the +D (or + DISCiPLE) is emulated, this is used to access the +D (or + DISCiPLE)'s screenshot and snapshot features (see the </font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>+D Emulation</em></span></font><font + face="Lucida Grande,Helvetica,Arial"> and </font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>DISCiPLE Emulation</em></span></font><font + face="Lucida Grande,Helvetica,Arial"> sections for more + information). Note that GDOS on the DISCiPLE contains a + bug which causes corruption of saved snapshots, and a + failure to return from the NMI menu correctly. This + bug is not present in G+DOS on the +D.<br> + </font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Bind Keys to + Joystick</em></font></span></td> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>⌘-J</em></font></span></td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">If this option is selected and the + Keyboard joystick is configured via the </font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>Preferences</em></span></font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>, Joysticks</em></span></font><font + face="Lucida Grande,Helvetica,Arial"> menu, the q, a, o, + p, and space keys will not have their normal effect and + will be used as the up, down, left, right and fire buttons + of the joystick respectively. This setting can be toggled + with <span class="emphasis"><em>⌘-J</em></span>.</font></td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> + <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Tape > Open...</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"> + <p><font face="Lucida Grande,Helvetica,Arial">Choose a TAP + or TZX virtual-tape file to load from. If <span + class="emphasis"><em>Auto-load tapes/disks</em></span> + is set in the </font><font face="Lucida + Grande,Helvetica,Arial"><span class="emphasis"><em>Preferences, + + General</em></span></font><font face="Lucida + Grande,Helvetica,Arial"> dialog (as it is by default), + the tape will begin loading. Otherwise, you have to + start the load in the emulated machine (with LOAD "" or + the 128's Tape Loader option, though you may need to + reset first).</font></p> + <font face="Lucida Grande,Helvetica,Arial"> </font> + <p><font face="Lucida Grande,Helvetica,Arial"> </font><font + face="Lucida Grande,Helvetica,Arial">To <span + class="emphasis"><em>guarantee</em></span> that TZX + files will load properly, you should select the file, + make sure tape-loading traps are disabled in the </font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>Preferences, General</em></span></font><font + face="Lucida Grande,Helvetica,Arial"> dialog, then + select the <span class="emphasis"><em>Tape, Play</em></span> + option. That said, most TZXs will work with tape-loading + traps enabled (often quickly loading partway, then + loading the rest real-time), so you might want to try it + that way first.</font></p> + </td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> + <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Tape > Play</em></font></span> + </td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Start playing the TAP or TZX file, + if required. (Choosing the option again pauses playback, + and a further press resumes). To explain - if tape-loading + traps have been disabled (in the </font><font + face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em>Preferences, General</em></span></font><font + face="Lucida Grande,Helvetica,Arial"> dialog), starting + the loading process in the emulated machine isn't enough. + You also have to `press play', so to speak :-), and this + is how you do that. You may also need to `press play' like + this in certain other circumstances, e.g. TZXs containing + multi-load games may have a stop-the-tape request (which + Fuse obeys).</font> </td> + </tr> + <tr> + <td style="vertical-align: top;"><span class="emphasis"><font + face="Lucida Grande,Helvetica,Arial"><em>Media ></em></font></span> + <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Tape > Browse</em></font></span></td> + <td style="vertical-align: top;"><br> + </td> + <td style="vertical-align: top;"><font face="Lucida + Grande,Helvetica,Arial">Browse through the current tape. A + brief display of each of the data blocks on the current ... [truncated message content] |
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-03-24 06:27:30
|
Revision: 735 http://sourceforge.net/p/fuse-for-macosx/code/735 Author: fredm Date: 2013-03-24 06:27:29 +0000 (Sun, 24 Mar 2013) Log Message: ----------- Really fix fullscreen panorama setting for 16:9 and other ratio screens. Modified Paths: -------------- trunk/fuse/fusepb/views/DisplayOpenGLView.m Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2013-03-14 11:36:06 UTC (rev 734) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2013-03-24 06:27:29 UTC (rev 735) @@ -68,9 +68,62 @@ static int get_offset( int window_width, int window_height, - int image_width, int image_height ) { - float ratio = window_width/image_width; - return ((ratio * image_height) - window_height) / (ratio * 2); + int image_width, int image_height, float* width_adjustment ) { + static const float FULL_IMAGE_RATIO = 4./3.; + static const float TOP_BORDER_HAIRCUT = 24.; + static const float MINIMAL_HEIGHT = 240.-TOP_BORDER_HAIRCUT*2.; + static const float MINIMAL_TOP_BOTTOM_RATIO = 320./MINIMAL_HEIGHT; + static const float SIDE_BORDER_HAIRCUT = 31.; + static const float MINIMAL_WIDTH = 320.-SIDE_BORDER_HAIRCUT*2.; + static const float MINIMAL_LEFT_RIGHT_RATIO = MINIMAL_WIDTH/240.; + float ratio = window_width/(float)window_height; + *width_adjustment = 0.; + if( fabs( ratio - FULL_IMAGE_RATIO ) < 0.01f ) { + /* no change, we are already at 4:3 */ + return 0; + } + + if( !settings_current.full_screen_panorama ) { + // if wider then desirable then use max height and have black bars on left + // and right borders + if( ratio > FULL_IMAGE_RATIO ) { + float height_scale = window_height / (float)image_height; + float height_ratio = window_height * FULL_IMAGE_RATIO; + *width_adjustment = (window_width - height_ratio)/(2.*height_scale); + return 0; + } + // if narrower than desirable then use max width and have black bars on top + // and bottom of frame + float width_scale = window_width / (float)image_width; + float width_ratio = window_width / FULL_IMAGE_RATIO; + return (width_ratio - window_height)/(2.*width_scale); + } + if( ratio > MINIMAL_TOP_BOTTOM_RATIO ) { + // Truncate the top and bottom borders as much as possible and put black + // bars on the left and right borders to cover the remainder + float height_scale = window_height / MINIMAL_HEIGHT; + float height_ratio = window_height * MINIMAL_TOP_BOTTOM_RATIO; + *width_adjustment = (window_width - height_ratio)/(2.*height_scale); + return TOP_BORDER_HAIRCUT; + } else if( ratio > FULL_IMAGE_RATIO ) { + // Similar to above but need to appropriately scale the amount of border + // truncation assuming that full width will be used + float width_scale = window_width / (float)image_width; + float height_pixels = window_width / FULL_IMAGE_RATIO; + return (height_pixels - window_height) / (2.*width_scale); + } else if( ratio < MINIMAL_LEFT_RIGHT_RATIO ) { + // here we have maximum border truncation and black bars top and bottom + float width_scale = window_width / MINIMAL_WIDTH; + float width_ratio = window_width / MINIMAL_LEFT_RIGHT_RATIO; + *width_adjustment = -SIDE_BORDER_HAIRCUT; + return (width_ratio - window_height)/(2.*width_scale); + } + // here we have a little bit of truncation of the left and right borders and + // leave the top and bottom borders alone + float height_scale = window_height / (float)image_height; + float width_pixels = window_height * FULL_IMAGE_RATIO; + *width_adjustment = (window_width - width_pixels) / (2.*height_scale); + return 0; } @implementation DisplayOpenGLView @@ -444,47 +497,14 @@ if( settings_current.full_screen ) { /* how much of the top and bottom borders should be eliminated? */ NSRect rect = [self bounds]; - float bounds_ratio = rect.size.width/rect.size.height; + float width_adjustment = 0.0; - if( fabs( bounds_ratio - target_ratio ) < 0.01f ) { - /* no change, we are already at 4:3 */ - } else if( settings_current.full_screen_panorama ) { - /* Cap panorama to 16:10 as less truncates paper area TODO: properly - access border area of source images */ - if( bounds_ratio > 1.6 ) bounds_ratio = 1.6; - - if( bounds_ratio > target_ratio ) { - /* if wider than ideal, truncate border until we get to main section - then resize */ - border_x_offset = - get_offset( rect.size.width, rect.size.height, - screenTex[currentScreenTex].image_width, - screenTex[currentScreenTex].image_height); - } else { - /* if taller than ideal, truncate border until we get to main section - then resize */ - border_y_offset = - get_offset( rect.size.height, rect.size.width, - screenTex[currentScreenTex].image_height, - screenTex[currentScreenTex].image_width); - } - } else { - if( bounds_ratio > target_ratio ) { - /* if wider than ideal, truncate border until we get to main section - then resize */ - border_y_offset = - get_offset( rect.size.width, rect.size.height, - screenTex[currentScreenTex].image_width, - screenTex[currentScreenTex].image_height); - } else { - /* if taller than ideal, truncate border until we get to main section - then resize */ - border_x_offset = - get_offset( rect.size.height, rect.size.width, - screenTex[currentScreenTex].image_height, - screenTex[currentScreenTex].image_width); - } - } + border_x_offset = + get_offset( rect.size.width, rect.size.height, + screenTex[currentScreenTex].image_width, + screenTex[currentScreenTex].image_height, + &width_adjustment ); + border_y_offset = width_adjustment; } /* Bind, update and draw new image */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-03-14 11:36:09
|
Revision: 734 http://sourceforge.net/p/fuse-for-macosx/code/734 Author: fredm Date: 2013-03-14 11:36:06 +0000 (Thu, 14 Mar 2013) Log Message: ----------- Fix 16x9 panoramic widescreen and non-panoramic non-4/3 widescreen (thanks, Adam Meath) Modified Paths: -------------- trunk/fuse/fusepb/views/DisplayOpenGLView.h trunk/fuse/fusepb/views/DisplayOpenGLView.m Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.h =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.h 2013-03-12 12:24:07 UTC (rev 733) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.h 2013-03-14 11:36:06 UTC (rev 734) @@ -83,8 +83,6 @@ -(IBAction) fullscreen:(id)sender; -(IBAction) zoom:(id)sender; --(void) setViewPort:(NSRect)rect; - -(void) createTexture:(Cocoa_Texture*)newScreen; -(void) destroyTexture; -(void) blitIcon:(Texture*)iconTexture; Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2013-03-12 12:24:07 UTC (rev 733) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2013-03-14 11:36:06 UTC (rev 734) @@ -47,13 +47,13 @@ #define QZ_5 0x16 #define QZ_m 0x2E -const void * +static const void * get_byte_pointer(void *bitmap) { return bitmap; } -CVReturn MyDisplayLinkCallback ( +static CVReturn MyDisplayLinkCallback ( CVDisplayLinkRef displayLink, const CVTimeStamp *inNow, const CVTimeStamp *inOutputTime, @@ -66,6 +66,13 @@ return error; } +static int +get_offset( int window_width, int window_height, + int image_width, int image_height ) { + float ratio = window_width/image_width; + return ((ratio * image_height) - window_height) / (ratio * 2); +} + @implementation DisplayOpenGLView static DisplayOpenGLView *instance = nil; @@ -102,16 +109,14 @@ backing:NSBackingStoreBuffered defer: NO]; if( fullscreenWindow != nil ) { + settings_current.full_screen = 1; [fullscreenWindow setTitle: @"Fuse"]; [fullscreenWindow setReleasedWhenClosed: YES]; [fullscreenWindow setContentView: self]; [fullscreenWindow makeKeyAndOrderFront:self ]; [fullscreenWindow setLevel: NSScreenSaverWindowLevel - 1]; [fullscreenWindow makeFirstResponder:self]; - settings_current.full_screen = 1; if( !ui_mouse_grabbed ) ui_mouse_grabbed = ui_mouse_grab( 0 ); - - [[self openGLContext] makeCurrentContext]; } } @@ -426,35 +431,59 @@ [[self openGLContext] makeCurrentContext]; + /* Clear buffer, needs to be done each frame */ + glClear( GL_COLOR_BUFFER_BIT ); + if (!screenTexInitialised) { [view_lock unlock]; return; } - /* Clear buffer, needs to be done each frame */ - glClear( GL_COLOR_BUFFER_BIT ); - int border_x_offset = 0; int border_y_offset = 0; - if( settings_current.full_screen && settings_current.full_screen_panorama ) { + if( settings_current.full_screen ) { /* how much of the top and bottom borders should be eliminated? */ NSRect rect = [self bounds]; float bounds_ratio = rect.size.width/rect.size.height; if( fabs( bounds_ratio - target_ratio ) < 0.01f ) { /* no change, we are already at 4:3 */ - } else if( bounds_ratio > target_ratio ) { - /* if wider than ideal, truncate border until we get to main section - then resize */ - float width_ratio = rect.size.width/screenTex[currentScreenTex].image_width; - border_x_offset = ((width_ratio * screenTex[currentScreenTex].image_height) - rect.size.height) / width_ratio; - border_x_offset >>= 1; + } else if( settings_current.full_screen_panorama ) { + /* Cap panorama to 16:10 as less truncates paper area TODO: properly + access border area of source images */ + if( bounds_ratio > 1.6 ) bounds_ratio = 1.6; + + if( bounds_ratio > target_ratio ) { + /* if wider than ideal, truncate border until we get to main section + then resize */ + border_x_offset = + get_offset( rect.size.width, rect.size.height, + screenTex[currentScreenTex].image_width, + screenTex[currentScreenTex].image_height); + } else { + /* if taller than ideal, truncate border until we get to main section + then resize */ + border_y_offset = + get_offset( rect.size.height, rect.size.width, + screenTex[currentScreenTex].image_height, + screenTex[currentScreenTex].image_width); + } } else { - /* if taller than ideal, truncate border until we get to main section - then resize */ - float height_ratio = rect.size.height/screenTex[currentScreenTex].image_height; - border_y_offset = ((height_ratio * screenTex[currentScreenTex].image_width) - rect.size.width) / height_ratio; - border_y_offset >>= 1; + if( bounds_ratio > target_ratio ) { + /* if wider than ideal, truncate border until we get to main section + then resize */ + border_y_offset = + get_offset( rect.size.width, rect.size.height, + screenTex[currentScreenTex].image_width, + screenTex[currentScreenTex].image_height); + } else { + /* if taller than ideal, truncate border until we get to main section + then resize */ + border_x_offset = + get_offset( rect.size.height, rect.size.width, + screenTex[currentScreenTex].image_height, + screenTex[currentScreenTex].image_width); + } } } @@ -497,26 +526,6 @@ [view_lock unlock]; } --(void) setViewPort:(NSRect)rect -{ - float bounds_ratio = rect.size.width/rect.size.height; - - if( settings_current.full_screen_panorama || - fabs( bounds_ratio - target_ratio ) < 0.01f ) { - glViewport( 0, 0, (int) rect.size.width, (int) rect.size.height ); - } else if( bounds_ratio > target_ratio ) { - int x_offset = ( rect.size.width - ( rect.size.height * target_ratio ) ) / 2.0f; - glViewport( x_offset, 0, - (int)(rect.size.height*target_ratio), - (int) rect.size.height ); - } else { - int y_offset = ( rect.size.height - ( rect.size.width / target_ratio ) ) / 2.0f; - glViewport( 0, y_offset, - (int) rect.size.width, - (int) ( rect.size.width / target_ratio ) ); - } -} - /* scrolled, moved or resized */ -(void) reshape { @@ -530,7 +539,7 @@ rect = [self bounds]; - [self setViewPort:rect]; + glViewport( 0, 0, (int) rect.size.width, (int) rect.size.height ); glMatrixMode( GL_PROJECTION ); glLoadIdentity(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-03-12 12:24:10
|
Revision: 733 http://sourceforge.net/p/fuse-for-macosx/code/733 Author: fredm Date: 2013-03-12 12:24:07 +0000 (Tue, 12 Mar 2013) Log Message: ----------- Fix 4x3 surround for fullscreen, need to clear screen every frame (thanks, Adam Meath) Modified Paths: -------------- trunk/fuse/fusepb/views/DisplayOpenGLView.m Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2013-03-12 10:49:03 UTC (rev 732) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2013-03-12 12:24:07 UTC (rev 733) @@ -112,8 +112,6 @@ if( !ui_mouse_grabbed ) ui_mouse_grabbed = ui_mouse_grab( 0 ); [[self openGLContext] makeCurrentContext]; - - glClear( GL_COLOR_BUFFER_BIT ); } } @@ -429,12 +427,13 @@ [[self openGLContext] makeCurrentContext]; if (!screenTexInitialised) { - glClear(GL_COLOR_BUFFER_BIT); - [view_lock unlock]; return; } + /* Clear buffer, needs to be done each frame */ + glClear( GL_COLOR_BUFFER_BIT ); + int border_x_offset = 0; int border_y_offset = 0; if( settings_current.full_screen && settings_current.full_screen_panorama ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-03-12 10:49:06
|
Revision: 732 http://sourceforge.net/p/fuse-for-macosx/code/732 Author: fredm Date: 2013-03-12 10:49:03 +0000 (Tue, 12 Mar 2013) Log Message: ----------- Movie recording file selection should be for writing rather than reading (thanks, deKay). Modified Paths: -------------- trunk/fuse/fusepb/controllers/FuseController.m Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2013-03-12 10:47:57 UTC (rev 731) +++ trunk/fuse/fusepb/controllers/FuseController.m 2013-03-12 10:49:03 UTC (rev 732) @@ -966,7 +966,7 @@ [[DisplayOpenGLView instance] pause]; - filename = cocoaui_openpanel_get_filename( @"Record Movie File", @[@"fmf"] ); + filename = cocoaui_savepanel_get_filename( @"Record Movie File", @[@"fmf"] ); if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-03-12 10:47:59
|
Revision: 731 http://sourceforge.net/p/fuse-for-macosx/code/731 Author: fredm Date: 2013-03-12 10:47:57 +0000 (Tue, 12 Mar 2013) Log Message: ----------- Switch to 10.7 SDK. Modified Paths: -------------- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2013-03-12 10:38:25 UTC (rev 730) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2013-03-12 10:47:57 UTC (rev 731) @@ -1996,7 +1996,8 @@ GCC_DYNAMIC_NO_PIC = YES; GCC_VERSION = ""; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - SDKROOT = macosx; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx10.7; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = YES; @@ -2015,7 +2016,8 @@ GCC_DYNAMIC_NO_PIC = YES; GCC_VERSION = ""; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - SDKROOT = macosx; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx10.7; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = NO; @@ -2033,7 +2035,8 @@ GCC_DYNAMIC_NO_PIC = YES; GCC_VERSION = ""; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - SDKROOT = macosx; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx10.7; YACCFLAGS = "-d"; YACC_GENERATED_FILE_STEM = InputFileStem; ZERO_LINK = NO; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-03-12 10:38:27
|
Revision: 730 http://sourceforge.net/p/fuse-for-macosx/code/730 Author: fredm Date: 2013-03-12 10:38:25 +0000 (Tue, 12 Mar 2013) Log Message: ----------- Make releaseCmdKeys function resemble Objective-C code. Modified Paths: -------------- trunk/fuse/fusepb/controllers/FuseController.h trunk/fuse/fusepb/controllers/FuseController.m trunk/fuse/fusepb/views/DisplayOpenGLView.m Modified: trunk/fuse/fusepb/controllers/FuseController.h =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.h 2013-03-12 10:35:28 UTC (rev 729) +++ trunk/fuse/fusepb/controllers/FuseController.h 2013-03-12 10:38:25 UTC (rev 730) @@ -158,7 +158,7 @@ - savePanelAccessoryView; @property (getter=saveFileType,readonly) NSPopUpButton* saveFileType; -- (void)releaseCmdKeys:(NSString *)character:(int)keyCode; +- (void)releaseCmdKeys:(NSString *)character withCode:(int)keyCode; - (void)releaseKey:(int)keyCode; - (void)ui_menu_activate_media_cartridge:(NSNumber*)active; Modified: trunk/fuse/fusepb/controllers/FuseController.m =================================================================== --- trunk/fuse/fusepb/controllers/FuseController.m 2013-03-12 10:35:28 UTC (rev 729) +++ trunk/fuse/fusepb/controllers/FuseController.m 2013-03-12 10:38:25 UTC (rev 730) @@ -619,7 +619,7 @@ [[DisplayOpenGLView instance] unpause]; } - [self releaseCmdKeys:@"o":QZ_o]; + [self releaseCmdKeys:@"o" withCode:QZ_o]; } - (IBAction)reset:(id)sender @@ -668,13 +668,13 @@ - (IBAction)rzx_insert_snap:(id)sender { [[DisplayOpenGLView instance] rzxInsertSnap]; - [self releaseCmdKeys:@"b":QZ_b]; + [self releaseCmdKeys:@"b" withCode:QZ_b]; } - (IBAction)rzx_rollback:(id)sender { [[DisplayOpenGLView instance] rzxRollback]; - [self releaseCmdKeys:@"z":QZ_z]; + [self releaseCmdKeys:@"z" withCode:QZ_z]; } - (IBAction)rzx_start:(id)sender @@ -784,7 +784,7 @@ save_as_exit: [[DisplayOpenGLView instance] unpause]; } - [self releaseCmdKeys:@"s":QZ_s]; + [self releaseCmdKeys:@"s" withCode:QZ_s]; } - (IBAction)open_screen:(id)sender @@ -912,7 +912,7 @@ - (IBAction)joystick_keyboard:(id)sender { [[DisplayOpenGLView instance] joystickToggleKeyboard]; - [self releaseCmdKeys:@"j":QZ_j]; + [self releaseCmdKeys:@"j" withCode:QZ_j]; } - (IBAction)tape_clear:(id)sender @@ -942,7 +942,7 @@ - (IBAction)tape_play:(id)sender { [[DisplayOpenGLView instance] tapeTogglePlay]; - [self releaseCmdKeys:@"p":QZ_p]; + [self releaseCmdKeys:@"p" withCode:QZ_p]; } - (IBAction)tape_rewind:(id)sender @@ -1024,13 +1024,13 @@ if( !settings_current.full_screen ) { [[NSApp keyWindow] performClose:self]; } - [self releaseCmdKeys:@"q":QZ_q]; + [self releaseCmdKeys:@"q" withCode:QZ_q]; } - (IBAction)hide:(id)sender { [NSApp hide:self]; - [self releaseCmdKeys:@"h":QZ_h]; + [self releaseCmdKeys:@"h" withCode:QZ_h]; } - (IBAction)help:(id)sender @@ -1038,7 +1038,7 @@ if( !settings_current.full_screen ) { [NSApp showHelp:self]; } - [self releaseCmdKeys:@"?":QZ_SLASH]; + [self releaseCmdKeys:@"?" withCode:QZ_SLASH]; } - (IBAction)cocoa_break:(id)sender @@ -1077,7 +1077,7 @@ } [keyboardController showCloseWindow:self]; } - [self releaseCmdKeys:@"k":QZ_k]; + [self releaseCmdKeys:@"k" withCode:QZ_k]; } - (IBAction)showLoadBinaryPane:(id)sender @@ -1127,7 +1127,7 @@ preferencesController = [[PreferencesController alloc] init]; } [preferencesController showWindow:self]; - [self releaseCmdKeys:@".":QZ_PERIOD]; + [self releaseCmdKeys:@"." withCode:QZ_PERIOD]; } - (IBAction)saveFileTypeClicked:(id)sender; @@ -1181,7 +1181,7 @@ * to keep the SDL library in a sane state, otherwise only every other * shortcut keypress will work. *-----------------------------------------------------------------------------*/ -- (void) releaseCmdKeys:(NSString *)character:(int)keyCode +- (void) releaseCmdKeys:(NSString *)character withCode:(int)keyCode { NSEvent *event1, *event2; NSPoint point = { 0, 0 }; Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m =================================================================== --- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2013-03-12 10:35:28 UTC (rev 729) +++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2013-03-12 10:38:25 UTC (rev 730) @@ -122,7 +122,7 @@ [view_lock lock]; statusbar_updated = YES; [view_lock unlock]; - [[FuseController singleton] releaseCmdKeys:@"f":QZ_f]; + [[FuseController singleton] releaseCmdKeys:@"f" withCode:QZ_f]; } -(IBAction) zoom:(id)sender @@ -133,33 +133,33 @@ case 1: /* 320x240 */ size.width = 320; size.height = 240; - [[FuseController singleton] releaseCmdKeys:@"1":QZ_1]; + [[FuseController singleton] releaseCmdKeys:@"1" withCode:QZ_1]; break; case 2: /* 640x480 */ size.width = 640; size.height = 480; - [[FuseController singleton] releaseCmdKeys:@"2":QZ_2]; + [[FuseController singleton] releaseCmdKeys:@"2" withCode:QZ_2]; break; case 3: /* 960x720 */ size.width = 960; size.height = 720; - [[FuseController singleton] releaseCmdKeys:@"3":QZ_3]; + [[FuseController singleton] releaseCmdKeys:@"3" withCode:QZ_3]; break; case 4: /* 1280x960 */ size.width = 1280; size.height = 960; - [[FuseController singleton] releaseCmdKeys:@"4":QZ_4]; + [[FuseController singleton] releaseCmdKeys:@"4" withCode:QZ_4]; break; case 5: /* 1600x1200 */ size.width = 1600; size.height = 1200; - [[FuseController singleton] releaseCmdKeys:@"5":QZ_5]; + [[FuseController singleton] releaseCmdKeys:@"5" withCode:QZ_5]; break; case 0: default: /* Actual size */ size.width = screenTex[0].image_width; size.height = screenTex[0].image_height; - [[FuseController singleton] releaseCmdKeys:@"0":QZ_0]; + [[FuseController singleton] releaseCmdKeys:@"0" withCode:QZ_0]; } [[self window] setContentSize:size]; @@ -1438,7 +1438,7 @@ -(void) windowDidDeminiaturize:(NSNotification *)inNotification { - [[FuseController singleton] releaseCmdKeys:@"m":QZ_m]; + [[FuseController singleton] releaseCmdKeys:@"m" withCode:QZ_m]; } -(void) displayLinkStop This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-03-12 10:35:30
|
Revision: 729 http://sourceforge.net/p/fuse-for-macosx/code/729 Author: fredm Date: 2013-03-12 10:35:28 +0000 (Tue, 12 Mar 2013) Log Message: ----------- Consistently use ' Modified Paths: -------------- trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c Modified: trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c =================================================================== --- trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c 2013-02-09 05:02:38 UTC (rev 728) +++ trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c 2013-03-12 10:35:28 UTC (rev 729) @@ -198,7 +198,7 @@ interface)); if (S_OK != plugInResult) HIDReportErrorNum - ("Couldn\xD5t query HID class device interface from plugInInterface", + ("Couldn't query HID class device interface from plugInInterface", plugInResult); (*ppPlugInInterface)->Release(ppPlugInInterface); } else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-02-09 05:02:42
|
Revision: 728 http://sourceforge.net/p/fuse-for-macosx/code/728 Author: fredm Date: 2013-02-09 05:02:38 +0000 (Sat, 09 Feb 2013) Log Message: ----------- Properly handle opening and closing windows more than once. Modified Paths: -------------- trunk/fuse/fusepb/controllers/KeyboardController.m trunk/fuse/fusepb/controllers/MemoryBrowserController.m trunk/fuse/fusepb/controllers/PokeFinderController.m Modified: trunk/fuse/fusepb/controllers/KeyboardController.m =================================================================== --- trunk/fuse/fusepb/controllers/KeyboardController.m 2013-01-21 11:50:05 UTC (rev 727) +++ trunk/fuse/fusepb/controllers/KeyboardController.m 2013-02-09 05:02:38 UTC (rev 728) @@ -35,20 +35,12 @@ - (id)init { - NSNotificationCenter *nc; - self = [super initWithWindowNibName:@"Keyboard"]; [self setWindowFrameAutosaveName:@"KeyboardWindow"]; window_open = 0; - nc = [NSNotificationCenter defaultCenter]; - [nc addObserver:self - selector:@selector(handleWillClose:) - name:@"NSWindowWillCloseNotification" - object:[self window]]; - return self; } @@ -70,6 +62,14 @@ - (void)showWindow:(id)sender { + NSNotificationCenter *nc; + + nc = [NSNotificationCenter defaultCenter]; + [nc addObserver:self + selector:@selector(handleWillClose:) + name:@"NSWindowWillCloseNotification" + object:[self window]]; + [super showWindow:sender]; /* The TC2068 has a different keyboard layout */ Modified: trunk/fuse/fusepb/controllers/MemoryBrowserController.m =================================================================== --- trunk/fuse/fusepb/controllers/MemoryBrowserController.m 2013-01-21 11:50:05 UTC (rev 727) +++ trunk/fuse/fusepb/controllers/MemoryBrowserController.m 2013-02-09 05:02:38 UTC (rev 728) @@ -36,21 +36,37 @@ - (id)init { - NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; - NSOperationQueue *mainQueue = [NSOperationQueue mainQueue]; - tableContents = nil; self = [super initWithWindowNibName:@"MemoryBrowser"]; [self setWindowFrameAutosaveName:@"MemoryBrowserWindow"]; - + + return self; +} + +- (void)dealloc +{ + NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; + [nc removeObserver:notificationObserver]; + + [super dealloc]; +} + +- (void)showWindow:(id)sender +{ + NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; + NSOperationQueue *mainQueue = [NSOperationQueue mainQueue]; + size_t i, j; + NSString *address; + NSMutableString *hex, *data; + notificationObserver = [nc addObserverForName:@"NSWindowWillCloseNotification" object:[self window] queue:mainQueue usingBlock:^(NSNotification *note) { [nc removeObserver:notificationObserver]; - + [NSApp stopModal]; [tableContents removeAllObjects]; @@ -63,24 +79,7 @@ [[DisplayOpenGLView instance] unpause]; }]; - - return self; -} - -- (void)dealloc -{ - NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; - [nc removeObserver:notificationObserver]; - - [super dealloc]; -} - -- (void)showWindow:(id)sender -{ - size_t i, j; - NSString *address; - NSMutableString *hex, *data; - + [[DisplayOpenGLView instance] pause]; tableContents = [NSMutableArray arrayWithCapacity:0xfff]; Modified: trunk/fuse/fusepb/controllers/PokeFinderController.m =================================================================== --- trunk/fuse/fusepb/controllers/PokeFinderController.m 2013-01-21 11:50:05 UTC (rev 727) +++ trunk/fuse/fusepb/controllers/PokeFinderController.m 2013-02-09 05:02:38 UTC (rev 728) @@ -39,17 +39,9 @@ - (id)init { - NSNotificationCenter *nc; - [super init]; self = [super initWithWindowNibName:@"PokeFinder"]; - nc = [NSNotificationCenter defaultCenter]; - [nc addObserver:self - selector:@selector(handleWillClose:) - name:@"NSWindowWillCloseNotification" - object:[self window]]; - [self setWindowFrameAutosaveName:@"PokeFinderWindow"]; tableContents = nil; @@ -117,6 +109,14 @@ - (void)showWindow:(id)sender { + NSNotificationCenter *nc; + + nc = [NSNotificationCenter defaultCenter]; + [nc addObserver:self + selector:@selector(handleWillClose:) + name:@"NSWindowWillCloseNotification" + object:[self window]]; + [[DisplayOpenGLView instance] pause]; [super showWindow:sender]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-01-21 11:50:09
|
Revision: 727 http://sourceforge.net/p/fuse-for-macosx/code/727 Author: fredm Date: 2013-01-21 11:50:05 +0000 (Mon, 21 Jan 2013) Log Message: ----------- Fix selection of SpecDrum sound interface. Modified Paths: -------------- trunk/fuse/fusepb/xibs/Preferences.xib Modified: trunk/fuse/fusepb/xibs/Preferences.xib =================================================================== --- trunk/fuse/fusepb/xibs/Preferences.xib 2013-01-16 12:43:27 UTC (rev 726) +++ trunk/fuse/fusepb/xibs/Preferences.xib 2013-01-21 11:50:05 UTC (rev 727) @@ -279,12 +279,9 @@ <nil key="NSUserInterfaceItemIdentifier"/> <string key="NSWindowContentMinSize">{213, 107}</string> <object class="NSView" key="NSWindowView" id="41054612"> - <reference key="NSNextResponder"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">256</int> <string key="NSFrameSize">{627, 403}</string> - <reference key="NSSuperview"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView"/> </object> <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string> <string key="NSMinSize">{213, 184}</string> @@ -763,7 +760,7 @@ <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="803517542"> - <reference key="NSNextResponder"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">268</int> <array class="NSMutableArray" key="NSSubviews"> <object class="NSSlider" id="519106344"> @@ -771,7 +768,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{360, 126}, {115, 25}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="292110812"/> <bool key="NSEnabled">YES</bool> <object class="NSSliderCell" key="NSCell" id="458739798"> @@ -802,7 +798,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{232, 126}, {125, 24}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="519106344"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="864030352"> @@ -829,7 +824,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{323, 61}, {153, 26}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="441962883"/> <string key="NSReuseIdentifierKey">_NS:9</string> <bool key="NSEnabled">YES</bool> @@ -905,8 +899,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{216, 37}, {126, 18}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="486371396"> <int key="NSCellFlags">67108864</int> @@ -929,7 +921,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{360, 190}, {115, 25}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="793294548"/> <bool key="NSEnabled">YES</bool> <object class="NSSliderCell" key="NSCell" id="904083090"> @@ -956,7 +947,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{216, 220}, {116, 18}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="843751024"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="759125109"> @@ -980,7 +970,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{232, 190}, {101, 24}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="524220653"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="529077263"> @@ -999,7 +988,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{360, 158}, {115, 25}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="516188975"/> <bool key="NSEnabled">YES</bool> <object class="NSSliderCell" key="NSCell" id="692002382"> @@ -1026,7 +1014,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{232, 158}, {101, 24}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="1032556491"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="972269710"> @@ -1045,7 +1032,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{215, 61}, {131, 24}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="210111604"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="979825334"> @@ -1064,7 +1050,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{215, 93}, {101, 24}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="382669614"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="232166117"> @@ -1083,7 +1068,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{323, 94}, {153, 26}}</string> <reference key="NSSuperview" ref="803517542"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="79477686"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="971517879"> @@ -1147,8 +1131,6 @@ </object> </array> <string key="NSFrameSize">{627, 256}</string> - <reference key="NSSuperview"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="637855161"/> <string key="NSClassName">NSView</string> </object> @@ -2238,7 +2220,7 @@ <object class="NSMatrix" id="159048013"> <reference key="NSNextResponder" ref="973457200"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{18, 14}, {86, 78}}</string> + <string key="NSFrame">{{18, 14}, {92, 78}}</string> <reference key="NSSuperview" ref="973457200"/> <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="927978342"/> @@ -2496,7 +2478,7 @@ <int key="NSPeriodicInterval">75</int> </object> </array> - <string key="NSCellSize">{86, 18}</string> + <string key="NSCellSize">{92, 18}</string> <string key="NSIntercellSpacing">{4, 2}</string> <int key="NSMatrixFlags">1151868928</int> <string key="NSCellClass">NSActionCell</string> @@ -2592,7 +2574,7 @@ <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="76952719"> - <reference key="NSNextResponder"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">268</int> <array class="NSMutableArray" key="NSSubviews"> <object class="NSTextField" id="312985160"> @@ -2600,7 +2582,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{182, 62}, {177, 21}}</string> <reference key="NSSuperview" ref="76952719"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="705299118"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="99643763"> @@ -2619,8 +2600,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{361, 59}, {153, 26}}</string> <reference key="NSSuperview" ref="76952719"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="207450066"> <int key="NSCellFlags">-2076180416</int> @@ -2686,7 +2665,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{183, 90}, {298, 18}}</string> <reference key="NSSuperview" ref="76952719"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="312985160"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="167661398"> @@ -2710,7 +2688,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{183, 110}, {253, 18}}</string> <reference key="NSSuperview" ref="76952719"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="742175854"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="473588308"> @@ -2731,13 +2708,11 @@ </object> </array> <string key="NSFrameSize">{627, 146}</string> - <reference key="NSSuperview"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="889648036"/> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="206600598"> - <reference key="NSNextResponder"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">268</int> <array class="NSMutableArray" key="NSSubviews"> <object class="NSButton" id="1010771688"> @@ -2745,7 +2720,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{74, 58}, {138, 18}}</string> <reference key="NSSuperview" ref="206600598"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="724557388"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="813453349"> @@ -2769,7 +2743,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{74, 38}, {198, 18}}</string> <reference key="NSSuperview" ref="206600598"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="1031545301"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="101822818"> @@ -2793,8 +2766,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{213, 18}, {154, 18}}</string> <reference key="NSSuperview" ref="206600598"/> - <reference key="NSWindow"/> - <reference key="NSNextKeyView"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="764576815"> <int key="NSCellFlags">67108864</int> @@ -2817,7 +2788,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{74, 18}, {187, 18}}</string> <reference key="NSSuperview" ref="206600598"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="5889843"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="354861720"> @@ -2849,7 +2819,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{144, 44}, {249, 26}}</string> <reference key="NSSuperview" ref="847451512"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="270914852"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="607532852"> @@ -2905,7 +2874,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{144, 12}, {125, 26}}</string> <reference key="NSSuperview" ref="847451512"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="1010771688"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="885272750"> @@ -2977,7 +2945,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{11, 50}, {122, 17}}</string> <reference key="NSSuperview" ref="847451512"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="549123729"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="373649031"> @@ -2996,7 +2963,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{11, 18}, {122, 17}}</string> <reference key="NSSuperview" ref="847451512"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="728772125"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="265069830"> @@ -3015,7 +2981,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{392, 40}, {76, 32}}</string> <reference key="NSSuperview" ref="847451512"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="377685888"/> <int key="NSTag">2</int> <bool key="NSEnabled">YES</bool> @@ -3041,13 +3006,11 @@ </array> <string key="NSFrame">{{2, 2}, {477, 80}}</string> <reference key="NSSuperview" ref="679203719"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="542263437"/> </object> </array> <string key="NSFrame">{{73, 78}, {481, 100}}</string> <reference key="NSSuperview" ref="206600598"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="847451512"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -3084,7 +3047,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{141, 44}, {249, 26}}</string> <reference key="NSSuperview" ref="151322023"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="548433358"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="309621618"> @@ -3134,7 +3096,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{141, 12}, {125, 26}}</string> <reference key="NSSuperview" ref="151322023"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="679203719"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="316526535"> @@ -3206,7 +3167,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{17, 18}, {122, 17}}</string> <reference key="NSSuperview" ref="151322023"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="280613314"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="333413210"> @@ -3225,7 +3185,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{17, 50}, {122, 17}}</string> <reference key="NSSuperview" ref="151322023"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="13362307"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="790299969"> @@ -3244,7 +3203,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{389, 40}, {76, 32}}</string> <reference key="NSSuperview" ref="151322023"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="987744709"/> <int key="NSTag">1</int> <bool key="NSEnabled">YES</bool> @@ -3270,13 +3228,11 @@ </array> <string key="NSFrame">{{2, 2}, {477, 82}}</string> <reference key="NSSuperview" ref="396499954"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="557036339"/> </object> </array> <string key="NSFrame">{{73, 182}, {481, 102}}</string> <reference key="NSSuperview" ref="206600598"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="151322023"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -3309,7 +3265,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{137, 14}, {125, 26}}</string> <reference key="NSSuperview" ref="372940553"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="396499954"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="146648242"> @@ -3381,7 +3336,6 @@ <int key="NSvFlags">256</int> <string key="NSFrame">{{13, 4}, {122, 34}}</string> <reference key="NSSuperview" ref="372940553"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="755032956"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="648031924"> @@ -3398,13 +3352,11 @@ </array> <string key="NSFrame">{{2, 2}, {477, 53}}</string> <reference key="NSSuperview" ref="656176740"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="40606051"/> </object> </array> <string key="NSFrame">{{73, 288}, {481, 73}}</string> <reference key="NSSuperview" ref="206600598"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="372940553"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -3426,8 +3378,6 @@ </object> </array> <string key="NSFrameSize">{630, 381}</string> - <reference key="NSSuperview"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="656176740"/> <string key="NSClassName">NSView</string> </object> @@ -5750,6 +5700,14 @@ <int key="connectionID">1925</int> </object> <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">externalSoundTypeClicked:</string> + <reference key="source" ref="363526684"/> + <reference key="destination" ref="152526144"/> + </object> + <int key="connectionID">1949</int> + </object> + <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> <string key="label">delegate</string> <reference key="source" ref="765474969"/> @@ -10048,7 +10006,7 @@ <nil key="activeLocalization"/> <dictionary class="NSMutableDictionary" key="localizations"/> <nil key="sourceID"/> - <int key="maxID">1948</int> + <int key="maxID">1949</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <array class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -10064,6 +10022,7 @@ <string key="resetUserDefaults:">id</string> <string key="selectPrefPanel:">id</string> <string key="setup:">id</string> + <string key="showWindow:">id</string> </dictionary> <dictionary class="NSMutableDictionary" key="actionInfosByName"> <object class="IBActionInfo" key="chooseFile:"> @@ -10098,6 +10057,10 @@ <string key="name">setup:</string> <string key="candidateClassName">id</string> </object> + <object class="IBActionInfo" key="showWindow:"> + <string key="name">showWindow:</string> + <string key="candidateClassName">id</string> + </object> </dictionary> <dictionary class="NSMutableDictionary" key="outlets"> <string key="externalSoundType">NSMatrix</string> @@ -10201,6 +10164,10 @@ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> <integer value="1050" key="NS.object.0"/> </object> + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> + <real value="1070" key="NS.object.0"/> + </object> <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> <int key="IBDocument.defaultPropertyAccessControl">3</int> <dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-01-16 12:43:32
|
Revision: 726 http://sourceforge.net/p/fuse-for-macosx/code/726 Author: fredm Date: 2013-01-16 12:43:27 +0000 (Wed, 16 Jan 2013) Log Message: ----------- Remove unused variables. Modified Paths: -------------- trunk/fuse/fusepb/controllers/DebuggerController.m Modified: trunk/fuse/fusepb/controllers/DebuggerController.m =================================================================== --- trunk/fuse/fusepb/controllers/DebuggerController.m 2013-01-16 12:10:52 UTC (rev 725) +++ trunk/fuse/fusepb/controllers/DebuggerController.m 2013-01-16 12:43:27 UTC (rev 726) @@ -196,7 +196,7 @@ libspectrum_word address; int source, page_num, writable, contended; libspectrum_word offset; - size_t i, j, block, row; + size_t i, row; if( debugger_output_base == 10 ) { format_16_bit = @"%5d"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2013-01-16 12:10:56
|
Revision: 725 http://sourceforge.net/p/fuse-for-macosx/code/725 Author: fredm Date: 2013-01-16 12:10:52 +0000 (Wed, 16 Jan 2013) Log Message: ----------- Fix display of memory map in debugger. Modified Paths: -------------- trunk/fuse/fusepb/controllers/DebuggerController.m Modified: trunk/fuse/fusepb/controllers/DebuggerController.m =================================================================== --- trunk/fuse/fusepb/controllers/DebuggerController.m 2013-01-02 04:55:28 UTC (rev 724) +++ trunk/fuse/fusepb/controllers/DebuggerController.m 2013-01-16 12:10:52 UTC (rev 725) @@ -186,7 +186,6 @@ - (void)debugger_update:(id)sender { - size_t i; char buffer[40]; NSString *format_16_bit, *format_8_bit; int capabilities; @@ -195,6 +194,9 @@ NSString *stack_address, *stack_value; GSList *ptr; libspectrum_word address; + int source, page_num, writable, contended; + libspectrum_word offset; + size_t i, j, block, row; if( debugger_output_base == 10 ) { format_16_bit = @"%5d"; @@ -430,21 +432,44 @@ [memoryMapContents retain]; - for( i = 0; i < 8; i++ ) { + source = page_num = writable = contended = -1; + offset = 0; + row = 0; + + for( i = 0; i < MEMORY_PAGES_IN_64K; i++ ) { + memory_page *page = &memory_map_read[i]; - 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 = @(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" ]; + if( page->source != source || + page->page_num != page_num || + page->offset != offset || + page->writable != writable || + page->contended != contended ) { - [memoryMapContents addObject: - @{@"address": memory_map_address, - @"type": memory_map_type, - @"page": memory_map_page, - @"writeable": memory_map_writeable, - @"contended": memory_map_contended} - ]; + NSString *memory_map_address = [NSString stringWithFormat:format_16_bit, i*MEMORY_PAGE_SIZE ]; + NSString *memory_map_type = [NSString stringWithFormat:@"%s", memory_source_description( page->source )]; + NSNumber *memory_map_page = @(memory_map_read[i].page_num); + NSString *memory_map_writeable = [NSString stringWithFormat:@"%s", page->writable ? "Y" : "N" ]; + NSString *memory_map_contended = [NSString stringWithFormat:@"%s", page->contended ? "Y" : "N" ]; + + [memoryMapContents addObject: + @{@"address": memory_map_address, + @"type": memory_map_type, + @"page": memory_map_page, + @"writeable": memory_map_writeable, + @"contended": memory_map_contended} + ]; + + row++; + + source = page->source; + page_num = page->page_num; + writable = page->writable; + contended = page->contended; + offset = page->offset; + } + + /* We expect the next page to have an increased offset */ + offset += MEMORY_PAGE_SIZE; } [memoryMap reloadData]; 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...> - 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...> - 2012-12-22 11:09:00
|
Revision: 722 http://sourceforge.net/p/fuse-for-macosx/code/722 Author: fredm Date: 2012-12-22 11:08:57 +0000 (Sat, 22 Dec 2012) Log Message: ----------- Move to 10.7 SDK for wider compatibility. Modified Paths: -------------- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj trunk/audiofile/audiofile.xcodeproj/project.pbxproj Modified: trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2012-12-21 21:54:56 UTC (rev 721) +++ trunk/FuseGenerator/FuseGenerator.xcodeproj/project.pbxproj 2012-12-22 11:08:57 UTC (rev 722) @@ -490,6 +490,7 @@ "-lz", ); PRODUCT_NAME = FuseGenerator; + SDKROOT = macosx10.7; VALID_ARCHS = "ppc x86_64 i386"; WRAPPER_EXTENSION = qlgenerator; ZERO_LINK = YES; @@ -515,6 +516,7 @@ "-lz", ); PRODUCT_NAME = FuseGenerator; + SDKROOT = macosx10.7; VALID_ARCHS = "ppc x86_64 i386"; WARNING_CFLAGS = ( "-Wmost", Modified: trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj =================================================================== --- trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2012-12-21 21:54:56 UTC (rev 721) +++ trunk/FuseImporter/FuseImporter.xcodeproj/project.pbxproj 2012-12-22 11:08:57 UTC (rev 722) @@ -482,6 +482,7 @@ ); OTHER_REZFLAGS = ""; PRODUCT_NAME = FuseImporter; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( "-Wmost", @@ -515,6 +516,7 @@ ); OTHER_REZFLAGS = ""; PRODUCT_NAME = FuseImporter; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( "-Wmost", @@ -547,6 +549,7 @@ ); OTHER_REZFLAGS = ""; PRODUCT_NAME = FuseImporter; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ( "-Wmost", Modified: trunk/audiofile/audiofile.xcodeproj/project.pbxproj =================================================================== --- trunk/audiofile/audiofile.xcodeproj/project.pbxproj 2012-12-21 21:54:56 UTC (rev 721) +++ trunk/audiofile/audiofile.xcodeproj/project.pbxproj 2012-12-22 11:08:57 UTC (rev 722) @@ -470,6 +470,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; @@ -508,6 +509,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; @@ -545,6 +547,7 @@ OTHER_REZFLAGS = ""; PRINCIPAL_CLASS = ""; PRODUCT_NAME = audiofile; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = ""; WRAPPER_EXTENSION = framework; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2012-12-21 21:54:58
|
Revision: 721 http://sourceforge.net/p/fuse-for-macosx/code/721 Author: fredm Date: 2012-12-21 21:54:56 +0000 (Fri, 21 Dec 2012) Log Message: ----------- Build against 10.7 SDK for wider support. Modified Paths: -------------- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/controllers/TapeBrowserController.m trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2012-12-08 11:50:59 UTC (rev 720) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2012-12-21 21:54:56 UTC (rev 721) @@ -1894,6 +1894,7 @@ ); PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; @@ -1935,6 +1936,7 @@ ); PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; @@ -1975,6 +1977,7 @@ ); PRODUCT_NAME = Fuse; SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; + SDKROOT = macosx10.7; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wall"; WRAPPER_EXTENSION = app; Modified: trunk/fuse/fusepb/controllers/TapeBrowserController.m =================================================================== --- trunk/fuse/fusepb/controllers/TapeBrowserController.m 2012-12-08 11:50:59 UTC (rev 720) +++ trunk/fuse/fusepb/controllers/TapeBrowserController.m 2012-12-21 21:54:56 UTC (rev 721) @@ -343,13 +343,13 @@ [tapeBrowserController performSelectorOnMainThread:@selector(setInitialising:) - withObject:@YES + withObject:@(YES) waitUntilDone:NO ]; error = tape_foreach( add_block_details, tapeBrowserController ); [tapeBrowserController performSelectorOnMainThread:@selector(setInitialising:) - withObject:@NO + withObject:@(NO) waitUntilDone:NO ]; if( error ) return error; Modified: trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m =================================================================== --- trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m 2012-12-08 11:50:59 UTC (rev 720) +++ trunk/fuse/fusepb/transformers/MachineScalerIsEnabled.m 2012-12-21 21:54:56 UTC (rev 721) @@ -64,7 +64,7 @@ return @(retval); } - return @NO; + return @(NO); } @end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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-06 11:56:03
|
Revision: 719 http://sourceforge.net/p/fuse-for-macosx/code/719 Author: fredm Date: 2012-12-06 11:55:57 +0000 (Thu, 06 Dec 2012) Log Message: ----------- Merge up to vendor revision 4779. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/4779 Modified Paths: -------------- trunk/FuseGenerator/generate.pl trunk/FuseGenerator/libspectrum.h trunk/FuseImporter/generate.pl trunk/FuseImporter/libspectrum.h trunk/fuse/fusepb/generate.pl trunk/fuse/fusepb/libspectrum.h trunk/libspectrum/generate.pl trunk/libspectrum/libspectrum/Makefile.am trunk/libspectrum/libspectrum/autogen.sh trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum/internals.h trunk/libspectrum/libspectrum/libspectrum.c trunk/libspectrum/libspectrum/libspectrum.h.in trunk/libspectrum/libspectrum/make-perl.c trunk/libspectrum/libspectrum/memory.c trunk/libspectrum/libspectrum/myglib/garray.c trunk/libspectrum/libspectrum/myglib/ghash.c trunk/libspectrum/libspectrum/myglib/gslist.c trunk/libspectrum/libspectrum/szx.c trunk/libspectrum/libspectrum/windres.rc trunk/libspectrum/libspectrum.h Added Paths: ----------- trunk/libspectrum/libspectrum/configure.ac trunk/libspectrum/libspectrum/m4/ Removed Paths: ------------- trunk/libspectrum/libspectrum/acinclude.m4 trunk/libspectrum/libspectrum/configure.in Property Changed: ---------------- trunk/libspectrum/libspectrum/ Modified: trunk/FuseGenerator/generate.pl =================================================================== --- trunk/FuseGenerator/generate.pl 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/FuseGenerator/generate.pl 2012-12-06 11:55:57 UTC (rev 719) @@ -47,7 +47,11 @@ typedef gint (*GCompareFunc) (gconstpointer a, gconstpointer b); +typedef void (*GDestroyNotify) (gpointer data); +typedef void (*GFreeFunc) (gpointer data); + + WIN32_DLL GSList *g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc func); @@ -63,7 +67,7 @@ gpointer data); WIN32_DLL GSList *g_slist_remove (GSList *list, - gpointer data); + gconstpointer data); WIN32_DLL GSList *g_slist_last (GSList *list); @@ -84,7 +88,7 @@ guint n); WIN32_DLL GSList *g_slist_find_custom (GSList *list, - gpointer data, + gconstpointer data, GCompareFunc func ); WIN32_DLL gint g_slist_position (GSList *list, @@ -113,6 +117,11 @@ WIN32_DLL GHashTable *g_hash_table_new (GHashFunc hash_func, GCompareFunc key_compare_func); +WIN32_DLL GHashTable *g_hash_table_new_full (GHashFunc hash_func, + GCompareFunc key_equal_func, + GDestroyNotify key_destroy_func, + GDestroyNotify value_destroy_func); + WIN32_DLL void g_hash_table_destroy (GHashTable *hash_table); WIN32_DLL void g_hash_table_insert (GHashTable *hash_table, Modified: trunk/FuseGenerator/libspectrum.h =================================================================== --- trunk/FuseGenerator/libspectrum.h 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/FuseGenerator/libspectrum.h 2012-12-06 11:55:57 UTC (rev 719) @@ -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 4534 2011-08-11 12:59:47Z fredm $ + $Id: libspectrum.h.in 4695 2012-05-07 02:03:10Z 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 @@ -106,7 +106,11 @@ typedef gint (*GCompareFunc) (gconstpointer a, gconstpointer b); +typedef void (*GDestroyNotify) (gpointer data); +typedef void (*GFreeFunc) (gpointer data); + + WIN32_DLL GSList *g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc func); @@ -122,7 +126,7 @@ gpointer data); WIN32_DLL GSList *g_slist_remove (GSList *list, - gpointer data); + gconstpointer data); WIN32_DLL GSList *g_slist_last (GSList *list); @@ -143,7 +147,7 @@ guint n); WIN32_DLL GSList *g_slist_find_custom (GSList *list, - gpointer data, + gconstpointer data, GCompareFunc func ); WIN32_DLL gint g_slist_position (GSList *list, @@ -172,6 +176,11 @@ WIN32_DLL GHashTable *g_hash_table_new (GHashFunc hash_func, GCompareFunc key_compare_func); +WIN32_DLL GHashTable *g_hash_table_new_full (GHashFunc hash_func, + GCompareFunc key_equal_func, + GDestroyNotify key_destroy_func, + GDestroyNotify value_destroy_func); + WIN32_DLL void g_hash_table_destroy (GHashTable *hash_table); WIN32_DLL void g_hash_table_insert (GHashTable *hash_table, @@ -274,6 +283,7 @@ /* Initialisation */ WIN32_DLL libspectrum_error libspectrum_init( void ); +WIN32_DLL void libspectrum_end( void ); /* Version checking */ Modified: trunk/FuseImporter/generate.pl =================================================================== --- trunk/FuseImporter/generate.pl 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/FuseImporter/generate.pl 2012-12-06 11:55:57 UTC (rev 719) @@ -47,7 +47,11 @@ typedef gint (*GCompareFunc) (gconstpointer a, gconstpointer b); +typedef void (*GDestroyNotify) (gpointer data); +typedef void (*GFreeFunc) (gpointer data); + + WIN32_DLL GSList *g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc func); @@ -63,7 +67,7 @@ gpointer data); WIN32_DLL GSList *g_slist_remove (GSList *list, - gpointer data); + gconstpointer data); WIN32_DLL GSList *g_slist_last (GSList *list); @@ -84,7 +88,7 @@ guint n); WIN32_DLL GSList *g_slist_find_custom (GSList *list, - gpointer data, + gconstpointer data, GCompareFunc func ); WIN32_DLL gint g_slist_position (GSList *list, @@ -113,6 +117,11 @@ WIN32_DLL GHashTable *g_hash_table_new (GHashFunc hash_func, GCompareFunc key_compare_func); +WIN32_DLL GHashTable *g_hash_table_new_full (GHashFunc hash_func, + GCompareFunc key_equal_func, + GDestroyNotify key_destroy_func, + GDestroyNotify value_destroy_func); + WIN32_DLL void g_hash_table_destroy (GHashTable *hash_table); WIN32_DLL void g_hash_table_insert (GHashTable *hash_table, Modified: trunk/FuseImporter/libspectrum.h =================================================================== --- trunk/FuseImporter/libspectrum.h 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/FuseImporter/libspectrum.h 2012-12-06 11:55:57 UTC (rev 719) @@ -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 4534 2011-08-11 12:59:47Z fredm $ + $Id: libspectrum.h.in 4695 2012-05-07 02:03:10Z 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 @@ -106,7 +106,11 @@ typedef gint (*GCompareFunc) (gconstpointer a, gconstpointer b); +typedef void (*GDestroyNotify) (gpointer data); +typedef void (*GFreeFunc) (gpointer data); + + WIN32_DLL GSList *g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc func); @@ -122,7 +126,7 @@ gpointer data); WIN32_DLL GSList *g_slist_remove (GSList *list, - gpointer data); + gconstpointer data); WIN32_DLL GSList *g_slist_last (GSList *list); @@ -143,7 +147,7 @@ guint n); WIN32_DLL GSList *g_slist_find_custom (GSList *list, - gpointer data, + gconstpointer data, GCompareFunc func ); WIN32_DLL gint g_slist_position (GSList *list, @@ -172,6 +176,11 @@ WIN32_DLL GHashTable *g_hash_table_new (GHashFunc hash_func, GCompareFunc key_compare_func); +WIN32_DLL GHashTable *g_hash_table_new_full (GHashFunc hash_func, + GCompareFunc key_equal_func, + GDestroyNotify key_destroy_func, + GDestroyNotify value_destroy_func); + WIN32_DLL void g_hash_table_destroy (GHashTable *hash_table); WIN32_DLL void g_hash_table_insert (GHashTable *hash_table, @@ -274,6 +283,7 @@ /* Initialisation */ WIN32_DLL libspectrum_error libspectrum_init( void ); +WIN32_DLL void libspectrum_end( void ); /* Version checking */ Modified: trunk/fuse/fusepb/generate.pl =================================================================== --- trunk/fuse/fusepb/generate.pl 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/fuse/fusepb/generate.pl 2012-12-06 11:55:57 UTC (rev 719) @@ -47,7 +47,11 @@ typedef gint (*GCompareFunc) (gconstpointer a, gconstpointer b); +typedef void (*GDestroyNotify) (gpointer data); +typedef void (*GFreeFunc) (gpointer data); + + WIN32_DLL GSList *g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc func); @@ -63,7 +67,7 @@ gpointer data); WIN32_DLL GSList *g_slist_remove (GSList *list, - gpointer data); + gconstpointer data); WIN32_DLL GSList *g_slist_last (GSList *list); @@ -84,7 +88,7 @@ guint n); WIN32_DLL GSList *g_slist_find_custom (GSList *list, - gpointer data, + gconstpointer data, GCompareFunc func ); WIN32_DLL gint g_slist_position (GSList *list, @@ -113,6 +117,11 @@ WIN32_DLL GHashTable *g_hash_table_new (GHashFunc hash_func, GCompareFunc key_compare_func); +WIN32_DLL GHashTable *g_hash_table_new_full (GHashFunc hash_func, + GCompareFunc key_equal_func, + GDestroyNotify key_destroy_func, + GDestroyNotify value_destroy_func); + WIN32_DLL void g_hash_table_destroy (GHashTable *hash_table); WIN32_DLL void g_hash_table_insert (GHashTable *hash_table, Modified: trunk/fuse/fusepb/libspectrum.h =================================================================== --- trunk/fuse/fusepb/libspectrum.h 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/fuse/fusepb/libspectrum.h 2012-12-06 11:55:57 UTC (rev 719) @@ -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 4534 2011-08-11 12:59:47Z fredm $ + $Id: libspectrum.h.in 4695 2012-05-07 02:03:10Z 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 @@ -106,7 +106,11 @@ typedef gint (*GCompareFunc) (gconstpointer a, gconstpointer b); +typedef void (*GDestroyNotify) (gpointer data); +typedef void (*GFreeFunc) (gpointer data); + + WIN32_DLL GSList *g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc func); @@ -122,7 +126,7 @@ gpointer data); WIN32_DLL GSList *g_slist_remove (GSList *list, - gpointer data); + gconstpointer data); WIN32_DLL GSList *g_slist_last (GSList *list); @@ -143,7 +147,7 @@ guint n); WIN32_DLL GSList *g_slist_find_custom (GSList *list, - gpointer data, + gconstpointer data, GCompareFunc func ); WIN32_DLL gint g_slist_position (GSList *list, @@ -172,6 +176,11 @@ WIN32_DLL GHashTable *g_hash_table_new (GHashFunc hash_func, GCompareFunc key_compare_func); +WIN32_DLL GHashTable *g_hash_table_new_full (GHashFunc hash_func, + GCompareFunc key_equal_func, + GDestroyNotify key_destroy_func, + GDestroyNotify value_destroy_func); + WIN32_DLL void g_hash_table_destroy (GHashTable *hash_table); WIN32_DLL void g_hash_table_insert (GHashTable *hash_table, @@ -274,6 +283,7 @@ /* Initialisation */ WIN32_DLL libspectrum_error libspectrum_init( void ); +WIN32_DLL void libspectrum_end( void ); /* Version checking */ Modified: trunk/libspectrum/generate.pl =================================================================== --- trunk/libspectrum/generate.pl 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/libspectrum/generate.pl 2012-12-06 11:55:57 UTC (rev 719) @@ -47,7 +47,11 @@ typedef gint (*GCompareFunc) (gconstpointer a, gconstpointer b); +typedef void (*GDestroyNotify) (gpointer data); +typedef void (*GFreeFunc) (gpointer data); + + WIN32_DLL GSList *g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc func); @@ -63,7 +67,7 @@ gpointer data); WIN32_DLL GSList *g_slist_remove (GSList *list, - gpointer data); + gconstpointer data); WIN32_DLL GSList *g_slist_last (GSList *list); @@ -84,7 +88,7 @@ guint n); WIN32_DLL GSList *g_slist_find_custom (GSList *list, - gpointer data, + gconstpointer data, GCompareFunc func ); WIN32_DLL gint g_slist_position (GSList *list, @@ -113,6 +117,11 @@ WIN32_DLL GHashTable *g_hash_table_new (GHashFunc hash_func, GCompareFunc key_compare_func); +WIN32_DLL GHashTable *g_hash_table_new_full (GHashFunc hash_func, + GCompareFunc key_equal_func, + GDestroyNotify key_destroy_func, + GDestroyNotify value_destroy_func); + WIN32_DLL void g_hash_table_destroy (GHashTable *hash_table); WIN32_DLL void g_hash_table_insert (GHashTable *hash_table, Property changes on: trunk/libspectrum/libspectrum ___________________________________________________________________ Modified: svn:mergeinfo - /vendor/fuse-emulator/0.10.0/libspectrum:556-557 /vendor/fuse-emulator/0.10.0-pre1/libspectrum:545-546 /vendor/fuse-emulator/current/libspectrum:530-711 /vendor/fuse-emulator/fuse-1.0.0a/libspectrum:668-669 /vendor/fuse-emulator/fuse-r4617/libspectrum:686 + /vendor/fuse-emulator/0.10.0/libspectrum:556-557 /vendor/fuse-emulator/0.10.0-pre1/libspectrum:545-546 /vendor/fuse-emulator/current/libspectrum:530-717 /vendor/fuse-emulator/fuse-1.0.0a/libspectrum:668-669 /vendor/fuse-emulator/fuse-r4617/libspectrum:686 Modified: trunk/libspectrum/libspectrum/Makefile.am =================================================================== --- trunk/libspectrum/libspectrum/Makefile.am 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/libspectrum/libspectrum/Makefile.am 2012-12-06 11:55:57 UTC (rev 719) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2001-2004 Philip Kendall -## $Id: Makefile.am 4388 2011-04-27 12:52:26Z fredm $ +## $Id: Makefile.am 4757 2012-11-07 11:14:48Z 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 @@ -23,6 +23,8 @@ AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + lib_LTLIBRARIES = libspectrum.la libspectrum_la_SOURCES = bzip2.c \ @@ -63,7 +65,7 @@ libspectrum_la_LDFLAGS = -version-info 8:0:0 -no-undefined @WINDRES_LDFLAGS@ -libspectrum_la_LIBADD = @AUDIOFILE_LIBS@ -lm +libspectrum_la_LIBADD = @AUDIOFILE_LIBS@ @GLIB_LIBS@ -lm libspectrum_la_DEPENDENCIES = @WINDRES_OBJ@ @@ -78,7 +80,7 @@ AM_CFLAGS = -DLIBSPECTRUM_EXPORTS make-perl$(EXEEXT): $(srcdir)/make-perl.c config.h - $(CC_FOR_BUILD) -I. -o $@ $< + $(CC_FOR_BUILD) -I. $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< libspectrum.h: libspectrum.h.in generate.pl snap_accessors.txt tape_accessors.txt config.h @PERL@ -p generate.pl $(srcdir) $(srcdir)/libspectrum.h.in > $@.tmp && mv $@.tmp $@ @@ -97,12 +99,13 @@ @PERL@ $(srcdir)/tape_set.pl $(srcdir)/tape_accessors.txt > $@.tmp && mv $@.tmp $@ windres.o: windres.rc - @WINDRES@ $(srcdir)/windres.rc windres.o + @WINDRES@ -I. $(srcdir)/windres.rc windres.o -INCLUDES = @GLIB_CFLAGS@ @AUDIOFILE_CFLAGS@ +AM_CPPFLAGS = @GLIB_CFLAGS@ @AUDIOFILE_CFLAGS@ EXTRA_DIST = accessor.pl \ generate.pl.in \ + m4/audiofile.m4 \ make-perl.c \ tape_accessors.pl \ tape_accessors.txt \ Deleted: trunk/libspectrum/libspectrum/acinclude.m4 =================================================================== --- trunk/libspectrum/libspectrum/acinclude.m4 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/libspectrum/libspectrum/acinclude.m4 2012-12-06 11:55:57 UTC (rev 719) @@ -1,593 +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 the Audio File Library -# Bertrand Guiheneuf 98-10-21 -# stolen from esd.m4 in esound : -# Manish Singh 98-9-30 -# stolen back from Frank Belew -# stolen from Manish Singh -# Shamelessly stolen from Owen Taylor - -dnl AM_PATH_AUDIOFILE([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) -dnl Test for Audio File Library, and define AUDIOFILE_CFLAGS and AUDIOFILE_LIBS. -dnl -AC_DEFUN([AM_PATH_AUDIOFILE], -[dnl -dnl Get compiler flags and libraries from the audiofile-config script. -dnl -AC_ARG_WITH(audiofile-prefix,[ --with-audiofile-prefix=PFX Prefix where Audio File Library is installed (optional)], - audiofile_prefix="$withval", audiofile_prefix="") -AC_ARG_WITH(audiofile-exec-prefix,[ --with-audiofile-exec-prefix=PFX Exec prefix where Audio File Library is installed (optional)], - audiofile_exec_prefix="$withval", audiofile_exec_prefix="") -AC_ARG_ENABLE(audiofiletest, [ --disable-audiofiletest Do not try to compile and run a test Audio File Library program], , enable_audiofiletest=yes) - - if test x$audiofile_exec_prefix != x ; then - audiofile_args="$audiofile_args --exec-prefix=$audiofile_exec_prefix" - if test x${AUDIOFILE_CONFIG+set} != xset ; then - AUDIOFILE_CONFIG=$audiofile_exec_prefix/bin/audiofile-config - fi - fi - if test x$audiofile_prefix != x ; then - audiofile_args="$audiofile_args --prefix=$audiofile_prefix" - if test x${AUDIOFILE_CONFIG+set} != xset ; then - AUDIOFILE_CONFIG=$audiofile_prefix/bin/audiofile-config - fi - fi - - AC_PATH_PROG(AUDIOFILE_CONFIG, audiofile-config, no) - min_audiofile_version=ifelse([$1], ,0.2.5,$1) - AC_MSG_CHECKING(for Audio File Library - version >= $min_audiofile_version) - no_audiofile="" - if test "$AUDIOFILE_CONFIG" = "no" ; then - no_audiofile=yes - else - AUDIOFILE_LIBS=`$AUDIOFILE_CONFIG $audiofileconf_args --libs` - AUDIOFILE_CFLAGS=`$AUDIOFILE_CONFIG $audiofileconf_args --cflags` - audiofile_major_version=`$AUDIOFILE_CONFIG $audiofile_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - audiofile_minor_version=`$AUDIOFILE_CONFIG $audiofile_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - audiofile_micro_version=`$AUDIOFILE_CONFIG $audiofile_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_audiofiletest" = "xyes" ; then - AC_LANG_SAVE - AC_LANG_C - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $AUDIOFILE_CFLAGS" - LIBS="$LIBS $AUDIOFILE_LIBS" -dnl -dnl Now check if the installed Audio File Library is sufficiently new. -dnl (Also checks the sanity of the results of audiofile-config to some extent.) -dnl - rm -f conf.audiofiletest - AC_TRY_RUN([ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <audiofile.h> - -char* -my_strdup (char *str) -{ - char *new_str; - - if (str) - { - new_str = malloc ((strlen (str) + 1) * sizeof(char)); - strcpy (new_str, str); - } - else - new_str = NULL; - - return new_str; -} - -int main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.audiofiletest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = my_strdup("$min_audiofile_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_audiofile_version"); - exit(1); - } - - if (($audiofile_major_version > major) || - (($audiofile_major_version == major) && ($audiofile_minor_version > minor)) || - (($audiofile_major_version == major) && ($audiofile_minor_version == minor) && ($audiofile_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** 'audiofile-config --version' returned %d.%d.%d, but the minimum version\n", $audiofile_major_version, $audiofile_minor_version, $audiofile_micro_version); - printf("*** of the Audio File Library required is %d.%d.%d. If audiofile-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If audiofile-config was wrong, set the environment variable AUDIOFILE_CONFIG\n"); - printf("*** to point to the correct copy of audiofile-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - return 1; - } -} - -],, no_audiofile=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - AC_LANG_RESTORE - fi - fi - if test "x$no_audiofile" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$AUDIOFILE_CONFIG" = "no" ; then - cat <<END -*** The audiofile-config script installed by the Audio File Library could -*** not be found. If the Audio File Library was installed in PREFIX, make -*** sure PREFIX/bin is in your path, or set the AUDIOFILE_CONFIG -*** environment variable to the full path to audiofile-config. -END - else - if test -f conf.audiofiletest ; then - : - else - echo "*** Could not run Audio File Library test program; checking why..." - AC_LANG_SAVE - AC_LANG_C - CFLAGS="$CFLAGS $AUDIOFILE_CFLAGS" - LIBS="$LIBS $AUDIOFILE_LIBS" - AC_TRY_LINK([ -#include <stdio.h> -#include <audiofile.h> -], [ return 0; ], - [ cat <<END -*** The test program compiled, but did not run. This usually means that -*** the run-time linker is not finding Audio File Library or finding the -*** wrong version of Audio File Library. -*** -*** If it is not finding Audio File Library, you'll need to set your -*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point -*** to the installed location. Also, make sure you have run ldconfig if -*** that is required on your system. -*** -*** If you have an old version installed, it is best to remove it, although -*** you may also be able to get things to work by modifying -*** LD_LIBRARY_PATH. -END - ], - [ echo "*** The test program failed to compile or link. See the file config.log" - echo "*** for the exact error that occured. This usually means the Audio File" - echo "*** Library was incorrectly installed or that you have moved the Audio" - echo "*** File Library since it was installed. In the latter case, you may want" - echo "*** to edit the audiofile-config script: $AUDIOFILE_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - AC_LANG_RESTORE - fi - fi - AUDIOFILE_CFLAGS="" - AUDIOFILE_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(AUDIOFILE_CFLAGS) - AC_SUBST(AUDIOFILE_LIBS) - rm -f conf.audiofiletest -]) Modified: trunk/libspectrum/libspectrum/autogen.sh =================================================================== --- trunk/libspectrum/libspectrum/autogen.sh 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/libspectrum/libspectrum/autogen.sh 2012-12-06 11:55:57 UTC (rev 719) @@ -3,7 +3,7 @@ # autogen.sh: autotools invocation # Copyright (c) 2004 Philip Kendall -# $Id: autogen.sh 2890 2007-05-26 19:31:43Z zubzero $ +# $Id: autogen.sh 4751 2012-10-21 05:03:37Z fredm $ # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ # Exit on errors set -e -aclocal +aclocal -I m4 autoheader glibtoolize --automake automake --add-missing Copied: trunk/libspectrum/libspectrum/configure.ac (from rev 717, vendor/fuse-emulator/current/libspectrum/configure.ac) =================================================================== --- trunk/libspectrum/libspectrum/configure.ac (rev 0) +++ trunk/libspectrum/libspectrum/configure.ac 2012-12-06 11:55:57 UTC (rev 719) @@ -0,0 +1,224 @@ +dnl Process this file with autoconf to produce a configure script. +dnl Copyright (c) 1999-2008 Philip Kendall + +dnl $Id: configure.ac 4778 2012-11-28 23:21:34Z sbaldovi $ + +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 +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License along +dnl with this program; if not, write to the Free Software Foundation, Inc., +dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +dnl +dnl Author contact information: +dnl +dnl E-mail: phi...@sh... + +dnl Package version +m4_define([libspectrum_version], [1.0.0]) + +dnl Product full version +m4_define([libspectrum_major_version], [1]) +m4_define([libspectrum_minor_version], [0]) +m4_define([libspectrum_micro_version], [0]) +m4_define([libspectrum_nano_version], [0]) +m4_define([libspectrum_full_version], + [libspectrum_major_version.libspectrum_minor_version.libspectrum_micro_version.libspectrum_nano_version]) +m4_define([libspectrum_rc_version], + [libspectrum_major_version,libspectrum_minor_version,libspectrum_micro_version,libspectrum_nano_version]) + +dnl Package info +m4_define([libspectrum_copyright], ["(c) 1999-2012 Philip Kendall and others"]) +m4_define([libspectrum_url], + [http://fuse-emulator.sourceforge.net/libspectrum.php]) +m4_define([libspectrum_bugreport], + [http://sourceforge.net/tracker/?group_id=91293&atid=596648]) + +AC_INIT([libspectrum],[libspectrum_version],[libspectrum_bugreport], + [libspectrum],[libspectrum_url]) +AC_CONFIG_SRCDIR([libspectrum.c]) +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_HEADERS([config.h]) +AC_CANONICAL_HOST + +dnl Use automake to produce `Makefile.in' +AM_INIT_AUTOMAKE + +dnl Substitutions for .in files +LIBSPECTRUM_FULL_VERSION=libspectrum_full_version +LIBSPECTRUM_COPYRIGHT=libspectrum_copyright +LIBSPECTRUM_URL=libspectrum_url +AC_SUBST(LIBSPECTRUM_FULL_VERSION) +AC_SUBST(LIBSPECTRUM_COPYRIGHT) +AC_SUBST(LIBSPECTRUM_URL) + +dnl Definitions for config.h +AC_DEFINE([LIBSPECTRUM_RC_VERSION], [libspectrum_rc_version], + [Define version information for win32 dll library]) +AC_DEFINE([LIBSPECTRUM_COPYRIGHT], [libspectrum_copyright], + [Define copyright of libspectrum]) + +dnl Checks for programs. +AC_PROG_CC + +dnl Setup for compiling build tools (make-perl) +if test $cross_compiling = yes; then + AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc) +else + CC_FOR_BUILD=$CC +fi +AC_MSG_CHECKING([for a C compiler for build tools]) +AC_MSG_RESULT([$CC_FOR_BUILD]) +AC_SUBST(CC_FOR_BUILD) + +LT_INIT +AC_PATH_PROG(PERL, perl) +AC_SUBST(PERL) + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS(stdint.h strings.h unistd.h) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST + +dnl Check for host specific programs +WINDRES_OBJ= +WINDRES_LDFLAGS= +case "$host_os" in + mingw32*) + AC_CHECK_TOOL([WINDRES], [windres], [no]) + if test "$WINDRES" != no; then + WINDRES_OBJ="windres.o" + WINDRES_LDFLAGS="-Xlinker windres.o" + fi + ;; +esac +AC_SUBST(WINDRES_OBJ) +AC_SUBST(WINDRES_LDFLAGS) + +dnl Check for big endianness +AC_C_BIGENDIAN + +dnl Check for functions +AC_CHECK_FUNCS(_snprintf _stricmp _strnicmp snprintf strcasecmp strncasecmp) + +dnl Allow the user to say that various libraries are in one place +AC_ARG_WITH(local-prefix, +[ --with-local-prefix=PFX local libraries installed in PFX (optional)], +CPPFLAGS="$CPPFLAGS -I$withval/include"; LDFLAGS="$LDFLAGS -L$withval/lib", +if test "$prefix" != "NONE"; then + CPPFLAGS="$CPPFLAGS -I$prefix/include"; LDFLAGS="$LDFLAGS -L$prefix/lib" +fi) + +dnl Check whether to use zlib (the UNIX version is called z, Win32 zdll) +AC_MSG_CHECKING(whether to use zlib) +AC_ARG_WITH(zlib, +[ --without-zlib don't use zlib], +if test "$withval" = no; then zlib=no; else zlib=yes; fi, +zlib=yes) +AC_MSG_RESULT($zlib) +if test "$zlib" = yes; then + AC_CHECK_HEADERS( + zlib.h, + AC_SEARCH_LIBS(compress2, z zdll) + ) +fi + +dnl Check whether to use libgcrypt +AC_MSG_CHECKING(whether to use libgcrypt) +AC_ARG_WITH(libgcrypt, +[ --without-libgcrypt don't use libgcrypt], +if test "$withval" = no; then libgcrypt=no; else libgcrypt=yes; fi, +libgcrypt=yes) +AC_MSG_RESULT($libgcrypt) +if test "$libgcrypt" = yes; then + AC_CHECK_HEADERS(gcrypt.h,LIBS="$LIBS -lgcrypt") +fi + +dnl Check whether to use libbz2 (1.0 or greater) +AC_MSG_CHECKING(whether to use libbz2) +AC_ARG_WITH(bzip2, +[ --without-bzip2 don't use libbz2], +if test "$withval" = no; then bzip2=no; else bzip2=yes; fi, +bzip2=yes) +AC_MSG_RESULT($bzip2) +if test "$bzip2" = yes; then + AC_CHECK_HEADER( + bzlib.h, + AC_CHECK_LIB(bz2,BZ2_bzDecompressInit) + ) +fi + +dnl Either find glib or use the replacement +AC_MSG_CHECKING(whether to use glib) +AC_ARG_WITH(glib, +[ --without-glib don't use glib], +if test "$withval" = no; then glib=no; else glib=yes; fi, +glib=yes) +AC_MSG_RESULT($glib) +if test "$glib" = yes; then + PKG_CHECK_MODULES( + GLIB, + glib-2.0, + AC_DEFINE([HAVE_LIB_GLIB], 1, [Defined if we've got glib]), + glib="no" + ) +fi + +AM_CONDITIONAL(USE_MYGLIB, test "$glib" = no) + +dnl If it appears we're using gcc as our compiler, turn on warnings +if test "$ac_cv_prog_gcc" = yes; then + CFLAGS="$CFLAGS -Wall" + dnl And possibly lots of warnings + AC_MSG_CHECKING(whether lots of warnings requested) + AC_ARG_ENABLE(warnings, + [ --enable-warnings give lots of warnings if using gcc], + if test "$enableval" = yes; then + warnings=yes; + else + warnings=no; + fi, + warnings=no) + AC_MSG_RESULT($warnings) + if test "$warnings" = yes; then + CFLAGS="$CFLAGS -Wstrict-prototypes -Wmissing-prototypes -Winline -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Waggregate-return -W -Wsign-compare" + fi +fi + +dnl Check whether to use libaudiofile +AC_MSG_CHECKING(whether to use libaudiofile) +AC_ARG_WITH(libaudiofile, +[ --without-libaudiofile don't use libaudiofile], +if test "$withval" = no; then libaudiofile=no; else libaudiofile=yes; fi, +libaudiofile=yes) +AC_MSG_RESULT($libaudiofile) +if test "$libaudiofile" = yes; then + PKG_CHECK_MODULES( + AUDIOFILE, + audiofile, + AC_DEFINE([HAVE_LIB_AUDIOFILE], 1, [Defined if we've got audiofile]), + [true] + ) + if test -z "$AUDIOFILE_LIBS"; then + AM_PATH_AUDIOFILE( + 0.2.3, + AC_DEFINE([HAVE_LIB_AUDIOFILE], 1, [Defined if we've got audiofile]) + ) + fi +fi + +AC_CONFIG_FILES([ + Makefile + libspectrum.qpg +]) + +AC_OUTPUT Deleted: trunk/libspectrum/libspectrum/configure.in =================================================================== --- trunk/libspectrum/libspectrum/configure.in 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/libspectrum/libspectrum/configure.in 2012-12-06 11:55:57 UTC (rev 719) @@ -1,196 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -dnl Copyright (c) 1999-2008 Philip Kendall - -dnl $Id: configure.in 4416 2011-05-02 12:59:42Z 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 -dnl the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. -dnl -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -dnl GNU General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License along -dnl with this program; if not, write to the Free Software Foundation, Inc., -dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -dnl -dnl Author contact information: -dnl -dnl E-mail: phi...@sh... - -AC_INIT(libspectrum.c) -AM_CONFIG_HEADER(config.h) - -define(LIBSPECTRUM_VERSION, [1.0.0]) - -dnl Use automake to produce `Makefile.in' -AM_INIT_AUTOMAKE(libspectrum, LIBSPECTRUM_VERSION) - -dnl Checks for programs. -AC_PROG_CC - -dnl Setup for compiling build tools (make-perl) -AC_MSG_CHECKING([for a C compiler for build tools]) -if test $cross_compiling = yes; then - AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc) -else - CC_FOR_BUILD=$CC -fi -AC_MSG_RESULT([$CC_FOR_BUILD]) -AC_SUBST(CC_FOR_BUILD) - -AM_PROG_LIBTOOL -AC_PATH_PROG(PERL, perl) -AC_SUBST(PERL) - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS(stdint.h strings.h unistd.h) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST - -dnl Check whether to use Windows resource file utility -AC_MSG_CHECKING(whether to use windres) -AC_ARG_WITH(windres, -[ --without-windres don't use windres], -if test "$withval" = no; then windres=no; else windres=yes; fi, -windres=yes) -AC_MSG_RESULT($windres) -if test "$windres" = yes; then - AC_CHECK_TOOL(WINDRES, windres, no) - AC_SUBST(WINDRES) - if test "$WINDRES" != no; then - WINDRES_OBJ="windres.o" - WINDRES_LDFLAGS="-Xlinker windres.o" - define(LIBSPECTRUM_FULL_VERSION, - [ifelse(translit(LIBSPECTRUM_VERSION, [0-9]), [.], [LIBSPECTRUM_VERSION[.0.0]], - translit(LIBSPECTRUM_VERSION, [0-9]), [..], [LIBSPECTRUM_VERSION[.0]], - [LIBSPECTRUM_VERSION])])dnl - AC_DEFINE([VERSION_WIN32], [translit(LIBSPECTRUM_FULL_VERSION, [.], [,])], [Define version information for win32 dll library]) - fi -fi -AC_SUBST(WINDRES_OBJ) -AC_SUBST(WINDRES_LDFLAGS) - -dnl Check for big endianness -AC_C_BIGENDIAN - -dnl Check for functions -AC_CHECK_FUNCS(_snprintf _stricmp _strnicmp snprintf strcasecmp strncasecmp) - -dnl Allow the user to say that various libraries are in one place -AC_ARG_WITH(local-prefix, -[ --with-local-prefix=PFX local libraries installed in PFX (optional)], -CPPFLAGS="$CPPFLAGS -I$withval/include"; LDFLAGS="$LDFLAGS -L$withval/lib", -if test "$prefix" != "NONE"; then - CPPFLAGS="$CPPFLAGS -I$prefix/include"; LDFLAGS="$LDFLAGS -L$prefix/lib" -fi) - -dnl Check whether to use zlib (the UNIX version is called z, Win32 zdll) -AC_MSG_CHECKING(whether to use zlib) -AC_ARG_WITH(zlib, -[ --without-zlib don't use zlib], -if test "$withval" = no; then zlib=no; else zlib=yes; fi, -zlib=yes) -AC_MSG_RESULT($zlib) -if test "$zlib" = yes; then - AC_CHECK_HEADERS( - zlib.h, - AC_SEARCH_LIBS(compress2, z zdll) - ) -fi - -dnl Check whether to use libgcrypt -AC_MSG_CHECKING(whether to use libgcrypt) -AC_ARG_WITH(libgcrypt, -[ --without-libgcrypt don't use libgcrypt], -if test "$withval" = no; then libgcrypt=no; else libgcrypt=yes; fi, -libgcrypt=yes) -AC_MSG_RESULT($libgcrypt) -if test "$libgcrypt" = yes; then - AC_CHECK_HEADERS(gcrypt.h,LIBS="$LIBS -lgcrypt") -fi - -dnl Check whether to use libbz2 (1.0 or greater) -AC_MSG_CHECKING(whether to use libbz2) -AC_ARG_WITH(bzip2, -[ --without-bzip2 don't use libbz2], -if test "$withval" = no; then bzip2=no; else bzip2=yes; fi, -bzip2=yes) -AC_MSG_RESULT($bzip2) -if test "$bzip2" = yes; then - AC_CHECK_HEADER( - bzlib.h, - AC_CHECK_LIB(bz2,BZ2_bzDecompressInit) - ) -fi - -dnl Either find glib or use the replacement -AC_MSG_CHECKING(whether to use glib) -AC_ARG_WITH(glib, -[ --without-glib don't use glib], -if test "$withval" = no; then glib=no; else glib=yes; fi, -glib=yes) -AC_MSG_RESULT($glib) -if test "$glib" = yes; then - glib2=no - AM_PATH_GLIB_2_0( - 2.0.0, - glib2=yes - AC_DEFINE([HAVE_LIB_GLIB], 1, [Defined if we've got glib]) - LIBS="$LIBS `pkg-config --libs glib-2.0`", - ) - if test "$glib2" = no; then - AM_PATH_GLIB( - 1.2.0, - AC_DEFINE([HAVE_LIB_GLIB], 1, [Defined if we've got glib]) - LIBS="$LIBS `glib-config --libs`", - glib=no - AC_MSG_WARN(glib not found - using internal replacement) - ) - fi -fi - -AM_CONDITIONAL(USE_MYGLIB, test "$glib" = no) - -dnl If it appears we're using gcc as our compiler, turn on warnings -if test "$ac_cv_prog_gcc" = yes; then - CFLAGS="$CFLAGS -Wall" - dnl And possibly lots of warnings - AC_MSG_CHECKING(whether lots of warnings requested) - AC_ARG_ENABLE(warnings, - [ --enable-warnings give lots of warnings if using gcc], - if test "$enableval" = yes; then - warnings=yes; - else - warnings=no; - fi, - warnings=no) - AC_MSG_RESULT($warnings) - if test "$warnings" = yes; then - CFLAGS="$CFLAGS -Wstrict-prototypes -Wmissing-prototypes -Winline -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Waggregate-return -W -Wsign-compare" - fi -fi - -dnl Check whether to use libaudiofile -AC_MSG_CHECKING(whether to use libaudiofile) -AC_ARG_WITH(libaudiofile, -[ --without-libaudiofile don't use libaudiofile], -if test "$withval" = no; then libaudiofile=no; else libaudiofile=yes; fi, -libaudiofile=yes) -AC_MSG_RESULT($libaudiofile) -if test "$libaudiofile" = yes; then - AM_PATH_AUDIOFILE( - 0.2.3, - AC_DEFINE([HAVE_LIB_AUDIOFILE], 1, [Defined if we've got audiofile]) - ) -fi - -AC_OUTPUT( - Makefile - libspectrum.qpg -) Modified: trunk/libspectrum/libspectrum/hacking/ChangeLog =================================================================== --- trunk/libspectrum/libspectrum/hacking/ChangeLog 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/libspectrum/libspectrum/hacking/ChangeLog 2012-12-06 11:55:57 UTC (rev 719) @@ -875,3 +875,33 @@ (thanks, clang 2.1) (Fred). 20120220 make-perl.c: advertise that we support bzip2 compressed and wav files (part of patch #3413549) (Sergio Baldoví). +20120327 configure.in,Makefile.am,acinclude.m4: simplify detection of GLib + and drop support for version 1.x (patch #3508792) (Alberto Garcia) +20120327 configure.in: add support for audiofile 0.3.x (patch #3508658) (Alberto + Garcia). +20120506 make-perl.c,myglib/gslist.c: fix some const qualifiers for the data + argument to g_slist_remove and g_slist_find_custom (part of bug + #3514721) (Sergio Baldoví). +20120507 internals.h,libspectrum.c,libspectrum.h.in,make-perl.c,myglib/{ghash.c, + gslist.c}: add g_hash_table_new_full() and libspectrum_end() for memory + releasing (part of bug #3515269) (Sergio Baldoví). +20120916 Makefile.am: allow custom build flags for make-perl to address warning + from the debian build system (bug #3567469) (Sergio Baldoví). +20120928 szx.c: read all possible RAM pages from the snap (thanks, ketmar) + (Fred). +20121021 Makefile.am,acinclude.m4,autogen.sh,configure.ac,configure.in, + m4/audiofile.m4,windres.rc: modernise autoconf support (more from patch + #3575831) (Sergio). +20121026 configure.ac: fix the build when libaudiofile is not found and we are + using an old pkg-config/autoconf (bug #3579244) (Sergio). +20121107 Makefile.am: fix the build when source and build trees are different + (VPATH) (bug #3584527) (Sergio). +20121107 szx.c: fix potential calls to memcpy with a null pointer argument + (thanks, clang 4.1) (Fred). +20121107 libspectrum.c: fix potential leak of memory pointed to by + 'new_filename' (thanks, clang 4.1) (Fred). +20121126 memory.c,myglib/garray.c,windres.rc: fix hard-coded Id tags and add + missing properties (Sergio). +20121129 configure.ac: don't check for windres when not building for Windows + hosts. Remove --without-windres option, previously used as a workaround + (Sergio). Modified: trunk/libspectrum/libspectrum/internals.h =================================================================== --- trunk/libspectrum/libspectrum/internals.h 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/libspectrum/libspectrum/internals.h 2012-12-06 11:55:57 UTC (rev 719) @@ -2,7 +2,7 @@ routines, but not by user code Copyright (c) 2001-2008 Philip Kendall, Darren Salt - $Id: internals.h 4388 2011-04-27 12:52:26Z fredm $ + $Id: internals.h 4695 2012-05-07 02:03:10Z 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 @@ -258,4 +258,14 @@ extern const int LIBSPECTRUM_BITS_IN_BYTE; +/* glib replacement functions */ + +#ifndef HAVE_LIB_GLIB /* Only if we are using glib replacement */ +void +libspectrum_slist_cleanup( void ); + +void +libspectrum_hashtable_cleanup( void ); +#endif /* #ifndef HAVE_LIB_GLIB */ + #endif /* #ifndef LIBSPECTRUM_INTERNALS_H */ Modified: trunk/libspectrum/libspectrum/libspectrum.c =================================================================== --- trunk/libspectrum/libspectrum/libspectrum.c 2012-12-06 10:27:01 UTC (rev 718) +++ trunk/libspectrum/libspectrum/libspectrum.c 2012-12-06 11:55:57 UTC (rev 719) @@ -1,7 +1,7 @@ /* libspectrum.c: Some general routines Copyright (c) 2001-2009 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.c 4539 2011-09-05 12:17:34Z fredm $ + $Id: libspectrum.c 4759 2012-11-07 12:01:50Z 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 @@ -121,6 +121,15 @@ return LIBSPECTRUM_ERROR_NONE; } +void +libspectrum_end( void ) +{ +#ifndef HAVE_LIB_GLIB + libspectrum_slist_cleanup(); + libspectrum_hashtable_cleanup(); +#endif /* #ifndef HAVE_LIB_GLIB */ +} + #ifdef HAVE_GCRYPT_H static void gcrypt_log_handler( void *opaque, int level, const char *format, va_list ap ) @@ -463,10 +472,12 @@ error = libspectrum_iden... [truncated message content] |
From: <fr...@us...> - 2012-12-06 10:27:03
|
Revision: 718 http://sourceforge.net/p/fuse-for-macosx/code/718 Author: fredm Date: 2012-12-06 10:27:01 +0000 (Thu, 06 Dec 2012) Log Message: ----------- Fix metadata. Modified Paths: -------------- trunk/fuse/fusepb/resources/Fuse Help/html/movies.html Modified: trunk/fuse/fusepb/resources/Fuse Help/html/movies.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/movies.html 2012-12-06 10:23:34 UTC (rev 717) +++ trunk/fuse/fusepb/resources/Fuse Help/html/movies.html 2012-12-06 10:27:01 UTC (rev 718) @@ -3,12 +3,12 @@ <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> - <!-- AppleSegStart="Compressed Files" --> + <!-- AppleSegStart="Movies --> <title>Compressed Files</title> </head> <body> <font face="Lucida Grande,Helvetica,Arial"><a name="Compressed - Files"></a><!-- AppleSegDescription="This section describes Fuses support of compressed files." --></font> + Files"></a><!-- AppleSegDescription="This section describes Fuses support of movies." --></font> <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">Movie Recording<br> </font></h2> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2012-12-06 10:23:44
|
Revision: 717 http://sourceforge.net/p/fuse-for-macosx/code/717 Author: fredm Date: 2012-12-06 10:23:34 +0000 (Thu, 06 Dec 2012) Log Message: ----------- Add missing manual page. Added Paths: ----------- trunk/fuse/fusepb/resources/Fuse Help/html/movies.html Added: trunk/fuse/fusepb/resources/Fuse Help/html/movies.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/movies.html (rev 0) +++ trunk/fuse/fusepb/resources/Fuse Help/html/movies.html 2012-12-06 10:23:34 UTC (rev 717) @@ -0,0 +1,49 @@ +<!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="Compressed Files" --> + <title>Compressed Files</title> + </head> + <body> + <font face="Lucida Grande,Helvetica,Arial"><a name="Compressed + Files"></a><!-- AppleSegDescription="This section describes Fuses support of compressed files." --></font> + <div class="refsect1" xml:lang="en" lang="en"> + <h2><font face="Lucida Grande,Helvetica,Arial">Movie Recording<br> + </font></h2> + </div> + <p> + <font face="Lucida Grande,Helvetica,Arial">Fuse can save movies + with sound in a specific file format (FMF). This recording is + very fast and has a moderate size, but you need to use the + fmfconv program in fuse‐utils to convert the format into regular + video and/or audio file. The Movie Compression Level preference + allows you to set the compression level to None, Lossless or + High. The default is Lossless. Recording a movie may slow + down emulation, if you experience performance problems, you can + try to set compression to None.<br> + <br> + Fuse records every displayed frame, so by default the recorded + file has about 50 video frames per second. A standard + video has about 24‐30 frames per second framerate, + so if you set the Frame rate 1:n preference to 2 than recording + frame rate is reduced to about 25/s. The exact frame rate + depends on the Z80 clock frequency which varies depending on the + specific emulated machine.<br> + Note: You can see all of the Spectrum graphics effects (for + example those in scene demos) only if the Fuse frame rate option + is set to 1, but in most cases like game software you can safely + use a setting of 2. Also, movie recording stops if the emulated + machine is changed while recording is in progress.<br> + <br> + The recorded number of channels matches the sound preferences + which is set to mono by default. You can record stereo sound if + you use the AY stereo separation preference.<br> + <br> + You can use the fmfconv program from the fuse-utils package to + convert a FMF-format recorded movie file into a standard video + file.</font></p> + <!-- AppleSegEnd --> + </body> +</html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2012-12-05 21:21:21
|
Revision: 716 http://sourceforge.net/p/fuse-for-macosx/code/716 Author: fredm Date: 2012-12-05 21:21:19 +0000 (Wed, 05 Dec 2012) Log Message: ----------- Tag vendor/fuse-emulator/current as vendor/fuse-emulator/fuse-r4779. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/4779 Added Paths: ----------- vendor/fuse-emulator/fuse-r4779/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2012-12-05 21:20:57
|
Revision: 715 http://sourceforge.net/p/fuse-for-macosx/code/715 Author: fredm Date: 2012-12-05 21:20:47 +0000 (Wed, 05 Dec 2012) Log Message: ----------- Load . into vendor/fuse-emulator/current. Modified Paths: -------------- vendor/fuse-emulator/current/fuse/Makefile.am vendor/fuse-emulator/current/fuse/README vendor/fuse-emulator/current/fuse/autogen.sh vendor/fuse-emulator/current/fuse/compat/Makefile.am vendor/fuse-emulator/current/fuse/compat/amiga/Makefile.am vendor/fuse-emulator/current/fuse/compat/amiga/paths.c vendor/fuse-emulator/current/fuse/compat/morphos/Makefile.am vendor/fuse-emulator/current/fuse/compat/unix/Makefile.am vendor/fuse-emulator/current/fuse/compat/unix/paths.c vendor/fuse-emulator/current/fuse/compat/unix/socket.c vendor/fuse-emulator/current/fuse/compat/wii/Makefile.am vendor/fuse-emulator/current/fuse/compat/wii/paths.c vendor/fuse-emulator/current/fuse/compat/win32/Makefile.am vendor/fuse-emulator/current/fuse/compat/win32/paths.c vendor/fuse-emulator/current/fuse/compat/win32/socket.c vendor/fuse-emulator/current/fuse/compat.h vendor/fuse-emulator/current/fuse/configure.ac vendor/fuse-emulator/current/fuse/data/fuse.xml.in vendor/fuse-emulator/current/fuse/debugger/Makefile.am vendor/fuse-emulator/current/fuse/debugger/command.c vendor/fuse-emulator/current/fuse/debugger/commandl.l vendor/fuse-emulator/current/fuse/debugger/debugger.c vendor/fuse-emulator/current/fuse/debugger/debugger_internals.h vendor/fuse-emulator/current/fuse/debugger/variable.c vendor/fuse-emulator/current/fuse/display.c vendor/fuse-emulator/current/fuse/event.c vendor/fuse-emulator/current/fuse/fuse.c vendor/fuse-emulator/current/fuse/fuse.h vendor/fuse-emulator/current/fuse/hacking/ChangeLog vendor/fuse-emulator/current/fuse/input.h vendor/fuse-emulator/current/fuse/keyboard.c vendor/fuse-emulator/current/fuse/keyboard.h vendor/fuse-emulator/current/fuse/keysyms.dat vendor/fuse-emulator/current/fuse/keysyms.pl vendor/fuse-emulator/current/fuse/machine.c vendor/fuse-emulator/current/fuse/machines/Makefile.am vendor/fuse-emulator/current/fuse/machines/machines_periph.h vendor/fuse-emulator/current/fuse/machines/pentagon.c vendor/fuse-emulator/current/fuse/machines/spec_se.c vendor/fuse-emulator/current/fuse/machines/tc2048.c vendor/fuse-emulator/current/fuse/machines/tc2068.c vendor/fuse-emulator/current/fuse/machines/ts2068.c vendor/fuse-emulator/current/fuse/man/fuse.1 vendor/fuse-emulator/current/fuse/memory.c vendor/fuse-emulator/current/fuse/memory.h vendor/fuse-emulator/current/fuse/mempool.c vendor/fuse-emulator/current/fuse/menu.c vendor/fuse-emulator/current/fuse/menu.h vendor/fuse-emulator/current/fuse/menu_data.pl vendor/fuse-emulator/current/fuse/module.c vendor/fuse-emulator/current/fuse/module.h vendor/fuse-emulator/current/fuse/movie.c vendor/fuse-emulator/current/fuse/movie.h vendor/fuse-emulator/current/fuse/movie_tables.h vendor/fuse-emulator/current/fuse/periph.c vendor/fuse-emulator/current/fuse/periph.h vendor/fuse-emulator/current/fuse/peripherals/Makefile.am vendor/fuse-emulator/current/fuse/peripherals/dck.c vendor/fuse-emulator/current/fuse/peripherals/disk/Makefile.am vendor/fuse-emulator/current/fuse/peripherals/disk/beta.c vendor/fuse-emulator/current/fuse/peripherals/disk/disciple.c vendor/fuse-emulator/current/fuse/peripherals/disk/opus.c vendor/fuse-emulator/current/fuse/peripherals/disk/opus.h vendor/fuse-emulator/current/fuse/peripherals/disk/plusd.c vendor/fuse-emulator/current/fuse/peripherals/flash/Makefile.am vendor/fuse-emulator/current/fuse/peripherals/flash/am29f010.c vendor/fuse-emulator/current/fuse/peripherals/flash/am29f010.h vendor/fuse-emulator/current/fuse/peripherals/ide/Makefile.am vendor/fuse-emulator/current/fuse/peripherals/if1.c vendor/fuse-emulator/current/fuse/peripherals/nic/Makefile.am vendor/fuse-emulator/current/fuse/peripherals/nic/enc28j60.c vendor/fuse-emulator/current/fuse/peripherals/nic/enc28j60.h vendor/fuse-emulator/current/fuse/peripherals/nic/w5100.c vendor/fuse-emulator/current/fuse/peripherals/nic/w5100.h vendor/fuse-emulator/current/fuse/peripherals/nic/w5100_internals.h vendor/fuse-emulator/current/fuse/peripherals/nic/w5100_socket.c vendor/fuse-emulator/current/fuse/peripherals/scld.c vendor/fuse-emulator/current/fuse/peripherals/scld.h vendor/fuse-emulator/current/fuse/peripherals/speccyboot.c vendor/fuse-emulator/current/fuse/peripherals/speccyboot.h vendor/fuse-emulator/current/fuse/peripherals/specdrum.h vendor/fuse-emulator/current/fuse/peripherals/spectranet.c vendor/fuse-emulator/current/fuse/peripherals/spectranet.h vendor/fuse-emulator/current/fuse/pokefinder/Makefile.am vendor/fuse-emulator/current/fuse/pokefinder/pokemem.c vendor/fuse-emulator/current/fuse/pokefinder/pokemem.h vendor/fuse-emulator/current/fuse/rectangle.c vendor/fuse-emulator/current/fuse/rzx.c vendor/fuse-emulator/current/fuse/settings.pl vendor/fuse-emulator/current/fuse/slt.c vendor/fuse-emulator/current/fuse/snapshot.c vendor/fuse-emulator/current/fuse/sound/Makefile.am vendor/fuse-emulator/current/fuse/sound/coreaudiosound.c vendor/fuse-emulator/current/fuse/sound.c vendor/fuse-emulator/current/fuse/tape.c vendor/fuse-emulator/current/fuse/tape.h vendor/fuse-emulator/current/fuse/timer/Makefile.am vendor/fuse-emulator/current/fuse/ui/fb/Makefile.am vendor/fuse-emulator/current/fuse/ui/gtk/Makefile.am vendor/fuse-emulator/current/fuse/ui/gtk/binary.c vendor/fuse-emulator/current/fuse/ui/gtk/browse.c vendor/fuse-emulator/current/fuse/ui/gtk/confirm.c vendor/fuse-emulator/current/fuse/ui/gtk/debugger.c vendor/fuse-emulator/current/fuse/ui/gtk/gtkdisplay.c vendor/fuse-emulator/current/fuse/ui/gtk/gtkinternals.h vendor/fuse-emulator/current/fuse/ui/gtk/gtkjoystick.c vendor/fuse-emulator/current/fuse/ui/gtk/gtkkeyboard.c vendor/fuse-emulator/current/fuse/ui/gtk/gtkmouse.c vendor/fuse-emulator/current/fuse/ui/gtk/gtkui.c vendor/fuse-emulator/current/fuse/ui/gtk/memory.c vendor/fuse-emulator/current/fuse/ui/gtk/options-header.pl vendor/fuse-emulator/current/fuse/ui/gtk/options.pl vendor/fuse-emulator/current/fuse/ui/gtk/picture.c vendor/fuse-emulator/current/fuse/ui/gtk/pixmaps.c vendor/fuse-emulator/current/fuse/ui/gtk/pokefinder.c vendor/fuse-emulator/current/fuse/ui/gtk/pokemem.c vendor/fuse-emulator/current/fuse/ui/gtk/rollback.c vendor/fuse-emulator/current/fuse/ui/gtk/roms.c vendor/fuse-emulator/current/fuse/ui/gtk/statusbar.c vendor/fuse-emulator/current/fuse/ui/gtk/stock.c vendor/fuse-emulator/current/fuse/ui/options.dat vendor/fuse-emulator/current/fuse/ui/scaler/Makefile.am vendor/fuse-emulator/current/fuse/ui/sdl/Makefile.am vendor/fuse-emulator/current/fuse/ui/sdl/sdldisplay.c vendor/fuse-emulator/current/fuse/ui/sdl/sdlkeyboard.c vendor/fuse-emulator/current/fuse/ui/svga/Makefile.am vendor/fuse-emulator/current/fuse/ui/widget/Makefile.am vendor/fuse-emulator/current/fuse/ui/widget/fuse.font.sbf vendor/fuse-emulator/current/fuse/ui/widget/menu.c vendor/fuse-emulator/current/fuse/ui/widget/options-header.pl vendor/fuse-emulator/current/fuse/ui/widget/pokemem.c vendor/fuse-emulator/current/fuse/ui/widget/text.c vendor/fuse-emulator/current/fuse/ui/widget/widget.c vendor/fuse-emulator/current/fuse/ui/wii/Makefile.am vendor/fuse-emulator/current/fuse/ui/win32/Makefile.am vendor/fuse-emulator/current/fuse/ui/win32/about.c vendor/fuse-emulator/current/fuse/ui/win32/about.rc vendor/fuse-emulator/current/fuse/ui/win32/binary.c vendor/fuse-emulator/current/fuse/ui/win32/debugger.c vendor/fuse-emulator/current/fuse/ui/win32/installer/fuse.nsi.in vendor/fuse-emulator/current/fuse/ui/win32/options-header.pl vendor/fuse-emulator/current/fuse/ui/win32/pokemem.c vendor/fuse-emulator/current/fuse/ui/win32/win32display.c vendor/fuse-emulator/current/fuse/ui/win32/win32ui.c vendor/fuse-emulator/current/fuse/ui/xlib/Makefile.am vendor/fuse-emulator/current/fuse/ui/xlib/xdisplay.c vendor/fuse-emulator/current/fuse/ui/xlib/xkeyboard.c vendor/fuse-emulator/current/fuse/ui.c vendor/fuse-emulator/current/fuse/unittests/Makefile.am vendor/fuse-emulator/current/fuse/utils.c vendor/fuse-emulator/current/fuse/utils.h vendor/fuse-emulator/current/fuse/windres.rc vendor/fuse-emulator/current/fuse/z80/Makefile.am vendor/fuse-emulator/current/fuse-utils/Makefile.am vendor/fuse-emulator/current/fuse-utils/audio2tape.h vendor/fuse-emulator/current/fuse-utils/autogen.sh vendor/fuse-emulator/current/fuse-utils/compat/amiga/Makefile.am vendor/fuse-emulator/current/fuse-utils/compat/unix/Makefile.am vendor/fuse-emulator/current/fuse-utils/compat/win32/Makefile.am vendor/fuse-emulator/current/fuse-utils/compat/win32/osname.c vendor/fuse-emulator/current/fuse-utils/configure.ac vendor/fuse-emulator/current/fuse-utils/fmfconv.c vendor/fuse-emulator/current/fuse-utils/fmfconv.h vendor/fuse-emulator/current/fuse-utils/fmfconv_aiff.c vendor/fuse-emulator/current/fuse-utils/fmfconv_au.c vendor/fuse-emulator/current/fuse-utils/fmfconv_ff.c vendor/fuse-emulator/current/fuse-utils/fmfconv_ppm.c vendor/fuse-emulator/current/fuse-utils/fmfconv_scr.c vendor/fuse-emulator/current/fuse-utils/fmfconv_wav.c vendor/fuse-emulator/current/fuse-utils/fmfconv_yuv.c vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog vendor/fuse-emulator/current/fuse-utils/movie_tables.h vendor/fuse-emulator/current/fuse-utils/profile2map.c vendor/fuse-emulator/current/fuse-utils/rzxdump.c vendor/fuse-emulator/current/fuse-utils/snap2tzx.c vendor/fuse-emulator/current/fuse-utils/tapeconv.c vendor/fuse-emulator/current/libspectrum/Makefile.am vendor/fuse-emulator/current/libspectrum/autogen.sh vendor/fuse-emulator/current/libspectrum/configure.ac vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog vendor/fuse-emulator/current/libspectrum/internals.h vendor/fuse-emulator/current/libspectrum/libspectrum.c vendor/fuse-emulator/current/libspectrum/libspectrum.h.in vendor/fuse-emulator/current/libspectrum/make-perl.c vendor/fuse-emulator/current/libspectrum/memory.c vendor/fuse-emulator/current/libspectrum/myglib/garray.c vendor/fuse-emulator/current/libspectrum/myglib/ghash.c vendor/fuse-emulator/current/libspectrum/myglib/gslist.c vendor/fuse-emulator/current/libspectrum/szx.c vendor/fuse-emulator/current/libspectrum/windres.rc Added Paths: ----------- vendor/fuse-emulator/current/fuse/INSTALL vendor/fuse-emulator/current/fuse/compat/linux/ vendor/fuse-emulator/current/fuse/compat/linux/Makefile.am vendor/fuse-emulator/current/fuse/compat/linux/paths.c vendor/fuse-emulator/current/fuse/m4/ vendor/fuse-emulator/current/fuse/m4/ax_pthread.m4 vendor/fuse-emulator/current/fuse/m4/glib-2.0.m4 vendor/fuse-emulator/current/fuse/m4/gtk-2.0.m4 vendor/fuse-emulator/current/fuse/m4/libxml.m4 vendor/fuse-emulator/current/fuse/m4/pkg.m4 vendor/fuse-emulator/current/fuse/m4/sdl.m4 vendor/fuse-emulator/current/fuse/ui/gtk/gtkcompat.c vendor/fuse-emulator/current/fuse/ui/gtk/gtkcompat.h vendor/fuse-emulator/current/fuse/ui/xlib/xstatusbar.pl vendor/fuse-emulator/current/fuse-utils/m4/ vendor/fuse-emulator/current/fuse-utils/m4/audiofile.m4 vendor/fuse-emulator/current/fuse-utils/m4/glib-1.0.m4 vendor/fuse-emulator/current/fuse-utils/m4/glib-2.0.m4 vendor/fuse-emulator/current/fuse-utils/m4/iconv.m4 vendor/fuse-emulator/current/libspectrum/m4/ vendor/fuse-emulator/current/libspectrum/m4/audiofile.m4 Removed Paths: ------------- vendor/fuse-emulator/current/fuse/acinclude.m4 vendor/fuse-emulator/current/fuse/ui/win32/installer/Makefile.am vendor/fuse-emulator/current/fuse-utils/acinclude.m4 vendor/fuse-emulator/current/libspectrum/acinclude.m4 Added: vendor/fuse-emulator/current/fuse/INSTALL =================================================================== --- vendor/fuse-emulator/current/fuse/INSTALL (rev 0) +++ vendor/fuse-emulator/current/fuse/INSTALL 2012-12-05 21:20:47 UTC (rev 715) @@ -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: vendor/fuse-emulator/current/fuse/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/Makefile.am 2012-12-05 21:19:12 UTC (rev 714) +++ vendor/fuse-emulator/current/fuse/Makefile.am 2012-12-05 21:20:47 UTC (rev 715) @@ -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: vendor/fuse-emulator/current/fuse/README =================================================================== --- vendor/fuse-emulator/current/fuse/README 2012-12-05 21:19:12 UTC (rev 714) +++ vendor/fuse-emulator/current/fuse/README 2012-12-05 21:20:47 UTC (rev 715) @@ -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 $ Deleted: vendor/fuse-emulator/current/fuse/acinclude.m4 =================================================================== --- vendor/fuse-emulator/current/fuse/acinclude.m4 2012-12-05 21:19:12 UTC (rev 714) +++ vendor/fuse-emulator/current/fuse/acinclude.m4 2012-12-05 21:20:47 UTC (rev 715) @@ -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... [truncated message content] |
From: <fr...@us...> - 2012-12-05 21:19:14
|
Revision: 714 http://sourceforge.net/p/fuse-for-macosx/code/714 Author: fredm Date: 2012-12-05 21:19:12 +0000 (Wed, 05 Dec 2012) Log Message: ----------- To prepare to load . into vendor/fuse-emulator/current, perform 4 renames. * vendor/fuse-emulator/current/fuse-utils/configure.ac: Renamed from vendor/fuse-emulator/current/fuse-utils/configure.in. * vendor/fuse-emulator/current/fuse/configure.ac: Renamed from vendor/fuse-emulator/current/fuse/configure.in. * vendor/fuse-emulator/current/libspectrum/configure.ac: Renamed from vendor/fuse-emulator/current/libspectrum/configure.in. * vendor/fuse-emulator/current/fuse/ui/win32/installer/fuse.nsi.in: Renamed from vendor/fuse-emulator/current/fuse/ui/win32/installer/fuse.nsi. Added Paths: ----------- vendor/fuse-emulator/current/fuse/configure.ac vendor/fuse-emulator/current/fuse/ui/win32/installer/fuse.nsi.in vendor/fuse-emulator/current/fuse-utils/configure.ac vendor/fuse-emulator/current/libspectrum/configure.ac Removed Paths: ------------- vendor/fuse-emulator/current/fuse/configure.in vendor/fuse-emulator/current/fuse/ui/win32/installer/fuse.nsi vendor/fuse-emulator/current/fuse-utils/configure.in vendor/fuse-emulator/current/libspectrum/configure.in Copied: vendor/fuse-emulator/current/fuse/configure.ac (from rev 713, vendor/fuse-emulator/current/fuse/configure.in) =================================================================== --- vendor/fuse-emulator/current/fuse/configure.ac (rev 0) +++ vendor/fuse-emulator/current/fuse/configure.ac 2012-12-05 21:19:12 UTC (rev 714) @@ -0,0 +1,820 @@ +dnl Process this file with autoconf to produce a configure script. +dnl $Id: configure.in 4674 2012-02-20 11:03:58Z 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 +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License along +dnl with this program; if not, write to the Free Software Foundation, Inc., +dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +dnl +dnl Author contact information: +dnl +dnl E-mail: phi...@sh... + +AC_INIT(fuse.c) +AM_CONFIG_HEADER(config.h) +AC_CANONICAL_SYSTEM + +define(FUSE_VERSION, [1.0.0]) + +dnl Use automake to produce `Makefile.in' +AM_INIT_AUTOMAKE(fuse, FUSE_VERSION) + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_RANLIB +AC_PATH_PROG(PERL, perl) +AC_SUBST(PERL) +AM_PROG_LEX +AC_PROG_YACC +AC_PROG_LIBTOOL + +dnl Check for Win32 resource tool +AC_MSG_CHECKING(whether to use windres) +AC_ARG_WITH(windres, +[ --without-windres don't use windres], +if test "$withval" = no; then windres=no; else windres=yes; fi, +windres=yes) +AC_MSG_RESULT($windres) +if test "$windres" = yes; then + AC_CHECK_TOOL(WINDRES, windres, no) + AC_SUBST(WINDRES) + if test "$WINDRES" != no; then + WINDRES_OBJ="windres.o" + define(FUSE_FULL_VERSION, + [ifelse(translit(FUSE_VERSION, [0-9]), [.], [FUSE_VERSION[.0.0]], + translit(FUSE_VERSION, [0-9]), [..], [FUSE_VERSION[.0]], + [FUSE_VERSION])])dnl + AC_DEFINE([VERSION_WIN32], [translit(FUSE_FULL_VERSION, [.], [,])], [Define version information for win32 executable]) + FUSE_FULL[]_VERSION=FUSE_FULL_VERSION + AC_SUBST(FUSE_FULL[]_VERSION) + fi +fi +AC_SUBST(WINDRES_OBJ) + +dnl Generate commandy.h +YFLAGS="$YFLAGS -d" +AC_SUBST(YFLAGS) + +dnl Check for big endianness +AC_C_BIGENDIAN + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS( + libgen.h \ + siginfo.h \ + strings.h \ + sys/soundcard.h \ + sys/audio.h \ + sys/audioio.h \ + zlib.h +) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_INLINE + +dnl Checks for library functions. +AC_CHECK_FUNCS(dirname geteuid getopt_long mkstemp fsync) + +dnl Allow the user to say that various libraries are in one place +AC_ARG_WITH(local-prefix, +[ --with-local-prefix=PFX local libraries installed in PFX (optional)], +CPPFLAGS="$CPPFLAGS -I$withval/include"; LDFLAGS="$LDFLAGS -L$withval/lib", +if test "$prefix" != "NONE"; then + CPPFLAGS="$CPPFLAGS -I$prefix/include"; LDFLAGS="$LDFLAGS -L$prefix/lib" +fi) + +dnl Select a user interface + +dnl Try various UI options; set the `ui' variable when we've got one +dnl we like, and then don't look at the other options + +AC_PATH_XTRA + +dnl Look for Win32 UI (default=no) +AC_MSG_CHECKING(whether Win32 UI requested) +AC_ARG_WITH(win32, +[ --with-win32 use Win32 for user interface], +if test "$withval" = no; then win32=no; else win32=yes; fi, +win32=no) +AC_MSG_RESULT($win32) +if test "$win32" = yes; then + AC_CHECK_HEADER(windows.h, + LIBS="$LIBS -mwindows -lcomctl32 -lwinmm -lpthread -lws2_32"; + 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]) + UI=win32; UI_LIBS="ui/win32/libuiwin32.a", + AC_MSG_ERROR([Win32 UI not found])) +fi + +dnl Look for svgalib (default=no) +AC_MSG_CHECKING(whether svgalib UI requested) +AC_ARG_WITH(svgalib, +[ --with-svgalib use svgalib for user interface], +if test "$withval" = no; then svgalib=no; else svgalib=yes; fi, +svgalib=no) +AC_MSG_RESULT($svgalib) +if test "$svgalib" = yes; then + AC_CHECK_HEADER(vga.h, + LIBS="$LIBS -lvga"; + AC_DEFINE([UI_SVGA], 1, [Defined if svgalib UI in use]) + AC_DEFINE([USE_WIDGET], 1, + [Defined if we're using a widget-based UI]) + UI=svga; WIDGET=widget; + UI_LIBS="ui/svga/libuisvga.a ui/widget/libwidget.a", + AC_MSG_ERROR([svgalib not found])) +fi + +dnl Look for framebuffer interface for SA1110 (default=no) +if test -z "$UI"; then + AC_MSG_CHECKING(whether framebuffer UI requested) + AC_ARG_WITH(fb, + [ --with-fb use framebuffer for user interface], + if test "$withval" = no; then fb=no; else fb=yes; fi, + fb=no) + AC_MSG_RESULT($fb) + if test "$fb" = yes; then + AC_DEFINE([UI_FB], 1, [Defined if framebuffer UI in use]) + AC_DEFINE([USE_WIDGET], 1, [Defined if we're using a widget-based UI]) + UI=fb; WIDGET=widget; + UI_LIBS="ui/fb/libuifb.a ui/widget/libwidget.a" + dnl Look for libgpm (default=yes) + AC_MSG_CHECKING(whether gpm requested) + AC_ARG_WITH(gpm, + [ --without-gpm don't use libgpm for e.g. Kempston mouse], + if test "$withval" = no; then gpm=no; else gpm=yes; fi, + gpm=yes) + AC_MSG_RESULT($gpm) + dnl Note: we use libdl to get libgpm at runtime + if test "$gpm" = yes; then + AC_CHECK_HEADER(gpm.h, + UI_LIBS="$UI_LIBS -ldl"; + AC_DEFINE([HAVE_GPM_H], 1, [Defined if gpm in use]), + AC_MSG_ERROR([libgpm not found])) + fi + fi +fi + +dnl Look for Wii interface (default = 0) +if test -z "$UI"; then + AC_MSG_CHECKING(whether Wii UI requested) + AC_ARG_WITH(wii, + [ --with-wii use Wii FB for user interface], + if test "$withval" = no; then wii=no; else wii=yes; fi, + wii=no) + AC_MSG_RESULT($wii) + if test "$wii" = yes; then + AC_DEFINE([UI_WII], 1, [Defined if Wii UI in use]) + AC_DEFINE([USE_WIDGET], 1, [Defined if we're using a widget-based UI]) + AC_DEFINE([USE_JOYSTICK], 1, [Defined if we're using hardware joysticks]) + UI=wii; WIDGET=widget; + UI_LIBS="ui/wii/libuiwii.a ui/widget/libwidget.a" + target_os=wii + dnl Look for libgpm (default=yes) + AC_MSG_CHECKING(whether gpm requested) + AC_ARG_WITH(gpm, + [ --without-gpm don't use libgpm for e.g. Kempston mouse], + if test "$withval" = no; then gpm=no; else gpm=yes; fi, + gpm=yes) + AC_MSG_RESULT($gpm) + dnl Note: we use libdl to get libgpm at runtime + if test "$gpm" = yes; then + AC_CHECK_HEADER(gpm.h, + UI_LIBS="$UI_LIBS -ldl"; + AC_DEFINE([HAVE_GPM_H], 1, [Defined if gpm in use]), + AC_MSG_ERROR([libgpm not found])) + fi + fi +fi + +dnl Look for SDL (default=no) +if test -z "$UI"; then + AC_MSG_CHECKING(whether SDL UI requested) + AC_ARG_WITH(sdl, + [ --with-sdl use SDL for user interface], + if test "$withval" = no; then sdl=no; else sdl=yes; fi, + sdl=no) + AC_MSG_RESULT($sdl) + if test "$sdl" = yes; then + SDL_VERSION=1.2.4 + AM_PATH_SDL($SDL_VERSION, + AC_DEFINE([UI_SDL], 1, [Defined if the SDL UI in use]) + AC_DEFINE([USE_WIDGET], 1, + [Defined if we're using a widget-based UI]) + UI=sdl; WIDGET=widget; + UI_LIBS="ui/sdl/libuisdl.a ui/widget/libwidget.a", + AC_MSG_ERROR([SDL version $SDL_VERSION not found])) + fi +fi + +dnl Look for GTK+ (default=yes) +if test -z "$UI"; then + AC_MSG_CHECKING(whether GTK+ UI requested) + AC_ARG_WITH(gtk, + [ --without-gtk don't use GTK+ for user interface], + if test "$withval" = no; then gtk=no; else gtk=yes; fi, + gtk=yes) + AC_MSG_RESULT($gtk) + if test "$gtk" = yes; then + AM_PATH_GTK_2_0(2.18.0, + AC_DEFINE([UI_GTK], 1, + [Defined if GTK+ UI 2.x is in use]) + AC_DEFINE([HAVE_LIB_GLIB], 1, [Defined if we've got glib]) + UI=gtk; UI_LIBS="ui/gtk/libuigtk.la", + AC_MSG_WARN([GTK+ not found. Reverting to Xlib])) + fi +fi + +if test "$UI" = gtk; then + AC_PATH_XTRA +fi + +dnl Look for Xlib UI (default=yes) +if test -z "$UI"; then + if test "$with_x" = no; then + AC_MSG_ERROR([Please specify --with-svgalib or --with-fb, not --without-x.]) + fi + AC_PATH_XTRA + CFLAGS="$CFLAGS $X_CFLAGS"; + LDFLAGS="$LDFLAGS $X_LIBS"; + LIBS="$LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"; + + dnl This apparently needed for SVR4 systems to link correctly + dnl Basically the same as a part of AC_PATH_XTRA, but using `gethostname' + dnl instead of `gethostbyname'. + dnl Thanks to Erik Kunze for pointing out this problem + AC_CHECK_FUNC(gethostname) + if test $ac_cv_func_gethostname = no; then + AC_CHECK_LIB(nsl, gethostname, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl") + fi + AC_CHECK_FUNC(connect) + if test $ac_cv_func_connect = no; then + AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", , + $X_EXTRA_LIBS) + fi + + dnl Check for the MIT-SHM extension + AC_CHECK_HEADERS( X11/extensions/XShm.h,,,[[ + #include <sys/ipc.h> + #include <sys/shm.h> + #include <X11/Xlib.h> + ]]) + AC_CHECK_LIB( Xext, XShmAttach, LIBS="$LIBS -lXext" ) + + AC_DEFINE([UI_X], 1, [Defined if Xlib UI in use]) + UI=xlib; WIDGET=widget; + AC_DEFINE([USE_WIDGET], 1, [Defined if we're using a widget-based UI]) + UI_LIBS="ui/xlib/libuixlib.a ui/widget/libwidget.a" +fi + +AC_SUBST(UI) +AC_SUBST(UI_LIBS) +AC_SUBST(WIDGET) +AM_CONDITIONAL(WIDGET, test x$WIDGET != x) + +# If we're not using GTK+, must either find glib or use the replacement +# (as supplied by libspectrum) +if test "$UI" != gtk; then + AC_MSG_CHECKING(whether to use glib) + AC_ARG_WITH(glib, + [ --without-glib don't use glib], + if test "$withval" = no; then glib=no; else glib=yes; fi, + glib=yes) + AC_MSG_RESULT($glib) + if test "$glib" = yes; then + AM_PATH_GLIB_2_0( + 2.20.0, + AC_DEFINE([HAVE_LIB_GLIB], 1, [Defined if we've got glib]) + LIBS="$LIBS `pkg-config --libs glib-2.0`", + AC_MSG_WARN(glib not found - using libspectrum's replacement) + ) + fi +fi + +dnl Check that libspectrum is available +AC_ARG_WITH(libspectrum-prefix, +[ --with-libspectrum-prefix=PFX where libspectrum is installed (optional)], +LIBSPEC_CFLAGS=-I$withval/include; LIBSPEC_LIBS=-L$withval/lib, +LIBSPEC_CFLAGS=""; LIBSPEC_LIBS="") +ac_save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $LIBSPEC_CFLAGS $GTK_CFLAGS $GLIB_CFLAGS" +AC_CHECK_HEADERS(libspectrum.h,LIBSPEC_LIBS="$LIBSPEC_LIBS -lspectrum", + AC_MSG_ERROR(Sorry - I need libspectrum to be available)) +CPPFLAGS="$ac_save_CPPFLAGS" +AC_SUBST(LIBSPEC_CFLAGS) +AC_SUBST(LIBSPEC_LIBS) + +dnl Check if supplied libspectrum has support for compressed szx files +AC_MSG_CHECKING(whether libspectrum supports compressed szx snaps) +ac_save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $LIBSPEC_CFLAGS" +AC_TRY_COMPILE([#include <libspectrum.h>],[ + int test = LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION; +], + AUTOLOAD_SNAPS=compressed; LIBSPEC_HAVE_ZLIB=yes; AC_MSG_RESULT(yes), + AUTOLOAD_SNAPS=uncompressed; LIBSPEC_HAVE_ZLIB=""; AC_MSG_RESULT(no)) +CPPFLAGS="$ac_save_CPPFLAGS" +AC_SUBST(AUTOLOAD_SNAPS) +AC_SUBST(LIBSPEC_HAVE_ZLIB) +AC_LINK_FILES([ + lib/"$AUTOLOAD_SNAPS"/disk_plus3.szx + lib/"$AUTOLOAD_SNAPS"/tape_128.szx + lib/"$AUTOLOAD_SNAPS"/tape_16.szx + lib/"$AUTOLOAD_SNAPS"/tape_2048.szx + lib/"$AUTOLOAD_SNAPS"/tape_2068.szx + lib/"$AUTOLOAD_SNAPS"/tape_48.szx + lib/"$AUTOLOAD_SNAPS"/tape_plus2.szx + lib/"$AUTOLOAD_SNAPS"/tape_plus2a.szx + lib/"$AUTOLOAD_SNAPS"/tape_plus3.szx + lib/"$AUTOLOAD_SNAPS"/tape_plus3e.szx + lib/"$AUTOLOAD_SNAPS"/tape_pentagon.szx + lib/"$AUTOLOAD_SNAPS"/tape_scorpion.szx + lib/"$AUTOLOAD_SNAPS"/tape_se.szx + lib/"$AUTOLOAD_SNAPS"/tape_ts2068.szx], + [lib/disk_plus3.szx + lib/tape_128.szx + lib/tape_16.szx + lib/tape_2048.szx + lib/tape_2068.szx + lib/tape_48.szx + lib/tape_plus2.szx + lib/tape_plus2a.szx + lib/tape_plus3.szx + lib/tape_plus3e.szx + lib/tape_pentagon.szx + lib/tape_scorpion.szx + lib/tape_se.szx + lib/tape_ts2068.szx]) + +dnl Check whether to use zlib (the UNIX version is called z, Win32 zdll) +AC_MSG_CHECKING(whether to use zlib) +AC_ARG_WITH(zlib, +[ --without-zlib don't use zlib], +if test "$withval" = no; then zlib=no; else zlib=yes; fi, +zlib=yes) +AC_MSG_RESULT($zlib) +if test "$zlib" = yes; then + AC_CHECK_HEADERS( + zlib.h, + AC_SEARCH_LIBS(compress2, z zdll) + ) +fi + +dnl Check if supplied libspectrum has support for bz2 compressed files +AC_MSG_CHECKING(whether libspectrum supports compressed bz2 files) +ac_save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $LIBSPEC_CFLAGS" +AC_TRY_COMPILE([#include <libspectrum.h>],[ + int test = LIBSPECTRUM_SUPPORTS_BZ2_COMPRESSION; +], + LIBSPEC_HAVE_BZ2=yes; AC_MSG_RESULT(yes), + LIBSPEC_HAVE_BZ2=""; AC_MSG_RESULT(no)) +CPPFLAGS="$ac_save_CPPFLAGS" +AC_SUBST(LIBSPEC_HAVE_BZ2) + +dnl Check if supplied libspectrum has support for wav files +AC_MSG_CHECKING(whether libspectrum supports wav files) +ac_save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $LIBSPEC_CFLAGS" +AC_TRY_COMPILE([#include <libspectrum.h>],[ + int test = LIBSPECTRUM_SUPPORTS_AUDIOFILE; +], + LIBSPEC_HAVE_AUDIOFILE=yes; AC_MSG_RESULT(yes), + LIBSPEC_HAVE_AUDIOFILE=""; AC_MSG_RESULT(no)) +CPPFLAGS="$ac_save_CPPFLAGS" +AC_SUBST(LIBSPEC_HAVE_AUDIOFILE) + +dnl Check if a version of libpng which supplies png_write_png is available +AC_MSG_CHECKING(whether PNG support requested) +AC_ARG_WITH(png, +[ --without-png don't use libpng], +if test "$withval" = no; then libpng=no; else libpng=yes; fi, +libpng=yes) +AC_MSG_RESULT($libpng) +if test "$libpng" = yes; then + AC_PATH_PROG([LIBPNG_CONFIG], [libpng-config]) + if test -n "$LIBPNG_CONFIG"; then + PNG_CFLAGS=`libpng-config --cflags` + PNG_LIBS=`libpng-config --ldflags` + AC_DEFINE([USE_LIBPNG], 1, [Defined if we're going to be using the installed libpng]) + else + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $PNG_CFLAGS" + ac_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$PNG_LIBS $LDFLAGS" + + AC_CHECK_LIB( png, png_write_png, + [AC_CHECK_HEADER( + png.h, + [AC_DEFINE([USE_LIBPNG], 1, [Defined if we're going to be using the installed libpng]) PNG_LIBS='-lpng -lm -lz'], + [AC_CHECK_HEADERS(libpng/png.h, + [CPPFLAGS="$ac_save_CPPFLAGS $PNG_CFLAGS/libpng" + AC_DEFINE([USE_LIBPNG], 1, [Defined if we're going to be using the installed libpng]) PNG_LIBS='-lpng -lm -lz'], + [AC_MSG_WARN(png.h not found - saving screenshots disabled) + PNG_LIBS=''] + )], + )], + [AC_MSG_WARN(png_write_png not found - saving screenshots disabled) + PNG_LIBS=''] + ) + + CPPFLAGS="$ac_save_CPPFLAGS" + LDFLAGS="$ac_save_LDFLAGS" + fi + + AC_SUBST(PNG_LIBS) +fi + +dnl Check if a version of libasound which supplies pcm is available +AC_MSG_CHECKING(whether ALSA requested) +AC_ARG_WITH(alsa, +[ --without-alsa don't use libasound (ALSA)], +if test "$withval" = no; then libasound=no; else libasound=yes; fi, +libasound=yes) +AC_MSG_RESULT($libasound) +if test "$libasound" = yes; then + AC_CHECK_LIB( asound, snd_pcm_hw_params_set_period_size_near, + [AC_CHECK_HEADER( + alsa/asoundlib.h, + [alsa_available=yes], + [AC_MSG_WARN(alsa/asoundlib.h not found - no ALSA output)] + )], + [AC_MSG_WARN(snd_pcm_hw_params_set_period_size_near not found - no ALSA output)] + ) +fi + +dnl Check if a version of libao which supplies ao_open_live is available +AC_MSG_CHECKING(whether libao requested) +AC_ARG_WITH(libao, +[ --with-libao use libao for sound output], +if test "$withval" = no; then libao=no; else libao=yes; fi, +libao=no) +AC_MSG_RESULT($libao) +if test "$libao" = yes; then + AC_CHECK_LIB( ao, ao_open_live, + [AC_CHECK_HEADER( + ao/ao.h, + [ao_available=yes], + [AC_MSG_WARN(ao/ao.h not found - no libao sound output)] + )], + [AC_MSG_WARN(ao_open_live not found - no libao sound output)] + ) +fi + +dnl Check if DirectSound is available +AC_CHECK_HEADER( + dsound.h, + [dxsound_available=yes], + [AC_MSG_WARN(dsound.h not found - no DirectSound output)], + [#define DIRECTSOUND_VERSION 0x0700] +) + +dnl Check if MS Windows Multimedia API sound is available +AC_CHECK_HEADER( + mmsystem.h, + [win32sound_available=yes], + [AC_MSG_WARN(mmsystem.h not found - no MS Windows Multimedia API sound output)], + [#include <windows.h>] +) + +dnl Check if CoreAudio is available +AC_CHECK_HEADER( + CoreAudio/AudioHardware.h, + [coreaudio_available=yes], + [AC_MSG_WARN(CoreAudio/AudioHardware.h not found - no CoreAudio sound output)] +) + +dnl +dnl Decide which sound routines to use +dnl + +AC_MSG_CHECKING(which sound routines to use) +if test "$UI" = sdl; then + SOUND_LIBADD='sdlsound.$(OBJEXT)' SOUND_LIBS='' sound_fifo=yes + AC_MSG_RESULT(SDL) +elif test "$dxsound_available" = yes; then + SOUND_LIBADD='dxsound.$(OBJEXT)' SOUND_LIBS='-ldsound -lole32 -ldxguid' + AC_MSG_RESULT(DirectX) + AC_DEFINE([DIRECTSOUND_VERSION], 0x0700, [DirectX 7 or higher is required]) +elif test "$win32sound_available" = yes; then + SOUND_LIBADD='win32sound.$(OBJEXT)' SOUND_LIBS='-lwinmm' + AC_MSG_RESULT(win32sound) +elif test "$alsa_available" = yes; then + SOUND_LIBADD='alsasound.$(OBJEXT)' SOUND_LIBS='-lasound' + AC_MSG_RESULT(ALSA) +elif test "$ao_available" = yes; then + SOUND_LIBADD='aosound.$(OBJEXT)' SOUND_LIBS='-lao' + AC_MSG_RESULT(libao) +elif test "$ac_cv_header_dsound_h" = yes; then + # Later selection between these two + SOUND_LIBADD='sunsound.$(OBJEXT) hpsound.$(OBJEXT)' SOUND_LIBS='' + AC_MSG_RESULT(Solaris or HP/UX) +elif test "$ac_cv_header_sys_soundcard_h" = yes; then + SOUND_LIBADD='osssound.$(OBJEXT)' SOUND_LIBS='' + AC_MSG_RESULT(OSS) +elif test "$ac_cv_header_sys_audioio_h" = yes; then + dnl OpenBSD + SOUND_LIBADD='sunsound.$(OBJEXT)' SOUND_LIBS='' + AC_MSG_RESULT(OpenBSD) +elif test "$coreaudio_available" = yes; then + SOUND_LIBADD='coreaudiosound.$(OBJEXT)' SOUND_LIBS='-framework CoreAudio -framework AudioUnit -framework CoreServices' sound_fifo=yes + AC_MSG_RESULT(CoreAudio) +elif test "$wii" = yes; then + SOUND_LIBADD='wiisound.$(OBJEXT)' SOUND_LIBS='' sound_fifo=yes + AC_MSG_RESULT(Wii) +else + SOUND_LIBADD='nullsound.$(OBJEXT)' SOUND_LIBS='' + AC_MSG_RESULT(none) + AC_DEFINE([NO_SOUND], 1, [Defined if no sound code is present]) +fi + +if test "$sound_fifo" = yes; then + dnl Strange construct used here as += doesn't seem to work on OS X + SOUND_LIBADD="$SOUND_LIBADD"' sfifo.$(OBJEXT)' + AC_DEFINE([SOUND_FIFO], 1, [Defined if the sound code uses a fifo]) +fi + +AC_SUBST(SOUND_LIBADD) +AC_SUBST(SOUND_LIBS) + +dnl Are we supplying the ROMs or relying on another package? +AC_MSG_CHECKING(where to find the Spectrum ROM images) +AC_ARG_WITH(roms-dir, + [ --with-roms-dir=DIR location of the Spectrum ROM images], + , + unset withval +) +if test "$withval" = ""; then + echo 'we supply them' +else + echo "$withval" + AC_DEFINE_UNQUOTED(ROMSDIR, "$withval", [Location of the ROM images]) +fi + +AC_MSG_CHECKING(whether hardware joystick support requested) + AC_ARG_WITH(joystick, + [ --without-joystick use a real joystick for Kempston emulation etc.], + if test "$withval" = no; then stick=no; else stick=yes; fi, + stick=yes) +AC_MSG_RESULT($stick) +if test "$stick" = yes; then + dnl We prefer to use UI-specific joystick code. (Default.) + dnl If there is none, or you override this here, we use libjsw. + dnl (svgalib appears to dislike switched joysticks on the parallel port...) + case "$UI" in + svga|sdl|win32) + dnl Libraries such as svgalib provide their own joystick code. + AC_MSG_CHECKING([whether to use $UI's joystick support]) + AC_ARG_ENABLE(ui-joystick, + AS_HELP_STRING([--disable-ui-joystick], [use libjsw joystick code (where supported)]), + if test "$enableval" = no; then libjsw=yes; else libjsw=no; fi, + libjsw=no) + if test "$libjsw" = yes; then + AC_MSG_RESULT([no, use libjsw]) + else + AC_MSG_RESULT(yes) + AC_DEFINE([USE_JOYSTICK], 1, [Defined if we're using hardware joysticks]) + fi + ;; + gtk|xlib) + dnl These UIs could use SDL library for handling joysticks + AC_MSG_CHECKING([whether to use $UI's joystick support]) + AC_ARG_ENABLE(ui-joystick, + AS_HELP_STRING([--disable-ui-joystick], [use libjsw joystick code (where supported)]), + if test "$enableval" = no; then libjsw=yes; else libjsw=no; fi, + libjsw=no) + if test "$libjsw" = yes; then + AC_MSG_RESULT([no, use libjsw]) + else + AC_MSG_RESULT(yes) + SDL_VERSION=1.2.4 + AM_PATH_SDL($SDL_VERSION, + LIBS="$LIBS `sdl-config --libs`" + CPPFLAGS="$CPPFLAGS `sdl-config --cflags`" + AC_DEFINE([USE_JOYSTICK], 1, [Defined if we're using hardware joysticks]), + AC_MSG_WARN([SDL version $SDL_VERSION not found - joystick support disabled])) + fi + ;; + wii) + dnl Wii UI check this elsewhere + AC_MSG_RESULT(yes) + libjsw=no + ;; + *) + dnl Our only option is libjsw. + libjsw=yes + ;; + esac + if test "$libjsw" = yes; then + dnl Look for libjsw. If missing, use QAOP<space>. + AC_CHECK_HEADERS(jsw.h, + LIBS="$LIBS -ljsw"; + AC_DEFINE([USE_JOYSTICK], 1, + [Defined if we're using hardware joysticks]), + AC_MSG_WARN(jsw.h not found - joystick support disabled)) + fi +fi + +dnl See if libxml2 is available (for the config file handling) +AC_MSG_CHECKING(whether libxml2 support requested) + AC_ARG_WITH(libxml2, + [ --without-libxml2 use a libxml2 for settings], + if test "$withval" = no; then libxml2=no; else libxml2=yes; fi, + libxml2=yes) +AC_MSG_RESULT($libxml2) +if test "$libxml2" = yes; then + AM_PATH_XML2(2.0.0,AC_DEFINE([HAVE_LIB_XML2], 1, + [Defined if we've got libxml2]), + AC_WARN(libxml2 not found - config file will use ini format)) +fi + +dnl Work out which timer routines to use +AC_MSG_CHECKING(which timer routines to use) +if test "$UI" = sdl; then + TIMER_LIBADD='sdl.$(OBJEXT)' + AC_MSG_RESULT(SDL) +else + TIMER_LIBADD='native.$(OBJEXT)' + AC_MSG_RESULT(native) +fi +AC_SUBST(TIMER_LIBADD) + +dnl See if Linux TAP devices are supported +AC_MSG_CHECKING(whether Linux TAP devices are supported) +ac_save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $LIBSPEC_CFLAGS" +AC_TRY_COMPILE([ + #include <linux/if_tun.h> + #include <net/if.h> + #include <sys/ioctl.h> + ],[ + int test1 = IFF_TAP | IFF_NO_PI; + int test2 = TUNSETIFF; + ], + AC_DEFINE([LINUX_TAP], 1, [Define to 1 if Linux TAP devices are supported.]) + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no)) + +CPPFLAGS="$ac_save_CPPFLAGS" + +dnl Work out which standard routines we're missing +AC_MSG_CHECKING(which standard routines we're missing) +missing_routines='' +if test "$ac_cv_func_dirname" = no; then + missing_routines="$missing_routines"'dirname ' +fi +AM_CONDITIONAL(COMPAT_DIRNAME, test "$ac_cv_func_dirname" = no) +if test "$ac_cv_func_getopt_long" = no; then + case "$target_os" in + amigaos|morphos) + dnl Our getopt_long replacement doesn't work, so don't use it + ;; + *) + compat_getopt=yes + missing_routines="$missing_routines"'getopt_long ' + ;; + esac +fi +AM_CONDITIONAL(COMPAT_GETOPT, test "$compat_getopt" = yes) +if test "$ac_cv_func_mkstemp" = no; then + missing_routines="$missing_routines"'mkstemp ' +fi +AM_CONDITIONAL(COMPAT_MKSTEMP, test "$ac_cv_func_mkstemp" = no) +if test "x$missing_routines" = x; then + missing_routines='(none)' +fi +AC_MSG_RESULT($missing_routines) + +dnl Work out which compatibility routines to use +AC_MSG_CHECKING(which compatibility routines to use) +case "$target_os" in + amigaos) + COMPAT_OSNAME='amiga' + ;; + morphos) + COMPAT_OSNAME='morphos' + ;; + mingw32*) + COMPAT_OSNAME='win32' + ;; + wii) + COMPAT_OSNAME='wii' + ;; + *) + COMPAT_OSNAME='unix' + ;; +esac +AC_MSG_RESULT($COMPAT_OSNAME) +COMPAT_SUBDIR="compat/$COMPAT_OSNAME" +AC_SUBST(COMPAT_SUBDIR) +AC_SUBST(COMPAT_OSNAME) + +dnl Decide whether to install desktop and mime files +AC_ARG_ENABLE(desktop-integration, +AS_HELP_STRING([--enable-desktop-integration], [add menu entry and file associations]), +if test "$enableval" = yes; then desktopintegration=yes; else desktopintegration=no; fi, +desktdesktopintegration=no) +AC_MSG_CHECKING(whether to install desktop file) +AC_MSG_RESULT($desktopintegration) +AM_CONDITIONAL(DESKTOP_INTEGRATION, test "$desktopintegration" = yes) +AC_CHECK_PROGS(GTK_UPDATE_ICON_CACHE,gtk-update-icon-cache,true) + +dnl Where to install the desktop and mime files +AC_ARG_WITH(desktop-dir, +AS_HELP_STRING([--with-desktop-dir=DIR], [location of desktop files (default=datadir)]), +if test "$withval" = no; then desktopdir=no; else desktopdir=yes; fi, +desktopdir=no) +if test "$desktopdir" = yes; then + DESKTOP_DATADIR=$with_desktop_dir +else + DESKTOP_DATADIR="$datadir" +fi +AM_CONDITIONAL(DESKTOP_DATADIR, test "$desktopdir" == yes) +AC_SUBST(DESKTOP_DATADIR) + +dnl Do we want the low memory compile? +AC_MSG_CHECKING(whether low memory compile requested) +AC_ARG_ENABLE(smallmem, +[ --enable-smallmem low memory compile needed], +if test "$enableval" = yes; then + smallmem=yes; +else + smallmem=no; +fi, +smallmem=no) +if test "$smallmem" = no; then + AC_DEFINE([HAVE_ENOUGH_MEMORY], 1, [Defined if we've got enough memory to compile z80_ops.c]) +fi +AC_MSG_RESULT($smallmem) + +dnl Do we want lots of warning messages? +AC_MSG_CHECKING(whether lots of warnings requested) +AC_ARG_ENABLE(warnings, +[ --enable-warnings give lots of warnings if using gcc], +if test "$enableval" = yes; then + warnings=yes; +else + warnings=no; +fi, +warnings=no) +AC_MSG_RESULT($warnings) + +dnl If it appears we're using gcc as our compiler, turn on warnings +if test "$ac_cv_prog_gcc" = yes; then + CFLAGS="$CFLAGS -Wall" + dnl And possibly lots of warnings + if test "$warnings" = yes; then + CFLAGS="$CFLAGS -Wstrict-prototypes -Wmissing-prototypes -Winline -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Waggregate-return -W -Wsign-compare" + fi +fi + +AC_OUTPUT(Makefile \ +compat/amiga/Makefile \ +compat/morphos/Makefile \ +compat/unix/Makefile \ +compat/wii/Makefile \ +compat/win32/Makefile \ +data/Makefile \ +debugger/Makefile \ +hacking/Makefile \ +lib/Makefile \ +machines/Makefile \ +man/Makefile \ +peripherals/Makefile \ +peripherals/disk/Makefile \ +peripherals/ide/Makefile \ +peripherals/nic/Makefile \ +peripherals/flash/Makefile \ +perl/Makefile \ +perl/Fuse/Makefile \ +pokefinder/Makefile \ +roms/Makefile \ +sound/Makefile \ +timer/Makefile \ +ui/Makefile \ +ui/fb/Makefile \ +ui/wii/Makefile \ +ui/gtk/Makefile \ +ui/svga/Makefile \ +ui/sdl/Makefile \ +ui/scaler/Makefile \ +ui/widget/Makefile \ +ui/win32/fuse.manifest \ +ui/win32/Makefile \ +ui/win32/icons/Makefile \ +ui/win32/installer/Makefile \ +ui/xlib/Makefile \ +unittests/Makefile \ +z80/Makefile \ +z80/tests/Makefile) Deleted: vendor/fuse-emulator/current/fuse/configure.in =================================================================== --- vendor/fuse-emulator/current/fuse/configure.in 2012-12-05 12:44:59 UTC (rev 713) +++ vendor/fuse-emulator/current/fuse/configure.in 2012-12-05 21:19:12 UTC (rev 714) @@ -1,820 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in 4674 2012-02-20 11:03:58Z 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 -dnl the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. -dnl -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -dnl GNU General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License along -dnl with this program; if not, write to the Free Software Foundation, Inc., -dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -dnl -dnl Author contact information: -dnl -dnl E-mail: phi...@sh... - -AC_INIT(fuse.c) -AM_CONFIG_HEADER(config.h) -AC_CANONICAL_SYSTEM - -define(FUSE_VERSION, [1.0.0]) - -dnl Use automake to produce `Makefile.in' -AM_INIT_AUTOMAKE(fuse, FUSE_VERSION) - -dnl Checks for programs. -AC_PROG_CC -AC_PROG_RANLIB -AC_PATH_PROG(PERL, perl) -AC_SUBST(PERL) -AM_PROG_LEX -AC_PROG_YACC -AC_PROG_LIBTOOL - -dnl Check for Win32 resource tool -AC_MSG_CHECKING(whether to use windres) -AC_ARG_WITH(windres, -[ --without-windres don't use windres], -if test "$withval" = no; then windres=no; else windres=yes; fi, -windres=yes) -AC_MSG_RESULT($windres) -if test "$windres" = yes; then - AC_CHECK_TOOL(WINDRES, windres, no) - AC_SUBST(WINDRES) - if test "$WINDRES" != no; then - WINDRES_OBJ="windres.o" - define(FUSE_FULL_VERSION, - [ifelse(translit(FUSE_VERSION, [0-9]), [.], [FUSE_VERSION[.0.0]], - translit(FUSE_VERSION, [0-9]), [..], [FUSE_VERSION[.0]], - [FUSE_VERSION])])dnl - AC_DEFINE([VERSION_WIN32], [translit(FUSE_FULL_VERSION, [.], [,])], [Define version information for win32 executable]) - FUSE_FULL[]_VERSION=FUSE_FULL_VERSION - AC_SUBST(FUSE_FULL[]_VERSION) - fi -fi -AC_SUBST(WINDRES_OBJ) - -dnl Generate commandy.h -YFLAGS="$YFLAGS -d" -AC_SUBST(YFLAGS) - -dnl Check for big endianness -AC_C_BIGENDIAN - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS( - libgen.h \ - siginfo.h \ - strings.h \ - sys/soundcard.h \ - sys/audio.h \ - sys/audioio.h \ - zlib.h -) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_INLINE - -dnl Checks for library functions. -AC_CHECK_FUNCS(dirname geteuid getopt_long mkstemp fsync) - -dnl Allow the user to say that various libraries are in one place -AC_ARG_WITH(local-prefix, -[ --with-local-prefix=PFX local libraries installed in PFX (optional)], -CPPFLAGS="$CPPFLAGS -I$withval/include"; LDFLAGS="$LDFLAGS -L$withval/lib", -if test "$prefix" != "NONE"; then - CPPFLAGS="$CPPFLAGS -I$prefix/include"; LDFLAGS="$LDFLAGS -L$prefix/lib" -fi) - -dnl Select a user interface - -dnl Try various UI options; set the `ui' variable when we've got one -dnl we like, and then don't look at the other options - -AC_PATH_XTRA - -dnl Look for Win32 UI (default=no) -AC_MSG_CHECKING(whether Win32 UI requested) -AC_ARG_WITH(win32, -[ --with-win32 use Win32 for user interface], -if test "$withval" = no; then win32=no; else win32=yes; fi, -win32=no) -AC_MSG_RESULT($win32) -if test "$win32" = yes; then - AC_CHECK_HEADER(windows.h, - LIBS="$LIBS -mwindows -lcomctl32 -lwinmm -lpthread -lws2_32"; - 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]) - UI=win32; UI_LIBS="ui/win32/libuiwin32.a", - AC_MSG_ERROR([Win32 UI not found])) -fi - -dnl Look for svgalib (default=no) -AC_MSG_CHECKING(whether svgalib UI requested) -AC_ARG_WITH(svgalib, -[ --with-svgalib use svgalib for user interface], -if test "$withval" = no; then svgalib=no; else svgalib=yes; fi, -svgalib=no) -AC_MSG_RESULT($svgalib) -if test "$svgalib" = yes; then - AC_CHECK_HEADER(vga.h, - LIBS="$LIBS -lvga"; - AC_DEFINE([UI_SVGA], 1, [Defined if svgalib UI in use]) - AC_DEFINE([USE_WIDGET], 1, - [Defined if we're using a widget-based UI]) - UI=svga; WIDGET=widget; - UI_LIBS="ui/svga/libuisvga.a ui/widget/libwidget.a", - AC_MSG_ERROR([svgalib not found])) -fi - -dnl Look for framebuffer interface for SA1110 (default=no) -if test -z "$UI"; then - AC_MSG_CHECKING(whether framebuffer UI requested) - AC_ARG_WITH(fb, - [ --with-fb use framebuffer for user interface], - if test "$withval" = no; then fb=no; else fb=yes; fi, - fb=no) - AC_MSG_RESULT($fb) - if test "$fb" = yes; then - AC_DEFINE([UI_FB], 1, [Defined if framebuffer UI in use]) - AC_DEFINE([USE_WIDGET], 1, [Defined if we're using a widget-based UI]) - UI=fb; WIDGET=widget; - UI_LIBS="ui/fb/libuifb.a ui/widget/libwidget.a" - dnl Look for libgpm (default=yes) - AC_MSG_CHECKING(whether gpm requested) - AC_ARG_WITH(gpm, - [ --without-gpm don't use libgpm for e.g. Kempston mouse], - if test "$withval" = no; then gpm=no; else gpm=yes; fi, - gpm=yes) - AC_MSG_RESULT($gpm) - dnl Note: we use libdl to get libgpm at runtime - if test "$gpm" = yes; then - AC_CHECK_HEADER(gpm.h, - UI_LIBS="$UI_LIBS -ldl"; - AC_DEFINE([HAVE_GPM_H], 1, [Defined if gpm in use]), - AC_MSG_ERROR([libgpm not found])) - fi - fi -fi - -dnl Look for Wii interface (default = 0) -if test -z "$UI"; then - AC_MSG_CHECKING(whether Wii UI requested) - AC_ARG_WITH(wii, - [ --with-wii use Wii FB for user interface], - if test "$withval" = no; then wii=no; else wii=yes; fi, - wii=no) - AC_MSG_RESULT($wii) - if test "$wii" = yes; then - AC_DEFINE([UI_WII], 1, [Defined if Wii UI in use]) - AC_DEFINE([USE_WIDGET], 1, [Defined if we're using a widget-based UI]) - AC_DEFINE([USE_JOYSTICK], 1, [Defined if we're using hardware joysticks]) - UI=wii; WIDGET=widget; - UI_LIBS="ui/wii/libuiwii.a ui/widget/libwidget.a" - target_os=wii - dnl Look for libgpm (default=yes) - AC_MSG_CHECKING(whether gpm requested) - AC_ARG_WITH(gpm, - [ --without-gpm don't use libgpm for e.g. Kempston mouse], - if test "$withval" = no; then gpm=no; else gpm=yes; fi, - gpm=yes) - AC_MSG_RESULT($gpm) - dnl Note: we use libdl to get libgpm at runtime - if test "$gpm" = yes; then - AC_CHECK_HEADER(gpm.h, - UI_LIBS="$UI_LIBS -ldl"; - AC_DEFINE([HAVE_GPM_H], 1, [Defined if gpm in use]), - AC_MSG_ERROR([libgpm not found])) - fi - fi -fi - -dnl Look for SDL (default=no) -if test -z "$UI"; then - AC_MSG_CHECKING(whether SDL UI requested) - AC_ARG_WITH(sdl, - [ --with-sdl use SDL for user interface], - if test "$withval" = no; then sdl=no; else sdl=yes; fi, - sdl=no) - AC_MSG_RESULT($sdl) - if test "$sdl" = yes; then - SDL_VERSION=1.2.4 - AM_PATH_SDL($SDL_VERSION, - AC_DEFINE([UI_SDL], 1, [Defined if the SDL UI in use]) - AC_DEFINE([USE_WIDGET], 1, - [Defined if we're using a widget-based UI]) - UI=sdl; WIDGET=widget; - UI_LIBS="ui/sdl/libuisdl.a ui/widget/libwidget.a", - AC_MSG_ERROR([SDL version $SDL_VERSION not found])) - fi -fi - -dnl Look for GTK+ (default=yes) -if test -z "$UI"; then - AC_MSG_CHECKING(whether GTK+ UI requested) - AC_ARG_WITH(gtk, - [ --without-gtk don't use GTK+ for user interface], - if test "$withval" = no; then gtk=no; else gtk=yes; fi, - gtk=yes) - AC_MSG_RESULT($gtk) - if test "$gtk" = yes; then - AM_PATH_GTK_2_0(2.18.0, - AC_DEFINE([UI_GTK], 1, - [Defined if GTK+ UI 2.x is in use]) - AC_DEFINE([HAVE_LIB_GLIB], 1, [Defined if we've got glib]) - UI=gtk; UI_LIBS="ui/gtk/libuigtk.la", - AC_MSG_WARN([GTK+ not found. Reverting to Xlib])) - fi -fi - -if test "$UI" = gtk; then - AC_PATH_XTRA -fi - -dnl Look for Xlib UI (default=yes) -if test -z "$UI"; then - if test "$with_x" = no; then - AC_MSG_ERROR([Please specify --with-svgalib or --with-fb, not --without-x.]) - fi - AC_PATH_XTRA - CFLAGS="$CFLAGS $X_CFLAGS"; - LDFLAGS="$LDFLAGS $X_LIBS"; - LIBS="$LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"; - - dnl This apparently needed for SVR4 systems to link correctly - dnl Basically the same as a part of AC_PATH_XTRA, but using `gethostname' - dnl instead of `gethostbyname'. - dnl Thanks to Erik Kunze for pointing out this problem - AC_CHECK_FUNC(gethostname) - if test $ac_cv_func_gethostname = no; then - AC_CHECK_LIB(nsl, gethostname, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl") - fi - AC_CHECK_FUNC(connect) - if test $ac_cv_func_connect = no; then - AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", , - $X_EXTRA_LIBS) - fi - - dnl Check for the MIT-SHM extension - AC_CHECK_HEADERS( X11/extensions/XShm.h,,,[[ - #include <sys/ipc.h> - #include <sys/shm.h> - #include <X11/Xlib.h> - ]]) - AC_CHECK_LIB( Xext, XShmAttach, LIBS="$LIBS -lXext" ) - - AC_DEFINE([UI_X], 1, [Defined if Xlib UI in use]) - UI=xlib; WIDGET=widget; - AC_DEFINE([USE_WIDGET], 1, [Defined if we're using a widget-based UI]) - UI_LIBS="ui/xlib/libuixlib.a ui/widget/libwidget.a" -fi - -AC_SUBST(UI) -AC_SUBST(UI_LIBS) -AC_SUBST(WIDGET) -AM_CONDITIONAL(WIDGET, test x$WIDGET != x) - -# If we're not using GTK+, must either find glib or use the replacement -# (as supplied by libspectrum) -if test "$UI" != gtk; then - AC_MSG_CHECKING(whether to use glib) - AC_ARG_WITH(glib, - [ --without-glib don't use glib], - if test "$withval" = no; then glib=no; else glib=yes; fi, - glib=yes) - AC_MSG_RESULT($glib) - if test "$glib" = yes; then - AM_PATH_GLIB_2_0( - 2.20.0, - AC_DEFINE([HAVE_LIB_GLIB], 1, [Defined if we've got glib]) - LIBS="$LIBS `pkg-config --libs glib-2.0`", - AC_MSG_WARN(glib not found - using libspectrum's replacement) - ) - fi -fi - -dnl Check that libspectrum is available -AC_ARG_WITH(libspectrum-prefix, -[ --with-libspectrum-prefix=PFX where libspectrum is installed (optional)], -LIBSPEC_CFLAGS=-I$withval/include; LIBSPEC_LIBS=-L$withval/lib, -LIBSPEC_CFLAGS=""; LIBSPEC_LIBS="") -ac_save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS $LIBSPEC_CFLAGS $GTK_CFLAGS $GLIB_CFLAGS" -AC_CHECK_HEADERS(libspectrum.h,LIBSPEC_LIBS="$LIBSPEC_LIBS -lspectrum", - AC_MSG_ERROR(Sorry - I need libspectrum to be available)) -CPPFLAGS="$ac_save_CPPFLAGS" -AC_SUBST(LIBSPEC_CFLAGS) -AC_SUBST(LIBSPEC_LIBS) - -dnl Check if supplied libspectrum has support for compressed szx files -AC_MSG_CHECKING(whether libspectrum supports compressed szx snaps) -ac_save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS $LIBSPEC_CFLAGS" -AC_TRY_COMPILE([#include <libspectrum.h>],[ - int test = LIBSPECTRUM_SUPPORTS_ZLIB_COMPRESSION; -], - AUTOLOAD_SNAPS=compressed; LIBSPEC_HAVE_ZLIB=yes; AC_MSG_RESULT(yes), - AUTOLOAD_SNAPS=uncompressed; LIBSPEC_HAVE_ZLIB=""; AC_MSG_RESULT(no)) -CPPFLAGS="$ac_save_CPPFLAGS" -AC_SUBST(AUTOLOAD_SNAPS) -AC_SUBST(LIBSPEC_HAVE_ZLIB) -AC_LINK_FILES([ - lib/"$AUTOLOAD_SNAPS"/disk_plus3.szx - lib/"$AUTOLOAD_SNAPS"/tape_128.szx - lib/"$AUTOLOAD_SNAPS"/tape_16.szx - lib/"$AUTOLOAD_SNAPS"/tape_2048.szx - lib/"$AUTOLOAD_SNAPS"/tape_2068.szx - lib/"$AUTOLOAD_SNAPS"/tape_48.szx - lib/"$AUTOLOAD_SNAPS"/tape_plus2.szx - lib/"$AUTOLOAD_SNAPS"/tape_plus2a.szx - lib/"$AUTOLOAD_SNAPS"/tape_plus3.szx - lib/"$AUTOLOAD_SNAPS"/tape_plus3e.szx - lib/"$AUTOLOAD_SNAPS"/tape_pentagon.szx - lib/"$AUTOLOAD_SNAPS"/tape_scorpion.szx - lib/"$AUTOLOAD_SNAPS"/tape_se.szx - lib/"$AUTOLOAD_SNAPS"/tape_ts2068.szx], - [lib/disk_plus3.szx - lib/tape_128.szx - lib/tape_16.szx - lib/tape_2048.szx - lib/tape_2068.szx - lib/tape_48.szx - lib/tape_plus2.szx - lib/tape_plus2a.szx - lib/tape_plus3.szx - lib/tape_plus3e.szx - lib/tape_pentagon.szx - lib/tape_scorpion.szx - lib/tape_se.szx - lib/tape_ts2068.szx]) - -dnl Check whether to use zlib (the UNIX version is called z, Win32 zdll) -AC_MSG_CHECKING(whether to use zlib) -AC_ARG_WITH(zlib, -[ --without-zlib don't use zlib], -if test "$withval" = no; then zlib=no; else zlib=yes; fi, -zlib=yes) -AC_MSG_RESULT($zlib) -if test "$zlib" = yes; then - AC_CHECK_HEADERS( - zlib.h, - AC_SEARCH_LIBS(compress2, z zdll) - ) -fi - -dnl Check if supplied libspectrum has support for bz2 compressed files -AC_MSG_CHECKING(whether libspectrum supports compressed bz2 files) -ac_save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS $LIBSPEC_CFLAGS" -AC_TRY_COMPILE([#include <libspectrum.h>],[ - int test = LIBSPECTRUM_SUPPORTS_BZ2_COMPRESSION; -], - LIBSPEC_HAVE_BZ2=yes; AC_MSG_RESULT(yes), - LIBSPEC_HAVE_BZ2=""; AC_MSG_RESULT(no)) -CPPFLAGS="$ac_save_CPPFLAGS" -AC_SUBST(LIBSPEC_HAVE_BZ2) - -dnl Check if supplied libspectrum has support for wav files -AC_MSG_CHECKING(whether libspectrum supports wav files) -ac_save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS $LIBSPEC_CFLAGS" -AC_TRY_COMPILE([#include <libspectrum.h>],[ - int test = LIBSPECTRUM_SUPPORTS_AUDIOFILE; -], - LIBSPEC_HAVE_AUDIOFILE=yes; AC_MSG_RESULT(yes), - LIBSPEC_HAVE_AUDIOFILE=""; AC_MSG_RESULT(no)) -CPPFLAGS="$ac_save_CPPFLAGS" -AC_SUBST(LIBSPEC_HAVE_AUDIOFILE) - -dnl Check if a version of libpng which supplies png_write_png is available -AC_MSG_CHECKING(whether PNG support requested) -AC_ARG_WITH(png, -[ --without-png don't use libpng], -if test "$withval" = no; then libpng=no; else libpng=yes; fi, -libpng=yes) -AC_MSG_RESULT($libpng) -if test "$libpng" = yes; then - AC_PATH_PROG([LIBPNG_CONFIG], [libpng-config]) - if test -n "$LIBPNG_CONFIG"; then - PNG_CFLAGS=`libpng-config --cflags` - PNG_LIBS=`libpng-config --ldflags` - AC_DEFINE([USE_LIBPNG], 1, [Defined if we're going to be using the installed libpng]) - else - ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $PNG_CFLAGS" - ac_save_LDFLAGS="$LDFLAGS" - LDFLAGS="$PNG_LIBS $LDFLAGS" - - AC_CHECK_LIB( png, png_write_png, - [AC_CHECK_HEADER( - png.h, - [AC_DEFINE([USE_LIBPNG], 1, [Defined if we're going to be using the installed libpng]) PNG_LIBS='-lpng -lm -lz'], - [AC_CHECK_HEADERS(libpng/png.h, - [CPPFLAGS="$ac_save_CPPFLAGS $PNG_CFLAGS/libpng" - AC_DEFINE([USE_LIBPNG], 1, [Defined if we're going to be using the installed libpng]) PNG_LIBS='-lpng -lm -lz'], - [AC_MSG_WARN(png.h not found - saving screenshots disabled) - PNG_LIBS=''] - )], - )], - [AC_MSG_WARN(png_write_png not found - saving screenshots disabled) - PNG_LIBS=''] - ) - - CPPFLAGS="$ac_save_CPPFLAGS" - LDFLAGS="$ac_save_LDFLAGS" - fi - - AC_SUBST(PNG_LIBS) -fi - -dnl Check if a version of libasound which supplies pcm is available -AC_MSG_CHECKING(whether ALSA requested) -AC_ARG_WITH(alsa, -[ --without-alsa don't use libasound (ALSA)], -if test "$withval" = no; then libasound=no; else libasound=yes; fi, -libasound=yes) -AC_MSG_RESULT($libasound) -if test "$libasound" = yes; then - AC_CHECK_LIB( asound, snd_pcm_hw_params_set_period_size_near, - [AC_CHECK_HEADER( - alsa/asoundlib.h, - [alsa_available=yes], - [AC_MSG_WARN(alsa/asoundlib.h not found - no ALSA output)] - )], - [AC_MSG_WARN(snd_pcm_hw_params_set_period_size_near not found - no ALSA output)] - ) -fi - -dnl Check if a version of libao which supplies ao_open_live is available -AC_MSG_CHECKING(whether libao requested) -AC_ARG_WITH(libao, -[ --with-libao use libao for sound output], -if test "$withval" = no; then libao=no; else libao=yes; fi, -libao=no) -AC_MSG_RESULT($libao) -if test "$libao" = yes; then - AC_CHECK_LIB( ao, ao_open_live, - [AC_CHECK_HEADER( - ao/ao.h, - [ao_available=yes], - [AC_MSG_WARN(ao/ao.h not found - no libao sound output)] - )], - [AC_MSG_WARN(ao_open_live not found - no libao sound output)] - ) -fi - -dnl Check if DirectSound is available -AC_CHECK_HEADER( - dsound.h, - [dxsound_available=yes], - [AC_MSG_WARN(dsound.h not found - no DirectSound output)], - [#define DIRECTSOUND_VERSION 0x0700] -) - -dnl Check if MS Windows Multimedia API sound is available -AC_CHECK_HEADER( - mmsystem.h, - [win32sound_available=yes], - [AC_MSG_WARN(mmsystem.h not found - no MS Windows Multimedia API sound output)], - [#include <windows.h>] -) - -dnl Check if CoreAudio is available -AC_CHECK_HEADER( - CoreAudio/AudioHardware.h, - [coreaudio_available=yes], - [AC_MSG_WARN(CoreAudio/AudioHardware.h not found - no CoreAudio sound output)] -) - -dnl -dnl Decide which sound routines to use -dnl - -AC_MSG_CHECKING(which sound routines to use) -if test "$UI" = sdl; then - SOUND_LIBADD='sdlsound.$(OBJEXT)' SOUND_LIBS='' sound_fifo=yes - AC_MSG_RESULT(SDL) -elif test "$dxsound_available" = yes; then - SOUND_LIBADD='dxsound.$(OBJEXT)' SOUND_LIBS='-ldsound -lole32 -ldxguid' - AC_MSG_RESULT(DirectX) - AC_DEFINE([DIRECTSOUND_VERSION], 0x0700, [DirectX 7 or higher is required]) -elif test "$win32sound_available" = yes; then - SOUND_LIBADD='win32sound.$(OBJEXT)' SOUND_LIBS='-lwinmm' - AC_MSG_RESULT(win32sound) -elif test "$alsa_available" = yes; then - SOUND_LIBADD='alsasound.$(OBJEXT)' SOUND_LIBS='-lasound' - AC_MSG_RESULT(ALSA) -elif test "$ao_available" = yes; then - SOUND_LIBADD='aosound.$(OBJEXT)' SOUND_LIBS='-lao' - AC_MSG_RESULT(libao) -elif test "$ac_cv_header_dsound_h" = yes; then - # Later selection between these two - SOUND_LIBADD='sunsound.$(OBJEXT) hpsound.$(OBJEXT)' SOUND_LIBS='' - AC_MSG_RESULT(Solaris or HP/UX) -elif test "$ac_cv_header_sys_soundcard_h" = yes; then - SOUND_LIBADD='osssound.$(OBJEXT)' SOUND_LIBS='' - AC_MSG_RESULT(OSS) -elif test "$ac_cv_header_sys_audioio_h" = yes; then - dnl OpenBSD - SOUND_LIBADD='sunsound.$(OBJEXT)' SOUND_LIBS='' - AC_MSG_RESULT(OpenBSD) -elif test "$coreaudio_available" = yes; then - SOUND_LIBADD='coreaudiosound.$(OBJEXT)' SOUND_LIBS='-framework CoreAudio -framework AudioUnit -framework CoreServices' sound_fifo=yes - AC_MSG_RESULT(CoreAudio) -elif test "$wii" = yes; then - SOUND_LIBADD='wiisound.$(OBJEXT)' SOUND_LIBS='' sound_fifo=yes - AC_MSG_RESULT(Wii) -else - SOUND_LIBADD='nullsound.$(OBJEXT)' SOUND_LIBS='' - AC_MSG_RESULT(none) - AC_DEFINE([NO_SOUND], 1, [Defined if no sound code is present]) -fi - -if test "$sound_fifo" = yes; then - dnl Strange construct used here as += doesn't seem to work on OS X - SOUND_LIBADD="$SOUND_LIBADD"' sfifo.$(OBJEXT)' - AC_DEFINE([SOUND_FIFO], 1, [Defined if the sound code uses a fifo]) -fi - -AC_SUBST(SOUND_LIBADD) -AC_SUBST(SOUND_LIBS) - -dnl Are we supplying the ROMs or relying on another package? -AC_MSG_CHECKING(where to find the Spectrum ROM images) -AC_ARG_WITH(roms-dir, - [ --with-roms-dir=DIR location of the Spectrum ROM images], - , - unset withval -) -if test "$withval" = ""; then - echo 'we supply them' -else - echo "$withval" - AC_DEFINE_UNQUOTED(ROMSDIR, "$withval", [Location of the ROM images]) -fi - -AC_MSG_CHECKING(whether hardware joystick support requested) - AC_ARG_WITH(joystick, - [ --without-joystick use a real joystick for Kempston emulation etc.], - if test "$withval" = no; then stick=no; else stick=yes; fi, - stick=yes) -AC_MSG_RESULT($stick) -if test "$stick" = yes; then - dnl We prefer to use UI-specific joystick code. (Default.) - dnl If there is none, or you override this here, we use libjsw. - dnl (svgalib appears to dislike switched joysticks on the parallel port...) - case "$UI" in - svga|sdl|win32) - dnl Libraries such as svgalib provide their own joystick code. - AC_MSG_CHECKING([whether to use $UI's joystick support]) - AC_ARG_ENABLE(ui-joystick, - AS_HELP_STRING([--disable-ui-joystick], [use libjsw joystick code (where supported)]), - if test "$enableval" = no; then libjsw=yes; else libjsw=no; fi, - libjsw=no) - if test "$libjsw" = yes; then - AC_MSG_RESULT([no, use libjsw]) - else - AC_MSG_RESULT(yes) - AC_DEFINE([USE_JOYSTICK], 1, [Defined if we're using hardware joysticks]) - fi - ;; - gtk|xlib) - dnl These UIs could use SDL library for handling joysticks - AC_MSG_CHECKING([whether to use $UI's joystick support]) - AC_ARG_ENABLE(ui-joystick, - AS_HELP_STRING([--disable-ui-joystick], [use libjsw joystick code (where supported)]), - if test "$enableval" = no; then libjsw=yes; else libjsw=no; fi, - libjsw=no) - if test "$libjsw" = yes; then - AC_MSG_RESULT([no, use libjsw]) - else - AC_MSG_RESULT(yes) - SDL_VERSION=1.2.4 - AM_PATH_SDL($SDL_VERSION, - LIBS="$LIBS `sdl-config --libs`" - CPPFLAGS="$CPPFLAGS `sdl-config --cflags`" - AC_DEFINE([USE_JOYSTICK], 1, [Defined if we're using hardware joysticks]), - AC_MSG_WARN([SDL version $SDL_VERSION not found - joystick support disabled])) - fi - ;; - wii) - dnl Wii UI check this elsewhere - AC_MSG_RESULT(yes) - libjsw=no - ;; - *) - dnl Our only option is libjsw. - libjsw=yes - ;; - esac - if test "$libjsw" = yes; then - dnl Look for libjsw. If missing, use QAOP<space>. - AC_CHECK_HEADERS(jsw.h, - LIBS="$LIBS -ljsw"; - AC_DEFINE([USE_JOYSTICK], 1, - [Defined if we're using hardware joysticks]), - AC_MSG_WARN(jsw.h not found - joystick support disabled)) - fi -fi - -dnl See if libxml2 is available (for the config file handling) -AC_MSG_CHECKING(whether libxml2 support requested) - AC_ARG_WITH(libxml2, - [ --without-libxml2 use a libxml2 for settings], - if test "$withval" = no; then libxml2=no; else libxml2=yes; fi, - libxml2=yes) -AC_MSG_RESULT($libxml2) -if test "$libxml2" = yes; then - AM_PATH_XML2(2.0.0,AC_DEFINE([HAVE_LIB_XML2], 1, - [Defined if we've got libxml2]), - AC_WARN(libxml2 not found - config file will use ini format)) -fi - -dnl Work out which timer routines to use -AC_MSG_CHECKING(which timer routines to use) -if test "$UI" = sdl; then - TIMER_LIBADD='sdl.$(OBJEXT)' - AC_MSG_RESULT(SDL) -else - TIMER_LIBADD='native.$(OBJEXT)' - AC_MSG_RESULT(native) -fi -AC_SUBST(TIMER_LIBADD) - -dnl See if Linux TAP devices are supported -AC_MSG_CHECKING(whether Linux TAP devices are supported) -ac_save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS $LIBSPEC_CFLAGS" -AC_TRY_COMPILE([ - #include <linux/if_tun.h> - #include <net/if.h> - #include <sys/ioctl.h> - ],[ - int test1 = IFF_TAP | IFF_NO_PI; - int test2 = TUNSETIFF; - ], - AC_DEFINE([LINUX_TAP], 1, [Define to 1 if Linux TAP devices are supported.]) - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no)) - -CPPFLAGS="$ac_save_CPPFLAGS" - -dnl Work out which standard routines we're missing -AC_MSG_CHECKING(which standard routines we're missing) -missing_routines='' -if test "$ac_cv_func_dirname" = no; then - missing_routines="$missing_routines"'dirname ' -fi -AM_CONDITIONAL(COMPAT_DIRNAME, test "$ac_cv_func_dirname" = no) -if test "$ac_cv_func_getopt_long" = no; then - case "$target_os" in - amigaos|morphos) - dnl Our getopt_long replacement doesn't work, so don't use it - ;; - *) - compat_getopt=yes - missing_routines="$missing_routines"'getopt_long ' - ;; - esac -fi -AM_CONDITIONAL(COMPAT_GETOPT, test "$compat_getopt" = yes) -if test "$ac_cv_func_mkstemp" = no; then - missing_routines="$missing_routines"'mkstemp ' -fi -AM_CONDITIONAL(COMPAT_MKSTEMP, test "$ac_cv_func_mkstemp" = no) -if test "x$missing_routines" = x; then - missing_routines='(none)' -fi -AC_MSG_RESULT($missing_routines) - -dnl Work out which compatibility routines to use -AC_MSG_CHECKING(which compatibility routines to use) -case "$target_os" in - amigaos) - COMPAT_OSNAME='amiga' - ;; - morphos) - COMPAT_OSNAME='morphos' - ;; - mingw32*) - COMPAT_OSNAME='win32' - ;; - wii) - COMPAT_OSNAME='wii' - ;; - *) - COMPAT_OSNAME='unix' - ;; -esac -AC_MSG_RESULT($COMPAT_OSNAME) -COMPAT_SUBDIR="compat/$COMPAT_OSNAME" -AC_SUBST(COMPAT_SUBDIR) -AC_SUBST(COMPAT_OSNAME) - -dnl Decide whether to install desktop and mime files -AC_ARG_ENABLE(desktop-integration, -AS_HELP_STRING([--enable-desktop-integration], [add menu entry and file associations]), -if test "$enableval" = yes; then desktopintegration=yes; else desktopintegration=no; fi, -desktdesktopintegration=no) -AC_MSG_CHECKING(whether to install desktop file) -AC_MSG_RESULT($desktopintegration) -AM_CONDITIONAL(DESKTOP_INTEGRATION, test "$desktopintegration" = yes) -AC_CHECK_PROGS(GTK_UPDATE_ICON_CACHE,gtk-update-icon-cache,true) - -dnl Where to install the desktop and mime files -AC_ARG_WITH(desktop-dir, -AS_HELP_STRING([--with-desktop-dir=DIR], [location of desktop files (default=datadir)]), -if test "$withval" = no; then desktopdir=no; else desktopdir=yes; fi, -desktopdir=no) -if test "$desktopdir" = yes; then - DESKTOP_DATADIR=$with_desktop_dir -else - DESKTOP_DATADIR="$datadir" -fi -AM_CONDITIONAL(DESKTOP_DATADIR, test "$desktopdir" == yes) -AC_SUBST(DESKTOP_DATADIR) - -dnl Do we want the low memory compile? -AC_MSG_CHECKING(whether low memory compile requested) -AC_ARG_ENABLE(smallmem, -[ --enable-smallmem low memory compile needed], -if test "$enableval" = yes; then - smallmem=yes; -else - smallmem=no; -fi, -smallmem=no) -if test "$smallmem" = no; then - AC_DEFINE([HAVE_ENOUGH_MEMORY], 1, [Defined if we've got enough memory to compile z80_ops.c]) -fi -AC_MSG_RESULT($smallmem) - -dnl Do we want lots of warning messages? -AC_MSG_CHECKING(whether lots of warnings requested) -AC_ARG_ENABLE(warnings, -[ --enable-warnings give lots of warnings if using gcc], -if test "$enableval" = yes; then - warnings=yes; -else - warnings=no; -fi, -warnings=no) -AC_MSG_RESULT($warnings) - -dnl If it appears we're using gcc as our compiler, turn on warnings -if test "$ac_cv_prog_gcc" = yes; then - CFLAGS="$CFLAGS -Wall" - dnl And possibly lots of warnings - if test "$warnings" = yes; then - CFLAGS="$CFLAGS -Wstrict-prototypes -Wmissing-prototypes -Winline -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Waggregate-return -W -Wsign-compare" - fi -fi - -AC_OUTPUT(Makefile \ -compat/amiga/Makefile \ -compat/morphos/Makefile \ -compat/unix/Makefile \ -compat/wii/Makefile \ -compat/win32/Makefile \ -data/Makefile \ -debugger/Makefile \ -hacking/Makefile \ -lib/Makefile \ -machines/Makefile \ -man/Makefile \ -peripherals/Makefile \ -peripherals/disk/Makefile \ -peripherals/ide/Makefile \ -peripherals/nic/Makefile \ -peripherals/flash/Makefile \ -perl/Makefile \ -perl/Fuse/Makefile \ -pokefinder/Makefile \ -roms/Makefile \ -sound/Makefile \ -timer/Makefile \ -ui/Makefile \ -ui/fb/Makefile \ -ui/wii/Makefile \ -ui/gtk/Makefile \ -ui/svga/Makefile \ -ui/sdl/Makefile \ -ui/scaler/Makefile \ -ui/widget/Makefile \ -ui/win32/fuse.manifest \ -ui/win32/Makefile \ -ui/win32/icons/Makefile \ -ui/win32/installer/Makefile \ -ui/xlib/Makefile \ -unittests/Makefile \ -z80/Makefile \ -z80/tests/Makefile) Deleted: vendor/fuse-emulator/current/fuse/ui/win32/installer/fuse.nsi =================================================================== --- vendor/fuse-emulator/current/fuse/ui/win32/installer/fuse.nsi 2012-12-05 12:44:59 UTC (rev 713) +++ vendor/fuse-emulator/current/fuse/ui/win32/installer/fuse.nsi 2012-12-05 21:19:12 UTC (rev 714) @@ -1,386 +0,0 @@ -## NSIS (nsis.sf.net) script to produce installer for win32 platform -## Copyright (c) 2009 Marek Januszewski - -## $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... - -!define FUSE_VERSION "1.0.0.1" ; can contain letters like -RC1 -!define FUSE_FULL_VERSION "1.0.0.1" ; must contain four numeric tokens -!define DISPLAY_NAME "Free Unix Spectrum Emulator (Fuse) ${FUSE_VERSION}" -!define SETUP_FILENAME "fuse-${FUSE_VERSION}-setup" -!define SETUP_FILE "${SETUP_FILENAME}.exe" -!define HKLM_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\Fuse" -!define PROG_ID "Fuse.Files.1" - -;Include Modern UI -!include "MUI2.nsh" -!include "Sections.nsh" -!include "Util.nsh" - -;-------------------------------- -;General - -Name "${DISPLAY_NAME}" -outFile "${SETUP_FILE}" -Caption "${DISPLAY_NAME}" - -installDir "$PROGRAMFILES\Fuse" - -; [Additional Installer Settings ] -XPStyle on -SetCompress force -SetCompressor lzma - -;-------------------------------- -;Interface Settings - - !define MUI_ABORTWARNING - -;-------------------------------- -;Pages - - !insertmacro MUI_PAGE_LICENSE "COPYING" - !define MUI_COMPONENTSPAGE_SMALLDESC - !insertmacro MUI_PAGE_COMPONENTS - !insertmacro MUI_PAGE_DIRECTORY - !insertmacro MUI_PAGE_INSTFILES - !define MUI_FINISHPAGE_RUN "$INSTDIR\fuse.exe" - !define MUI_FINISHPAGE_NOREBOOTSUPPORT - !insertmacro MUI_PAGE_FINISH - - !insertmacro MUI_UNPAGE_CONFIRM - !insertmacro MUI_UNPAGE_INSTFILES - !define MUI_FINISHPAGE_SHOWREADME_CHECKED - !define MUI_FINISHPAGE_SHOWREADME "" - !define MUI_FINISHPAGE_SHOWREADME_TEXT "Delete configuration file" - !define MUI_FINISHPAGE_SHOWREADME_FUNCTION un.DeleteConfigFile - !insertmacro MUI_UNPAGE_FINISH - -;-------------------------------- -;Languages - - !insertmacro MUI_LANGUAGE "English" - -;-------------------------------- -;Version Information - - VIProductVersion ${FUSE_FULL_VERSION} - VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "" - VIAddVersionKey /LANG=${LANG_ENGLISH} "InternalName" "${SETUP_FILENAME}" - VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (c) 1999-2011 Philip Kendall and others; see the file 'AUTHORS' for more details." - VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Fuse" - VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${FUSE_VERSION}" - VIAddVersionKey /LANG=${LANG_ENGLISH} "OriginalFilename" "${SETUP_FILE}" - VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Fuse - the Free Unix Spectrum Emulator" - VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${FUSE_VE... [truncated message content] |