[Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx:[685] vendor/fuse-emulator/current
Brought to you by:
fredm
From: <fr...@us...> - 2012-02-15 12:43:25
|
Revision: 685 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=685&view=rev Author: fredm Date: 2012-02-15 12:43:10 +0000 (Wed, 15 Feb 2012) Log Message: ----------- Load . into vendor/fuse-emulator/current. Modified Paths: -------------- vendor/fuse-emulator/current/fuse/AUTHORS vendor/fuse-emulator/current/fuse/ChangeLog vendor/fuse-emulator/current/fuse/Makefile.am vendor/fuse-emulator/current/fuse/README vendor/fuse-emulator/current/fuse/bitmap.h vendor/fuse-emulator/current/fuse/compat/amiga/Makefile.am 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/file.c vendor/fuse-emulator/current/fuse/compat/wii/Makefile.am vendor/fuse-emulator/current/fuse/compat/win32/Makefile.am vendor/fuse-emulator/current/fuse/compat/win32/timer.c vendor/fuse-emulator/current/fuse/compat.h vendor/fuse-emulator/current/fuse/configure.in vendor/fuse-emulator/current/fuse/debugger/breakpoint.c vendor/fuse-emulator/current/fuse/debugger/breakpoint.h vendor/fuse-emulator/current/fuse/debugger/commandl.l vendor/fuse-emulator/current/fuse/debugger/commandy.y vendor/fuse-emulator/current/fuse/debugger/debugger.c vendor/fuse-emulator/current/fuse/debugger/debugger_internals.h vendor/fuse-emulator/current/fuse/debugger/disassemble.c vendor/fuse-emulator/current/fuse/debugger/event.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/hacking/ChangeLog vendor/fuse-emulator/current/fuse/hacking/tc2048_tech_notes.txt vendor/fuse-emulator/current/fuse/input.c vendor/fuse-emulator/current/fuse/keyboard.c vendor/fuse-emulator/current/fuse/keysyms.pl vendor/fuse-emulator/current/fuse/machine.c vendor/fuse-emulator/current/fuse/machine.h vendor/fuse-emulator/current/fuse/machines/Makefile.am vendor/fuse-emulator/current/fuse/machines/pentagon.c vendor/fuse-emulator/current/fuse/machines/pentagon.h vendor/fuse-emulator/current/fuse/machines/pentagon1024.c vendor/fuse-emulator/current/fuse/machines/pentagon512.c vendor/fuse-emulator/current/fuse/machines/scorpion.c vendor/fuse-emulator/current/fuse/machines/spec128.c vendor/fuse-emulator/current/fuse/machines/spec128.h vendor/fuse-emulator/current/fuse/machines/spec16.c vendor/fuse-emulator/current/fuse/machines/spec48.c vendor/fuse-emulator/current/fuse/machines/spec48.h vendor/fuse-emulator/current/fuse/machines/spec48_ntsc.c vendor/fuse-emulator/current/fuse/machines/spec_se.c vendor/fuse-emulator/current/fuse/machines/specplus2.c vendor/fuse-emulator/current/fuse/machines/specplus2a.c vendor/fuse-emulator/current/fuse/machines/specplus3.c vendor/fuse-emulator/current/fuse/machines/specplus3.h vendor/fuse-emulator/current/fuse/machines/specplus3e.c vendor/fuse-emulator/current/fuse/machines/tc2048.c vendor/fuse-emulator/current/fuse/machines/tc2068.c vendor/fuse-emulator/current/fuse/machines/tc2068.h 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/mempool.h vendor/fuse-emulator/current/fuse/menu.c vendor/fuse-emulator/current/fuse/menu.h vendor/fuse-emulator/current/fuse/menu_data.dat vendor/fuse-emulator/current/fuse/periph.c vendor/fuse-emulator/current/fuse/periph.h vendor/fuse-emulator/current/fuse/peripherals/ay.c vendor/fuse-emulator/current/fuse/peripherals/ay.h vendor/fuse-emulator/current/fuse/peripherals/dck.c vendor/fuse-emulator/current/fuse/peripherals/dck.h 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/beta.h vendor/fuse-emulator/current/fuse/peripherals/disk/crc.c vendor/fuse-emulator/current/fuse/peripherals/disk/disk.c vendor/fuse-emulator/current/fuse/peripherals/disk/fdd.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/disk/plusd.h vendor/fuse-emulator/current/fuse/peripherals/disk/upd_fdc.c vendor/fuse-emulator/current/fuse/peripherals/disk/upd_fdc.h vendor/fuse-emulator/current/fuse/peripherals/disk/wd_fdc.c vendor/fuse-emulator/current/fuse/peripherals/disk/wd_fdc.h vendor/fuse-emulator/current/fuse/peripherals/fuller.c vendor/fuse-emulator/current/fuse/peripherals/fuller.h vendor/fuse-emulator/current/fuse/peripherals/ide/Makefile.am vendor/fuse-emulator/current/fuse/peripherals/ide/divide.c vendor/fuse-emulator/current/fuse/peripherals/ide/divide.h vendor/fuse-emulator/current/fuse/peripherals/ide/ide.c vendor/fuse-emulator/current/fuse/peripherals/ide/ide.h vendor/fuse-emulator/current/fuse/peripherals/ide/simpleide.c vendor/fuse-emulator/current/fuse/peripherals/ide/simpleide.h vendor/fuse-emulator/current/fuse/peripherals/ide/zxatasp.c vendor/fuse-emulator/current/fuse/peripherals/ide/zxatasp.h vendor/fuse-emulator/current/fuse/peripherals/ide/zxcf.c vendor/fuse-emulator/current/fuse/peripherals/ide/zxcf.h vendor/fuse-emulator/current/fuse/peripherals/if1.c vendor/fuse-emulator/current/fuse/peripherals/if1.h vendor/fuse-emulator/current/fuse/peripherals/if2.c vendor/fuse-emulator/current/fuse/peripherals/if2.h vendor/fuse-emulator/current/fuse/peripherals/joystick.c vendor/fuse-emulator/current/fuse/peripherals/joystick.h vendor/fuse-emulator/current/fuse/peripherals/kempmouse.c vendor/fuse-emulator/current/fuse/peripherals/kempmouse.h vendor/fuse-emulator/current/fuse/peripherals/melodik.c vendor/fuse-emulator/current/fuse/peripherals/melodik.h vendor/fuse-emulator/current/fuse/peripherals/printer.c vendor/fuse-emulator/current/fuse/peripherals/printer.h vendor/fuse-emulator/current/fuse/peripherals/scld.c vendor/fuse-emulator/current/fuse/peripherals/scld.h vendor/fuse-emulator/current/fuse/peripherals/ula.c vendor/fuse-emulator/current/fuse/peripherals/ula.h vendor/fuse-emulator/current/fuse/pokefinder/Makefile.am vendor/fuse-emulator/current/fuse/roms/Makefile.am vendor/fuse-emulator/current/fuse/roms/README.copyright vendor/fuse-emulator/current/fuse/rzx.c vendor/fuse-emulator/current/fuse/screenshot.c vendor/fuse-emulator/current/fuse/screenshot.h vendor/fuse-emulator/current/fuse/settings.dat vendor/fuse-emulator/current/fuse/settings.pl vendor/fuse-emulator/current/fuse/snapshot.c vendor/fuse-emulator/current/fuse/sound/blipbuffer.c vendor/fuse-emulator/current/fuse/sound.c vendor/fuse-emulator/current/fuse/sound.h vendor/fuse-emulator/current/fuse/spectrum.c vendor/fuse-emulator/current/fuse/tape.c vendor/fuse-emulator/current/fuse/ui/fb/fbdisplay.c vendor/fuse-emulator/current/fuse/ui/fb/fbjoystick.c vendor/fuse-emulator/current/fuse/ui/fb/fbui.c vendor/fuse-emulator/current/fuse/ui/gtk/Makefile.am vendor/fuse-emulator/current/fuse/ui/gtk/debugger.c vendor/fuse-emulator/current/fuse/ui/gtk/fileselector.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/gtkui.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/pokefinder.c vendor/fuse-emulator/current/fuse/ui/gtk/statusbar.c vendor/fuse-emulator/current/fuse/ui/options.dat vendor/fuse-emulator/current/fuse/ui/sdl/sdldisplay.c vendor/fuse-emulator/current/fuse/ui/sdl/sdljoystick.c vendor/fuse-emulator/current/fuse/ui/sdl/sdlui.c vendor/fuse-emulator/current/fuse/ui/svga/svgajoystick.c vendor/fuse-emulator/current/fuse/ui/svga/svgaui.c vendor/fuse-emulator/current/fuse/ui/ui.h vendor/fuse-emulator/current/fuse/ui/uijoystick.c vendor/fuse-emulator/current/fuse/ui/widget/Makefile.am vendor/fuse-emulator/current/fuse/ui/widget/debugger.c vendor/fuse-emulator/current/fuse/ui/widget/filesel.c 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/options.pl vendor/fuse-emulator/current/fuse/ui/widget/pokefinder.c vendor/fuse-emulator/current/fuse/ui/widget/widget.c vendor/fuse-emulator/current/fuse/ui/widget/widget.h vendor/fuse-emulator/current/fuse/ui/widget/widget_internals.h vendor/fuse-emulator/current/fuse/ui/win32/Makefile.am vendor/fuse-emulator/current/fuse/ui/win32/debugger.c vendor/fuse-emulator/current/fuse/ui/win32/debugger.rc vendor/fuse-emulator/current/fuse/ui/win32/installer/fuse.nsi vendor/fuse-emulator/current/fuse/ui/win32/options-header.pl vendor/fuse-emulator/current/fuse/ui/win32/options-resource.pl vendor/fuse-emulator/current/fuse/ui/win32/options.pl vendor/fuse-emulator/current/fuse/ui/win32/picture.c vendor/fuse-emulator/current/fuse/ui/win32/pokefinder.c vendor/fuse-emulator/current/fuse/ui/win32/pokefinder.rc vendor/fuse-emulator/current/fuse/ui/win32/statusbar.c vendor/fuse-emulator/current/fuse/ui/win32/win32display.c vendor/fuse-emulator/current/fuse/ui/win32/win32internals.h vendor/fuse-emulator/current/fuse/ui/win32/win32joystick.c vendor/fuse-emulator/current/fuse/ui/win32/win32joystick.rc vendor/fuse-emulator/current/fuse/ui/win32/win32ui.c vendor/fuse-emulator/current/fuse/ui/xlib/xdisplay.c vendor/fuse-emulator/current/fuse/ui/xlib/xjoystick.c vendor/fuse-emulator/current/fuse/ui.c vendor/fuse-emulator/current/fuse/unittests/unittests.c vendor/fuse-emulator/current/fuse/unittests/unittests.h 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/coretest.c vendor/fuse-emulator/current/fuse/z80/z80.c vendor/fuse-emulator/current/fuse/z80/z80_checks.h vendor/fuse-emulator/current/fuse/z80/z80_ops.c vendor/fuse-emulator/current/fuse-utils/audio2tape.h vendor/fuse-emulator/current/fuse-utils/compat.h vendor/fuse-emulator/current/fuse-utils/configure.in vendor/fuse-emulator/current/fuse-utils/hacking/ChangeLog vendor/fuse-emulator/current/fuse-utils/man/profile2map.1 vendor/fuse-emulator/current/fuse-utils/man/tape2wav.1 vendor/fuse-emulator/current/fuse-utils/man/tzxlist.1 vendor/fuse-emulator/current/fuse-utils/snap2tzx.c vendor/fuse-emulator/current/fuse-utils/tape2wav.c vendor/fuse-emulator/current/fuse-utils/tzxlist.c vendor/fuse-emulator/current/libspectrum/ChangeLog vendor/fuse-emulator/current/libspectrum/Makefile.am vendor/fuse-emulator/current/libspectrum/README vendor/fuse-emulator/current/libspectrum/accessor.pl vendor/fuse-emulator/current/libspectrum/configure.in vendor/fuse-emulator/current/libspectrum/doc/libspectrum.3 vendor/fuse-emulator/current/libspectrum/doc/libspectrum.txt vendor/fuse-emulator/current/libspectrum/hacking/ChangeLog vendor/fuse-emulator/current/libspectrum/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/myglib/garray.c vendor/fuse-emulator/current/libspectrum/myglib/ghash.c vendor/fuse-emulator/current/libspectrum/rzx.c vendor/fuse-emulator/current/libspectrum/sna.c vendor/fuse-emulator/current/libspectrum/snap_accessors.txt vendor/fuse-emulator/current/libspectrum/snapshot.c vendor/fuse-emulator/current/libspectrum/szx.c vendor/fuse-emulator/current/libspectrum/tap.c vendor/fuse-emulator/current/libspectrum/tape.c vendor/fuse-emulator/current/libspectrum/tape_accessors.txt vendor/fuse-emulator/current/libspectrum/tape_block.c vendor/fuse-emulator/current/libspectrum/tape_block.h vendor/fuse-emulator/current/libspectrum/test/Makefile.am vendor/fuse-emulator/current/libspectrum/test/test.c vendor/fuse-emulator/current/libspectrum/test/test15.c vendor/fuse-emulator/current/libspectrum/tzx_read.c vendor/fuse-emulator/current/libspectrum/tzx_write.c vendor/fuse-emulator/current/libspectrum/warajevo_read.c vendor/fuse-emulator/current/libspectrum/wav.c vendor/fuse-emulator/current/libspectrum/z80.c vendor/fuse-emulator/current/website/fuse.php vendor/fuse-emulator/current/website/libspectrum.php vendor/fuse-emulator/current/website/screens/f-nongtk.png Added Paths: ----------- vendor/fuse-emulator/current/fuse/compat/unix/tuntap.c vendor/fuse-emulator/current/fuse/machines/machines_periph.c vendor/fuse-emulator/current/fuse/machines/machines_periph.h vendor/fuse-emulator/current/fuse/peripherals/Makefile.am vendor/fuse-emulator/current/fuse/peripherals/disk/disciple.c vendor/fuse-emulator/current/fuse/peripherals/disk/disciple.h vendor/fuse-emulator/current/fuse/peripherals/nic/ 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/speccyboot.c vendor/fuse-emulator/current/fuse/peripherals/speccyboot.h vendor/fuse-emulator/current/fuse/peripherals/specdrum.c vendor/fuse-emulator/current/fuse/peripherals/specdrum.h vendor/fuse-emulator/current/fuse/pokefinder/pokemem.c vendor/fuse-emulator/current/fuse/pokefinder/pokemem.h vendor/fuse-emulator/current/fuse/roms/speccyboot-1.4.rom vendor/fuse-emulator/current/fuse/ui/gtk/pokemem.c vendor/fuse-emulator/current/fuse/ui/widget/pokemem.c vendor/fuse-emulator/current/fuse/ui/win32/about.c vendor/fuse-emulator/current/fuse/ui/win32/about.h vendor/fuse-emulator/current/fuse/ui/win32/about.rc vendor/fuse-emulator/current/fuse/ui/win32/fuse.manifest.in vendor/fuse-emulator/current/fuse/ui/win32/hyperlinks.c vendor/fuse-emulator/current/fuse/ui/win32/hyperlinks.h vendor/fuse-emulator/current/fuse/ui/win32/pokemem.c vendor/fuse-emulator/current/fuse/ui/win32/pokemem.h vendor/fuse-emulator/current/fuse/ui/win32/pokemem.rc vendor/fuse-emulator/current/fuse-utils/compat/win32/ vendor/fuse-emulator/current/fuse-utils/compat/win32/Makefile.am vendor/fuse-emulator/current/fuse-utils/compat/win32/osname.c vendor/fuse-emulator/current/libspectrum/pzx_read.c vendor/fuse-emulator/current/libspectrum/utilities.c Modified: vendor/fuse-emulator/current/fuse/AUTHORS =================================================================== --- vendor/fuse-emulator/current/fuse/AUTHORS 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/AUTHORS 2012-02-15 12:43:10 UTC (rev 685) @@ -48,6 +48,8 @@ * Michael D Wynne: the Opus Discovery emulation (for EightyOne). +* Patrik Persson: the SpeccyBoot Ethernet emulation. + * Philip Kendall: everything else. -$Id: AUTHORS 4060 2009-07-30 13:21:38Z fredm $ +$Id: AUTHORS 4237 2010-12-31 19:31:26Z pak21 $ Modified: vendor/fuse-emulator/current/fuse/ChangeLog =================================================================== --- vendor/fuse-emulator/current/fuse/ChangeLog 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/ChangeLog 2012-02-15 12:43:10 UTC (rev 685) @@ -1,19 +1,3 @@ -2011-04-01 Philip Kendall <phi...@sh...> - - * Fuse 1.0.0.1a released. - - * Remove all ROMs for which there isn't explicit permission to - distribute (Philip Kendall). - -2011-01-12 Philip Kendall <phi...@sh...> - - * Fuse 1.0.0.1 released. - - * Fix temporary breakpoints on platforms using replacement Glib - (Fredrick Meunier, Sergio Baldovi; thanks, Chris Cowley) - * Ensure Amiga port can load files (Chris Young) - * Fix SVGAlib compilation (rkd77) - 2010-12-16 Philip Kendall <phi...@sh...> * Fuse 1.0.0 released. @@ -602,7 +586,7 @@ * Graphics filters: essentially arbitrary filters which can be applied to the Spectrum's screen to give scanlines, smoothing - and all sorts of other possiblities (mostly Fredrick Meunier + and all sorts of other possibilities (mostly Fredrick Meunier and Philip Kendall; based on the same feature in ScummVM). * Transparent monitor/debugger (Philip Kendall). @@ -701,7 +685,7 @@ * Put the keyboard help in a separate window when using the GTK+ UI (Philip Kendall). - * Changable emulation speed (Philip Kendall). + * Changeable emulation speed (Philip Kendall). * Change to lib765 0.3.0 for Mac OS X compatibility (Frederick Meunier). @@ -1051,4 +1035,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 4331 2011-04-01 07:47:06Z pak21 $ +$Id: ChangeLog 4409 2011-05-01 10:47:07Z zubzero $ Modified: vendor/fuse-emulator/current/fuse/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/Makefile.am 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/Makefile.am 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ # Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2009 Philip Kendall -## $Id: Makefile.am 4112 2010-01-08 11:03:43Z fredm $ +## $Id: Makefile.am 4288 2011-02-03 21:06:22Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -27,12 +27,11 @@ SUBDIRS = @COMPAT_SUBDIR@ \ debugger \ - disk \ hacking \ - ide \ lib \ machines \ man \ + peripherals \ perl \ pokefinder \ roms \ @@ -43,12 +42,11 @@ z80 DIST_SUBDIRS = debugger \ - disk \ hacking \ - ide \ lib \ machines \ man \ + peripherals \ perl \ pokefinder \ roms \ @@ -58,32 +56,22 @@ unittests \ z80 -fuse_SOURCES = ay.c \ - dck.c \ - display.c \ +fuse_SOURCES = display.c \ event.c \ - fuller.c \ fuse.c \ - if1.c \ - if2.c \ input.c \ - joystick.c \ - kempmouse.c \ keyboard.c \ loader.c \ machine.c \ - melodik.c \ memory.c \ mempool.c \ menu.c \ module.c \ periph.c \ - printer.c \ profile.c \ psg.c \ rectangle.c \ rzx.c \ - scld.c \ screenshot.c \ settings.c \ slt.c \ @@ -93,7 +81,6 @@ tape.c \ ui.c \ uidisplay.c \ - ula.c \ utils.c \ windres.rc @@ -114,9 +101,11 @@ fuse_LDADD = debugger/libdebugger.a \ @UI_LIBS@ \ debugger/libdebugger.a \ -disk/libdisk.a \ -ide/libide.a \ machines/libmachines.a \ +peripherals/libperipherals.a \ +peripherals/disk/libdisk.a \ +peripherals/ide/libide.a \ +peripherals/nic/libnic.a \ pokefinder/libpokefinder.a \ sound/libsound.a \ timer/libtimer.a \ @@ -136,9 +125,11 @@ fuse_DEPENDENCIES = debugger/libdebugger.a \ @UI_LIBS@ \ debugger/libdebugger.a \ -disk/libdisk.a \ -ide/libide.a \ machines/libmachines.a \ +peripherals/libperipherals.a \ +peripherals/disk/libdisk.a \ +peripherals/ide/libide.a \ +peripherals/nic/libnic.a \ pokefinder/libpokefinder.a \ sound/libsound.a \ timer/libtimer.a \ @@ -170,22 +161,15 @@ INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ @XML_CFLAGS@ -DFUSEDATADIR="\"${pkgdatadir}\"" @SDL_CFLAGS@ -noinst_HEADERS = ay.h \ - bitmap.h \ +noinst_HEADERS = bitmap.h \ compat.h \ - dck.h \ display.h \ event.h \ - fuller.h \ fuse.h \ - if1.h \ - if2.h \ input.h \ keyboard.h \ - kempmouse.h \ loader.h \ machine.h \ - melodik.h \ memory.h \ mempool.h \ menu.h \ @@ -202,12 +186,8 @@ spectrum.h \ tape.h \ utils.h \ - joystick.h \ options.h \ - printer.h \ - profile.h \ - scld.h \ - ula.h + profile.h EXTRA_DIST = AUTHORS \ README \ Modified: vendor/fuse-emulator/current/fuse/README =================================================================== --- vendor/fuse-emulator/current/fuse/README 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/README 2012-02-15 12:43:10 UTC (rev 685) @@ -1,5 +1,5 @@ -The Free Unix Spectrum Emulator (Fuse) 1.0.0.1a -=============================================== +The Free Unix Spectrum Emulator (Fuse) 1.0.0 +============================================ Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat unsurprisingly, an emulator of the ZX Spectrum (a popular 1980s home @@ -90,7 +90,7 @@ 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 the the libraries needed by Fuse in +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 @@ -214,6 +214,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -28 March 2011 +16 December 2010 -$Id: README 4329 2011-03-27 22:26:07Z pak21 $ +$Id: README 4410 2011-05-01 10:51:21Z zubzero $ Modified: vendor/fuse-emulator/current/fuse/bitmap.h =================================================================== --- vendor/fuse-emulator/current/fuse/bitmap.h 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/bitmap.h 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* bitmap.h: Bitmap routines Copyright (c) 2007 Stuart Brady - $Id: bitmap.h 3218 2007-10-21 23:25:23Z zubzero $ + $Id: bitmap.h 4343 2011-04-04 19:32:23Z 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 @@ -21,7 +21,7 @@ Philip: phi...@sh... - Stuart: sd...@nt... + Stuart: stu...@gm... */ Modified: vendor/fuse-emulator/current/fuse/compat/amiga/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/compat/amiga/Makefile.am 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/compat/amiga/Makefile.am 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3935 2009-01-07 12:55:13Z pak21 $ +## $Id: Makefile.am 4237 2010-12-31 19:31:26Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,6 +31,7 @@ ../unix/file.c \ osname.c \ paths.c \ - ../unix/timer.c + ../unix/timer.c \ + ../unix/tuntap.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: vendor/fuse-emulator/current/fuse/compat/morphos/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/compat/morphos/Makefile.am 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/compat/morphos/Makefile.am 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3935 2009-01-07 12:55:13Z pak21 $ +## $Id: Makefile.am 4237 2010-12-31 19:31:26Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,6 +31,7 @@ ../unix/file.c \ osname.c \ ../amiga/paths.c \ - ../unix/timer.c + ../unix/timer.c \ + ../unix/tuntap.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: vendor/fuse-emulator/current/fuse/compat/unix/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/compat/unix/Makefile.am 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/compat/unix/Makefile.am 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3935 2009-01-07 12:55:13Z pak21 $ +## $Id: Makefile.am 4237 2010-12-31 19:31:26Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,6 +31,7 @@ file.c \ osname.c \ paths.c \ - timer.c + timer.c \ + tuntap.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: vendor/fuse-emulator/current/fuse/compat/unix/file.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/unix/file.c 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/compat/unix/file.c 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* file.c: File-related compatibility routines Copyright (c) 2008 Philip Kendall - $Id: file.c 4072 2009-08-31 15:42:26Z specu $ + $Id: file.c 4534 2011-08-11 12:59:47Z 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 @@ -90,3 +90,9 @@ { return fclose( fd ); } + +int +compat_file_exists( const char *path ) +{ + return ( access( path, R_OK ) != -1 ); +} Added: vendor/fuse-emulator/current/fuse/compat/unix/tuntap.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/unix/tuntap.c (rev 0) +++ vendor/fuse-emulator/current/fuse/compat/unix/tuntap.c 2012-02-15 12:43:10 UTC (rev 685) @@ -0,0 +1,70 @@ +/* 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 $ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Author contact information: + + E-mail: phi...@sh... + +*/ + +#include "config.h" + +#include <fcntl.h> +#include <string.h> +#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" + +int +compat_get_tap( const char *interface_name ) +{ + 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 { + struct ifreq ifr; + memset( &ifr, 0, sizeof( ifr ) ); + ifr.ifr_flags = IFF_TAP | IFF_NO_PI; + strncpy( ifr.ifr_name, interface_name, IFNAMSIZ ); + + if ( ioctl( fd, TUNSETIFF, (void *) &ifr ) < 0 ) { + ui_error( UI_ERROR_ERROR, "couldn't select TAP interface '%s'", + ifr.ifr_name ); + } + } + +#else + + ui_error( UI_ERROR_ERROR, + "TUN/TAP not yet supported for this operating system" ); + +#endif /* #ifdef LINUX_TAP */ + + return fd; +} Modified: vendor/fuse-emulator/current/fuse/compat/wii/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/compat/wii/Makefile.am 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/compat/wii/Makefile.am 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 4040 2009-06-27 09:32:42Z fredm $ +## $Id: Makefile.am 4237 2010-12-31 19:31:26Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,6 +31,7 @@ ../unix/file.c \ osname.c \ paths.c \ - timer.c + timer.c \ + ../unix/tuntap.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: vendor/fuse-emulator/current/fuse/compat/win32/Makefile.am =================================================================== --- vendor/fuse-emulator/current/fuse/compat/win32/Makefile.am 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/compat/win32/Makefile.am 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 2007-2008 Philip Kendall -## $Id: Makefile.am 3935 2009-01-07 12:55:13Z pak21 $ +## $Id: Makefile.am 4237 2010-12-31 19:31:26Z pak21 $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -31,6 +31,7 @@ ../unix/file.c \ osname.c \ paths.c \ - timer.c + timer.c \ + ../unix/tuntap.c INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ Modified: vendor/fuse-emulator/current/fuse/compat/win32/timer.c =================================================================== --- vendor/fuse-emulator/current/fuse/compat/win32/timer.c 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/compat/win32/timer.c 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* timer.c: Win32 speed routines for Fuse Copyright (c) 1999-2008 Philip Kendall, Marek Januszewski, Fredrick Meunier - $Id: timer.c 3951 2009-01-12 18:09:42Z specu $ + $Id: timer.c 4365 2011-04-14 00:38:54Z zubzero $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: vendor/fuse-emulator/current/fuse/compat.h =================================================================== --- vendor/fuse-emulator/current/fuse/compat.h 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/compat.h 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* compat.h: various compatibility bits Copyright (c) 2003-2008 Philip Kendall - $Id: compat.h 4068 2009-08-30 19:30:19Z specu $ + $Id: compat.h 4534 2011-08-11 12:59:47Z 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 @@ -96,6 +96,7 @@ int compat_file_write( compat_fd fd, const unsigned char *buffer, size_t length ); int compat_file_close( compat_fd fd ); +int compat_file_exists( const char *path ); /* Directory handling */ @@ -115,4 +116,8 @@ double compat_timer_get_time( void ); void compat_timer_sleep( int ms ); +/* TUN/TAP handling */ + +int compat_get_tap( const char *interface_name ); + #endif /* #ifndef FUSE_COMPAT_H */ Modified: vendor/fuse-emulator/current/fuse/configure.in =================================================================== --- vendor/fuse-emulator/current/fuse/configure.in 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/configure.in 2012-02-15 12:43:10 UTC (rev 685) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in 4329 2011-03-27 22:26:07Z pak21 $ +dnl $Id: configure.in 4617 2012-01-03 11:47:27Z fredm $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -23,7 +23,7 @@ AM_CONFIG_HEADER(config.h) AC_CANONICAL_SYSTEM -define(FUSE_VERSION, [1.0.0.1a]) +define(FUSE_VERSION, [1.0.0]) dnl Use automake to produce `Makefile.in' AM_INIT_AUTOMAKE(fuse, FUSE_VERSION) @@ -38,18 +38,27 @@ AC_PROG_LIBTOOL dnl Check for Win32 resource tool -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]) +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) -AM_SUBST_NOTMAKE(WINDRES_OBJ) dnl Generate commandy.h YFLAGS="$YFLAGS -d" @@ -66,7 +75,8 @@ strings.h \ sys/soundcard.h \ sys/audio.h \ - sys/audioio.h + sys/audioio.h \ + zlib.h ) dnl Checks for typedefs, structures, and compiler characteristics. @@ -217,9 +227,9 @@ gtk=yes) AC_MSG_RESULT($gtk) if test "$gtk" = yes; then - AM_PATH_GTK_2_0(2.0.0, + AM_PATH_GTK_2_0(2.18.0, AC_DEFINE([UI_GTK], 1, - [Defined if GTK+ UI (either 1.2 or 2.x) is in use]) + [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])) @@ -283,21 +293,12 @@ glib=yes) AC_MSG_RESULT($glib) if test "$glib" = yes; then - glib2=no AM_PATH_GLIB_2_0( - 2.0.0, - glib2=yes + 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) ) - 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`", - AC_MSG_WARN(glib not found - using libspectrum's replacement) - ) - fi fi fi @@ -367,33 +368,35 @@ if test -n "$LIBPNG_CONFIG"; then PNG_CFLAGS=`libpng-config --cflags` PNG_LIBS=`libpng-config --ldflags` - PNG_LIBS=`echo " $PNG_LIBS" | sed 's/ -l[[^ ]][[^ ]]*//g'` + 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_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=''] - ) AC_SUBST(PNG_LIBS) fi -LDFLAGS="$ac_save_LDFLAGS" - dnl Check if a version of libasound which supplies pcm is available AC_MSG_CHECKING(whether ALSA requested) AC_ARG_WITH(alsa, @@ -535,16 +538,40 @@ 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, - [ --enable-ui-joystick use UI-specific joystick code (where supported)], + 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]) + AC_MSG_RESULT([no, use libjsw]) else - AC_MSG_RESULT(yes) - AC_DEFINE([USE_JOYSTICK], 1, [Defined if we're using hardware joysticks]) + 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 @@ -584,6 +611,24 @@ 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='' @@ -679,12 +724,14 @@ compat/wii/Makefile \ compat/win32/Makefile \ debugger/Makefile \ -disk/Makefile \ hacking/Makefile \ -ide/Makefile \ lib/Makefile \ machines/Makefile \ man/Makefile \ +peripherals/Makefile \ +peripherals/disk/Makefile \ +peripherals/ide/Makefile \ +peripherals/nic/Makefile \ perl/Makefile \ perl/Fuse/Makefile \ pokefinder/Makefile \ @@ -699,6 +746,7 @@ ui/sdl/Makefile \ ui/scaler/Makefile \ ui/widget/Makefile \ +ui/win32/fuse.manifest \ ui/win32/Makefile \ ui/win32/icons/Makefile \ ui/win32/installer/Makefile \ Modified: vendor/fuse-emulator/current/fuse/debugger/breakpoint.c =================================================================== --- vendor/fuse-emulator/current/fuse/debugger/breakpoint.c 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/debugger/breakpoint.c 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* breakpoint.c: a debugger breakpoint - Copyright (c) 2002-2008 Philip Kendall + Copyright (c) 2002-2011 Philip Kendall - $Id: breakpoint.c 4239 2011-01-01 15:41:13Z pak21 $ + $Id: breakpoint.c 4415 2011-05-01 22:51:43Z 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 @@ -79,9 +79,9 @@ /* Add a breakpoint */ int -debugger_breakpoint_add_address( debugger_breakpoint_type type, int page, - libspectrum_word offset, size_t ignore, - debugger_breakpoint_life life, +debugger_breakpoint_add_address( debugger_breakpoint_type type, int source, + int page, libspectrum_word offset, + size_t ignore, debugger_breakpoint_life life, debugger_expression *condition ) { debugger_breakpoint_value value; @@ -98,6 +98,7 @@ fuse_abort(); } + value.address.source = source; value.address.page = page; value.address.offset = offset; @@ -270,87 +271,30 @@ return ( debugger_mode == DEBUGGER_MODE_HALTED ); } -static int -encode_bank_and_page( debugger_breakpoint_type type, libspectrum_word address ) +static memory_page* +get_page( debugger_breakpoint_type type, libspectrum_word address ) { - memory_page *read_write, *page; - breakpoint_page_offset offset; + memory_page *page; switch( type ) { case DEBUGGER_BREAKPOINT_TYPE_EXECUTE: case DEBUGGER_BREAKPOINT_TYPE_READ: - read_write = memory_map_read; + page = memory_map_read; break; case DEBUGGER_BREAKPOINT_TYPE_WRITE: - read_write = memory_map_write; + page = memory_map_write; break; default: ui_error( UI_ERROR_ERROR, - "encode_bank_and_page: unexpected breakpoint type %d", type ); - return -1; - } - - page = &read_write[ address >> 13 ]; - - switch( page->bank ) { - case MEMORY_BANK_HOME: - offset = page->writable ? BREAKPOINT_PAGE_RAM : BREAKPOINT_PAGE_ROM; - break; - case MEMORY_BANK_DOCK: offset = BREAKPOINT_PAGE_DOCK; break; - case MEMORY_BANK_EXROM: offset = BREAKPOINT_PAGE_EXROM; break; - case MEMORY_BANK_ROMCS: offset = BREAKPOINT_PAGE_ROMCS; break; - default: return -1; - } - - return offset + page->page_num; -} - -int -debugger_page_hash( const char *text ) -{ - int offset; - - switch( tolower( (unsigned char)text[0] ) ) { - - case 'c': offset = BREAKPOINT_PAGE_ROMCS; break; - case 'd': offset = BREAKPOINT_PAGE_DOCK; break; - case 'r': offset = BREAKPOINT_PAGE_ROM; break; - case 'x': offset = BREAKPOINT_PAGE_EXROM; break; - - default: - ui_error( UI_ERROR_ERROR, - "%s:debugger_page_hash: unknown page letter '%c'", __FILE__, - text[0] ); + "%s:get_page: unexpected breakpoint type %d", __FILE__, type ); fuse_abort(); } - offset += atoi( &text[1] ); - - return offset; + return page; } -char* -debugger_breakpoint_decode_page( char *buffer, size_t n, int page ) -{ - if( page >= BREAKPOINT_PAGE_ROMCS ) { - snprintf( buffer, n, "C%d", page - BREAKPOINT_PAGE_ROMCS ); - } else if( page >= BREAKPOINT_PAGE_EXROM ) { - snprintf( buffer, n, "X%d", page - BREAKPOINT_PAGE_EXROM ); - } else if( page >= BREAKPOINT_PAGE_DOCK ) { - snprintf( buffer, n, "D%d", page - BREAKPOINT_PAGE_DOCK ); - } else if( page >= BREAKPOINT_PAGE_ROM ) { - snprintf( buffer, n, "R%d", page - BREAKPOINT_PAGE_ROM ); - } else if( page >= BREAKPOINT_PAGE_RAM ) { - snprintf( buffer, n, "%d", page - BREAKPOINT_PAGE_RAM ); - } else { - snprintf( buffer, n, "[Unknown page %d]", page ); - } - - return buffer; -} - int debugger_breakpoint_trigger( debugger_breakpoint *bp ) { @@ -371,8 +315,6 @@ breakpoint_check( debugger_breakpoint *bp, debugger_breakpoint_type type, libspectrum_dword value ) { - int page; - if( bp->type != type ) return 0; switch( type ) { @@ -381,15 +323,15 @@ case DEBUGGER_BREAKPOINT_TYPE_READ: case DEBUGGER_BREAKPOINT_TYPE_WRITE: - page = bp->value.address.page; - - /* If page == -1, value must match exactly; otherwise, the page and - the offset must match */ - if( page == -1 ) { + /* If source == memory_source_any, value must match exactly; otherwise, + the source, page and offset must match */ + if( bp->value.address.source == memory_source_any ) { if( bp->value.address.offset != value ) return 0; } else { - if( page != encode_bank_and_page( type, value ) ) return 0; - if( bp->value.address.offset != ( value & 0x3fff ) ) return 0; + memory_page *page = get_page( type, value ); + if( bp->value.address.source != page->source || + bp->value.address.page != page->page_num || + bp->value.address.offset != ( value & 0x3fff ) ) return 0; } break; @@ -536,7 +478,7 @@ return 1; /* Ignore all page-specific breakpoints */ - if( bp->value.address.page != -1 ) return 1; + if( bp->value.address.source != memory_source_any ) return 1; return bp->value.address.offset - address; } Modified: vendor/fuse-emulator/current/fuse/debugger/breakpoint.h =================================================================== --- vendor/fuse-emulator/current/fuse/debugger/breakpoint.h 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/debugger/breakpoint.h 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* breakpoint.h: a debugger breakpoint - Copyright (c) 2002-2008 Philip Kendall + Copyright (c) 2002-2011 Philip Kendall - $Id: breakpoint.h 3662 2008-06-09 11:19:29Z pak21 $ + $Id: breakpoint.h 4415 2011-05-01 22:51:43Z 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 @@ -26,6 +26,8 @@ #ifndef FUSE_DEBUGGER_BREAKPOINT_H #define FUSE_DEBUGGER_BREAKPOINT_H +#include "memory.h" + /* Types of breakpoint */ typedef enum debugger_breakpoint_type { DEBUGGER_BREAKPOINT_TYPE_EXECUTE, @@ -51,20 +53,20 @@ typedef struct debugger_breakpoint_address { + /* Which memory device we are interested in. memory_source_any for an + absolute address */ + int source; + + /* The page number from the source we are interested in. Not used for + MEMORY_SOURCE_ANY */ int page; + + /* The offset within the page, or the absolute address for + MEMORY_SOURCE_ANY */ libspectrum_word offset; } debugger_breakpoint_address; -/* Offsets used to encode various bank types in the above 'page' variable */ -typedef enum breakpoint_page_offset { - BREAKPOINT_PAGE_RAM = 0, - BREAKPOINT_PAGE_ROM = 32, - BREAKPOINT_PAGE_DOCK = 40, - BREAKPOINT_PAGE_EXROM = 48, - BREAKPOINT_PAGE_ROMCS = 56, -} breakpoint_page_offset; - typedef struct debugger_breakpoint_port { libspectrum_word port; @@ -117,7 +119,7 @@ /* Add a new breakpoint */ int debugger_breakpoint_add_address( - debugger_breakpoint_type type, int page, libspectrum_word offset, + debugger_breakpoint_type type, int source, int page, libspectrum_word offset, size_t ignore, debugger_breakpoint_life life, debugger_expression *condition ); @@ -143,7 +145,4 @@ during this frame */ int debugger_add_time_events( void ); -char* -debugger_breakpoint_decode_page( char *buffer, size_t n, int page ); - #endif /* #ifndef FUSE_DEBUGGER_BREAKPOINT_H */ Modified: vendor/fuse-emulator/current/fuse/debugger/commandl.l =================================================================== --- vendor/fuse-emulator/current/fuse/debugger/commandl.l 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/debugger/commandl.l 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* commandl.l: Debugger command lexical scanner Copyright (c) 2002-2008 Philip Kendall - $Id: commandl.l 4130 2010-05-18 12:06:19Z fredm $ + $Id: commandl.l 4415 2011-05-01 22:51:43Z 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 @@ -139,8 +139,6 @@ if( YY_START == COMMANDSTATE1 ) BEGIN( COMMANDSTATE2 ); return NUMBER; } -[cdrx][[:digit:]]+ { yylval.integer = debugger_page_hash( yytext ); return PAGE; } - {ID} { yylval.string = mempool_strdup( debugger_memory_pool, yytext ); return STRING; } ${ID} { yylval.string = mempool_strdup( debugger_memory_pool, yytext + 1 ); return VARIABLE; } Modified: vendor/fuse-emulator/current/fuse/debugger/commandy.y =================================================================== --- vendor/fuse-emulator/current/fuse/debugger/commandy.y 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/debugger/commandy.y 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* commandy.y: Parse a debugger command - Copyright (c) 2002-2008 Philip Kendall + Copyright (c) 2002-2011 Philip Kendall - $Id: commandy.y 3657 2008-06-08 15:04:37Z pak21 $ + $Id: commandy.y 4415 2011-05-01 22:51:43Z 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 @@ -53,7 +53,8 @@ debugger_breakpoint_type bptype; debugger_breakpoint_life bplife; - struct { int value1; libspectrum_word value2; } pair; + struct { libspectrum_word mask, value; } port; + struct { int source; int page; int offset; } location; debugger_expression* exp; @@ -97,7 +98,6 @@ %token TIME %token WRITE -%token <integer> PAGE %token <reg> DEBUGGER_REGISTER %token <integer> NUMBER @@ -111,8 +111,8 @@ %type <bplife> breakpointlife %type <bptype> breakpointtype -%type <integer> pageornumber -%type <pair> breakpointpair +%type <port> breakpointport +%type <location> breakpointlocation %type <bptype> portbreakpointtype %type <integer> numberorpc %type <integer> number @@ -151,15 +151,14 @@ ; command: BASE number { debugger_output_base = $2; } - | breakpointlife breakpointtype breakpointpair optionalcondition { - debugger_breakpoint_add_address( $2, $3.value1, $3.value2, 0, $1, - $4 ); + | breakpointlife breakpointtype breakpointlocation optionalcondition { + debugger_breakpoint_add_address( $2, $3.source, $3.page, $3.offset, + 0, $1, $4 ); } - | breakpointlife PORT portbreakpointtype breakpointpair optionalcondition { - int mask; libspectrum_word port; - mask = $4.value1; port = $4.value2; - if( mask == -1 ) mask = ( port < 0x100 ? 0x00ff : 0xffff ); - debugger_breakpoint_add_port( $3, port, mask, 0, $1, $5 ); + | breakpointlife PORT portbreakpointtype breakpointport optionalcondition { + int mask = $4.mask; + if( mask == 0 ) mask = ( $4.value < 0x100 ? 0x00ff : 0xffff ); + debugger_breakpoint_add_port( $3, $4.value, mask, 0, $1, $5 ); } | breakpointlife TIME number optionalcondition { debugger_breakpoint_add_time( DEBUGGER_BREAKPOINT_TYPE_TIME, @@ -201,12 +200,22 @@ | WRITE { $$ = DEBUGGER_BREAKPOINT_TYPE_WRITE; } ; -breakpointpair: numberorpc { $$.value1 = -1; $$.value2 = $1; } - | pageornumber ':' number { $$.value1 = $1; $$.value2 = $3; } +breakpointport: number { $$.mask = 0; $$.value = $1; } + | number ':' number { $$.mask = $1; $$.value = $3; } ; -pageornumber: PAGE { $$ = $1; } - | number { $$ = $1; } +breakpointlocation: numberorpc { $$.source = memory_source_any; $$.offset = $1; } + | STRING ':' number ':' number { + $$.source = memory_source_find( $1 ); + if( $$.source == -1 ) { + char buffer[80]; + snprintf( buffer, 80, "unknown memory source \"%s\"", $1 ); + yyerror( buffer ); + YYERROR; + } + $$.page = $3; + $$.offset = $5; + } portbreakpointtype: READ { $$ = DEBUGGER_BREAKPOINT_TYPE_PORT_READ; } | WRITE { $$ = DEBUGGER_BREAKPOINT_TYPE_PORT_WRITE; } Modified: vendor/fuse-emulator/current/fuse/debugger/debugger.c =================================================================== --- vendor/fuse-emulator/current/fuse/debugger/debugger.c 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/debugger/debugger.c 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* debugger.c: Fuse's monitor/debugger - Copyright (c) 2002-2008 Philip Kendall + Copyright (c) 2002-2011 Philip Kendall - $Id: debugger.c 3686 2008-06-21 14:33:22Z pak21 $ + $Id: debugger.c 4540 2011-09-05 12:31:18Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -87,6 +87,8 @@ debugger_end( void ) { debugger_breakpoint_remove_all(); + debugger_event_end(); + return 0; } @@ -116,9 +118,10 @@ debugger_disassemble( NULL, 0, &length, PC ); /* And add a breakpoint after that */ - debugger_breakpoint_add_address( DEBUGGER_BREAKPOINT_TYPE_EXECUTE, -1, - PC + length, 0, - DEBUGGER_BREAKPOINT_LIFE_ONESHOT, NULL ); + debugger_breakpoint_add_address( + DEBUGGER_BREAKPOINT_TYPE_EXECUTE, memory_source_any, 0, PC + length, 0, + DEBUGGER_BREAKPOINT_LIFE_ONESHOT, NULL + ); debugger_run(); @@ -146,7 +149,7 @@ target = readbyte_internal( SP ) + 0x100 * readbyte_internal( SP+1 ); if( debugger_breakpoint_add_address( - DEBUGGER_BREAKPOINT_TYPE_EXECUTE, -1, target, 0, + DEBUGGER_BREAKPOINT_TYPE_EXECUTE, memory_source_any, 0, target, 0, DEBUGGER_BREAKPOINT_LIFE_ONESHOT, NULL ) ) Modified: vendor/fuse-emulator/current/fuse/debugger/debugger_internals.h =================================================================== --- vendor/fuse-emulator/current/fuse/debugger/debugger_internals.h 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/debugger/debugger_internals.h 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* debugger_internals.h: The internals of Fuse's monitor/debugger - Copyright (c) 2002-2008 Philip Kendall + Copyright (c) 2002-2011 Philip Kendall - $Id: debugger_internals.h 4125 2010-05-06 22:18:50Z pak21 $ + $Id: debugger_internals.h 4540 2011-09-05 12:31:18Z 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 @@ -59,7 +59,6 @@ /* Utility functions called by the flex scanner */ int debugger_command_input( char *buf, int *result, int max_size ); -int debugger_page_hash( const char *text ); int yylex( void ); void yyerror( const char *s ); @@ -102,6 +101,7 @@ int debugger_event_init( void ); int debugger_event_is_registered( const char *type, const char *detail ); +void debugger_event_end( void ); /* Variables handling */ Modified: vendor/fuse-emulator/current/fuse/debugger/disassemble.c =================================================================== --- vendor/fuse-emulator/current/fuse/debugger/disassemble.c 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/debugger/disassemble.c 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* disassemble.c: Fuse's disassembler Copyright (c) 2002-2003 Darren Salt, Philip Kendall - $Id: disassemble.c 4087 2009-09-02 13:42:00Z fredm $ + $Id: disassemble.c 4547 2011-09-27 11:50:15Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -531,7 +531,11 @@ break; case 0x05: case 0x0d: - snprintf( buffer, buflen, "RETN" ); *length = 1; + if( b == 0x4d ) { + snprintf( buffer, buflen, "RETI" ); *length = 1; + } else { + snprintf( buffer, buflen, "RETN" ); *length = 1; + } break; case 0x06: case 0x0e: Modified: vendor/fuse-emulator/current/fuse/debugger/event.c =================================================================== --- vendor/fuse-emulator/current/fuse/debugger/event.c 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/debugger/event.c 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* event.c: Debugger events Copyright (c) 2008 Philip Kendall - $Id: event.c 3922 2008-12-31 19:01:31Z zubzero $ + $Id: event.c 4540 2011-09-05 12:31:18Z 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 @@ -116,3 +116,22 @@ } } } + +/* Tidy-up function called at end of emulation */ +void +debugger_event_end( void ) +{ + int i; + debugger_event_t event; + + if( !registered_events ) return; + + for( i = 0; i < registered_events->len; i++ ) { + event = g_array_index( registered_events, debugger_event_t, i ); + free( event.detail ); + free( event.type ); + } + + g_array_free( registered_events, TRUE ); + registered_events = NULL; +} Modified: vendor/fuse-emulator/current/fuse/display.c =================================================================== --- vendor/fuse-emulator/current/fuse/display.c 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/display.c 2012-02-15 12:43:10 UTC (rev 685) @@ -2,7 +2,7 @@ Copyright (c) 1999-2006 Philip Kendall, Thomas Harte, Witold Filipczyk and Fredrick Meunier - $Id: display.c 4105 2009-12-15 10:15:43Z fredm $ + $Id: display.c 4288 2011-02-03 21:06:22Z 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 @@ -35,13 +35,13 @@ #include "event.h" #include "fuse.h" #include "machine.h" +#include "peripherals/scld.h" #include "rectangle.h" #include "screenshot.h" #include "settings.h" #include "spectrum.h" #include "ui/ui.h" #include "ui/uidisplay.h" -#include "scld.h" /* Set once we have initialised the UI */ int display_ui_initialised = 0; Modified: vendor/fuse-emulator/current/fuse/event.c =================================================================== --- vendor/fuse-emulator/current/fuse/event.c 2012-02-15 12:32:32 UTC (rev 684) +++ vendor/fuse-emulator/current/fuse/event.c 2012-02-15 12:43:10 UTC (rev 685) @@ -1,7 +1,7 @@ /* event.c: Routines needed for dealing with the event list Copyright (c) 2000-2008 Philip Kendall - $Id: event.c 3912 2008-12-15 05:10:21Z pak21 $ + $Id: event.c 4540 2011-09-05 12:31:18Z 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 @@ -264,9 +264,27 @@ return g_array_index( registered_events, event_descriptor_t, type ).description; } +void +registered_events_free( void ) +{ + int i; + event_descriptor_t descriptor; + + if( !registered_events ) return; + + for( i = 0; i < registered_events->len; i++ ) { + descriptor = g_array_index( registered_events, event_... [truncated message content] |