[Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx:[742] trunk/fuse
Brought to you by:
fredm
From: <fr...@us...> - 2013-04-25 05:47:46
|
Revision: 742 http://sourceforge.net/p/fuse-for-macosx/code/742 Author: fredm Date: 2013-04-25 05:47:40 +0000 (Thu, 25 Apr 2013) Log Message: ----------- Merge up to vendor revision 4915. Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/4915 Modified Paths: -------------- trunk/fuse/AUTHORS trunk/fuse/ChangeLog trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/THANKS trunk/fuse/compat/amiga/Makefile.am trunk/fuse/compat/linux/Makefile.am trunk/fuse/compat/mkstemp.c trunk/fuse/compat/morphos/Makefile.am trunk/fuse/compat/unix/Makefile.am trunk/fuse/compat/unix/socket.c trunk/fuse/compat/unix/tuntap.c trunk/fuse/compat/wii/Makefile.am trunk/fuse/compat/win32/Makefile.am trunk/fuse/compat/win32/paths.c trunk/fuse/configure.ac trunk/fuse/fuse.c trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/config.h trunk/fuse/fusepb/controllers/JoystickConfigurationController.h trunk/fuse/fusepb/controllers/JoystickConfigurationController.m trunk/fuse/fusepb/controllers/PreferencesController.m trunk/fuse/fusepb/libspectrum.h trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/disciple.html trunk/fuse/fusepb/resources/Fuse Help/html/formats.html trunk/fuse/fusepb/resources/Fuse Help/html/machine.html trunk/fuse/fusepb/resources/Fuse Help/html/menus.html trunk/fuse/fusepb/resources/Fuse Help/html/peripherals.html trunk/fuse/fusepb/resources/Fuse Help/html/plusd.html trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html trunk/fuse/fusepb/resources/Fuse Help/html/sound.html trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html trunk/fuse/fusepb/xibs/JoystickConfiguration.xib trunk/fuse/fusepb/xibs/Preferences.xib trunk/fuse/hacking/ChangeLog trunk/fuse/hacking/peripheral_tests.txt trunk/fuse/hacking/spectranet.txt trunk/fuse/input.c trunk/fuse/input.h trunk/fuse/keysyms.pl trunk/fuse/lib/compressed/tape_se.szx trunk/fuse/lib/uncompressed/tape_se.szx trunk/fuse/machines/spec_se.c trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/menu.c trunk/fuse/menu.h trunk/fuse/menu_data.dat trunk/fuse/periph.c trunk/fuse/periph.h trunk/fuse/peripherals/disk/beta.c trunk/fuse/peripherals/disk/disciple.c trunk/fuse/peripherals/disk/disciple.h trunk/fuse/peripherals/disk/disk.c trunk/fuse/peripherals/disk/disk.h trunk/fuse/peripherals/disk/fdd.h trunk/fuse/peripherals/disk/opus.c trunk/fuse/peripherals/disk/plusd.c trunk/fuse/peripherals/disk/plusd.h trunk/fuse/peripherals/flash/am29f010.c trunk/fuse/peripherals/fuller.c trunk/fuse/peripherals/ide/divide.c trunk/fuse/peripherals/ide/simpleide.c trunk/fuse/peripherals/ide/zxatasp.c trunk/fuse/peripherals/ide/zxcf.c trunk/fuse/peripherals/if1.c trunk/fuse/peripherals/if1.h trunk/fuse/peripherals/if2.c trunk/fuse/peripherals/if2.h trunk/fuse/peripherals/kempmouse.c trunk/fuse/peripherals/melodik.c trunk/fuse/peripherals/nic/Makefile.am trunk/fuse/peripherals/nic/w5100.c trunk/fuse/peripherals/nic/w5100_internals.h trunk/fuse/peripherals/nic/w5100_socket.c trunk/fuse/peripherals/printer.c trunk/fuse/peripherals/scld.c trunk/fuse/peripherals/speccyboot.c trunk/fuse/peripherals/specdrum.c trunk/fuse/peripherals/spectranet.c trunk/fuse/peripherals/spectranet.h trunk/fuse/pokefinder/pokemem.c trunk/fuse/rectangle.c trunk/fuse/roms/Makefile.am trunk/fuse/roms/README.copyright trunk/fuse/roms/plus3e-0.rom trunk/fuse/roms/plus3e-1.rom trunk/fuse/roms/plus3e-2.rom trunk/fuse/roms/se-0.rom trunk/fuse/roms/se-1.rom trunk/fuse/settings.dat trunk/fuse/settings.pl trunk/fuse/snapshot.c trunk/fuse/sound/blipbuffer.c trunk/fuse/sound/blipbuffer.h trunk/fuse/sound/win32sound.c trunk/fuse/sound.c trunk/fuse/spectrum.c trunk/fuse/tape.c trunk/fuse/ui/cocoa/cocoajoystick.c trunk/fuse/ui/gtk/binary.c trunk/fuse/ui/gtk/debugger.c trunk/fuse/ui/gtk/gtkjoystick.c trunk/fuse/ui/options.dat trunk/fuse/ui/sdl/sdljoystick.c trunk/fuse/ui/uijoystick.c trunk/fuse/ui/widget/filesel.c trunk/fuse/ui/widget/menu.c trunk/fuse/ui/widget/options.pl trunk/fuse/ui/win32/about.rc trunk/fuse/ui/win32/binary.c trunk/fuse/ui/win32/binary.rc trunk/fuse/ui/win32/browse.rc trunk/fuse/ui/win32/debugger.h trunk/fuse/ui/win32/debugger.rc trunk/fuse/ui/win32/hyperlinks.c trunk/fuse/ui/win32/memorybrowser.c trunk/fuse/ui/win32/memorybrowser.rc trunk/fuse/ui/win32/picture.c trunk/fuse/ui/win32/picture.rc trunk/fuse/ui/win32/pokefinder.rc trunk/fuse/ui/win32/pokemem.c trunk/fuse/ui/win32/pokemem.rc trunk/fuse/ui/win32/rollback.rc trunk/fuse/ui/win32/roms.c trunk/fuse/ui/win32/select_template.rc trunk/fuse/ui/win32/statusbar.c trunk/fuse/ui/win32/win32joystick.c trunk/fuse/ui/win32/win32ui.c trunk/fuse/ui.c trunk/fuse/unittests/unittests.c trunk/fuse/utils.c trunk/fuse/windres.rc trunk/fuse/z80/coretest.c trunk/fuse/z80/z80.c trunk/fuse/z80/z80.h trunk/fuse/z80/z80.pl Added Paths: ----------- trunk/fuse/fusepb/resources/Fuse Help/html/pokememory.html trunk/fuse/fusepb/resources/Fuse Help/html/weak.html trunk/fuse/roms/disciple.rom Property Changed: ---------------- trunk/fuse/ Index: trunk/fuse =================================================================== --- trunk/fuse 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse 2013-04-25 05:47:40 UTC (rev 742) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-719 +/vendor/fuse-emulator/current/fuse:530-741 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/AUTHORS =================================================================== --- trunk/fuse/AUTHORS 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/AUTHORS 2013-04-25 05:47:40 UTC (rev 742) @@ -39,7 +39,7 @@ * Garry Lancaster: the simple 8-bit IDE, ZXATASP and ZXCF support. -* Gergely Szasz: +3, +D, Opus and Interface I/microdrive emulation, the 'movie' +* Gergely Szasz: +3, +D, Opus and Interface 1/Microdrive emulation, the 'movie' code and the ao sound driver. * Bjoern Giesler: the original Wii port. @@ -52,4 +52,4 @@ * Philip Kendall: everything else. -$Id: AUTHORS 4237 2010-12-31 19:31:26Z pak21 $ +$Id: AUTHORS 4835 2012-12-31 15:35:45Z zubzero $ Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/ChangeLog 2013-04-25 05:47:40 UTC (rev 742) @@ -1,3 +1,62 @@ +201?-??-?? Philip Kendall <phi...@sh...> + + * Fuse 1.1.0 released. + + * Remove ROMs that there is no formal permission to distribute. + + * New features: + * Add Spectranet ethernet interface emulation (Philip Kendall). + * Add SpeccyBoot ethernet interface emulation (Patrik Persson). + * Add SpecDrum sound interface emulation (Jon Mitchell). + * Add DISCiPLE disk interface emulation (Stuart Brady). + Sinclair Network emulation is not provided, and the interface is + not available under 128K emulation in this release. + * Support reading PZX files (Fredrick Meunier). + * Add support for POK files (Sergio Baldoví). + * Add recording of movies to FMF files (Gergely Szasz). + * Add GTK+ 3 compatibility (Sergio Baldoví). + + * Emulation core improvements: + * Add support for ABC AY stereo (Stuart Brady). + * Correct feedback in AY noise generator (Patrik Rak). + * MIC bit only isn't enough to drive the speaker (Fredrick Meunier). + * Mirror Interface 1 ROM to the second 8Kb of ROM as in the real + interface (Fredrick Meunier, with thanks to mcleod_ideafix and + zx81). + * Support the Beta interface setting to not auto-boot the interface + on 48K machines (ketmar). + + * Machine specific improvements: + * Read and write all potential 1024k worth of memory pages from a + snap (ketmar and Fredrick Meunier). + * Initialise the Pentagon 1024k memory ports from a snapshot (ketmar + and Fredrick Meunier). + * Restore the paged state of the Beta ROM when loading Pentagon + 128k/512k/1024k snapshots (ketmar and Fredrick Meunier). + + * Debugger improvements: + * Disassemble ED 4D as RETI (Simon Owen). + * Add IM, IFF1 and IFF2 setting and getting to the debugger (Alex + Badea). + + * Miscellaneous improvements: + * Many improvements to Win32 UI and installer (Sergio Baldoví). + * Allow the use of the SDL joystick code in the GTK+ and Xlib UIs + (Sergio Baldoví). + * Add current machine name to GTK+ and Win32 statusbars (Sergio + Baldoví). + * Allow the drag and drop of files from KDE (Dolphin/Konqueror) + (Sergio Baldoví, with thanks to Diondeville). + * Add a statusbar for the xlib UI (Gergely Szasz). + * Extend supported symbol characters on SDL and xlib UIs (Sergio + Baldoví). + * Support for the TZX set signal level block (Fredrick Meunier). + * Drop support for GLib and GTK+ version 1.x (Alberto Garcia and + Sergio Baldoví). + * Support setting late timings from snapshots (Fredrick Meunier). + + * Various other minor bugfixes. + 2010-12-16 Philip Kendall <phi...@sh...> * Fuse 1.0.0 released. @@ -1035,4 +1094,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 4409 2011-05-01 10:47:07Z zubzero $ +$Id: ChangeLog 4879 2013-02-12 00:36:01Z zubzero $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2009 Philip Kendall -## $Id: Makefile.am 4770 2012-11-23 22:59:48Z sbaldovi $ +## $Id: Makefile.am 4782 2012-12-02 22:49:57Z sbaldovi $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -290,7 +290,8 @@ @test `find $(top_win32dir) -type f -name \*.dll -print | wc -l` -ne 0 || \ { echo "ERROR: external libraries not found in $(top_win32dir). Please, manually copy them."; exit 1; } # Locate NSIS in system path, MSYS drive or Cygwin drive - @if makensis -VERSION > /dev/null 2>&1; then \ + @NSISFILE="$(abs_top_builddir)/ui/win32/installer/fuse.nsi"; \ + if makensis -VERSION > /dev/null 2>&1; then \ MAKENSIS="makensis"; \ elif [ -x "/c/Program Files/NSIS/makensis" ]; then \ MAKENSIS="/c/Program\ Files/NSIS/makensis"; \ @@ -299,8 +300,11 @@ else \ echo 'ERROR: cannot locate makensis tool'; exit 1; \ fi; \ + case "`uname -s`" in \ + CYGWIN*) NSISFILE=`cygpath -m $$NSISFILE`;; \ + esac; \ cd $(top_win32dir); \ - eval "$$MAKENSIS -V2 -NOCD $(abs_top_builddir)/ui/win32/installer/fuse.nsi" + eval "$$MAKENSIS -V2 -NOCD $$NSISFILE" mv $(top_win32dir)/$(package_win32)-setup.exe $(top_builddir) -sha1sum $(top_builddir)/$(package_win32)-setup.exe > $(top_builddir)/$(package_win32)-setup.exe.sha1 && \ { test -z "$(UNIX2DOS)" || $(UNIX2DOS) $(top_builddir)/$(package_win32)-setup.exe.sha1; } Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/README 2013-04-25 05:47:40 UTC (rev 742) @@ -1,4 +1,4 @@ -The Free Unix Spectrum Emulator (Fuse) 1.0.0 +The Free Unix Spectrum Emulator (Fuse) 1.1.0 ============================================ Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat @@ -24,7 +24,7 @@ * Emulation of some of the printers you could attach to a Spectrum. * Support for the RZX input recording file format, including rollback and 'competition mode'. -* Emulation of the DivIDE, Interface I, Kempston mouse, Spectrum +3e, +* Emulation of the DivIDE, Interface 1, Kempston mouse, Spectrum +3e, ZXATASP, ZXCF, Beta 128, Opus Discovery and +D interfaces. Help! <xyz> doesn't work @@ -33,7 +33,7 @@ If you're having a problem using/running/building Fuse, the two places you're most likely to get help are the development mailing list <fus...@li...> or the official forums at -<http://sourceforge.net/projects/fuse-emulator/forums>. +<http://sourceforge.net/p/fuse-emulator/discussion/>. What you'll need to run Fuse ---------------------------- @@ -105,6 +105,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -16 December 2010 +?? ???? 2012 -$Id: README 4763 2012-11-16 11:01:59Z fredm $ +$Id: README 4846 2013-01-03 09:14:29Z zubzero $ Modified: trunk/fuse/THANKS =================================================================== --- trunk/fuse/THANKS 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/THANKS 2013-04-25 05:47:40 UTC (rev 742) @@ -5,10 +5,10 @@ * Michael Bukin: for XWinAllegro, which was used by previous versions of Fuse for the graphical display. - (http://www.canvaslink.com/allegro/xwinallegro/) + (http://web.archive.org/web/19990210094206/http://www.canvaslink.com/allegro/xwinallegro/) * Ian Collier: the source to his xz80 - (http://www.comlab.ox.ac.uk/oucl/users/ian.collier/Spectrum/index.html) + (http://web.archive.org/web/19990428010016/http://www.comlab.ox.ac.uk/oucl/users/ian.collier/Spectrum/index.html) was very helpful for getting the z80 opcodes right; also the ZX Printer emulation is based on xz80's. @@ -27,9 +27,9 @@ * Ian Greenway: for information about reading from unattached ports. If you've got an Amiga, you may well like to check out Ian's Spectrum - Emulator, ASp: http://www.greew.freeserve.co.uk/ASp.html + Emulator, ASp: http://www.lasernet.plus.com/asp.html -* Shawn Hargreaves: for Allegro (http://www.talula.demon.co.uk/allegro/) +* Shawn Hargreaves: for Allegro (http://alleg.sourceforge.net/) (again, used by previous versions of Fuse for the graphical display) * Steven Harrison: for helping track down why the SDL sound routines @@ -67,7 +67,7 @@ * Darren Salt: quite a few bits of code (see `AUTHORS') -* Dmitry Sanarin: the author of Glukalka (http://glukalka.sf.net/), +* Dmitry Sanarin: the author of Glukalka (http://www.sanarin.ru/glukalka/), from which Fuse's TR-DOS emulation code was taken. * Steve Snake (via Mark Woodmass): for pointing out which memory pages @@ -78,10 +78,11 @@ the code which is used as the graphics scalers. For ScummVM, check out http://www.scummvm.org/ -* Gergely Szasz: Interface I/microdrive emulation, the 'movie' code and the +* Gergely Szasz: Interface 1/Microdrive emulation, the 'movie' code and the ao sound driver (see `AUTHORS') -* Miklos Szeredi: his `SpectEmu' (http://www.inf.bme.hu/~mszeredi/spectemu/) +* Miklos Szeredi: his `SpectEmu' + (http://web.archive.org/web/20100408033206/http://www.inf.bme.hu/~mszeredi/spectemu/) gave the inspiration for an important rewrite of the Z80 core, and was also _very_ useful whilst trying to track down some bugs. @@ -101,4 +102,4 @@ * Matan Ziv-Av: for various bits of code (see `AUTHORS') -$Id: THANKS 2433 2004-11-28 21:58:44Z pak21 $ +$Id: THANKS 4882 2013-02-15 23:47:37Z sbaldovi $ Modified: trunk/fuse/compat/amiga/Makefile.am =================================================================== --- trunk/fuse/compat/amiga/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/amiga/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2012 Philip Kendall -## $Id: Makefile.am 4743 2012-10-10 13:20:50Z fredm $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,8 +31,11 @@ ../unix/file.c \ osname.c \ paths.c \ - ../unix/timer.c \ - ../unix/tuntap.c + ../unix/timer.c +if HAVE_TUNTAP +libcompatos_a_SOURCES += ../unix/tuntap.c +endif + AM_CPPFLAGS += @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ -DFUSEDATADIR="\"${pkgdatadir}\"" Modified: trunk/fuse/compat/linux/Makefile.am =================================================================== --- trunk/fuse/compat/linux/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/linux/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2012 Philip Kendall -## $Id: Makefile.am 4779 2012-11-29 18:55:54Z sbaldovi $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,12 +31,15 @@ ../unix/file.c \ ../unix/osname.c \ paths.c \ - ../unix/timer.c \ - ../unix/tuntap.c + ../unix/timer.c if HAVE_SOCKETS libcompatos_a_SOURCES += ../unix/socket.c endif +if HAVE_TUNTAP +libcompatos_a_SOURCES += ../unix/tuntap.c +endif + AM_CPPFLAGS += @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ -DFUSEDATADIR="\"${pkgdatadir}\"" Modified: trunk/fuse/compat/mkstemp.c =================================================================== --- trunk/fuse/compat/mkstemp.c 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/mkstemp.c 2013-04-25 05:47:40 UTC (rev 742) @@ -49,7 +49,6 @@ int len; char *XXXXXX; static uint64_t value; - uint64_t random_time_bits; unsigned int count; int fd = -1; int save_errno = errno; Modified: trunk/fuse/compat/morphos/Makefile.am =================================================================== --- trunk/fuse/compat/morphos/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/morphos/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 4743 2012-10-10 13:20:50Z fredm $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,7 +31,10 @@ ../unix/file.c \ osname.c \ ../amiga/paths.c \ - ../unix/timer.c \ - ../unix/tuntap.c + ../unix/timer.c +if HAVE_TUNTAP +libcompatos_a_SOURCES += ../unix/tuntap.c +endif + AM_CPPFLAGS += @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: trunk/fuse/compat/unix/Makefile.am =================================================================== --- trunk/fuse/compat/unix/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/unix/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2012 Philip Kendall -## $Id: Makefile.am 4779 2012-11-29 18:55:54Z sbaldovi $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,12 +31,15 @@ file.c \ osname.c \ paths.c \ - timer.c \ - tuntap.c + timer.c if HAVE_SOCKETS libcompatos_a_SOURCES += socket.c endif +if HAVE_TUNTAP +libcompatos_a_SOURCES += tuntap.c +endif + AM_CPPFLAGS += @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ -DFUSEDATADIR="\"${pkgdatadir}\"" Modified: trunk/fuse/compat/unix/socket.c =================================================================== --- trunk/fuse/compat/unix/socket.c 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/unix/socket.c 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ /* socket.c: Socket-related compatibility routines - Copyright (c) 2011 Philip Kendall + Copyright (c) 2011-2012 Philip Kendall - $Id: socket.c 4775 2012-11-26 23:03:36Z sbaldovi $ + $Id: socket.c 4828 2012-12-30 19:43:37Z pak21 $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -116,5 +116,12 @@ char bitbucket; ssize_t bytes_read; - bytes_read = read( self->read_fd, &bitbucket, 1 ); + do { + bytes_read = read( self->read_fd, &bitbucket, 1 ); + if( bytes_read == -1 && errno != EINTR ) { + ui_error( UI_ERROR_ERROR, + "%s: %d: unexpected error %d (%s) reading from pipe", __FILE__, + __LINE__, errno, strerror(errno) ); + } + } while( bytes_read < 0 ); } Modified: trunk/fuse/compat/unix/tuntap.c =================================================================== --- trunk/fuse/compat/unix/tuntap.c 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/unix/tuntap.c 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ /* tuntap.c: TUN/TAP compatability layer Copyright (c) 2009-2010 Patrik Persson, Philip Kendall - $Id: tuntap.c 4432 2011-05-11 14:08:17Z pak21 $ + $Id: tuntap.c 4898 2013-02-25 22:20:54Z pak21 $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,11 +30,9 @@ #include <sys/types.h> #include <sys/stat.h> -#ifdef LINUX_TAP #include <linux/if_tun.h> #include <net/if.h> #include <sys/ioctl.h> -#endif /* #ifdef LINUX_TAP */ #include "ui/ui.h" @@ -43,8 +41,6 @@ { int fd = -1; -#ifdef LINUX_TAP - if ( (fd = open( "/dev/net/tun", O_RDWR | O_NONBLOCK )) < 0 ) ui_error( UI_ERROR_ERROR, "couldn't open TUN/TAP device '/dev/net/tun'" ); else { @@ -59,12 +55,5 @@ } } -#else - - ui_error( UI_ERROR_ERROR, - "TUN/TAP not yet supported for this operating system" ); - -#endif /* #ifdef LINUX_TAP */ - return fd; } Modified: trunk/fuse/compat/wii/Makefile.am =================================================================== --- trunk/fuse/compat/wii/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/wii/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 4743 2012-10-10 13:20:50Z fredm $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,7 +31,10 @@ ../unix/file.c \ osname.c \ paths.c \ - timer.c \ - ../unix/tuntap.c + timer.c +if HAVE_TUNTAP +libcompatos_a_SOURCES += ../unix/tuntap.c +endif + AM_CPPFLAGS += @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: trunk/fuse/compat/win32/Makefile.am =================================================================== --- trunk/fuse/compat/win32/Makefile.am 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/win32/Makefile.am 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 4779 2012-11-29 18:55:54Z sbaldovi $ +## $Id: Makefile.am 4898 2013-02-25 22:20:54Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,8 +31,7 @@ ../unix/file.c \ osname.c \ paths.c \ - timer.c \ - ../unix/tuntap.c + timer.c if HAVE_SOCKETS libcompatos_a_SOURCES += socket.c Modified: trunk/fuse/compat/win32/paths.c =================================================================== --- trunk/fuse/compat/win32/paths.c 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/compat/win32/paths.c 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ /* paths.c: Path-related compatibility routines Copyright (c) 1999-2012 Philip Kendall - $Id: paths.c 4739 2012-10-10 12:14:56Z fredm $ + $Id: paths.c 4882 2013-02-15 23:47:37Z sbaldovi $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,7 +42,7 @@ const char *dir; /* Something close to this algorithm specified at - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/gettemppath.asp + http://msdn.microsoft.com/en-us/library/windows/desktop/aa364992%28v=vs.85%29.aspx */ dir = getenv( "TMP" ); if( dir ) return dir; dir = getenv( "TEMP" ); if( dir ) return dir; Modified: trunk/fuse/configure.ac =================================================================== --- trunk/fuse/configure.ac 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/configure.ac 2013-04-25 05:47:40 UTC (rev 742) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.ac 4779 2012-11-29 18:55:54Z sbaldovi $ +dnl $Id: configure.ac 4898 2013-02-25 22:20:54Z pak21 $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -20,20 +20,20 @@ dnl E-mail: phi...@sh... dnl Package version -m4_define([fuse_version], [1.0.0]) +m4_define([fuse_version], [1.1.0]) dnl Product full version m4_define([fuse_major_version], [1]) -m4_define([fuse_minor_version], [0]) +m4_define([fuse_minor_version], [1]) m4_define([fuse_micro_version], [0]) m4_define([fuse_nano_version], [0]) m4_define([fuse_full_version], [fuse_major_version.fuse_minor_version.fuse_micro_version.fuse_nano_version]) m4_define([fuse_rc_version], [fuse_major_version,fuse_minor_version,fuse_micro_version,fuse_nano_version]) dnl Package info -m4_define([fuse_copyright], ["(c) 1999-2012 Philip Kendall and others"]) -m4_define([fuse_url], [http://fuse-emulator.sourceforge.net]) -m4_define([fuse_bugreport], [http://sourceforge.net/tracker/?group_id=91293&atid=596648]) +m4_define([fuse_copyright], ["(c) 1999-2013 Philip Kendall and others"]) +m4_define([fuse_url], [http://fuse-emulator.sourceforge.net/]) +m4_define([fuse_bugreport], [http://sourceforge.net/p/fuse-emulator/bugs/]) AC_INIT([fuse],[fuse_version],[fuse_bugreport],[fuse],[fuse_url]) AC_CONFIG_SRCDIR(fuse.c) @@ -105,6 +105,7 @@ dnl Checks for library functions. AC_CHECK_FUNCS(dirname geteuid getopt_long mkstemp fsync) +AC_CHECK_LIB([m],[cos]) dnl Allow the user to say that various libraries are in one place AC_ARG_WITH(local-prefix, @@ -134,6 +135,7 @@ AC_DEFINE([UI_WIN32], 1, [Defined if Win32 UI in use]) AC_DEFINE([WINVER], 0x0400, [Minimal supported version of Windows is 95 or NT4]) AC_DEFINE([_WIN32_IE], 0x400, [Internet Explorer is 4.0 or higher is required]) + AC_DEFINE([WIN32_LEAN_AND_MEAN],, [Exclude rarely used stuff from Windows headers <windows.h>]) UI=win32; UI_LIBS="ui/win32/libuiwin32.a", AC_MSG_ERROR([Win32 UI not found])) fi @@ -531,7 +533,9 @@ dsound.h, [dxsound_available=yes], [AC_MSG_WARN(dsound.h not found - no DirectSound output)], - [#define DIRECTSOUND_VERSION 0x0700] + [#define DIRECTSOUND_VERSION 0x0700 + #include <windows.h> + #include <mmsystem.h>] ) dnl Check if MS Windows Multimedia API sound is available @@ -759,11 +763,14 @@ int test2 = TUNSETIFF; ]]) ], - [AC_DEFINE([LINUX_TAP], 1, [Define to 1 if Linux TAP devices are supported.]) + [AC_DEFINE([BUILD_SPECCYBOOT], 1, [Define to 1 if SpeccyBoot is supported.]) + linux_tap=yes AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)] ) CPPFLAGS="$ac_save_CPPFLAGS" +AM_CONDITIONAL(HAVE_TUNTAP, test x$linux_tap != x) +AM_CONDITIONAL(BUILD_SPECCYBOOT, test x$linux_tap != x) dnl Work out which standard routines we're missing AC_MSG_CHECKING(which standard routines we're missing) Modified: trunk/fuse/fuse.c =================================================================== --- trunk/fuse/fuse.c 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fuse.c 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ /* fuse.c: The Free Unix Spectrum Emulator Copyright (c) 1999-2012 Philip Kendall and others - $Id: fuse.c 4762 2012-11-12 11:32:09Z fredm $ + $Id: fuse.c 4846 2013-01-03 09:14:29Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -121,6 +121,7 @@ const char *disk_opus; const char *disk_plusd; const char *disk_beta; + const char *disk_disciple; const char *dock; const char *if2; const char *playback; @@ -380,7 +381,7 @@ "'AUTHORS' for more details.\n" "\n" "For help, please mail <fus...@li...> or use\n" - "the forums at <http://sourceforge.net/projects/fuse-emulator/forums>.\n" + "the forums at <http://sourceforge.net/p/fuse-emulator/discussion/>.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -470,6 +471,7 @@ start_files->disk_plus3 = settings_current.plus3disk_file; start_files->disk_opus = settings_current.opusdisk_file; start_files->disk_plusd = settings_current.plusddisk_file; + start_files->disk_disciple = settings_current.discipledisk_file; start_files->disk_beta = settings_current.betadisk_file; start_files->dock = settings_current.dck_file; start_files->if2 = settings_current.if2_file; @@ -569,7 +571,11 @@ start_files->disk_opus = filename; break; case LIBSPECTRUM_CLASS_DISK_PLUSD: - start_files->disk_plusd = filename; break; + if( periph_is_active( PERIPH_TYPE_DISCIPLE ) ) + start_files->disk_disciple = filename; + else + start_files->disk_plusd = filename; + break; case LIBSPECTRUM_CLASS_DISK_TRDOS: start_files->disk_beta = filename; break; @@ -588,6 +594,8 @@ start_files->disk_beta = filename; else if( periph_is_active( PERIPH_TYPE_PLUSD ) ) start_files->disk_plusd = filename; + else if( periph_is_active( PERIPH_TYPE_DISCIPLE ) ) + start_files->disk_disciple = filename; else if( periph_is_active( PERIPH_TYPE_OPUS ) ) start_files->disk_opus = filename; } @@ -668,12 +676,12 @@ start_files->dock = NULL; } - /* Can't use disks and the Interface II simultaneously */ + /* Can't use disks and the Interface 2 simultaneously */ if( ( start_files->disk_plus3 || start_files->disk_beta ) && start_files->if2 ) { ui_error( UI_ERROR_WARNING, - "can't use disks and the Interface II simultaneously; cartridge ignored" + "can't use disks and the Interface 2 simultaneously; cartridge ignored" ); start_files->if2 = NULL; } @@ -697,6 +705,11 @@ if( error ) return error; } + if( start_files->disk_disciple ) { + error = utils_open_file( start_files->disk_disciple, autoload, NULL ); + if( error ) return error; + } + if( start_files->disk_opus ) { error = utils_open_file( start_files->disk_opus, autoload, NULL ); if( error ) return error; Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj =================================================================== --- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2013-04-25 05:47:40 UTC (rev 742) @@ -189,6 +189,7 @@ B684A19E0E93A8CD00A5B097 /* event.c in Sources */ = {isa = PBXBuildFile; fileRef = B684A19D0E93A8CD00A5B097 /* event.c */; }; B684A1A00E93A8D700A5B097 /* variable.c in Sources */ = {isa = PBXBuildFile; fileRef = B684A19F0E93A8D700A5B097 /* variable.c */; }; B684A1A20E93A8FC00A5B097 /* file.c in Sources */ = {isa = PBXBuildFile; fileRef = B684A1A10E93A8FC00A5B097 /* file.c */; }; + B69A00421723B8F300FF201C /* disciple.rom in Resources */ = {isa = PBXBuildFile; fileRef = B69A00411723B8F300FF201C /* disciple.rom */; }; B69BE5331660DF5300C5D0CE /* socket.c in Sources */ = {isa = PBXBuildFile; fileRef = B69BE5321660DF5300C5D0CE /* socket.c */; }; B69BE5381660DF8B00C5D0CE /* movie.c in Sources */ = {isa = PBXBuildFile; fileRef = B69BE5361660DF8B00C5D0CE /* movie.c */; }; B69BE53C1660E01000C5D0CE /* am29f010.c in Sources */ = {isa = PBXBuildFile; fileRef = B69BE53A1660E01000C5D0CE /* am29f010.c */; }; @@ -269,7 +270,6 @@ B6E1F1AB14F653FB00600EB0 /* speccyboot.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F1A714F653FB00600EB0 /* speccyboot.c */; }; B6E1F1AD14F653FB00600EB0 /* specdrum.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F1A914F653FB00600EB0 /* specdrum.c */; }; B6E1F1B114F6555400600EB0 /* disciple.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F1AF14F6555400600EB0 /* disciple.c */; }; - B6E1F1B414F6560500600EB0 /* tuntap.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F1B314F6560500600EB0 /* tuntap.c */; }; B6E1F24414F7A14200600EB0 /* enc28j60.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E1F24214F7A14200600EB0 /* enc28j60.c */; }; B6E1F26E14F85BD500600EB0 /* speccyboot-1.4.rom in Resources */ = {isa = PBXBuildFile; fileRef = B6E1F26D14F85BD500600EB0 /* speccyboot-1.4.rom */; }; B6F047F60952A6D6006D8005 /* tape_se.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6F047F20952A6BA006D8005 /* tape_se.szx */; }; @@ -542,6 +542,7 @@ B68CB2C503DD920300A804BA /* debugger.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = debugger.h; path = ../debugger/debugger.h; sourceTree = "<group>"; }; B68CB2C603DD920300A804BA /* disassemble.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = disassemble.c; path = ../debugger/disassemble.c; sourceTree = "<group>"; }; B68CB2CC03DD923C00A804BA /* memory.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = memory.c; sourceTree = "<group>"; }; + B69A00411723B8F300FF201C /* disciple.rom */ = {isa = PBXFileReference; lastKnownFileType = file; name = disciple.rom; path = ../roms/disciple.rom; sourceTree = SOURCE_ROOT; }; B69BE5321660DF5300C5D0CE /* socket.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = socket.c; sourceTree = "<group>"; }; B69BE5351660DF8B00C5D0CE /* movie_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = movie_tables.h; sourceTree = "<group>"; }; B69BE5361660DF8B00C5D0CE /* movie.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = movie.c; sourceTree = "<group>"; }; @@ -681,7 +682,6 @@ B6E1F1AA14F653FB00600EB0 /* specdrum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = specdrum.h; sourceTree = "<group>"; }; B6E1F1AF14F6555400600EB0 /* disciple.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = disciple.c; sourceTree = "<group>"; }; B6E1F1B014F6555400600EB0 /* disciple.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disciple.h; sourceTree = "<group>"; }; - B6E1F1B314F6560500600EB0 /* tuntap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tuntap.c; sourceTree = "<group>"; }; B6E1F24214F7A14200600EB0 /* enc28j60.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = enc28j60.c; sourceTree = "<group>"; }; B6E1F24314F7A14200600EB0 /* enc28j60.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enc28j60.h; sourceTree = "<group>"; }; B6E1F26D14F85BD500600EB0 /* speccyboot-1.4.rom */ = {isa = PBXFileReference; lastKnownFileType = file; name = "speccyboot-1.4.rom"; path = "../roms/speccyboot-1.4.rom"; sourceTree = "<group>"; }; @@ -943,7 +943,6 @@ B63225EB0C66BA1300BB081B /* osname.c */, B69BE5321660DF5300C5D0CE /* socket.c */, B64BD10B0FF6EE4E000B82AE /* timer.c */, - B6E1F1B314F6560500600EB0 /* tuntap.c */, ); path = unix; sourceTree = "<group>"; @@ -1382,6 +1381,7 @@ F559854D0389212301A804BA /* 128-0.rom */, F559854E0389212301A804BA /* 128-1.rom */, F559854C0389212301A804BA /* 48.rom */, + B69A00411723B8F300FF201C /* disciple.rom */, F55985520389213E01A804BA /* plus2-0.rom */, F55985530389213E01A804BA /* plus2-1.rom */, F55985540389213E01A804BA /* plus3-0.rom */, @@ -1546,7 +1546,7 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0450; + LastUpgradeCheck = 0460; }; buildConfigurationList = B63319B3086803BA00732AA3 /* Build configuration list for PBXProject "Fuse" */; compatibilityVersion = "Xcode 3.2"; @@ -1577,6 +1577,7 @@ B61F460D09121DF100C8096C /* 128-0.rom in Resources */, B61F460E09121DF100C8096C /* 128-1.rom in Resources */, B61F460C09121DF100C8096C /* 48.rom in Resources */, + B69A00421723B8F300FF201C /* disciple.rom in Resources */, B61F461709121DF100C8096C /* plus2-0.rom in Resources */, B61F461809121DF100C8096C /* plus2-1.rom in Resources */, B61F461909121DF100C8096C /* plus3-0.rom in Resources */, @@ -1832,7 +1833,6 @@ B6E1F1AB14F653FB00600EB0 /* speccyboot.c in Sources */, B6E1F1AD14F653FB00600EB0 /* specdrum.c in Sources */, B6E1F1B114F6555400600EB0 /* disciple.c in Sources */, - B6E1F1B414F6560500600EB0 /* tuntap.c in Sources */, B6E1F24414F7A14200600EB0 /* enc28j60.c in Sources */, B61700F7163EAFC600142336 /* PokeMemoryController.m in Sources */, B69BE5331660DF5300C5D0CE /* socket.c in Sources */, Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/Info-Fuse.plist 2013-04-25 05:47:40 UTC (rev 742) @@ -548,11 +548,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>1.0.0</string> + <string>1.1.0</string> <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>4779</string> + <string>4918</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/fuse/fusepb/config.h =================================================================== --- trunk/fuse/fusepb/config.h 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/config.h 2013-04-25 05:47:40 UTC (rev 742) @@ -5,10 +5,10 @@ #define BUILD_SPECTRANET 1 /* Define copyright of Fuse */ -#define FUSE_COPYRIGHT "(c) 1999-2012 Philip Kendall and others" +#define FUSE_COPYRIGHT "(c) 1999-2013 Philip Kendall and others" /* Define version information for win32 executables */ -#define FUSE_RC_VERSION 1,0,0,0 +#define FUSE_RC_VERSION 1,1,0,0 /* Define to 1 if you have the `dirname' function. */ #define HAVE_DIRNAME 1 @@ -164,7 +164,7 @@ /* #undef USE_WIDGET */ /* Version number of package */ -#define VERSION "1.0.0" +#define VERSION "1.1.0" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ Modified: trunk/fuse/fusepb/controllers/JoystickConfigurationController.h =================================================================== --- trunk/fuse/fusepb/controllers/JoystickConfigurationController.h 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/controllers/JoystickConfigurationController.h 2013-04-25 05:47:40 UTC (rev 742) @@ -38,6 +38,11 @@ IBOutlet NSPopUpButton *joyFire8; IBOutlet NSPopUpButton *joyFire9; IBOutlet NSPopUpButton *joyFire10; + IBOutlet NSPopUpButton *joyFire11; + IBOutlet NSPopUpButton *joyFire12; + IBOutlet NSPopUpButton *joyFire13; + IBOutlet NSPopUpButton *joyFire14; + IBOutlet NSPopUpButton *joyFire15; IBOutlet NSPopUpButton *joyXAxis; IBOutlet NSPopUpButton *joyYAxis; Modified: trunk/fuse/fusepb/controllers/JoystickConfigurationController.m =================================================================== --- trunk/fuse/fusepb/controllers/JoystickConfigurationController.m 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/controllers/JoystickConfigurationController.m 2013-04-25 05:47:40 UTC (rev 742) @@ -119,6 +119,11 @@ [currentValues setObject:@([[joyFire8 selectedItem] tag]) forKey:@"joystick1fire8"]; [currentValues setObject:@([[joyFire9 selectedItem] tag]) forKey:@"joystick1fire9"]; [currentValues setObject:@([[joyFire10 selectedItem] tag]) forKey:@"joystick1fire10"]; + [currentValues setObject:@([[joyFire11 selectedItem] tag]) forKey:@"joystick1fire11"]; + [currentValues setObject:@([[joyFire12 selectedItem] tag]) forKey:@"joystick1fire12"]; + [currentValues setObject:@([[joyFire13 selectedItem] tag]) forKey:@"joystick1fire13"]; + [currentValues setObject:@([[joyFire14 selectedItem] tag]) forKey:@"joystick1fire14"]; + [currentValues setObject:@([[joyFire15 selectedItem] tag]) forKey:@"joystick1fire15"]; [currentValues setObject:@([[joyXAxis selectedItem] tag]) forKey:@"joy1x"]; [currentValues setObject:@([[joyYAxis selectedItem] tag]) forKey:@"joy1y"]; break; @@ -133,6 +138,11 @@ [currentValues setObject:@([[joyFire8 selectedItem] tag]) forKey:@"joystick2fire8"]; [currentValues setObject:@([[joyFire9 selectedItem] tag]) forKey:@"joystick2fire9"]; [currentValues setObject:@([[joyFire10 selectedItem] tag]) forKey:@"joystick2fire10"]; + [currentValues setObject:@([[joyFire11 selectedItem] tag]) forKey:@"joystick2fire11"]; + [currentValues setObject:@([[joyFire12 selectedItem] tag]) forKey:@"joystick2fire12"]; + [currentValues setObject:@([[joyFire13 selectedItem] tag]) forKey:@"joystick2fire13"]; + [currentValues setObject:@([[joyFire14 selectedItem] tag]) forKey:@"joystick2fire14"]; + [currentValues setObject:@([[joyFire15 selectedItem] tag]) forKey:@"joystick2fire15"]; [currentValues setObject:@([[joyXAxis selectedItem] tag]) forKey:@"joy2x"]; [currentValues setObject:@([[joyYAxis selectedItem] tag]) forKey:@"joy2y"]; break; @@ -183,6 +193,16 @@ indexOfItemWithTag:settings_current.joystick_1_fire_9]]; [joyFire10 selectItemAtIndex:[joyXAxis indexOfItemWithTag:settings_current.joystick_1_fire_10]]; + [joyFire11 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_1_fire_11]]; + [joyFire12 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_1_fire_12]]; + [joyFire13 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_1_fire_13]]; + [joyFire14 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_1_fire_14]]; + [joyFire15 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_1_fire_15]]; x_axis = settings_current.joy1_xaxis; y_axis = settings_current.joy1_yaxis; break; @@ -207,6 +227,16 @@ indexOfItemWithTag:settings_current.joystick_2_fire_9]]; [joyFire10 selectItemAtIndex:[joyXAxis indexOfItemWithTag:settings_current.joystick_2_fire_10]]; + [joyFire11 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_2_fire_11]]; + [joyFire12 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_2_fire_12]]; + [joyFire13 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_2_fire_13]]; + [joyFire14 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_2_fire_14]]; + [joyFire15 selectItemAtIndex:[joyXAxis + indexOfItemWithTag:settings_current.joystick_2_fire_15]]; x_axis = settings_current.joy2_xaxis; y_axis = settings_current.joy2_yaxis; break; @@ -214,7 +244,7 @@ assert(0); } - for( i=0; i<10; i++ ) { + for( i=0; i<15; i++ ) { [joyXAxis addItemWithTitle:[NSString stringWithFormat:@"%ld", i]]; [[joyXAxis lastItem] setTag:i]; [joyYAxis addItemWithTitle:[NSString stringWithFormat:@"%ld", i]]; @@ -239,6 +269,11 @@ [joyFire8 removeAllItems]; [joyFire9 removeAllItems]; [joyFire10 removeAllItems]; + [joyFire11 removeAllItems]; + [joyFire12 removeAllItems]; + [joyFire13 removeAllItems]; + [joyFire14 removeAllItems]; + [joyFire15 removeAllItems]; for( i = 0; i < key_menu_count; i++ ) { [joyFire1 addItemWithTitle:@(key_menu[i].key)]; @@ -261,6 +296,16 @@ [[joyFire9 lastItem] setTag:key_menu[i].value]; [joyFire10 addItemWithTitle:@(key_menu[i].key)]; [[joyFire10 lastItem] setTag:key_menu[i].value]; + [joyFire11 addItemWithTitle:@(key_menu[i].key)]; + [[joyFire11 lastItem] setTag:key_menu[i].value]; + [joyFire12 addItemWithTitle:@(key_menu[i].key)]; + [[joyFire12 lastItem] setTag:key_menu[i].value]; + [joyFire13 addItemWithTitle:@(key_menu[i].key)]; + [[joyFire13 lastItem] setTag:key_menu[i].value]; + [joyFire14 addItemWithTitle:@(key_menu[i].key)]; + [[joyFire14 lastItem] setTag:key_menu[i].value]; + [joyFire15 addItemWithTitle:@(key_menu[i].key)]; + [[joyFire15 lastItem] setTag:key_menu[i].value]; } switch(joyNum) { @@ -285,6 +330,16 @@ indexOfItemWithTag:settings_current.joystick_1_fire_9]]; [joyFire10 selectItemAtIndex:[joyFire10 indexOfItemWithTag:settings_current.joystick_1_fire_10]]; + [joyFire11 selectItemAtIndex:[joyFire1 + indexOfItemWithTag:settings_current.joystick_1_fire_11]]; + [joyFire12 selectItemAtIndex:[joyFire2 + indexOfItemWithTag:settings_current.joystick_1_fire_12]]; + [joyFire13 selectItemAtIndex:[joyFire3 + indexOfItemWithTag:settings_current.joystick_1_fire_13]]; + [joyFire14 selectItemAtIndex:[joyFire4 + indexOfItemWithTag:settings_current.joystick_1_fire_14]]; + [joyFire15 selectItemAtIndex:[joyFire5 + indexOfItemWithTag:settings_current.joystick_1_fire_15]]; break; case 2: [joyFire1 selectItemAtIndex:[joyFire1 @@ -307,6 +362,16 @@ indexOfItemWithTag:settings_current.joystick_2_fire_9]]; [joyFire10 selectItemAtIndex:[joyFire10 indexOfItemWithTag:settings_current.joystick_2_fire_10]]; + [joyFire11 selectItemAtIndex:[joyFire1 + indexOfItemWithTag:settings_current.joystick_2_fire_11]]; + [joyFire12 selectItemAtIndex:[joyFire2 + indexOfItemWithTag:settings_current.joystick_2_fire_12]]; + [joyFire13 selectItemAtIndex:[joyFire3 + indexOfItemWithTag:settings_current.joystick_2_fire_13]]; + [joyFire14 selectItemAtIndex:[joyFire4 + indexOfItemWithTag:settings_current.joystick_2_fire_14]]; + [joyFire15 selectItemAtIndex:[joyFire5 + indexOfItemWithTag:settings_current.joystick_2_fire_15]]; break; default: assert(0); Modified: trunk/fuse/fusepb/controllers/PreferencesController.m =================================================================== --- trunk/fuse/fusepb/controllers/PreferencesController.m 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/controllers/PreferencesController.m 2013-04-25 05:47:40 UTC (rev 742) @@ -44,6 +44,7 @@ #include "fuse.h" #include "joystick.h" #include "options_cocoa.h" +#include "periph.h" #include "printer.h" #include "settings.h" #include "settings_cocoa.h" @@ -178,6 +179,8 @@ fuse_joystick_end(); fuse_joystick_init(); + periph_posthook(); + [[DisplayOpenGLView instance] unpause]; } Modified: trunk/fuse/fusepb/libspectrum.h =================================================================== --- trunk/fuse/fusepb/libspectrum.h 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/libspectrum.h 2013-04-25 05:47:40 UTC (rev 742) @@ -1,7 +1,7 @@ /* libspectrum.h: the library for dealing with ZX Spectrum emulator files Copyright (c) 2001-2007 Philip Kendall, Darren Salt, Fredrick Meunier - $Id: libspectrum.h.in 4695 2012-05-07 02:03:10Z fredm $ + $Id: libspectrum.h.in 4836 2012-12-31 15:40:10Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,10 +40,19 @@ #ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN /* Exclude rarely used stuff from Windows - headers */ +/* Exclude rarely used stuff from Windows headers */ +#ifndef WIN32_LEAN_AND_MEAN + +#define WIN32_LEAN_AND_MEAN /**/ #include <windows.h> +#undef WIN32_LEAN_AND_MEAN +#else + +#include <windows.h> + +#endif /* #ifndef WIN32_LEAN_AND_MEAN */ + #ifdef LIBSPECTRUM_EXPORTS #define WIN32_DLL __declspec( dllexport ) #else /* #ifdef LIBSPECTRUM_EXPORTS */ @@ -365,7 +374,7 @@ /* Below here, present only in 0.2.2 and later */ LIBSPECTRUM_ID_HARDDISK_HDF, /* .hdf hard disk image */ - LIBSPECTRUM_ID_CARTRIDGE_IF2, /* .rom Interface II cartridge image */ + LIBSPECTRUM_ID_CARTRIDGE_IF2, /* .rom Interface 2 cartridge image */ /* Below here, present only in 0.3.0 and later */ @@ -422,7 +431,7 @@ /* Below here, present only in 0.2.2 and later */ LIBSPECTRUM_CLASS_HARDDISK, /* A hard disk image */ - LIBSPECTRUM_CLASS_CARTRIDGE_IF2, /* Interface II cartridges */ + LIBSPECTRUM_CLASS_CARTRIDGE_IF2, /* Interface 2 cartridges */ /* Below here, present only in 0.3.0 and later */ @@ -490,6 +499,8 @@ LIBSPECTRUM_MACHINE_48_NTSC, + LIBSPECTRUM_MACHINE_128E, + } libspectrum_machine; WIN32_DLL const char* libspectrum_machine_name( libspectrum_machine type ); @@ -697,6 +708,8 @@ WIN32_DLL void libspectrum_snap_set_sp( libspectrum_snap *snap, libspectrum_word sp ); WIN32_DLL libspectrum_word libspectrum_snap_pc( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_pc( libspectrum_snap *snap, libspectrum_word pc ); +WIN32_DLL libspectrum_word libspectrum_snap_memptr( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_memptr( libspectrum_snap *snap, libspectrum_word memptr ); WIN32_DLL libspectrum_byte libspectrum_snap_iff1( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_iff1( libspectrum_snap *snap, libspectrum_byte iff1 ); WIN32_DLL libspectrum_byte libspectrum_snap_iff2( libspectrum_snap *snap ); @@ -709,6 +722,8 @@ WIN32_DLL void libspectrum_snap_set_halted( libspectrum_snap *snap, int halted ); WIN32_DLL int libspectrum_snap_last_instruction_ei( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_last_instruction_ei( libspectrum_snap *snap, int last_instruction_ei ); +WIN32_DLL int libspectrum_snap_last_instruction_set_f( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_last_instruction_set_f( libspectrum_snap *snap, int last_instruction_set_f ); WIN32_DLL libspectrum_byte libspectrum_snap_out_ula( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_out_ula( libspectrum_snap *snap, libspectrum_byte out_ula ); WIN32_DLL libspectrum_byte libspectrum_snap_out_128_memoryport( libspectrum_snap *snap ); @@ -919,6 +934,8 @@ WIN32_DLL void libspectrum_snap_set_spectranet_paged( libspectrum_snap *snap, int spectranet_paged ); WIN32_DLL int libspectrum_snap_spectranet_paged_via_io( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_spectranet_paged_via_io( libspectrum_snap *snap, int spectranet_paged_via_io ); +WIN32_DLL int libspectrum_snap_spectranet_nmi_flipflop( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_spectranet_nmi_flipflop( libspectrum_snap *snap, int spectranet_nmi_flipflop ); WIN32_DLL int libspectrum_snap_spectranet_programmable_trap_active( libspectrum_snap *snap ); WIN32_DLL void libspectrum_snap_set_spectranet_programmable_trap_active( libspectrum_snap *snap, int spectranet_programmable_trap_active ); WIN32_DLL int libspectrum_snap_spectranet_programmable_trap_msb( libspectrum_snap *snap ); @@ -941,6 +958,10 @@ WIN32_DLL void libspectrum_snap_set_spectranet_flash( libspectrum_snap *snap, int idx, libspectrum_byte* spectranet_flash ); WIN32_DLL libspectrum_byte * libspectrum_snap_spectranet_ram( libspectrum_snap *snap, int idx ); WIN32_DLL void libspectrum_snap_set_spectranet_ram( libspectrum_snap *snap, int idx, libspectrum_byte* spectranet_ram ); +WIN32_DLL int libspectrum_snap_late_timings( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_late_timings( libspectrum_snap *snap, int late_timings ); +WIN32_DLL int libspectrum_snap_zx_printer_active( libspectrum_snap *snap ); +WIN32_DLL void libspectrum_snap_set_zx_printer_active( libspectrum_snap *snap, int zx_printer_active ); /* * Tape handling routines Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2013-04-25 05:47:40 UTC (rev 742) @@ -41,7 +41,10 @@ <li><font face="Lucida Grande,Helvetica,Arial">Add SpecDrum sound interface emulation (Jon Mitchell).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add DISCiPLE - disk interface emulation (Stuart Brady).</font></li> + disk interface emulation (Stuart Brady), note that + Sinclair Network emulation is not provided, and the + interface is not available under 128K emulation in this + release.</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Support reading PZX files (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Add support for @@ -71,6 +74,21 @@ <li><font face="Lucida Grande,Helvetica,Arial">Support the Beta interface setting to not auto-boot the interface on 48K machines (ketmar).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Support setting + late timings from snapshots (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Add separate + switch to enable ZX Printer emulation (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Reset machine + when installed peripherals are changed (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix memory disk + image corrupted after save (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Allow up to 15 + joystick buttons to be defined to accommodate e.g. XBox + 360 ABXY button use (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix loading of + EDSK files with redundant sector images (Fredrick + Meunier).<br> + </font></li> </ul> <br> </li> @@ -87,6 +105,14 @@ <li><font face="Lucida Grande,Helvetica,Arial">Restore the paged state of the Beta ROM when loading Pentagon 128k/512k/1024k snapshots (ketmar and Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix SE writing + dock and exrom pages to snapshots (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Update SE ROMs + to v4.04 (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Update to v1.38 + of the +3e ROMs (fixes bug #290) (thanks, Guesser) + (Fredrick Meunier).<br> + </font></li> </ul> </li> <li style="list-style-type: none; list-style-image: none; @@ -111,6 +137,23 @@ TZX set signal level block (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Support setting late timings from snapshots (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix 16x9 + panoramic widescreen and non-panoramic non-4/3 widescreen + (thanks, Adam Meath)</font><font face="Lucida + Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial"> (Fredrick Meunier)</font>.</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Properly handle + opening and closing windows more than once</font><font + face="Lucida Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial"> (Fredrick Meunier)</font>.</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix display of + memory map in debugger</font><font face="Lucida + Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial"><font face="Lucida + Grande,Helvetica,Arial"> (Fredrick Meunier)</font></font>.</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Updated retina + icon images from Paul van der Laan.<br> + </font></li> </ul> <li style="list-style: none outside none;"><br> </li> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/disciple.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/disciple.html 2013-04-20 11:35:58 UTC (rev 741) +++ trunk/fuse/fusepb/resources/Fuse Help/html/disciple.html 2013-04-25 05:47:40 UTC (rev 742) @@ -9,17 +9,14 @@ <body> <font face="Lucida Grande,Helvetica,Arial"><a name="+D EMULATION"></a><!-- AppleSegDescription="This section describes the +D interface emulation in Fuse." --></font> <div class="refsect1" xml:lang="en" lang="en"> - <h2><font face="Lucida Grande,Helvetica,Arial">DISCiPLE Emulation</font></h2> + <h2><font face="Lucida Grande,Helvetica,Arial">DISCIPLE Emulation</font></h2> </div> - <p> - <font face="Lucida Grande,Helvetica,Arial">Fuse supports emulating - the - DISCiPLE disk and printer interface, although it does not - currently - support emulation of the Sinclair Network, or support emulation - of a - DISCiPLE attached to a 128K machine. See the <font face="Lucida - Grande,Helvetica,Arial"><span class="emphasis"><em></em></span></font></font><font + <p> <font face="Lucida Grande,Helvetica,Arial">Fuse supports + emulating the DISCiPLE disk and printer interface, although it + does not currently support emulation of the Sinclair Network, or + support emulation of a DISCiPLE attached to a 128K machine. See + the <font face="Lucida Grande,Helvetica,Arial"><span + class="emphasis"><em></em></span></font></font><font face="Lucida Grande,Helvetica,Arial"><font face="Lucida Grande,Helvetica,Arial"><span class="emphasis"><em><font face="Lucida Grande,Helvetica,Arial">... [truncated message content] |